12024-06-20  Release Manager
2
3          * GCC 12.4.0 released.
4
52024-06-11  Jakub Jelinek  <jakub@redhat.com>
6
7          Backported from master:
8          2024-04-05  Jakub Jelinek  <jakub@redhat.com>
9
10          PR c++/114572
11          * testsuite/libgomp.c++/pr114572.C: New test.
12
132024-06-11  Jakub Jelinek  <jakub@redhat.com>
14
15          Backported from master:
16          2024-01-10  Jakub Jelinek  <jakub@redhat.com>
17
18          PR libgomp/113192
19          * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
20          instead of \$(abs_top_srcdir)/testsuite/flock.
21          * configure: Regenerated.
22
232023-09-01  Tobias Burnus  <tobias@codesourcery.com>
24
25          Backported from master:
26          2023-08-19  Tobias Burnus  <tobias@codesourcery.com>
27
28          PR middle-end/111017
29          * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
30
312023-06-28  Thomas Schwinge  <thomas@codesourcery.com>
32
33          Backported from master:
34          2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
35
36          PR testsuite/66005
37          * testsuite/lib/libgomp.exp: 'flock' through stdout.
38          * testsuite/flock: New.
39          * configure.ac (FLOCK): Point to that if no 'flock' available, but
40          'perl' is.
41          * configure: Regenerate.
42
432023-06-28  Thomas Schwinge  <thomas@codesourcery.com>
44
45          Backported from master:
46          2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
47
48          PR testsuite/66005
49          * configure.ac: Look for 'flock'.
50          * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
51          * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
52          * testsuite/lib/libgomp.exp: ... but here, instead.
53          (libgomp_load): Override for parallel testing.
54          * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
55          * configure: Regenerate.
56          * Makefile.in: Regenerate.
57          * testsuite/Makefile.in: Regenerate.
58
592023-06-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
60
61          Backported from master:
62          2023-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
63                        Thomas Schwinge  <thomas@codesourcery.com>
64
65          PR testsuite/66005
66          * testsuite/Makefile.am (PWD_COMMAND): New variable.
67          (%/site.exp): New target.
68          (check_p_numbers0, check_p_numbers1, check_p_numbers2)
69          (check_p_numbers3, check_p_numbers4, check_p_numbers5)
70          (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
71          (check_p_subdirs)
72          (check_DEJAGNU_libgomp_targets): New variables.
73          ($(check_DEJAGNU_libgomp_targets)): New target.
74          ($(check_DEJAGNU_libgomp_targets)): New dependency.
75          (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
76          * testsuite/Makefile.in: Regenerate.
77          * testsuite/lib/libgomp.exp: For parallel testing,
78          'load_file ../libgomp-test-support.exp'.
79
802023-06-28  Thomas Schwinge  <thomas@codesourcery.com>
81
82          Backported from master:
83          2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
84
85          * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
86          of 'libstdcxx_includes'.
87          * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
88
892023-05-08  Release Manager
90
91          * GCC 12.3.0 released.
92
932023-03-19  Jakub Jelinek  <jakub@redhat.com>
94
95          Backported from master:
96          2023-02-16  Jakub Jelinek  <jakub@redhat.com>
97
98          * libgomp.texi: Fix typos - theads -> threads.
99
1002023-03-08  Tobias Burnus  <tobias@codesourcery.com>
101
102          Backported from master:
103          2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
104
105          PR middle-end/108546
106          * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
107          * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
108
1092023-02-10  Jakub Jelinek  <jakub@redhat.com>
110
111          Backported from master:
112          2023-01-19  Jakub Jelinek  <jakub@redhat.com>
113
114          PR middle-end/108459
115          * testsuite/libgomp.c/pr108459.c: New test.
116
1172023-02-10  Jakub Jelinek  <jakub@redhat.com>
118
119          Backported from master:
120          2023-01-05  Jakub Jelinek  <jakub@redhat.com>
121
122          PR c++/108286
123          * testsuite/libgomp.c++/pr108286.C: New test.
124
1252023-02-10  Jakub Jelinek  <jakub@redhat.com>
126
127          Backported from master:
128          2022-12-21  Jakub Jelinek  <jakub@redhat.com>
129
130          PR c++/108180
131          * testsuite/libgomp.c++/pr108180.C: New test.
132
1332023-01-30  Tobias Burnus  <tobias@codesourcery.com>
134
135          Backported from master:
136          2023-01-27  Tobias Burnus  <tobias@codesourcery.com>
137
138          PR fortran/108558
139          * testsuite/libgomp.fortran/has_device_addr.f90: New test.
140
1412022-11-03  Jakub Jelinek  <jakub@redhat.com>
142
143          Backported from master:
144          2022-10-12  Jakub Jelinek  <jakub@redhat.com>
145
146          * task.c (gomp_create_artificial_team): Fix up handling of invocations
147          from within explicit task.
148          * target.c (GOMP_target_ext): Likewise.
149          * testsuite/libgomp.c/task-7.c: New test.
150          * testsuite/libgomp.c/task-8.c: New test.
151          * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
152          * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
153
1542022-11-03  Jakub Jelinek  <jakub@redhat.com>
155
156          Backported from master:
157          2022-09-24  Jakub Jelinek  <jakub@redhat.com>
158
159          PR c/106981
160          * testsuite/libgomp.c-c++-common/pr106981.c: New test.
161
1622022-10-28  Julian Brown  <julian@codesourcery.com>
163
164          Backported from master:
165          2022-10-28  Julian Brown  <julian@codesourcery.com>
166                        Thomas Schwinge  <thomas@codesourcery.com>
167
168          PR middle-end/90115
169          * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
170          * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
171          * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
172          * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
173          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
174
1752022-10-21  Thomas Schwinge  <thomas@codesourcery.com>
176
177          Backported from master:
178          2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
179
180          PR target/105421
181          * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
182
1832022-08-23  Tobias Burnus  <tobias@codesourcery.com>
184
185          Backported from master:
186          2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
187
188          PR middle-end/106548
189          * testsuite/libgomp.c/linear-2.c: New test.
190
1912022-08-19  Release Manager
192
193          * GCC 12.2.0 released.
194
1952022-08-01  Lewis Hyatt  <lhyatt@gmail.com>
196
197          Backported from master:
198          2022-07-10  Lewis Hyatt  <lhyatt@gmail.com>
199
200          * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
201          improved warning locations.
202          * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
203
2042022-07-30  Jakub Jelinek  <jakub@redhat.com>
205
206          Backported from master:
207          2022-07-29  Jakub Jelinek  <jakub@redhat.com>
208
209          PR middle-end/106449
210          * testsuite/libgomp.c-c++-common/pr106449.c: New test.
211
2122022-06-28  Jakub Jelinek  <jakub@redhat.com>
213
214          Backported from master:
215          2022-06-21  Jakub Jelinek  <jakub@redhat.com>
216                        Paul Iannetta  <piannetta@kalrayinc.com>
217
218          PR libgomp/106045
219          * testsuite/libgomp.c/target-31.c: Add private (i) clause.
220
2212022-06-28  Martin Liska  <mliska@suse.cz>
222
223          Backported from master:
224          2022-06-28  Martin Liska  <mliska@suse.cz>
225
226          * acinclude.m4: Fix typo in mold linker detection.
227          * Makefile.in: Regenerate.
228          * configure: Regenerate.
229
2302022-05-30  Jakub Jelinek  <jakub@redhat.com>
231
232          Backported from master:
233          2022-05-28  Jakub Jelinek  <jakub@redhat.com>
234
235          PR libgomp/105745
236          * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
237          defined(HAVE__ALIGNED_MALLOC) case.
238          * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
239          handling as last option before fallback instead of first.
240          (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
241          _aligned_free.
242
2432022-05-17  Jakub Jelinek  <jakub@redhat.com>
244
245          Backported from master:
246          2022-05-17  Jakub Jelinek  <jakub@redhat.com>
247
248          * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
249          comment for omp_display_env feature.
250
2512022-05-06  Release Manager
252
253          * GCC 12.1.0 released.
254
2552022-04-28  Thomas Schwinge  <thomas@codesourcery.com>
256
257          PR fortran/104717
258          * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
259          privatization scanning.  For GCN offloading compilation, raise
260          '-mgang-private-size'.
261
2622022-04-26  Jakub Jelinek  <jakub@redhat.com>
263
264          PR libgomp/105358
265          * work.c (gomp_init_work_share): Don't mask of adjustment for
266          dynamic long long realignment if struct gomp_work_share has smaller
267          alignof than long long.
268          * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
269          struct gomp_work_share has smaller alignof than long long or if
270          sizeof (struct gomp_work_share) is smaller than
271          INLINE_ORDERED_TEAM_IDS_OFF.
272          * loop_ull.c (GOMP_loop_ull_start): Likewise.
273          * sections.c (GOMP_sections2_start): Likewise.
274
2752022-04-25  Jakub Jelinek  <jakub@redhat.com>
276              Thomas Schwinge  <thomas@codesourcery.com>
277
278          PR fortran/104717
279          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
280
2812022-04-13  Jakub Jelinek  <jakub@redhat.com>
282
283          * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
284
2852022-04-06  Thomas Schwinge  <thomas@codesourcery.com>
286
287          * plugin/cuda/cuda.h: Remove file.
288          * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
289          "cuda/cuda.h" instead of <cuda.h>.
290          * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
291          'PLUGIN_NVPTX_CPPFLAGS'.
292          * configure: Regenerate.
293
2942022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
295
296          * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
297
2982022-04-04  Tom de Vries  <tdevries@suse.de>
299
300          * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
301          on_device_arch_nvptx instead of offload_target_nvptx.
302          * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
303
3042022-04-01  Tom de Vries  <tdevries@suse.de>
305
306          * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
307          and use REC_DEPTH.
308          * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
309
3102022-04-01  Tom de Vries  <tdevries@suse.de>
311
312          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
313          num_workers check.
314
3152022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
316              Lulu Cheng  <chenglulu@loongson.cn>
317
318          * configure.tgt: Add LoongArch triplet.
319
3202022-03-28  Tom de Vries  <tdevries@suse.de>
321
322          * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
323          instead of /libexec/.
324          * configure: Regenerate.
325
3262022-03-25  Tom de Vries  <tdevries@suse.de>
327
328          PR libgomp/105042
329          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
330          execution time.
331          * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
332          * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
333
3342022-03-23  Tobias Burnus  <tobias@codesourcery.com>
335
336          PR middle-end/104285
337          * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
338          * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
339          * testsuite/libgomp.c++/target-same-name-2.C: New test.
340          * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
341          * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
342          * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
343
3442022-03-22  Tom de Vries  <tdevries@suse.de>
345
346          PR target/104916
347          PR target/104783
348          * testsuite/libgomp.c/pr104783-2.c: New test.
349
3502022-03-18  Tobias Burnus  <tobias@codesourcery.com>
351
352          PR fortran/103039
353          * testsuite/libgomp.fortran/associate4.f90: New test.
354
3552022-03-18  Tom de Vries  <tdevries@suse.de>
356
357          PR target/104952
358          * testsuite/libgomp.c/pr104952-1.c: New test.
359          * testsuite/libgomp.c/pr104952-2.c: New test.
360
3612022-03-18  Jakub Jelinek  <jakub@redhat.com>
362
363          * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
364          variable next to pl variable.
365
3662022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
367
368          * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
369          Enhance.
370          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
371          * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
372
3732022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
374
375          PR middle-end/90115
376          * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
377          * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
378
3792022-03-16  Marcel Vollweiler  <marcel@codesourcery.com>
380
381          * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
382          omp_set_max_active_levels.
383          * testsuite/libgomp.fortran/icv-8.f90: New test.
384
3852022-03-16  Thomas Schwinge  <thomas@codesourcery.com>
386
387          PR testsuite/102841
388          * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
389
3902022-03-13  Tobias Burnus  <tobias@codesourcery.com>
391
392          * libgomp.texi: Fix typo.
393
3942022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
395
396          PR middle-end/100280
397          PR middle-end/104892
398          * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
399          * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
400          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
401          Likewise.
402          * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
403          Likewise.
404          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
405          * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
406          * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
407          Likewise.
408
4092022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
410
411          PR middle-end/104892
412          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
413          to PR104892.
414          * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
415          enable '--param=openacc-kernels=decompose' and adjust.
416          * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
417          Likewise.
418          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
419          * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
420          Likewise.
421
4222022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
423
424          PR middle-end/90115
425          * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
426          * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
427          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
428          * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
429
4302022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
431
432          PR middle-end/100280
433          PR middle-end/104086
434          * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
435          Merge this...
436          * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
437          ..., and this...
438          * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
439          this, and adjust.
440          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
441          Extend.
442
4432022-03-10  Hafiz Abid Qadeer  <abidh@codesourcery.com>
444
445          * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
446          trait.  Test last index in w and v array.  Remove redundant
447          assignment to V(1).  Move alignment checks at the end of
448          parallel region.
449
4502022-03-10  Tom de Vries  <tdevries@suse.de>
451
452          * testsuite/libgomp.c/pr104783.c: New test.
453
4542022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
455
456          PR middle-end/90115
457          PR middle-end/102330
458          PR middle-end/104774
459          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
460          Enhance.
461          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
462          Adjust.
463          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
464          Likewise.
465          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
466          Likewise.
467          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
468          Likewise.
469          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
470          Likewise.
471          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
472          Likewise.
473          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
474          Likewise.
475          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
476          Likewise.
477          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
478          Likewise.
479          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
480          Likewise.
481          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
482          Likewise.
483          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
484          Likewise.
485          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
486          Likewise.
487          * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
488          * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
489          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
490
4912022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
492
493          PR middle-end/90115
494          * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
495          * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
496          * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
497          * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
498
4992022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
500
501          PR testsuite/104791
502          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
503          expected diagnostics.
504
5052022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
506
507          PR middle-end/104784
508          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
509          Test with '--param=openacc-kernels=decompose'.
510          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
511          Likewise.
512          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
513          Likewise.
514          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
515          Likewise.
516          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
517          Likewise.
518          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
519          Likewise.
520          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
521          Likewise.
522          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
523          Likewise.
524          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
525          Likewise.
526          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
527          Likewise.
528          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
529          Likewise.
530          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
531          Likewise.
532          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
533          Likewise.
534          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
535          Likewise.
536          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
537          Likewise.
538          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
539          Likewise.
540          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
541          Likewise.
542          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
543          Likewise.
544          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
545          Likewise.
546          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
547          Likewise.
548          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
549          Likewise.
550          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
551          Likewise.
552          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
553          Likewise.
554          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
555          Likewise.
556          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
557          Likewise.
558          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
559          Likewise.
560          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
561          Likewise.
562          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
563          Likewise.
564          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
565          Likewise.
566          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
567          Likewise.
568          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
569          Likewise.
570          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
571          Likewise.
572          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
573          Likewise.
574
5752022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
576
577          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
578          Test '-fopt-info-omp-all'.
579          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
580          Likewise.
581          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
582          Likewise.
583          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
584          Likewise.
585          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
586          Likewise.
587          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
588          Likewise.
589          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
590          Likewise.
591          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
592          Likewise.
593          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
594          Likewise.
595          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
596          Likewise.
597          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
598          Likewise.
599          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
600          Likewise.
601          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
602          Likewise.
603          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
604          Likewise.
605          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
606          Likewise.
607          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
608          Likewise.
609          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
610          Likewise.
611          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
612          Likewise.
613          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
614          Likewise.
615          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
616          Likewise.
617          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
618          Likewise.
619          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
620          Likewise.
621          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
622          Likewise.
623          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
624          Likewise.
625          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
626          Likewise.
627          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
628          Likewise.
629          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
630          Likewise.
631          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
632          Likewise.
633          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
634          Likewise.
635          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
636          Likewise.
637          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
638          Likewise.
639          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
640          Likewise.
641          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
642          Likewise.
643
6442022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
645
646          PR middle-end/100280
647          PR middle-end/104132
648          PR middle-end/104133
649          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
650          Extend.
651
6522022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
653
654          PR middle-end/100280
655          * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
656          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
657          Likewise.
658
6592022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
660
661          PR middle-end/100280
662          * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
663          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
664          Likewise.
665
6662022-02-28  Tom de Vries  <tdevries@suse.de>
667
668          * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
669          * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
670          * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
671          * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
672          * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
673          * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
674
6752022-02-24  Tom de Vries  <tdevries@suse.de>
676
677          * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
678          * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
679          * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
680          * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
681          * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
682          * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
683          * testsuite/libgomp.c/declare-variant-3.h: New header file.
684
6852022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
686
687          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
688          gang-redundant execution.
689
6902022-02-22  Tom de Vries  <tdevries@suse.de>
691
692          PR target/99555
693          * config/nvptx/bar.c (generation_to_barrier): New function, copied
694          from config/rtems/bar.c.
695          (futex_wait, futex_wake): New function.
696          (do_spin, do_wait): New function, copied from config/linux/wait.h.
697          (gomp_barrier_wait_end, gomp_barrier_wait_last)
698          (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
699          (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
700          and replace with include of config/linux/bar.c.
701          * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
702          (gomp_barrier_init): Init new fields.
703          * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
704          workarounds.
705          * testsuite/libgomp.c/pr99555-1.c: Same.
706          * testsuite/libgomp.fortran/task-detach-6.f90: Same.
707
7082022-02-22  Tom de Vries  <tdevries@suse.de>
709
710          PR testsuite/104146
711          * testsuite/libgomp.c++/pr96390.C: Add additional-option
712          -foffload=-Wa,--verify for nvptx.
713          * testsuite/libgomp.c-c++-common/pr96390.c: Same.
714
7152022-02-15  Tobias Burnus  <tobias@codesourcery.com>
716
717          * testsuite/libgomp.fortran/depend-4.f90: New test.
718
7192022-02-10  Tobias Burnus  <tobias@codesourcery.com>
720
721          PR c++/102204
722          * testsuite/libgomp.c++/target-virtual-1.C: New test.
723
7242022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
725
726          * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
727          * target.c (copy_firstprivate_data): Copy only if host address is not
728          NULL.
729          * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
730          * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
731          * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
732          * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
733          * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
734          * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
735          * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
736          * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
737          * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
738          * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
739
7402022-02-08  Jakub Jelinek  <jakub@redhat.com>
741
742          PR libgomp/104385
743          * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
744          clear task->parent.
745          * testsuite/libgomp.c/pr104385.c: New test.
746
7472022-02-04  Tobias Burnus  <tobias@codesourcery.com>
748
749          * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
750          STOP of previous commit.
751
7522022-02-04  Tobias Burnus  <tobias@codesourcery.com>
753
754          * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
755          from is_64bit_aligned_.
756          * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
757          and use it, more implicit none, remove unused argument.
758
7592022-02-03  David Seifert  <soap@gentoo.org>
760              Jakub Jelinek  <jakub@redhat.com>
761
762          * configure.ac: Support --disable-werror.
763          * configure: Regenerate.
764
7652022-02-01  Tom de Vries  <tdevries@suse.de>
766
767          * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
768          PR83812 workaround.
769          * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
770          * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
771
7722022-02-01  Tom de Vries  <tdevries@suse.de>
773
774          * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
775          num_workers for nvidia accelerator to fix libgomp error 'insufficient
776          resources'.
777          * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
778          Same.
779          * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
780
7812022-02-01  Tom de Vries  <tdevries@suse.de>
782
783          * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
784          recursion depth.
785          * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
786
7872022-01-31  Martin Liska  <mliska@suse.cz>
788
789          * acinclude.m4: Detect *_ld_is_mold and use it.
790          * configure: Regenerate.
791
7922022-01-27  Tobias Burnus  <tobias@codesourcery.com>
793
794          * libgomp.texi (OpenMP 5.0): Update implementation status.
795
7962022-01-21  Thomas Schwinge  <thomas@codesourcery.com>
797
798          * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
799          * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
800          * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
801          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
802          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
803          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
804          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
805          * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
806          * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
807          * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
808          * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
809          * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
810          * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
811          * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
812          * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
813
8142022-01-19  Marcel Vollweiler  <marcel@codesourcery.com>
815
816          * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
817          "static") to make the device num available in the offload image.
818
8192022-01-19  Martin Liska  <mliska@suse.cz>
820              Thomas Schwinge  <thomas@codesourcery.com>
821
822          * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
823          patterns.
824          * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
825          * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
826          Likewise.
827          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
828          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
829          * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
830          * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
831          * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
832          Likewise.
833          * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
834          Likewise.
835          * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
836          Likewise.
837          * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
838          Likewise.
839          * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
840          Likewise.
841          * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
842          Likewise.
843          * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
844          * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
845          * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
846
8472022-01-18  Martin Liska  <mliska@suse.cz>
848
849          * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
850          in dg-warning.
851          * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
852          * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
853          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
854          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
855          * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
856          * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
857          * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
858          * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
859          * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
860          * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
861          * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
862          * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
863          * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
864          * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
865          * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
866
8672022-01-17  Thomas Schwinge  <thomas@codesourcery.com>
868
869          * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
870          * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
871          * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
872
8732022-01-17  Julian Brown  <julian@codesourcery.com>
874              Thomas Schwinge  <thomas@codesourcery.com>
875
876          * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
877          * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
878          * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
879
8802022-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
881              Andrew Stubbs   <ams@codesourcery.com>
882
883          * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
884          the number of teams and threads if necessary.
885          (gcn_exec): Automatically set the number of gangs and workers if
886          necessary.
887
8882022-01-13  Hafiz Abid Qadeer  <abidh@codesourcery.com>
889
890          * testsuite/libgomp.fortran/allocate-1.c: New test.
891          * testsuite/libgomp.fortran/allocate-1.f90: New test.
892          * libgomp.texi: Remove string that says that allocate clause
893          support is for C/C++ only.
894
8952022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
896
897          * testsuite/libgomp.c-c++-common/on_device_arch.h
898          (any_device_arch, any_device_arch_intel_mic): New.
899          * testsuite/lib/libgomp.exp
900          (check_effective_target_offload_device_any_intel_mic): New.
901          * testsuite/libgomp.c-c++-common/target-45.c: Use it.
902          * testsuite/libgomp.fortran/target10.f90: Likewise.
903
9042022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
905
906          PR tree-optimization/102192
907          * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
908          '-Wuninitialized' diagnostics.
909
9102022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
911
912          * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
913          current '-Wuninitialized' diagnostics.
914          * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
915          * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
916          * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
917          * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
918          * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
919          * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
920          * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
921          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
922          * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
923          * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
924          * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
925          Likewise.
926
9272022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
928
929          * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
930          for 'offload_device_intel_mic'.
931
9322022-01-13  Julian Brown  <julian@codesourcery.com>
933              Thomas Schwinge  <thomas@codesourcery.com>
934
935          * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
936          offloading execution XFAIL.
937
9382022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
939
940          PR middle-end/100280
941          * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
942          Update.
943          * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
944          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
945          Likewise.
946
9472022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
948
949          * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
950          Enhance.
951          * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
952          Likewise.
953          * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
954          * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
955          * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
956          * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
957          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
958          Likewise.
959          * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
960          * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
961          * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
962          * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
963
9642022-01-04  Tobias Burnus  <tobias@codesourcery.com>
965
966          * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
967          * testsuite/libgomp.fortran/target10.f90: Likewise.
968
9692022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
970
971          * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
972          into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
973          * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
974
9752022-01-03  Jakub Jelinek  <jakub@redhat.com>
976
977          * libgomp.texi: Bump @copying's copyright year.
978
9792021-12-13  Tobias Burnus  <tobias@codesourcery.com>
980
981          * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
982          * testsuite/libgomp.fortran/atomic-19.f90: New test.
983
9842021-12-10  Andrew Stubbs  <ams@codesourcery.com>
985
986          * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
987          (GOMP_OFFLOAD_load_image): Locate the offload variables via the
988          table, not individual symbols.
989
9902021-12-09  Chung-Lin Tang  <cltang@codesourcery.com>
991
992          * testsuite/libgomp.c++/target-lambda-1.C: Only run under
993          "target offload_device_nonshared_as"
994          * testsuite/libgomp.c++/target-this-3.C: Likewise.
995          * testsuite/libgomp.c++/target-this-4.C: Likewise.
996
9972021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
998
999          * target.c (gomp_map_vars_existing): Make sure attached pointer is
1000          not overwritten during cross-host/device copying.
1001          (gomp_update): Likewise.
1002          (gomp_exit_data): Likewise.
1003          * testsuite/libgomp.c++/target-11.C: Adjust testcase.
1004          * testsuite/libgomp.c++/target-12.C: Likewise.
1005          * testsuite/libgomp.c++/target-15.C: Likewise.
1006          * testsuite/libgomp.c++/target-16.C: Likewise.
1007          * testsuite/libgomp.c++/target-17.C: Likewise.
1008          * testsuite/libgomp.c++/target-21.C: Likewise.
1009          * testsuite/libgomp.c++/target-23.C: Likewise.
1010          * testsuite/libgomp.c/target-23.c: Likewise.
1011          * testsuite/libgomp.c/target-29.c: Likewise.
1012          * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
1013
10142021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
1015
1016          PR middle-end/92120
1017          * libgomp.h (gomp_attach_pointer): Add bool parameter.
1018          * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
1019          (goacc_enter_data_internal): Likewise.
1020          * target.c (gomp_map_vars_existing): Update assert condition to
1021          include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
1022          (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
1023          parameter, add support for mapping a pointer with NULL target.
1024          (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
1025          parameter, add support for attaching a pointer with NULL target.
1026          (gomp_map_vars_internal): Update calls to gomp_map_pointer and
1027          gomp_attach_pointer, add handling for
1028          GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
1029          GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
1030          * testsuite/libgomp.c++/target-23.C: New testcase.
1031          * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
1032          * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
1033          * testsuite/libgomp.c++/target-this-1.C: New testcase.
1034          * testsuite/libgomp.c++/target-this-2.C: New testcase.
1035          * testsuite/libgomp.c++/target-this-3.C: New testcase.
1036          * testsuite/libgomp.c++/target-this-4.C: New testcase.
1037          * testsuite/libgomp.c++/target-this-5.C: New testcase.
1038
10392021-12-04  Tobias Burnus  <tobias@codesourcery.com>
1040
1041          * libgomp.texi (OpenMP 5.1): Update status.
1042
10432021-12-04  Tobias Burnus  <tobias@codesourcery.com>
1044
1045          * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
1046
10472021-12-02  Chung-Lin Tang  <cltang@codesourcery.com>
1048
1049          PR fortran/90030
1050          * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
1051          * testsuite/libgomp.fortran/pr90030.f90: New test.
1052
10532021-11-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
1054              Thomas Schwinge  <thomas@codesourcery.com>
1055
1056          * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
1057          temporary skip.
1058
10592021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
1060              Thomas Schwinge  <thomas@codesourcery.com>
1061
1062          * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
1063          skip.
1064
10652021-11-29  Richard Biener  <rguenther@suse.de>
1066
1067          * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
1068          return.
1069
10702021-11-24  Jakub Jelinek  <jakub@redhat.com>
1071
1072          PR middle-end/103384
1073          * testsuite/libgomp.c/declare-variant-2.c: New test.
1074
10752021-11-18  David Edelsohn  <dje.gcc@gmail.com>
1076
1077          * alloc.c (gomp_aligned_alloc): Fix typo.
1078
10792021-11-18  Jakub Jelinek  <jakub@redhat.com>
1080
1081          PR libgomp/102838
1082          * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
1083          GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
1084          (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
1085          GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1086          * work.c (alloc_work_share, gomp_work_share_start): Likewise.
1087          * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
1088          gomp_aligned_alloc instead of team_malloc.
1089
10902021-11-18  Jakub Jelinek  <jakub@redhat.com>
1091
1092          PR libgomp/102838
1093          * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
1094          memalign over posix_memalign over aligned_alloc over fallback
1095          with malloc instead of aligned_alloc over _aligned_alloc over
1096          posix_memalign over memalign over fallback with malloc.  For
1097          aligned_alloc, round up size up to multiple of al.
1098
10992021-11-16  Jakub Jelinek  <jakub@redhat.com>
1100
1101          * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
1102          construct as implemented.
1103
11042021-11-15  Tobias Burnus  <tobias@codesourcery.com>
1105
1106          * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1107
11082021-11-15  Jakub Jelinek  <jakub@redhat.com>
1109
1110          * task.c (gomp_create_target_task): Copy args array as well.
1111          * target.c (gomp_target_fallback): Add args argument.
1112          Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1113          (GOMP_target): Adjust gomp_target_fallback caller.
1114          (GOMP_target_ext): Likewise.
1115          (gomp_target_task_fn): Likewise.
1116          * config/nvptx/team.c (gomp_nvptx_main): Set
1117          gomp_global_icv.thread_limit_var.
1118          * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1119
11202021-11-15  Jakub Jelinek  <jakub@redhat.com>
1121
1122          * config/nvptx/team.c (__gomp_team_num): Define as
1123          __attribute__((shared)) var.
1124          (gomp_nvptx_main): Initialize __gomp_team_num to 0.
1125          * config/nvptx/target.c (__gomp_team_num): Declare as
1126          extern __attribute__((shared)) var.
1127          (GOMP_teams4): Use __gomp_team_num as the team number instead of
1128          %ctaid.x.  If first, initialize it to %ctaid.x.  If num_teams_lower
1129          is bigger than num_blocks, use num_teams_lower teams and arrange for
1130          bumping of __gomp_team_num if !first and returning false once we run
1131          out of teams.
1132          * config/nvptx/teams.c (__gomp_team_num): Declare as
1133          extern __attribute__((shared)) var.
1134          (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1135
11362021-11-15  Jakub Jelinek  <jakub@redhat.com>
1137
1138          * testsuite/libgomp.c/teams-5.c: New test.
1139
11402021-11-12  Jakub Jelinek  <jakub@redhat.com>
1141
1142          PR target/103201
1143          * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1144          to ...
1145          * config/gcn/teams.c: ... here.  New file.
1146
11472021-11-12  Chung-Lin Tang  <cltang@codesourcery.com>
1148
1149          * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1150          implicit map handling to allow a "superset" existing map as valid case.
1151          (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1152          (get_implicit): New function to extract implicit status.
1153          (gomp_map_fields_existing): Adjust arguments in calls to
1154          gomp_map_vars_existing, and add uses of get_implicit.
1155          (gomp_map_vars_internal): Likewise.
1156          * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1157
11582021-11-12  Jakub Jelinek  <jakub@redhat.com>
1159
1160          * libgomp_g.h (GOMP_teams4): Declare.
1161          * libgomp.map (GOMP_5.1): Export GOMP_teams4.
1162          * target.c (GOMP_teams4): New function.
1163          * config/nvptx/target.c (GOMP_teams): Remove.
1164          (GOMP_teams4): New function.
1165          * config/gcn/target.c (GOMP_teams): Remove.
1166          (GOMP_teams4): New function.
1167          * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1168          teams instead of <= 2.
1169          * testsuite/libgomp.c-c++-common/teams-2.c: New test.
1170
11712021-11-11  Tobias Burnus  <tobias@codesourcery.com>
1172
1173          * testsuite/libgomp.fortran/teams-1.f90: New test.
1174
11752021-11-11  Jakub Jelinek  <jakub@redhat.com>
1176
1177          * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1178          * team.c (struct gomp_thread_start_data): Likewise.
1179          (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1180          (gomp_team_start): Initialize start_data->num_teams and
1181          start_data->team_num.  Update nthr->num_teams and nthr->team_num.
1182          * teams.c (gomp_num_teams, gomp_team_num): Remove.
1183          (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1184          instead of gomp_num_teams and gomp_team_num.
1185          (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1186          (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1187          * testsuite/libgomp.c/teams-4.c: New test.
1188
11892021-11-11  Jakub Jelinek  <jakub@redhat.com>
1190
1191          * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1192
11932021-11-09  Thomas Schwinge  <thomas@codesourcery.com>
1194
1195          * env.c (parse_gomp_openacc_dim): Restore parsing.
1196
11972021-10-30  Tobias Burnus  <tobias@codesourcery.com>
1198
1199          PR middle-end/102972
1200          * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1201          parallel construct.
1202          * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1203          * testsuite/libgomp.c/target-3.c: Likewise.
1204          * testsuite/libgomp.c/target-5.c: Likewise.
1205          * testsuite/libgomp.c/target-6.c: Likewise.
1206          * testsuite/libgomp.c/target-teams-1.c: Likewise.
1207          * testsuite/libgomp.c/teams-1.c: Likewise.
1208          * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1209          * testsuite/libgomp.c/thread-limit-3.c: Likewise.
1210          * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1211          * testsuite/libgomp.c/thread-limit-5.c: Likewise.
1212          * testsuite/libgomp.fortran/icv-3.f90: Likewise.
1213          * testsuite/libgomp.fortran/icv-4.f90: Likewise.
1214          * testsuite/libgomp.fortran/teams1.f90: Likewise.
1215
12162021-10-29  Aldy Hernandez  <aldyh@redhat.com>
1217
1218          * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1219          * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1220
12212021-10-27  Jakub Jelinek  <jakub@redhat.com>
1222
1223          * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1224          aren't implemented for Fortran yet.
1225
12262021-10-27  Jakub Jelinek  <jakub@redhat.com>
1227
1228          * testsuite/libgomp.c/loop-26.c: New test.
1229          * testsuite/libgomp.c/loop-27.c: New test.
1230
12312021-10-25  Tobias Burnus  <tobias@codesourcery.com>
1232
1233          PR testsuite/102910
1234          * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1235          instead of #include <alloca.h> + alloca.
1236
12372021-10-21  Chung-Lin Tang  <cltang@codesourcery.com>
1238
1239          * libgomp.texi (Support of strictly structured blocks in Fortran):
1240          Adjust to 'Y'.
1241          * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1242
12432021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
1244
1245          * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1246          * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1247
12482021-10-20  Jakub Jelinek  <jakub@redhat.com>
1249
1250          PR libgomp/102838
1251          * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1252          (struct gomp_work_share): Only use aligned(64) attribute if
1253          GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1254          add padding before lock to ensure lock is at offset 64 bytes
1255          into the structure.
1256          (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1257          New poor man's static assertions.
1258          * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1259          gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1260
12612021-10-20  Aldy Hernandez  <aldyh@redhat.com>
1262              Richard Biener  <rguenther@suse.de>
1263
1264          * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1265
12662021-10-18  Jakub Jelinek  <jakub@redhat.com>
1267
1268          * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1269          && gomp_places_list_len < count after nfirst <= nlast loop condition.
1270
12712021-10-18  Tobias Burnus  <tobias@codesourcery.com>
1272
1273          PR fortran/102086
1274          PR fortran/92189
1275          PR fortran/92621
1276          PR fortran/101308
1277          PR fortran/101309
1278          PR fortran/101635
1279          PR fortran/92482
1280          * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1281
12822021-10-15  Jakub Jelinek  <jakub@redhat.com>
1283
1284          * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1285          type from char [50] to const char *.
1286          (places_array): Add a testcase for simplified syntax place followed
1287          by length or length and stride.
1288
12892021-10-15  Jakub Jelinek  <jakub@redhat.com>
1290
1291          * env.c (parse_one_place): Handle non-negative-number the same
1292          as { non-negative-number }.  Reject even !number:1 and
1293          !number:1:stride or !place:1 or !place:1:stride instead of just
1294          length other than 1.
1295          * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1296          and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1297          omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1298          as implemented.
1299          * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1300          simplified syntax.
1301
13022021-10-15  Jakub Jelinek  <jakub@redhat.com>
1303
1304          * env.c (parse_schedule): For strtoul or strtoull calls which don't
1305          clearly reject return value 0 as invalid handle the case where end
1306          pointer is the same as first argument as invalid.
1307          (parse_unsigned_long_1): Likewise.
1308          (parse_one_place): Likewise.
1309          (parse_places_var): Likewise.
1310          (parse_stacksize): Likewise.
1311          (parse_spincount): Likewise.
1312          (parse_affinity): Likewise.
1313          (parse_gomp_openacc_dim): Likewise.  Avoid strict aliasing violation.
1314          Make code valid C89.
1315          * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1316          For strtoul calls which don't clearly reject return value 0 as
1317          invalid handle the case where end pointer is the same as first
1318          argument as invalid.
1319          (gomp_affinity_init_level_1): Likewise.
1320          (gomp_affinity_init_numa_domains): Likewise.
1321          * config/rtems/proc.c (parse_thread_pools): Likewise.
1322
13232021-10-15  Jakub Jelinek  <jakub@redhat.com>
1324
1325          * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1326          after creating count places clean up and return immediately.
1327          * testsuite/libgomp.c/places-6.c: New test.
1328          * testsuite/libgomp.c/places-7.c: New test.
1329          * testsuite/libgomp.c/places-8.c: New test.
1330          * testsuite/libgomp.c/places-9.c: New test.
1331          * testsuite/libgomp.c/places-10.c: New test.
1332
13332021-10-15  Jakub Jelinek  <jakub@redhat.com>
1334
1335          * env.c (parse_places_var): Handle numa_domains as level 5.
1336          * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1337          function.
1338          (gomp_affinity_init_level): Use it instead of
1339          gomp_affinity_init_level_1 for level == 5.
1340          * testsuite/libgomp.c/places-5.c: New test.
1341
13422021-10-15  Jakub Jelinek  <jakub@redhat.com>
1343
1344          * env.c (parse_places_var): Handle ll_caches as level 4.
1345          * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1346          function.
1347          (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1348          last level cache.
1349          (gomp_affinity_init_level): Likewise.
1350          * testsuite/libgomp.c/places-1.c: New test.
1351          * testsuite/libgomp.c/places-2.c: New test.
1352          * testsuite/libgomp.c/places-3.c: New test.
1353          * testsuite/libgomp.c/places-4.c: New test.
1354
13552021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
1356
1357          * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1358          directive.
1359
13602021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
1361
1362          * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1363
13642021-10-12  Julian Brown  <julian@codesourcery.com>
1365
1366          * target.c (gomp_copy_host2dev): Release device lock on cbuf
1367          error path.
1368
13692021-10-12  Tobias Burnus  <tobias@codesourcery.com>
1370
1371          * testsuite/libgomp.fortran/icv-3.f90: New.
1372          * testsuite/libgomp.fortran/icv-4.f90: New.
1373
13742021-10-12  Jakub Jelinek  <jakub@redhat.com>
1375
1376          * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1377          omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1378          OMP_TEAMS_THREAD_LIMIT): Document.
1379
13802021-10-12  Jakub Jelinek  <jakub@redhat.com>
1381
1382          * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1383          to avoid makeinfo warnings.
1384
13852021-10-12  Jakub Jelinek  <jakub@redhat.com>
1386
1387          * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1388          * testsuite/libgomp.c-c++-common/icv-4.c: New test.
1389
13902021-10-12  Jakub Jelinek  <jakub@redhat.com>
1391
1392          PR libgomp/102628
1393          PR libgomp/102668
1394          * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
1395          allocation sizes from 420 to 320 and from 768 to 568.
1396          * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1397          * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
1398          for cr from 16 to 4.
1399
14002021-10-12  Jakub Jelinek  <jakub@redhat.com>
1401
1402          * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
1403          * testsuite/libgomp.c/scan-12.c: Likewise.
1404          * testsuite/libgomp.c/scan-13.c: Likewise.
1405          * testsuite/libgomp.c/scan-14.c: Likewise.
1406          * testsuite/libgomp.c/scan-15.c: Likewise.
1407          * testsuite/libgomp.c/scan-16.c: Likewise.
1408          * testsuite/libgomp.c/scan-17.c: Likewise.
1409          * testsuite/libgomp.c/scan-18.c: Likewise.
1410          * testsuite/libgomp.c/scan-19.c: Likewise.
1411          * testsuite/libgomp.c/scan-20.c: Likewise.
1412          * testsuite/libgomp.c/scan-21.c: Likewise.
1413          * testsuite/libgomp.c/scan-22.c: Likewise.
1414          * testsuite/libgomp.c++/scan-9.C: Likewise.
1415          * testsuite/libgomp.c++/scan-10.C: Likewise.
1416          * testsuite/libgomp.c++/scan-11.C: Likewise.
1417          * testsuite/libgomp.c++/scan-12.C: Likewise.
1418          * testsuite/libgomp.c++/scan-13.C: Likewise.
1419          * testsuite/libgomp.c++/scan-14.C: Likewise.
1420          * testsuite/libgomp.c++/scan-15.C: Likewise.
1421          * testsuite/libgomp.c++/scan-16.C: Likewise.
1422
14232021-10-12  Kewen Lin  <linkw@linux.ibm.com>
1424
1425          * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
1426
14272021-10-11  Marcel Vollweiler  <marcel@codesourcery.com>
1428
1429          * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
1430          omp_atv_serialized.
1431          * omp.h.in: Add deprecated flag for omp_atv_sequential.
1432          * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
1433          * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
1434          * testsuite/libgomp.fortran/alloc-12.f90: New test.
1435
14362021-10-11  Jakub Jelinek  <jakub@redhat.com>
1437
1438          * omp.h.in (omp_set_num_teams, omp_get_max_teams,
1439          omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1440          * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
1441          omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1442          * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
1443          omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1444          * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
1445          * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
1446          omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
1447          omp_set_teams_thread_limit{,_,_8_}.
1448          * icv.c (omp_set_num_teams, omp_get_max_teams,
1449          omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
1450          functions.
1451          * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
1452          (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
1453          (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
1454          vars.
1455          * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
1456          gomp_teams_thread_limit_var as fallback if not zero.  If num_teams
1457          is not specified, use gomp_nteams_var.
1458          * fortran.c (omp_set_num_teams, omp_get_max_teams,
1459          omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
1460          ialias_redirect.
1461          (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
1462          omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
1463          omp_get_teams_thread_limit_): New functions.
1464
14652021-10-09  liuhongt  <hongtao.liu@intel.com>
1466
1467          * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
1468          * testsuite/libgomp.c++/scan-11.C: Ditto.
1469          * testsuite/libgomp.c++/scan-12.C: Ditto.
1470          * testsuite/libgomp.c++/scan-13.C: Ditto.
1471          * testsuite/libgomp.c++/scan-14.C: Ditto.
1472          * testsuite/libgomp.c++/scan-15.C: Ditto.
1473          * testsuite/libgomp.c++/scan-16.C: Ditto.
1474          * testsuite/libgomp.c++/scan-9.C: Ditto.
1475          * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
1476          * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
1477          * testsuite/libgomp.c/scan-11.c: Ditto.
1478          * testsuite/libgomp.c/scan-12.c: Ditto.
1479          * testsuite/libgomp.c/scan-13.c: Ditto.
1480          * testsuite/libgomp.c/scan-14.c: Ditto.
1481          * testsuite/libgomp.c/scan-15.c: Ditto.
1482          * testsuite/libgomp.c/scan-16.c: Ditto.
1483          * testsuite/libgomp.c/scan-17.c: Ditto.
1484          * testsuite/libgomp.c/scan-18.c: Ditto.
1485          * testsuite/libgomp.c/scan-19.c: Ditto.
1486          * testsuite/libgomp.c/scan-20.c: Ditto.
1487          * testsuite/libgomp.c/scan-21.c: Ditto.
1488          * testsuite/libgomp.c/scan-22.c: Ditto.
1489
14902021-10-09  Jakub Jelinek  <jakub@redhat.com>
1491
1492          * libgomp.texi (OpenMP 5.1): Mention implemented support for
1493          structured block sequences in C/C++.  Mention support for
1494          unconstrained/reproducible modifiers on order clause.
1495          Mention partial (C/C++ only) support of extentensions to atomics
1496          construct.  Mention partial (C/C++ on clause only) support of
1497          align/allocator modifiers on allocate clause.
1498
14992021-10-02  Tobias Burnus  <tobias@codesourcery.com>
1500
1501          * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
1502          based on libgomp.c-c++-common/order-reproducible-1.c.
1503          * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1504          * testsuite/libgomp.fortran/my-usleep.c: New test.
1505
15062021-10-01  Tobias Burnus  <tobias@codesourcery.com>
1507
1508          * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
1509          * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
1510          * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
1511          * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
1512          based on libgomp.c-c++-common/alloc-9.c.
1513
15142021-10-01  Jakub Jelinek  <jakub@redhat.com>
1515
1516          * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
1517          * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
1518
15192021-10-01  Jakub Jelinek  <jakub@redhat.com>
1520
1521          * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
1522          ialias_redirect.
1523          * env.c (handle_omp_display_env): Use ialias_call.
1524          * icv-device.c: Move ialias right below each function.
1525          (omp_get_device_num): Use ialias_call.
1526          * fortran.c (omp_fulfill_event): Add ialias_redirect.
1527          * icv.c (omp_get_active_level): Add ialias_redirect.
1528
15292021-10-01  Jakub Jelinek  <jakub@redhat.com>
1530
1531          * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
1532          __alloc_align__ (1) attribute.
1533          * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
1534
15352021-09-30  Tobias Burnus  <tobias@codesourcery.com>
1536
1537          * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
1538          for -fintrinsic-modules-path= warning of the C compiler.
1539          * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1540          * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
1541
15422021-09-30  Tobias Burnus  <tobias@codesourcery.com>
1543
1544          * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
1545          omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
1546          * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1547          omp_realloc): Add.
1548          * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1549          omp_realloc): Add.
1550          * testsuite/libgomp.fortran/alloc-10.f90: New test.
1551          * testsuite/libgomp.fortran/alloc-6.f90: New test.
1552          * testsuite/libgomp.fortran/alloc-7.c: New test.
1553          * testsuite/libgomp.fortran/alloc-7.f90: New test.
1554          * testsuite/libgomp.fortran/alloc-8.f90: New test.
1555          * testsuite/libgomp.fortran/alloc-9.f90: New test.
1556
15572021-09-30  Jakub Jelinek  <jakub@redhat.com>
1558
1559          * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
1560          omp_realloc): New prototypes.
1561          (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
1562          attribute.
1563          * allocator.c: Include string.h.
1564          (omp_aligned_alloc): No longer static, add ialias.  Add new_alignment
1565          variable and use it instead of alignment so that when retrying the old
1566          alignment is used again.  Don't retry if new alignment is the same
1567          as old alignment, unless allocator had pool size.
1568          (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
1569          (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
1570          * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
1571          omp_aligned_calloc and omp_realloc.
1572          * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
1573          omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
1574          * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
1575          * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
1576          * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
1577          * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
1578
15792021-09-28  Tobias Burnus  <tobias@codesourcery.com>
1580
1581          PR libgomp/96661
1582          * configure.ac: Only check for int-type = 2*size_t support when
1583          building with Fortran support.
1584          * configure: Regenerate.
1585
15862021-09-28  Thomas Schwinge  <thomas@codesourcery.com>
1587
1588          * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
1589          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1590
15912021-09-27  Aldy Hernandez  <aldyh@redhat.com>
1592
1593          * team.c: Initialize start_data.
1594          * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1595          * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
1596
15972021-09-27  Tobias Burnus  <tobias@codesourcery.com>
1598
1599          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
1600          dg-message back to dg-note.
1601
16022021-09-27  Tobias Burnus  <tobias@codesourcery.com>
1603
1604          PR fortran/94070
1605          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
1606          expected dg-note output.
1607
16082021-09-22  Tobias Burnus  <tobias@codesourcery.com>
1609
1610          PR fortran/55534
1611          * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
1612          r12-3722 by removing -Wno-missing-include-dirs.
1613          * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1614
16152021-09-22  Jakub Jelinek  <jakub@redhat.com>
1616
1617          * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
1618          * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
1619
16202021-09-21  Tobias Burnus  <tobias@codesourcery.com>
1621
1622          PR fortran/55534
1623          * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
1624          to ALWAYS_CFLAGS.
1625          * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1626
16272021-09-18  Jakub Jelinek  <jakub@redhat.com>
1628
1629          * testsuite/libgomp.c++/default-1.C: New test.
1630          * testsuite/libgomp.c-c++-common/default-1.c: New test.
1631          * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
1632          to default clause in C and C++" as implemented.
1633
16342021-09-17  Julian Brown  <julian@codesourcery.com>
1635
1636          * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
1637
16382021-09-17  Julian Brown  <julian@codesourcery.com>
1639
1640          * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
1641
16422021-09-17  Jakub Jelinek  <jakub@redhat.com>
1643
1644          * libgomp.texi (OpenMP 5.1): Spelling fix,
1645          declare variante -> declare variant.
1646
16472021-09-17  Jakub Jelinek  <jakub@redhat.com>
1648
1649          * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
1650          Use /* */ comments instead of //.
1651          * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
1652          * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
1653          * testsuite/libgomp.c++/atomic-16.C: New test.
1654          * testsuite/libgomp.c++/atomic-17.C: New test.
1655
16562021-09-10  Jakub Jelinek  <jakub@redhat.com>
1657
1658          * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
1659          * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
1660          * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
1661
16622021-09-07  Tobias Burnus  <tobias@codesourcery.com>
1663
1664          * libgomp.texi (OpenMP Implementation Status): Extend
1665          OpenMP 5.0 section.
1666          (OpenACC Profiling Interface): Fix typo.
1667
16682021-09-07  Tobias Burnus  <tobias@codesourcery.com>
1669
1670          * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
1671          not to 4.5; link to new section.
1672          (OpenMP Implementation Status): New.
1673
16742021-09-06  Thomas Schwinge  <thomas@codesourcery.com>
1675
1676          * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
1677
16782021-09-03  Tobias Burnus  <tobias@codesourcery.com>
1679
1680          * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
1681          dg-output.
1682          * testsuite/libgomp.fortran/error-1.f90: Likewise.
1683
16842021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
1685              Jakub Jelinek  <jakub@redhat.com>
1686
1687          * testsuite/libgomp.c/address-space-1.c: New file.
1688
16892021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
1690
1691          * testsuite/lib/libgomp.exp
1692          (check_effective_target_offload_target_intelmic): Remove 'proc'.
1693          (check_effective_target_offload_device_intel_mic): New 'proc'.
1694          * testsuite/libgomp.c-c++-common/on_device_arch.h
1695          (device_arch_intel_mic, on_device_arch_intel_mic): New.
1696          * testsuite/libgomp.c-c++-common/target-45.c: Use that for
1697          'dg-xfail-run-if'.
1698          * testsuite/libgomp.fortran/target10.f90: Likewise.
1699
17002021-08-23  Tobias Burnus  <tobias@codesourcery.com>
1701
1702          * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
1703          * testsuite/libgomp.fortran/taskloop-4.f90: New test.
1704          * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
1705          * testsuite/libgomp.fortran/taskloop-5.f90: New test.
1706
17072021-08-23  Jakub Jelinek  <jakub@redhat.com>
1708
1709          * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
1710          * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
1711          * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
1712
17132021-08-22  Thomas Schwinge  <thomas@codesourcery.com>
1714
1715          * config/nvptx/error.c (fwrite, exit): Override, too.
1716          * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
1717          of offloading testing.
1718          * testsuite/libgomp.fortran/error-1.f90: Likewise.
1719
17202021-08-20  Tobias Burnus  <tobias@codesourcery.com>
1721
1722          * testsuite/libgomp.fortran/error-1.f90: New test.
1723
17242021-08-20  Jakub Jelinek  <jakub@redhat.com>
1725
1726          * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
1727          * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
1728          * error.c (GOMP_warning, GOMP_error): New functions.
1729          * testsuite/libgomp.c-c++-common/error-1.c: New test.
1730
17312021-08-18  Tobias Burnus  <tobias@codesourcery.com>
1732
1733          * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
1734          omp_target_free. omp_target_is_present, omp_target_memcpy,
1735          omp_target_memcpy_rect, omp_target_associate_ptr,
1736          omp_target_disassociate_ptr): Add interface.
1737          * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
1738          omp_target_free. omp_target_is_present, omp_target_memcpy,
1739          omp_target_memcpy_rect, omp_target_associate_ptr,
1740          omp_target_disassociate_ptr): Add interface.
1741          * testsuite/libgomp.fortran/alloc-1.F90: Remove local
1742          interface block for omp_alloc + omp_free.
1743          * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
1744          * testsuite/libgomp.fortran/refcount-1.f90: New test.
1745          * testsuite/libgomp.fortran/target-12.f90: New test.
1746
17472021-08-18  Jakub Jelinek  <jakub@redhat.com>
1748
1749          * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
1750
17512021-08-17  Tobias Burnus  <tobias@codesourcery.com>
1752
1753          * testsuite/libgomp.fortran/scope-1.f90: New test.
1754          * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
1755
17562021-08-17  Jakub Jelinek  <jakub@redhat.com>
1757
1758          * Makefile.am (libgomp_la_SOURCES): Add scope.c
1759          * Makefile.in: Regenerated.
1760          * libgomp_g.h (GOMP_scope_start): Declare.
1761          * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
1762          * scope.c: New file.
1763          * testsuite/libgomp.c-c++-common/scope-1.c: New test.
1764          * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
1765
17662021-08-16  Thomas Schwinge  <thomas@codesourcery.com>
1767
1768          * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
1769          '?:' issues.
1770
17712021-08-16  Tobias Burnus  <tobias@codesourcery.com>
1772
1773          * testsuite/libgomp.fortran/masked-1.f90: New test.
1774
17752021-08-13  Thomas Schwinge  <thomas@codesourcery.com>
1776
1777          * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
1778
17792021-08-12  Jakub Jelinek  <jakub@redhat.com>
1780
1781          * testsuite/libgomp.c-c++-common/masked-1.c: New test.
1782
17832021-08-12  Tobias Burnus  <tobias@codesourcery.com>
1784
1785          * env.c (parse_bind_var): Accept 'primary' as alias for
1786          'master'.
1787          (omp_display_env): Add TODO comment to
1788          change 'master' to 'primary' in proc_bind for OpenMP 5.1.
1789          * libgomp.texi: Change 'master thread' to 'primary thread'
1790          in line with OpenMP 5.1.
1791          (omp_get_proc_bind): Add omp_proc_bind_primary and note that
1792          omp_proc_bind_master is an alias of it.
1793          (OMP_PROC_BIND): Mention 'PRIMARY'.
1794          * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
1795          (omp_proc_bind_primary): Add.
1796          (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1797          * omp_lib.f90.in (omp_proc_bind_primary): Add.
1798          (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1799          * omp_lib.h.in (omp_proc_bind_primary): Add.
1800          * testsuite/libgomp.c/affinity-1.c: Check that
1801          'primary' works and is identical to 'master'.
1802
18032021-08-09  Julian Brown  <julian@codesourcery.com>
1804              Kwok Cheung Yeung  <kcy@codesourcery.com>
1805              Thomas Schwinge  <thomas@codesourcery.com>
1806
1807          * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
1808          16.
1809          * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1810          [acc_device_radeon]: Update.
1811          * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
1812          [ACC_DEVICE_TYPE_radeon]: Likewise.
1813          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1814          [acc_device_radeon]: Likewise.
1815          * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
1816          [ACC_DEVICE_TYPE_radeon]: Likewise.
1817          * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
1818          'openacc_radeon_accel_selected' and '-O0'.
1819          * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1820
18212021-08-05  Chung-Lin Tang  <cltang@codesourcery.com>
1822
1823          * icv-device.c (omp_get_device_num): New API function, host side.
1824          * fortran.c (omp_get_device_num_): New interface function.
1825          * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
1826          * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
1827          omp_get_device_num_.
1828          * libgomp.texi (omp_get_device_num): Add documentation for new API
1829          function.
1830          * omp.h.in (omp_get_device_num): Add declaration.
1831          * omp_lib.f90.in (omp_get_device_num): Likewise.
1832          * omp_lib.h.in (omp_get_device_num): Likewise.
1833          * target.c (gomp_load_image_to_device): If additional entry for device
1834          number exists at end of returned entries from 'load_image_func' hook,
1835          copy the assigned device number over to the device variable.
1836          * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1837          (omp_get_device_num): New API function, device side.
1838          * plugin/plugin-gcn.c ("symcat.h"): Add include.
1839          (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1840          at end of returned 'target_table' entries.
1841          * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1842          (omp_get_device_num): New API function, device side.
1843          * plugin/plugin-nvptx.c ("symcat.h"): Add include.
1844          (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1845          at end of returned 'target_table' entries.
1846          * testsuite/lib/libgomp.exp
1847          (check_effective_target_offload_target_intelmic): New function for
1848          testing for intelmic offloading.
1849          * testsuite/libgomp.c-c++-common/target-45.c: New test.
1850          * testsuite/libgomp.fortran/target10.f90: New test.
1851
18522021-07-30  Thomas Schwinge  <thomas@codesourcery.com>
1853              Ulrich Drepper  <drepper@redhat.com>
1854
1855          * fortran.c (omp_display_env_, omp_display_env_8_): Only
1856          '#ifndef LIBGOMP_OFFLOADED_ONLY'.
1857
18582021-07-29  Thomas Schwinge  <thomas@codesourcery.com>
1859              Julian Brown  <julian@codesourcery.com>
1860              Kwok Cheung Yeung  <kcy@codesourcery.com>
1861
1862          * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
1863          's%oaccdevlow%oaccloops%g'.
1864          * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
1865          * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1866          * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
1867          Likewise.
1868          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
1869          Likewise.
1870          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
1871          Likewise.
1872          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
1873          Likewise.
1874          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
1875          Likewise.
1876          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
1877          Likewise.
1878          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
1879          Likewise.
1880          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
1881          Likewise.
1882          * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1883
18842021-07-29  Aldy Hernandez  <aldyh@redhat.com>
1885
1886          * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
1887          threader.
1888          * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1889
18902021-07-27  Ulrich Drepper  <drepper@gmail.com>
1891
1892          * env.c (wait_policy, stacksize): New static variables,
1893          move out of handle_omp_display_env.
1894          (omp_display_env): New function.  The meat of the old
1895          handle_omp_display_env function.
1896          (handle_omp_display_env): Change to not take parameters
1897          and instead use the global variables.  Only perform
1898          parsing, defer to omp_display_env for the implementation.
1899          (initialize_env): Remove local variables wait_policy and
1900          stacksize.  Don't pass parameters to handle_omp_display_env.
1901          * fortran.c: Add ialias_redirect for omp_display_env.
1902          (omp_display_env_, omp_display_env_8_): New functions.
1903          * libgomp.map (OMP_5.1): New version.  Add omp_display_env,
1904          omp_display_env_, and omp_display_env_8_.
1905          * omp.h.in: Declare omp_display_env.
1906          * omp_lib.f90.in: Likewise.
1907          * omp_lib.h.in: Likewise.
1908
19092021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1910              Julian Brown  <julian@codesourcery.com>
1911
1912          * target.c (gomp_coalesce_buf_add): Update comment.
1913          (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
1914          'aq && cbuf'.
1915          (gomp_map_vars_internal): Only 'if (!aq)', do
1916          'gomp_coalesce_buf_add'.
1917          * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
1918          XFAIL.
1919
19202021-07-27  Julian Brown  <julian@codesourcery.com>
1921              Thomas Schwinge  <thomas@codesourcery.com>
1922
1923          * libgomp.h (gomp_copy_host2dev): Update prototype.
1924          * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
1925          argument to gomp_copy_host2dev (false).
1926          * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
1927          (copy_data): Don't free src.
1928          (queue_push_copy): Remove free_src handling.
1929          (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
1930          (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
1931          snapshotting.
1932          (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
1933          queue_push_copy.
1934          * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
1935          (gomp_copy_host2dev): Add EPHEMERAL parameter.  Snapshot source
1936          data when true, and set up deferred freeing of temporary buffer.
1937          (gomp_copy_dev2host): Update call to goacc_device_copy_async.
1938          (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
1939          (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
1940          calls to gomp_copy_host2dev with appropriate ephemeral argument.
1941          * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
1942          XFAIL.
1943
19442021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1945              Tom de Vries  <tom@codesourcery.com>
1946
1947          * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
1948          * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
1949
19502021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1951
1952          * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
1953          sequencing of 'async' data copying vs. profiling events.
1954          * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1955          Likewise.
1956
19572021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1958              Julian Brown  <julian@codesourcery.com>
1959
1960          * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
1961          'async'/'wait' issue.
1962          * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
1963          * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
1964          * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
1965
19662021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
1967              Joseph Myers  <joseph@codesourcery.com>
1968              Cesar Philippidis  <cesar@codesourcery.com>
1969
1970          * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
1971          file.
1972          * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1973          Likewise.
1974          * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
1975          Likewise.
1976          * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1977
19782021-07-20  Thomas Schwinge  <thomas@codesourcery.com>
1979
1980          PR target/101484
1981          * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
1982          '-Wno-error=array-bounds'.
1983          * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
1984          * libgomp.h [__AMDGCN__]: Likewise.
1985
19862021-07-19  Thomas Schwinge  <thomas@codesourcery.com>
1987
1988          PR target/101484
1989          * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
1990          * libgomp.h [__AMDGCN__]: Likewise.
1991
19922021-07-13  Jakub Jelinek  <jakub@redhat.com>
1993              Florian Weimer  <fweimer@redhat.com>
1994
1995          * config/linux/sem.h: Don't include limits.h.
1996          (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
1997          * config/linux/affinity.c: Include limits.h.
1998
19992021-07-01  Jakub Jelinek  <jakub@redhat.com>
2000
2001          PR middle-end/94366
2002          * testsuite/libgomp.c-c++-common/pr94366.c: New test.
2003
20042021-06-29  Tobias Burnus  <tobias@codesourcery.com>
2005
2006          PR other/67300
2007          * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
2008          -foffload=nvptx-none= by -foffload-options=nvptx-none= to
2009          avoid disabling other offload targets.
2010          * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
2011          * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2012          * testsuite/libgomp.c/target-44.c: Likewise.
2013
20142021-06-29  Tobias Burnus  <tobias@codesourcery.com>
2015
2016          * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
2017          target has shared memory and disable some scalar pointer/allocatable
2018          checks if not as firstprivate does not work.
2019
20202021-06-25  Chung-Lin Tang  <cltang@codesourcery.com>
2021
2022          PR testsuite/101114
2023          * testsuite/libgomp.c-c++-common/struct-elem-5.c:
2024          Add "target offload_device_nonshared_as" condition for enabling test.
2025
20262021-06-24  Jakub Jelinek  <jakub@redhat.com>
2027
2028          * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
2029          * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
2030          * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
2031          * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
2032
20332021-06-23  Jakub Jelinek  <jakub@redhat.com>
2034
2035          PR middle-end/101167
2036          * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
2037
20382021-06-17  Chung-Lin Tang  <cltang@codesourcery.com>
2039
2040          * hashtab.h (htab_clear): New function with initialization code
2041          factored out from...
2042          (htab_create): ...here, adjust to use htab_clear function.
2043          * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
2044          special refcount values, add comments.
2045          (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
2046          (REFCOUNT_LINK): Likewise.
2047          (REFCOUNT_STRUCTELEM): New special refcount range for structure
2048          element siblings.
2049          (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
2050          sibling maps.
2051          (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
2052          (REFCOUNT_STRUCTELEM_FLAG_LAST):  Flag to indicate last sibling.
2053          (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
2054          (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
2055          (struct splay_tree_key_s): Add structelem_refcount and
2056          structelem_refcount_ptr fields into a union with dynamic_refcount.
2057          Add comments.
2058          (gomp_map_vars): Delete declaration.
2059          (gomp_map_vars_async): Likewise.
2060          (gomp_unmap_vars): Likewise.
2061          (gomp_unmap_vars_async): Likewise.
2062          (goacc_map_vars): New declaration.
2063          (goacc_unmap_vars): Likewise.
2064          * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
2065          (goacc_enter_datum): Likewise.
2066          (goacc_enter_data_internal): Likewise.
2067          * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
2068          and goacc_unmap_vars.
2069          (GOACC_data_start): Adjust to use goacc_map_vars.
2070          (GOACC_data_end): Adjust to use goacc_unmap_vars.
2071          * target.c (hash_entry_type): New typedef.
2072          (htab_alloc): New function hook for hashtab.h.
2073          (htab_free): Likewise.
2074          (htab_hash): Likewise.
2075          (htab_eq): Likewise.
2076          (hashtab.h): Add file include.
2077          (gomp_increment_refcount): New function.
2078          (gomp_decrement_refcount): Likewise.
2079          (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
2080          gomp_increment_refcount.
2081          (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
2082          to gomp_map_vars_existing.
2083          (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
2084          variable to guard OpenMP specific paths, adjust calls to
2085          gomp_map_vars_existing, add structure element sibling splay_tree_key
2086          sequence creation code, adjust Fortran map case to avoid increment
2087          under OpenMP.
2088          (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
2089          local refcount_set if caller passed in NULL, adjust call to
2090          gomp_map_vars_internal.
2091          (gomp_map_vars_async): Adjust and rename into...
2092          (goacc_map_vars): ...this new function, adjust call to
2093          gomp_map_vars_internal.
2094          (gomp_remove_splay_tree_key): New function with code factored out from
2095          gomp_remove_var_internal.
2096          (gomp_remove_var_internal): Add code to handle removing multiple
2097          splay_tree_key sequence for structure elements, adjust code to use
2098          gomp_remove_splay_tree_key for splay-tree key removal.
2099          (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
2100          gomp_decrement_refcount.
2101          (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
2102          local refcount_set if caller passed in NULL, adjust call to
2103          gomp_unmap_vars_internal.
2104          (gomp_unmap_vars_async): Adjust and rename into...
2105          (goacc_unmap_vars): ...this new function, adjust call to
2106          gomp_unmap_vars_internal.
2107          (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2108          gomp_unmap_vars.
2109          (GOMP_target_ext): Likewise.
2110          (gomp_target_data_fallback): Adjust call to gomp_map_vars.
2111          (GOMP_target_data): Likewise.
2112          (GOMP_target_data_ext): Likewise.
2113          (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2114          (gomp_exit_data): Add refcount_set parameter, adjust to use
2115          gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2116          after main loop.
2117          (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2118          gomp_map_vars and gomp_exit_data.
2119          (gomp_target_task_fn): Likewise.
2120          * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2121          * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2122          * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2123          * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2124          * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2125          * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2126
21272021-06-15  Tobias Burnus  <tobias@codesourcery.com>
2128
2129          PR fortran/92568
2130          * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2131
21322021-06-10  Andrew Stubbs  <ams@codesourcery.com>
2133              Thomas Schwinge  <thomas@codesourcery.com>
2134
2135          * libgomp.map (GOACC_2.0.2): New symbol version.
2136          * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2137          * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2138
21392021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
2140              Andrew Stubbs  <ams@codesourcery.com>
2141
2142          * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2143          extracted from...
2144          (GOACC_enter_exit_data): ... here.
2145          (GOACC_declare): Use it.
2146
21472021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
2148
2149          * oacc-parallel.c (GOACC_declare): Move...
2150          * oacc-mem.c: ... here.
2151          * libgomp_g.h: Adjust.
2152
21532021-06-10  Andrew Stubbs  <ams@codesourcery.com>
2154              Thomas Schwinge  <thomas@codesourcery.com>
2155
2156          * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2157          handling.
2158
21592021-06-10  Jakub Jelinek  <jakub@redhat.com>
2160
2161          PR tree-optimization/100981
2162          * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2163          dsdotr and dsdoti to 0.
2164
21652021-06-09  H.J. Lu  <hjl.tools@gmail.com>
2166
2167          * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2168          if atomic compare-and-swap is supported on 'int'.
2169
21702021-06-09  Richard Biener  <rguenther@suse.de>
2171
2172          PR tree-optimization/100981
2173          * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2174
21752021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2176
2177          * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2178          unconditionally.
2179          * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2180          Update.
2181          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2182          * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2183
21842021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2185
2186          * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2187          '-DACC_MEM_SHARED=0'.
2188          * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2189          * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2190          * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2191          * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2192          * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2193          * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2194          * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2195          * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2196          * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2197          * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2198          * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2199          * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2200          * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2201          * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2202          * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2203          'acc_device_radeon' testing.
2204          * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2205          * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2206          * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2207          * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2208          * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2209          * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2210          * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2211          * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2212          * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2213          * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2214          * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2215          for non-'openacc_nvidia_accel_selected'.
2216          * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2217          * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2218          all implement this checking".
2219          * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2220          * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2221          * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2222          * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2223          * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2224
22252021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2226
2227          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2228          * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2229
22302021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2231
2232          * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2233          for 'acc_device_radeon'.
2234
22352021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2236
2237          * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2238          for non-'acc_device_nvidia'.
2239
22402021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2241
2242          * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2243          'acc_device_radeon' testing.
2244          * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2245          * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2246          * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2247
22482021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2249
2250          * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2251          require 'openacc_nvidia_accel_selected'.  Fix up for
2252          'ACC_DEVICE_TYPE_radeon'.
2253
22542021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2255
2256          * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2257          'openacc_nvidia_accel_selected'.
2258          * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2259
22602021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2261
2262          * testsuite/lib/libgomp.exp
2263          (check_effective_target_openacc_radeon_accel_selected):
2264          Streamline.
2265
22662021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2267
2268          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2269          PR80547 workaround.
2270
22712021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2272
2273          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2274          <acc_device_nvidia>: Update comment.
2275
22762021-05-28  Tobias Burnus  <tobias@codesourcery.com>
2277
2278          * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2279
22802021-05-27  Jakub Jelinek  <jakub@redhat.com>
2281
2282          * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2283          check_effective_target_openacc_cublas,
2284          check_effective_target_openacc_cudart): New.
2285          * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2286          target openacc_cublas.
2287          * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2288          * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2289          * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2290          target openacc_cuda.
2291          * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2292          * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2293          * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2294          * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2295          * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2296          * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2297          * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2298          * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2299          * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2300          * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2301          * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2302          * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2303          * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2304          * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2305          * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2306          * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2307          * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2308          targets openacc_cublas and openacc_cudart.
2309          * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2310          * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2311          * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2312          * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2313          * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2314          Require effective target openacc_cudart.
2315          * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2316          for effective target openacc_cuda and add && defined USE_CUDA_H to
2317          preprocessor conditionals.  Guard -lcuda also on openacc_cuda
2318          effective target.
2319
23202021-05-26  Jakub Jelinek  <jakub@redhat.com>
2321
2322          PR libgomp/100573
2323          * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2324          GOMP_target_end_data, GOMP_target_update_ext,
2325          GOMP_target_enter_exit_data): New dummy entrypoints.
2326          * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2327          GOMP_target_end_data, GOMP_target_update_ext,
2328          GOMP_target_enter_exit_data): Likewise.
2329          * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2330          OMPFROM, OMPTO): Define.
2331          (main): Remove #pragma omp target teams around all the tests.
2332          * testsuite/libgomp.c-c++-common/target-41.c: New test.
2333          * testsuite/libgomp.c-c++-common/target-42.c: New test.
2334
23352021-05-25  Jakub Jelinek  <jakub@redhat.com>
2336
2337          PR middle-end/99928
2338          * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2339
23402021-05-24  Tobias Burnus  <tobias@codesourcery.com>
2341
2342          PR fortran/86470
2343          * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2344          * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2345          * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2346
23472021-05-22  Thomas Schwinge  <thomas@codesourcery.com>
2348
2349          PR testsuite/90115
2350          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2351          uninteresting/varying diagnostics.
2352
23532021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
2354
2355          PR middle-end/90115
2356          * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2357          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2358
23592021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
2360
2361          PR middle-end/90115
2362          * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2363          file.
2364          * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2365          * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2366          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2367          Likewise.
2368          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2369          Likewise.
2370          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2371          Likewise.
2372          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2373          Likewise.
2374          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2375          Likewise.
2376          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2377          Likewise.
2378          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2379          Likewise.
2380          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2381          Likewise.
2382          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2383          Likewise.
2384          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2385          Likewise.
2386          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2387          Likewise.
2388          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2389          Likewise.
2390          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2391          Likewise.
2392          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2393          Likewise.
2394          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2395          Likewise.
2396          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2397          Likewise.
2398          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2399          Likewise.
2400          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2401          Likewise.
2402          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2403          Likewise.
2404          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2405          Likewise.
2406          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2407          Likewise.
2408          * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2409          * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2410          * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2411          * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
2412          * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2413          * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2414          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2415          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2416          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2417          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2418          * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2419          * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2420          * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2421          * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2422          * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2423          Likewise.
2424          * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
2425          Likewise.
2426          * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
2427          Likewise.
2428          * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2429          Likewise.
2430          * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
2431          * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2432          Likewise.
2433          * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2434          * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2435          * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2436          * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2437          * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2438          * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2439          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2440          Likewise.
2441          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2442          Likewise.
2443          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2444          Likewise.
2445          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2446          Likewise.
2447          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2448          Likewise.
2449          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2450          Likewise.
2451          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2452          Likewise.
2453          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2454          Likewise.
2455          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2456          Likewise.
2457          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2458          Likewise.
2459          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2460          Likewise.
2461          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2462          Likewise.
2463          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2464          Likewise.
2465          * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2466          * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2467          * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2468          Likewise.
2469          * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2470          Likewise.
2471          * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2472          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2473          * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2474
24752021-05-21  Julian Brown  <julian@codesourcery.com>
2476              Chung-Lin Tang  <cltang@codesourcery.com>
2477              Thomas Schwinge  <thomas@codesourcery.com>
2478
2479          PR middle-end/90115
2480          * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
2481          test.
2482          * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2483          Likewise.
2484          * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2485          Likewise.
2486
24872021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
2488
2489          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
2490          for nvptx offloading.
2491
24922021-05-21  Tobias Burnus  <tobias@codesourcery.com>
2493
2494          * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
2495
24962021-05-19  Thomas Schwinge  <thomas@codesourcery.com>
2497
2498          PR target/83812
2499          * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
2500
25012021-05-19  Julian Brown  <julian@codesourcery.com>
2502
2503          * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
2504
25052021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
2506
2507          * testsuite/lib/libgomp.exp
2508          (check_effective_target_offload_target_nvptx): Don't shadow global
2509          'offload_targets' variable.
2510
25112021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
2512
2513          * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
2514          '-latomic' to nvptx offloading compilation.
2515          * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2516
25172021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
2518
2519          * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
2520          offloading compilation.
2521
25222021-05-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
2523
2524          * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
2525          if new tasks generated.
2526          * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
2527
25282021-05-14  Tobias Burnus  <tobias@codesourcery.com>
2529
2530          * testsuite/libgomp.fortran/parallel-master.f90: New test.
2531
25322021-05-13  Martin Liska  <mliska@suse.cz>
2533
2534          PR testsuite/100569
2535          * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
2536          * testsuite/libgomp.c/pr46032-2.c: Likewise.
2537          * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
2538          * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
2539
25402021-05-12  Tobias Burnus  <tobias@codesourcery.com>
2541
2542          * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
2543          * testsuite/libgomp.fortran/task-detach-12.f90: New test.
2544
25452021-05-11  Jakub Jelinek  <jakub@redhat.com>
2546
2547          PR middle-end/100471
2548          * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
2549          GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
2550          reduction pointer.
2551          * testsuite/libgomp.c/task-reduction-4.c: New test.
2552
25532021-05-07  Tobias Burnus  <tobias@codesourcery.com>
2554              Tom de Vries  <tdevries@suse.de>
2555
2556          * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
2557          complex/floating-point || + && reduction with 'omp target'.
2558          * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2559
25602021-05-04  Tobias Burnus  <tobias@codesourcery.com>
2561
2562          * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
2563          * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
2564          * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
2565          * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
2566
25672021-05-04  Tobias Burnus  <tobias@codesourcery.com>
2568
2569          PR testsuite/100397
2570          * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
2571          declaration to scope of non-'depend'-guarded assignment to avoid races.
2572
25732021-05-03  Tom de Vries  <tdevries@suse.de>
2574
2575          PR target/100321
2576          * testsuite/libgomp.c/target-44.c: New test.
2577
25782021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
2579
2580          * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
2581
25822021-04-29  Tom de Vries  <tdevries@suse.de>
2583
2584          * testsuite/libgomp.c/pr81778.c: New test.
2585
25862021-04-29  Tom de Vries  <tdevries@suse.de>
2587
2588          PR target/100232
2589          * testsuite/libgomp.c/target-43.c: New file.
2590
25912021-04-28  Jakub Jelinek  <jakub@redhat.com>
2592              Tobias Burnus  <tobias@codesourcery.com>
2593
2594          * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
2595          * target.c (gomp_load_plugin_for_device): If set and if a plugin
2596          can't be dlopened, silently assume it has no devices.
2597          * Makefile.in: Regenerate.
2598          * config.h.in: Regenerate.
2599          * configure: Regenerate.
2600
26012021-04-26  Tobias Burnus  <tobias@codesourcery.com>
2602
2603          * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2604          Use [Ww]arning in dg-bogus as FE diagnostic and default
2605          diagnostic differ and the result depends on ENABLE_OFFLOAD.
2606          * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2607          * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2608          * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2609
26102021-04-26  Tobias Burnus  <tobias@codesourcery.com>
2611
2612          * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2613          Correct spelling in dg-bogus to match -Wopenacc-parallelism.
2614          * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2615          * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2616          * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2617
26182021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
2619              Nathan Sidwell  <nathan@codesourcery.com>
2620              Tom de Vries  <vries@codesourcery.com>
2621              Julian Brown  <julian@codesourcery.com>
2622              Kwok Cheung Yeung  <kcy@codesourcery.com>
2623
2624          * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
2625          '-Wopenacc-parallelism', and match diagnostics, as appropriate.
2626          * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2627          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2628          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2629          * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2630          * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
2631          Likewise.
2632          * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2633          * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2634          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2635          * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2636          Likewise.
2637          * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2638          * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2639          Likewise.
2640          * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2641          * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2642          * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2643          * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2644          * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2645          * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2646          Likewise.
2647          * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2648          * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2649          * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2650          * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2651          * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2652          * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2653          * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2654          * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2655          * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2656          * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2657          * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2658
26592021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
2660
2661          * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
2662          compile with '-w'.
2663          * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2664          * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2665          Likewise.
2666          * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2667          * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
2668          * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2669          * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2670          * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2671          * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2672          * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2673
26742021-04-22  Richard Biener  <rguenther@suse.de>
2675
2676          * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
2677          only on nvptx-none.
2678
26792021-04-21  Tobias Burnus  <tobias@codesourcery.com>
2680
2681          * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
2682          omp_depend_kind instead of defining it as 16.
2683
26842021-04-21  Tobias Burnus  <tobias@codesourcery.com>
2685
2686          * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2687          New, based on check_effective_target_offload_target_nvptx.
2688          (check_effective_target_offload_target_nvptx): Call it.
2689          (check_effective_target_offload_target_amdgcn): New.
2690          * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
2691          Require target offload_target_nvptx || offload_target_amdgcn.
2692          * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
2693          * testsuite/libgomp.c/pr86416-1.c: Likewise.
2694          * testsuite/libgomp.c/pr86416-2.c: Likewise.
2695
26962021-04-21  Tobias Burnus  <tobias@codesourcery.com>
2697
2698          * testsuite/libgomp.fortran/depobj-1.f90: New test.
2699
27002021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
2701
2702          * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2703          '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
2704          * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2705          Likewise.
2706          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2707          Likewise.
2708          * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2709
27102021-04-15  Thomas Schwinge  <thomas@codesourcery.com>
2711
2712          PR target/99555
2713          * testsuite/lib/libgomp.exp
2714          (check_effective_target_offload_device_nvptx): New.
2715          * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
2716          resolved, make sure that we exit quickly, with error status,
2717          XFAILed.
2718          * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
2719          * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2720
27212021-04-14  Jakub Jelinek  <jakub@redhat.com>
2722
2723          PR testsuite/100071
2724          * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
2725          cp = omp_alloc with cp, p arguments instead of cq, q and call
2726          c_f_pointer after last cq = omp_alloc with cq, q.
2727
27282021-04-11  Hafiz Abid Qadeer  <abidh@codesourcery.com>
2729
2730          PR middle-end/98088
2731          * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
2732          for loop with GT/GE condition.
2733          * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
2734
27352021-04-09  Thomas Schwinge  <thomas@codesourcery.com>
2736
2737          PR middle-end/84991
2738          PR middle-end/84992
2739          PR middle-end/90779
2740          * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
2741
27422021-04-09  Jakub Jelinek  <jakub@redhat.com>
2743
2744          PR libgomp/99984
2745          * team.c (gomp_thread_start): Call pthread_setspecific for
2746          !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
2747          has been initialized to avoid false positive warning.
2748
27492021-03-29  Tobias Burnus  <tobias@codesourcery.com>
2750
2751          PR target/99555
2752          * testsuite/lib/on_device_arch.c: Move to ...
2753          * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
2754          * testsuite/libgomp.fortran/on_device_arch.c: New file;
2755          #include on_device_arch.h.
2756          * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
2757          on_device_arch.h instead of using dg-additional-source.
2758          * testsuite/libgomp.c/pr99555-1.c: Likewise.
2759          * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
2760          on_device_arch.c without relative paths.
2761
27622021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
2763
2764          * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
2765          the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
2766          * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
2767          * config.h.in: Regenerate.
2768          * configure: Likewise.
2769
27702021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
2771
2772          PR target/99555
2773          * testsuite/lib/on_device_arch.c: New file.
2774          * testsuite/libgomp.c/pr99555-1.c: Likewise.
2775          * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
2776          skip for nvptx offloading, with error status.
2777          * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2778
27792021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
2780
2781          * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
2782          OpenACC 'serial' construct diagnostic for nvptx offloading.
2783
27842021-03-15  Tobias Burnus  <tobias@codesourcery.com>
2785
2786          PR c++/99509
2787          * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
2788
27892021-03-12  Tobias Burnus  <tobias@codesourcery.com>
2790
2791          PR fortran/98858
2792          * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
2793
27942021-03-04  Jakub Jelinek  <jakub@redhat.com>
2795
2796          * configure.ac: Add AC_CHECK_SIZEOF([void *]).
2797          * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
2798          checking of -m32 or -mx32 options on the command line.
2799          * config.h.in: Regenerated.
2800          * configure: Regenerated.
2801
28022021-02-27  Iain Sandoe  <iain@sandoe.co.uk>
2803
2804          * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
2805          support from the target.
2806
28072021-02-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
2808              Jakub Jelinek  <jakub@redhat.com>
2809
2810          PR libgomp/98738
2811          * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
2812          (struct gomp_task): Replace detach and completion_sem fields with
2813          union containing completion_sem and detach_team.  Add deferred_p
2814          field.
2815          (struct gomp_team): Remove task_detach_queue.
2816          * task.c: Include assert.h.
2817          (gomp_init_task): Initialize deferred_p and completion_sem fields.
2818          Rearrange initialization order of fields.
2819          (task_fulfilled_p): Delete.
2820          (GOMP_task): Use address of task as the event handle.  Remove
2821          initialization of detach field.  Initialize deferred_p field.
2822          Use automatic local for completion_sem.  Initialize detach_team field
2823          for deferred tasks.
2824          (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
2825          Set kind of suspended detach task to GOMP_TASK_DETACHED and
2826          decrement task_running_count.  Move finish_cancelled block out of
2827          else branch.  Relocate call to gomp_team_barrier_done.
2828          (GOMP_taskwait): Handle tasks with completion events that have not
2829          been fulfilled.
2830          (GOMP_taskgroup_end): Likewise.
2831          (omp_fulfill_event): Use address of task as event handle.  Post to
2832          completion_sem for undeferred tasks.  Clear detach_team if task
2833          has not finished.  For finished tasks, handle post-execution tasks,
2834          call gomp_team_barrier_wake if necessary, and free task.
2835          * team.c (gomp_new_team): Remove initialization of task_detach_queue.
2836          (free_team): Remove free of task_detach_queue.
2837          * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
2838          * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
2839          * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
2840          * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
2841          * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
2842          Change data-sharing of detach events on enclosing parallel to private.
2843          * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.  Remove
2844          taskwait directive.
2845          * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
2846          * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
2847          * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
2848          * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
2849          * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
2850          * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
2851          * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
2852          * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
2853          * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
2854          * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
2855          Change data-sharing of detach events on enclosing parallel to private.
2856          * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.  Remove
2857          taskwait directive.
2858          * testsuite/libgomp.fortran/task-detach-7.f90: New.
2859          * testsuite/libgomp.fortran/task-detach-8.f90: New.
2860          * testsuite/libgomp.fortran/task-detach-9.f90: New.
2861          * testsuite/libgomp.fortran/task-detach-10.f90: New.
2862          * testsuite/libgomp.fortran/task-detach-11.f90: New.
2863
28642021-02-22  Tobias Burnus  <tobias@codesourcery.com>
2865
2866          PR fortran/99171
2867          * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
2868
28692021-02-17  Julian Brown  <julian@codesourcery.com>
2870
2871          * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
2872          expected errors.
2873
28742021-02-17  Julian Brown  <julian@codesourcery.com>
2875
2876          * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
2877          * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
2878
28792021-02-11  Uroš Bizjak  <ubizjak@gmail.com>
2880
2881          * config/linux/x86/futex.h (__futex_wait):
2882          Revert output type back to long.
2883          (__futex_wake): Ditto.
2884          (futex_wait): Update for revert.
2885          (futex_wake): Ditto.
2886
28872021-02-11  Uroš Bizjak  <ubizjak@gmail.com>
2888
2889          * config/linux/x86/futex.h (__futex_wait): New static inline
2890          wrapper function.  Correct output type to int and
2891          timeout type to void *.
2892          (__futex_wake): New static inline wrapper function.
2893          Correct output type to int.
2894          (futex_wait): Use __futex_wait.
2895          (futex_wake): Use __futex_wake.
2896
28972021-02-10  Julian Brown  <julian@codesourcery.com>
2898
2899          PR fortran/98979
2900          * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
2901          errors.
2902
29032021-02-04  Julian Brown  <julian@codesourcery.com>
2904
2905          * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
2906
29072021-02-03  Andrew Stubbs  <ams@codesourcery.com>
2908
2909          * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2910          EF_AMDGPU_MACH_AMDGCN_GFX908.
2911          (gcn_gfx908_s): New constant string.
2912          (isa_hsa_name): Add gfx908.
2913          (isa_code): Add gfx908.
2914
29152021-01-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
2916
2917          * libgomp.texi (omp_fulfill_event): New entry.
2918
29192021-01-20  Jakub Jelinek  <jakub@redhat.com>
2920
2921          * task.c (GOMP_task): Rename priority argument to priority_arg,
2922          add priority automatic variable and modify that variable.  Instead of
2923          clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
2924          check flags for that bit.
2925
29262021-01-19  Tobias Burnus  <tobias@codesourcery.com>
2927
2928          PR fortran/98476
2929          * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
2930
29312021-01-18  Andreas Schwab  <schwab@suse.de>
2932
2933          * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
2934
29352021-01-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2936
2937          * config/rtems/sem.h (gomp_sem_getcount): New function.
2938
29392021-01-18  Jakub Jelinek  <jakub@redhat.com>
2940
2941          * config/linux/sem.h (gomp_sem_getcount): New function.
2942          * config/posix/sem.h (gomp_sem_getcount): New function.
2943          * config/posix/sem.c (gomp_sem_getcount): New function.
2944          * config/accel/sem.h (gomp_sem_getcount): New function.
2945          * task.c (task_fulfilled_p): Use gomp_sem_getcount.
2946          (omp_fulfill_event): Likewise.
2947
29482021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
2949
2950          * fortran.c (omp_fulfill_event_): New.
2951          * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
2952          (struct gomp_team): Add task_detach_queue and task_detach_count
2953          fields.
2954          * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
2955          * libgomp_g.h (GOMP_task): Add extra argument.
2956          * omp.h.in (enum omp_event_handle_t): New.
2957          (omp_fulfill_event): New.
2958          * omp_lib.f90.in (omp_event_handle_kind): New.
2959          (omp_fulfill_event): New.
2960          * omp_lib.h.in (omp_event_handle_kind): New.
2961          (omp_fulfill_event): Declare.
2962          * priority_queue.c (priority_tree_find): New.
2963          (priority_list_find): New.
2964          (priority_queue_find): New.
2965          * priority_queue.h (priority_queue_predicate): New.
2966          (priority_queue_find): New.
2967          * task.c (gomp_init_task): Initialize detach field.
2968          (task_fulfilled_p): New.
2969          (GOMP_task): Add detach argument.  Ignore detach argument if
2970          GOMP_TASK_FLAG_DETACH not set in flags.  Initialize completion_sem
2971          field.    Copy address of completion_sem into detach argument and
2972          into the start of the data record.  Wait for detach event if task
2973          not deferred.
2974          (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
2975          Remove completed tasks and requeue dependent tasks.
2976          (omp_fulfill_event): New.
2977          * team.c (gomp_new_team): Initialize task_detach_queue and
2978          task_detach_count fields.
2979          (free_team): Free task_detach_queue field.
2980          * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
2981          * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
2982          * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
2983          * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
2984          * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
2985          * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
2986          * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
2987          * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
2988          * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
2989          * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
2990          * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
2991          * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
2992
29932021-01-15  Jakub Jelinek  <jakub@redhat.com>
2994
2995          PR target/70454
2996          * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
2997          be added through preprocessor check on
2998          __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
2999
30002021-01-14  Thomas Schwinge  <thomas@codesourcery.com>
3001
3002          PR libgomp/65099
3003          * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
3004          configurations.
3005          * configure: Regenerate.
3006          * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
3007          check.
3008
30092021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
3010
3011          * configure: Re-generate.
3012
30132021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
3014
3015          * configure: Re-generate.
3016
30172021-01-05  Julian Brown  <julian@codesourcery.com>
3018
3019          * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
3020          (struct ptx_device): Add omp_stacks struct.
3021          (nvptx_open_device): Initialise cached-stacks housekeeping info.
3022          (nvptx_close_device): Free cached stacks block and mutex.
3023          (nvptx_stacks_free): New function.
3024          (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
3025          (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
3026          (nvptx_stacks_alloc): Rename to...
3027          (nvptx_stacks_acquire): This.  Cache stacks block between runs if same
3028          size or smaller is required.
3029          (nvptx_stacks_free): Remove.
3030          (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
3031          during kernel execution.
3032
30332021-01-01  Jakub Jelinek  <jakub@redhat.com>
3034
3035          * libgomp.texi: Bump @copying's copyright year.
3036
30372020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
3038
3039          * libgomp.texi (Top): Avoid bad "up" link.
3040
30412020-12-18  Jakub Jelinek  <jakub@redhat.com>
3042
3043          * testsuite/libgomp.c/task-6.c: New test.
3044
30452020-12-09  Andrew Stubbs  <ams@codesourcery.com>
3046
3047          * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
3048          (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
3049
30502020-12-08  Tobias Burnus  <tobias@codesourcery.com>
3051
3052          * testsuite/libgomp.fortran/scan-1.f90: New test.
3053
30542020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
3055
3056          PR target/97865
3057          * configure: Regenerate.
3058
30592020-11-29  John David Anglin  <danglin@gcc.gnu.org>
3060
3061          * configure: Regenerate.
3062
30632020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
3064
3065          * testsuite/libgomp.oacc-c++/cache-1.C: New.
3066          * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
3067
30682020-11-25  Andrew Stubbs  <ams@codesourcery.com>
3069
3070          * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
3071          expected results.
3072
30732020-11-24  Andrew Stubbs  <ams@codesourcery.com>
3074
3075          * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
3076          (reserved): Delete unused define.
3077
30782020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
3079
3080          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
3081          Tcl 8.5-specific behavior.
3082          * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3083
30842020-11-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
3085
3086          * env.c (gomp_global_icv): Remove nest_var field.  Add
3087          max_active_levels_var field.
3088          (gomp_max_active_levels_var): Remove.
3089          (parse_boolean): Return true on success.
3090          (handle_omp_display_env): Express OMP_NESTED in terms of
3091          max_active_levels_var.  Change format specifier for
3092          max_active_levels_var.
3093          (initialize_env): Set max_active_levels_var from
3094          OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
3095          OMP_PROC_BIND.
3096          * icv.c (omp_set_nested): Express in terms of
3097          max_active_levels_var.
3098          (omp_get_nested): Likewise.
3099          (omp_set_max_active_levels): Use max_active_levels_var field instead
3100          of gomp_max_active_levels_var.
3101          (omp_get_max_active_levels): Likewise.
3102          * libgomp.h (struct gomp_task_icv): Remove nest_var field.  Add
3103          max_active_levels_var field.
3104          (gomp_supported_active_levels): Set to UCHAR_MAX.
3105          (gomp_max_active_levels_var): Delete.
3106          * libgomp.texi (omp_get_nested): Update documentation.
3107          (omp_set_nested): Likewise.
3108          (OMP_MAX_ACTIVE_LEVELS): Likewise.
3109          (OMP_NESTED): Likewise.
3110          (OMP_NUM_THREADS): Likewise.
3111          (OMP_PROC_BIND): Likewise.
3112          * parallel.c (gomp_resolve_num_threads): Replace reference
3113          to nest_var with max_active_levels_var.  Use max_active_levels_var
3114          field instead of gomp_max_active_levels_var.
3115
31162020-11-18  Tobias Burnus  <tobias@codesourcery.com>
3117
3118          * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3119          nvptx_usleep; use also for device={arch(gcn)}.
3120
31212020-11-14  Jakub Jelinek  <jakub@redhat.com>
3122
3123          * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3124          (foo): Add tests for non-VLA private and firstprivate clauses on
3125          omp task.
3126          (bar): Likewise.  Remove taking of address from private/firstprivate
3127          variables.
3128          * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3129          (foo): Add p, q, px and s arguments.  Add tests for array reductions
3130          and for non-VLA private and firstprivate clauses on omp task.
3131          (bar): Removed.
3132          (main): Adjust foo caller.  Don't call bar.
3133
31342020-11-13  Gergö Barany  <gergo@codesourcery.com>
3135              Thomas Schwinge  <thomas@codesourcery.com>
3136
3137          * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3138          New.
3139          * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3140          Likewise.
3141          * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3142          Likewise.
3143          * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3144          * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3145
31462020-11-13  Gergö Barany  <gergo@codesourcery.com>
3147              Thomas Schwinge  <thomas@codesourcery.com>
3148
3149          PR fortran/94358
3150          * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3151
31522020-11-13  Jakub Jelinek  <jakub@redhat.com>
3153
3154          * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3155          for array reductions.
3156          (main): Adjust foo callers.
3157
31582020-11-12  Jakub Jelinek  <jakub@redhat.com>
3159
3160          * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3161          * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3162          * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3163          * allocator.c (omp_aligned_alloc): New for now static function,
3164          add alignment argument and handle it.
3165          (omp_alloc): Reimplement using omp_aligned_alloc.
3166          (GOMP_alloc, GOMP_free): New functions.
3167          (omp_free): Add ialias.
3168          * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3169          * testsuite/libgomp.c++/allocate-1.C: New test.
3170
31712020-11-12  Thomas Schwinge  <thomas@codesourcery.com>
3172
3173          PR fortran/97782
3174          * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3175
31762020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
3177
3178          * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3179          usable.
3180          * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3181          'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3182          (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3183          (goacc_enter_data_internal): Likewise.
3184          * target.c (gomp_map_vars_internal):
3185          Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3186          of gomp_attach_pointer for OpenMP cases.
3187          (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3188          (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3189          * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3190
31912020-11-05  Ulrich Drepper  <drepper@redhat.com>
3192              Kwok Cheung Yeung  <kcy@codesourcery.com>
3193
3194          * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3195          * Makefile.in: Regenerate.
3196          * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3197          pragmas to ignore -Wdeprecated-declarations warnings.
3198          * icv.c: Likewise.
3199          * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3200          Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3201          and omp_get_nested with __GOMP_DEPRECATED_5_0.
3202          * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3203          deprecated.
3204          * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3205          to test options.
3206          * testsuite/libgomp.c/affinity-1.c: Likewise.
3207          * testsuite/libgomp.c/affinity-2.c: Likewise.
3208          * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3209          * testsuite/libgomp.c/lib-1.c: Likewise.
3210          * testsuite/libgomp.c/nested-1.c: Likewise.
3211          * testsuite/libgomp.c/nested-2.c: Likewise.
3212          * testsuite/libgomp.c/nested-3.c: Likewise.
3213          * testsuite/libgomp.c/pr32362-1.c: Likewise.
3214          * testsuite/libgomp.c/pr32362-2.c: Likewise.
3215          * testsuite/libgomp.c/pr32362-3.c: Likewise.
3216          * testsuite/libgomp.c/pr35549.c: Likewise.
3217          * testsuite/libgomp.c/pr42942.c: Likewise.
3218          * testsuite/libgomp.c/pr61200.c: Likewise.
3219          * testsuite/libgomp.c/sort-1.c: Likewise.
3220          * testsuite/libgomp.c/target-5.c: Likewise.
3221          * testsuite/libgomp.c/target-6.c: Likewise.
3222          * testsuite/libgomp.c/teams-1.c: Likewise.
3223          * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3224          * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3225          * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3226          * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3227          * testsuite/libgomp.fortran/lib1.f90: Likewise.
3228          * testsuite/libgomp.fortran/lib2.f: Likewise.
3229          * testsuite/libgomp.fortran/nested1.f90: Likewise.
3230          * testsuite/libgomp.fortran/teams1.f90: Likewise.
3231
32322020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
3233
3234          PR target/85486
3235          * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3236          * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3237          * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3238
32392020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
3240
3241          PR testsuite/80219
3242          PR testsuite/85303
3243          * testsuite/lib/libgomp.exp (libgomp_init): Set
3244          'gcc_warning_prefix', 'gcc_error_prefix'.
3245
32462020-10-30  Jakub Jelinek  <jakub@redhat.com>
3247
3248          * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3249          even in field_tgt_clear initializer.
3250
32512020-10-28  Jakub Jelinek  <jakub@redhat.com>
3252
3253          * testsuite/libgomp.c/target-42.c: New test.
3254
32552020-10-28  Jakub Jelinek  <jakub@redhat.com>
3256              Tom de Vries  <tdevries@suse.de>
3257
3258          PR testsuite/81690
3259          * testsuite/libgomp.c/usleep.h: New file.
3260          * testsuite/libgomp.c/target-32.c: Include usleep.h.
3261          (main): Use tgt_usleep instead of usleep.
3262          * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3263          (main): Use tgt_usleep instead of usleep.
3264
32652020-10-28  Jakub Jelinek  <jakub@redhat.com>
3266
3267          PR lto/96680
3268          * testsuite/libgomp.c/declare-variant-1.c: New test.
3269
32702020-10-22  Jakub Jelinek  <jakub@redhat.com>
3271
3272          * testsuite/libgomp.c/target-41.c: New test.
3273
32742020-10-22  Jakub Jelinek  <jakub@redhat.com>
3275
3276          * icv.c (omp_get_initial_device): Remove including corresponding
3277          ialias.
3278          * icv-device.c (omp_get_initial_device): New function.  Return
3279          gomp_get_num_devices ().  Add ialias.
3280          * target.c (resolve_device): Don't fail with
3281          OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3282          gomp_get_num_devices ().
3283          (omp_target_alloc, omp_target_free, omp_target_is_present,
3284          omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3285          omp_target_disassociate_ptr, omp_pause_resource): Use
3286          gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3287          first use in the functions, in uses dominated by the
3288          gomp_get_num_devices call use num_devices_openmp instead.
3289          * libgomp.texi (omp_get_initial_device): Document.
3290          * config/gcn/icv-device.c (omp_get_initial_device): New function.
3291          Add ialias.
3292          * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3293          * testsuite/libgomp.c/target-40.c: New test.
3294
32952020-10-21  Jakub Jelinek  <jakub@redhat.com>
3296
3297          * env.c (parse_target_offload): Change new_offload var type to int,
3298          preinitialize to -1, remove found var and test new_offload != -1
3299          instead of found.
3300
33012020-10-20  Jakub Jelinek  <jakub@redhat.com>
3302
3303          * target.c (gomp_target_init): Inside of the function, use automatic
3304          variables corresponding to num_devices, num_devices_openmp and devices
3305          global variables and update the globals only at the end of the
3306          function.
3307
33082020-10-20  Kwok Cheung Yeung  <kcy@codesourcery.com>
3309
3310          * env.c (gomp_target_offload_var): New.
3311          (parse_target_offload): New.
3312          (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3313          (initialize_env): Parse OMP_TARGET_OFFLOAD.
3314          * libgomp.h (gomp_target_offload_t): New.
3315          (gomp_target_offload_var): New.
3316          * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3317          * target.c (resolve_device): Generate error if device not found and
3318          offloading is mandatory.
3319          (gomp_target_fallback): Generate error if offloading is mandatory.
3320          (GOMP_target): Add argument in call to gomp_target_fallback.
3321          (GOMP_target_ext): Likewise.
3322          (gomp_target_data_fallback): Generate error if offloading is mandatory.
3323          (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3324          (GOMP_target_data_ext): Likewise.
3325          (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3326          (gomp_target_init): Return early if offloading is disabled.
3327
33282020-10-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
3329
3330          * libgomp.texi (omp_get_max_active_levels): Modify description.
3331          (omp_get_supported_active_levels): Make descriptions consistent.
3332
33332020-10-14  Jakub Jelinek  <jakub@redhat.com>
3334
3335          * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3336
33372020-10-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
3338
3339          * env.c (gomp_max_active_levels_var): Initialize to
3340          gomp_supported_active_levels.
3341          (initialize_env): Limit gomp_max_active_levels_var to be at most
3342          equal to gomp_supported_active_levels.
3343          * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3344          (omp_get_supported_active_levels_): New.
3345          * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3346          to at most equal to gomp_supported_active_levels.
3347          (omp_get_supported_active_levels): New.
3348          * libgomp.h (gomp_supported_active_levels): New.
3349          * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3350          omp_get_supported_active_levels_.
3351          * libgomp.texi (omp_get_supported_active_levels): New.
3352          (omp_set_max_active_levels): Update.  Add reference to
3353          omp_get_supported_active_levels.
3354          * omp.h.in (omp_get_supported_active_levels): New.
3355          * omp_lib.f90.in (omp_get_supported_active_levels): New.
3356          * omp_lib.h.in (omp_get_supported_active_levels): New.
3357          * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3358          against omp_get_supported_active_levels.
3359          * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3360
33612020-10-11  Clement Chigot  <clement.chigot@atos.net>
3362
3363          * config/t-aix: Delete and recreate libgomp before creating
3364          FAT library.
3365
33662020-10-08  Tom de Vries  <tdevries@suse.de>
3367
3368          PR libgomp/81802
3369          * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3370          dimensions.
3371
33722020-10-06  Tom de Vries  <tdevries@suse.de>
3373
3374          * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3375
33762020-10-06  Tom de Vries  <tdevries@suse.de>
3377
3378          PR middle-end/90861
3379          * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3380
33812020-10-05  Tom de Vries  <tdevries@suse.de>
3382
3383          PR fortran/95654
3384          * testsuite/libgomp.fortran/pr95654.f90: New test.
3385
33862020-10-02  Tobias Burnus  <tobias@codesourcery.com>
3387
3388          * Makefile.in: Regenerate with automake 1.15.1.
3389          * aclocal.m4: Likewise.
3390          * configure: Likewise.
3391          * testsuite/Makefile.in: Likewise.
3392
33932020-09-30  Andrew Stubbs  <ams@codesourcery.com>
3394
3395          * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3396          and amdgcn targets.
3397
33982020-09-30  Tobias Burnus  <tobias@codesourcery.com>
3399
3400          * testsuite/libgomp.fortran/declare-target-3.f90: New test.
3401
34022020-09-29  Andrew Stubbs  <ams@codesourcery.com>
3403
3404          * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
3405          total number of threads is one.
3406          (gomp_team_barrier_wake): Likewise.
3407          (gomp_team_barrier_wait_end): Likewise.
3408          (gomp_team_barrier_wait_cancel_end): Likewise.
3409          * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
3410          (gomp_team_barrier_wake): Likewise.
3411          (gomp_team_barrier_wait_end): Likewise.
3412          (gomp_team_barrier_wait_cancel_end): Likewise.
3413          * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
3414
34152020-09-28  Tobias Burnus  <tobias@codesourcery.com>
3416
3417          PR middle-end/96390
3418          * testsuite/libgomp.c++/pr96390.C: New test.
3419          * testsuite/libgomp.c-c++-common/pr96390.c: New test.
3420
34212020-09-27  Clement Chigot  <clement.chigot@atos.net>
3422
3423          * config/t-aix: Use $(AR) without -X32_64.
3424
34252020-09-25  Jakub Jelinek  <jakub@redhat.com>
3426
3427          * testsuite/libgomp.c/loop-25.c: New test.
3428
34292020-09-22  Tobias Burnus  <tobias@codesourcery.com>
3430
3431          PR fortran/95654
3432          * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
3433
34342020-09-22  Tom de Vries  <tdevries@suse.de>
3435
3436          * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
3437          fails.
3438
34392020-09-16  Nathan Sidwell  <nathan@acm.org>
3440
3441          * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
3442
34432020-09-15  Tobias Burnus  <tobias@codesourcery.com>
3444
3445          PR fortran/96668
3446          * target.c (gomp_map_vars_internal): Initialize has_nullptr.
3447
34482020-09-15  Tobias Burnus  <tobias@codesourcery.com>
3449
3450          PR fortran/96668
3451          * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
3452          * target.c (gomp_map_vars_existing): Add always_to_flag flag.
3453          (gomp_map_vars_existing): Update call to it.
3454          (gomp_map_fields_existing): Likewise
3455          (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
3456          now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
3457          remapped.
3458          (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
3459          GOMP_MAP_POINTER.
3460          * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
3461          * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
3462
34632020-09-14  Tom de Vries  <tdevries@suse.de>
3464
3465          * config/nvptx/atomic.c: New file.  Add
3466          __sync_val_compare_and_swap_16.
3467          * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
3468          target offload_target_nvptx.
3469
34702020-09-08  Julian Brown  <julian@codesourcery.com>
3471
3472          * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
3473          iteration-ordering assumptions.
3474
34752020-09-08  Julian Brown  <julian@codesourcery.com>
3476
3477          * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
3478          * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3479
34802020-08-20  Chung-Lin Tang  <cltang@codesourcery.com>
3481
3482          * plugin/plugin-nvptx.c (nvptx_free):
3483          Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
3484          CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
3485          comments.
3486
34872020-08-20  Tobias Burnus  <tobias@codesourcery.com>
3488
3489          * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
3490
34912020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
3492
3493          * testsuite/libgomp.c-c++-common/reduction-16.c: New.
3494
34952020-08-13  Jakub Jelinek  <jakub@redhat.com>
3496
3497          * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
3498          * testsuite/libgomp.c/loop-23.c (main): Likewise.
3499          * testsuite/libgomp.c/loop-24.c: New test.
3500
35012020-08-08  Jakub Jelinek  <jakub@redhat.com>
3502              Tobias Burnus  <tobias@codesourcery.com>
3503
3504          PR fortran/93553
3505          * testsuite/libgomp.fortran/pr93553.f90: New test.
3506
35072020-08-05  Jakub Jelinek  <jakub@redhat.com>
3508
3509          * testsuite/libgomp.c/loop-22.c: New test.
3510          * testsuite/libgomp.c/loop-23.c: New test.
3511
35122020-08-05  Jakub Jelinek  <jakub@redhat.com>
3513
3514          PR middle-end/96459
3515          * testsuite/libgomp.c/teams-3.c: New test.
3516          * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
3517          if not defined yet.
3518          (N(test)): Use it before all N(f*) calls.
3519          * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
3520          (main): Don't call all test_* functions from within
3521          #pragma omp teams reduction(|:err), call them directly.
3522
35232020-08-04  Tom de Vries  <tdevries@suse.de>
3524
3525          PR target/96428
3526          * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
3527          * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
3528
35292020-08-03  Julian Brown  <julian@codesourcery.com>
3530              Thomas Schwinge  <thomas@codesourcery.com>
3531
3532          * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
3533          shared-memory devices.  Extend with further checking.
3534
35352020-08-03  Martin Jambor  <mjambor@suse.cz>
3536
3537          * plugin/Makefrag.am: Remove configuration of HSA plugin.
3538          * aclocal.m4: Regenerated.
3539          * Makefile.in: Regenerated.
3540          * config.h.in: Regenerated.
3541          * configure: Regenerated.
3542          * plugin/configfrag.ac: Likewise.
3543          * plugin/hsa_ext_finalize.h: Removed.
3544          * plugin/plugin-hsa.c: Likewise.
3545          * testsuite/Makefile.in: Regenerated.
3546          * testsuite/lib/libgomp.exp
3547          (offload_target_to_openacc_device_type): Remove hsa case.
3548          (check_effective_target_hsa_offloading_selected_nocache): Removed
3549          (check_effective_target_hsa_offloading_selected): Likewise.
3550          (libgomp_init): Do not add -Wno-hsa to additional_flags.
3551          * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
3552          * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3553          * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
3554          * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3555          * testsuite/libgomp.hsa.c/c.exp: Likewise.
3556          * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3557          * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
3558          * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3559          * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3560          * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3561          * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3562          * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3563          * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3564          * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3565          * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3566          * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3567          * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
3568          * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3569          * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
3570          * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3571          * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3572          * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
3573          * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3574          * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3575
35762020-07-27  Julian Brown  <julian@codesourcery.com>
3577              Thomas Schwinge  <thomas@codesourcery.com>
3578
3579          * libgomp.h (struct target_var_desc): Rename do_detach field to
3580          is_attach.
3581          * oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
3582          GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
3583          (goacc_enter_data_internal): Don't affect reference counts
3584          for attach mappings.
3585          (goacc_exit_data_internal): Don't affect reference counts for detach
3586          mappings.
3587          * target.c (gomp_map_vars_existing): Don't affect reference counts for
3588          attach mappings.
3589          (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
3590          mark attach mappings.
3591          (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
3592          reference count for attach mappings.
3593          * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
3594          * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3595          * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3596          * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
3597          test as shouldfail.
3598          * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
3599          gracefully in no-finalize mode.
3600          * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
3601
36022020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
3603
3604          * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
3605          use.
3606          * testsuite/libgomp.oacc-c/c.exp: Likewise.
3607          * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3608
36092020-07-23  Julian Brown  <julian@codesourcery.com>
3610              Thomas Schwinge  <thomas@codesourcery.com>
3611
3612          * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
3613          finalization for detach operation.
3614          * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
3615          New test.
3616
36172020-07-23  Tobias Burnus  <tobias@codesourcery.com>
3618
3619          * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
3620          * libgomp_f.h.in (omp_check_defines): Check whether
3621          sizeof of determined Fortran kind and C typedef match.
3622          * omp_lib.f90.in: Add omp_depened_kind.
3623          * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
3624          * configure: Regenerate.
3625          * Makefile.in: Regenerate.
3626          * testsuite/Makefile.in: Regenerate.
3627
36282020-07-22  Tobias Burnus  <tobias@codesourcery.com>
3629
3630          * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
3631          gcc/testsuite/c-c++-common/gomp/.
3632          * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
3633          * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
3634          from gcc/testsuite/gfortran.dg/gomp/.
3635          * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
3636
36372020-07-22  Tobias Burnus  <tobias@codesourcery.com>
3638
3639          * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
3640          * omp_lib.h.in: Likewise.
3641
36422020-07-18  H.J. Lu  <hjl.tools@gmail.com>
3643
3644          PR target/95620
3645          * testsuite/libgomp.c/pr95620.c: New test.
3646
36472020-07-16  Julian Brown  <julian@codesourcery.com>
3648              Thomas Schwinge  <thomas@codesourcery.com>
3649
3650          * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
3651          * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
3652
36532020-07-15  Tobias Burnus  <tobias@codesourcery.com>
3654
3655          * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
3656          avoid conversion on 32bit systems from 32bit to 64bit due
3657          to -fdefault-integer-8.
3658
36592020-07-15  Tobias Burnus  <tobias@codesourcery.com>
3660
3661          * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
3662          variables; add character(kind=4) tests; update TODO comment.
3663
36642020-07-15  Tobias Burnus  <tobias@codesourcery.com>
3665
3666          * allocator.c: Add ialias for omp_init_allocator and
3667          omp_destroy_allocator.
3668          * configure.ac: Set INTPTR_T_KIND.
3669          * configure: Regenerate.
3670          * Makefile.in: Regenerate.
3671          * testsuite/Makefile.in: Regenerate.
3672          * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
3673          omp_set_default_allocator_, omp_get_default_allocator_): New
3674          functions and ialias_redirect.
3675          * icv.c: Add ialias for omp_set_default_allocator and
3676          omp_get_default_allocator.
3677          * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
3678          omp_destroy_allocator_, omp_set_default_allocator_ and
3679          omp_get_default_allocator_.
3680          * omp_lib.f90.in: Add allocator traits parameters, declare
3681          allocator routines and add related kind parameters.
3682          * omp_lib.h.in: Likewise.
3683          * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
3684          * testsuite/libgomp.fortran/alloc-1.F90: New test.
3685          * testsuite/libgomp.fortran/alloc-2.F90: New test.
3686          * testsuite/libgomp.fortran/alloc-3.F: New test.
3687          * testsuite/libgomp.fortran/alloc-4.f90: New test.
3688          * testsuite/libgomp.fortran/alloc-5.f90: New test.
3689
36902020-07-14  Tom de Vries  <tom@codesourcery.com>
3691              Cesar Philippidis  <cesar@codesourcery.com>
3692              Thomas Schwinge  <thomas@codesourcery.com>
3693              Kwok Cheung Yeung  <kcy@codesourcery.com>
3694
3695          * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
3696          New variable.
3697          (acc_init_1): Set acc_init_thread to pthread_self ().  Set
3698          acc_init_state to initializing at the start, and to initialized at the
3699          end.
3700          (self_initializing_p): New function.
3701          (acc_get_device_type): Return acc_device_none if called by thread that
3702          is currently executing acc_init_1.
3703          * libgomp.texi (acc_get_device_type): Update documentation.
3704          (Implementation Status and Implementation-Defined Behavior): Likewise.
3705          * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
3706
37072020-07-14  David Edelsohn  <dje.gcc@gmail.com>
3708
3709          * config/t-aix: Set BITS from compiler cpp macro.
3710
37112020-07-14  Tobias Burnus  <tobias@codesourcery.com>
3712
3713          * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
3714
37152020-07-14  Tobias Burnus  <tobias@codesourcery.com>
3716
3717          PR fortran/67311
3718          * testsuite/libgomp.fortran/target-map-1.f90: New test.
3719
37202020-07-14  Jakub Jelinek  <jakub@redhat.com>
3721
3722          * testsuite/libgomp.c/loop-21.c: New test.
3723
37242020-07-13  Julian Brown  <julian@codesourcery.com>
3725              Thomas Schwinge  <thomas@codesourcery.com>
3726
3727          * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
3728
37292020-07-10  Julian Brown  <julian@codesourcery.com>
3730              Thomas Schwinge  <thomas@codesourcery.com>
3731
3732          * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
3733          dynamic_refcount.
3734          (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3735          * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
3736          dynamic_refcount.
3737          (acc_unmap_data): Update comment.
3738          (goacc_map_var_existing, goacc_enter_datum): Adjust for
3739          dynamic_refcount semantics.
3740          (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
3741          Adjust for dynamic_refcount semantics.
3742          (goacc_enter_data_internal): Implement "present" case of dynamic
3743          memory-map handling here.  Update "non-present" case for
3744          dynamic_refcount semantics.
3745          (goacc_exit_data_internal): Use goacc_exit_datum_1.
3746          * target.c (gomp_map_vars_internal): Remove
3747          GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
3748          handling.
3749          (gomp_unmap_vars_internal): Remove virtual_refcount handling.
3750          (gomp_load_image_to_device): Substitute dynamic_refcount for
3751          virtual_refcount.
3752          * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
3753          * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
3754          * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
3755          * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
3756          * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
3757          trace output.
3758          * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
3759          trace output.
3760          * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
3761          test.
3762          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3763          Remove stale comment.
3764          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
3765          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3766          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3767          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3768          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3769          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
3770
37712020-07-10  Julian Brown  <julian@codesourcery.com>
3772              Thomas Schwinge  <thomas@codesourcery.com>
3773
3774          * oacc-mem.c (goacc_map_var_existing): New function.
3775          (goacc_enter_datum): Use above function.
3776          (goacc_exit_datum_1): New function.
3777          (goacc_exit_datum): Use above function.
3778
37792020-07-09  Julian Brown  <julian@codesourcery.com>
3780              Thomas Schwinge  <thomas@codesourcery.com>
3781
3782          PR middle-end/95270
3783          * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
3784          * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
3785
37862020-07-09  Julian Brown  <julian@codesourcery.com>
3787
3788          * oacc-mem.c (find_group_last): Group data-movement clauses
3789          (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
3790          GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
3791
37922020-07-09  Jakub Jelinek  <jakub@redhat.com>
3793
3794          * testsuite/libgomp.c/loop-19.c: New test.
3795          * testsuite/libgomp.c/loop-20.c: New test.
3796
37972020-07-09  Jakub Jelinek  <jakub@redhat.com>
3798
3799          * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
3800          2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
3801          it.  Remove __omp_alloctrait_value_max__.
3802          * allocator.c (omp_init_allocator): Handle omp_atv_default for
3803          omp_atk_alignment and omp_atk_pool_size.
3804
38052020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
3806
3807          * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
3808          behavior for 'GOMP_MAP_FORCE_FROM'.
3809          * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
3810
38112020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
3812
3813          * oacc-mem.c (goacc_exit_data_internal): Remove
3814          'GOMP_MAP_ALWAYS_FROM' handling.
3815
38162020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
3817
3818          * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
3819          'scan-assembler' with 'scan-offload-rtl'.
3820          * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3821          * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3822          * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
3823          * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
3824
38252020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
3826
3827          * target.c (gomp_map_vars_existing): Assert 'kind !=
3828          GOMP_MAP_ATTACH'.
3829          (gomp_map_vars_internal): Clean up.
3830
38312020-06-27  Jakub Jelinek  <jakub@redhat.com>
3832
3833          * testsuite/libgomp.c/loop-17.c: New test.
3834          * testsuite/libgomp.c/loop-18.c: New test.
3835
38362020-06-26  Marek Polacek  <polacek@redhat.com>
3837
3838          * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
3839
38402020-06-23  Alexandre Oliva  <oliva@adacore.com>
3841
3842          * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
3843          * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
3844
38452020-06-22  David Edelsohn  <dje.gcc@gmail.com>
3846
3847          * Makefile.am: Use -include.
3848          * Makefile.in: Regenerate.
3849
38502020-06-21  David Edelsohn  <dje.gcc@gmail.com>
3851
3852          * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
3853          * Makefile.in: Regenerate
3854          * configure.ac (tmake_file): Substitute.
3855          * configure: Regenerate.
3856          * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
3857          * config/t-aix: New file.
3858
38592020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
3860
3861          PR lto/94848
3862          * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
3863          'dg-do run'.
3864
38652020-06-17  Andrew Stubbs  <ams@codesourcery.com>
3866
3867          * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
3868          variant for HSA_RUNTIME_LIB name.
3869          (find_executable_symbol_1): Delete.
3870          (find_executable_symbol): Delete.
3871          (init_kernel_properties): Add ".kd" suffix to symbol names.
3872          (find_load_offset): Delete.
3873          (create_and_finalize_hsa_program): Remove relocation handling.
3874
38752020-06-16  Tobias Burnus  <tobias@codesourcery.com>
3876
3877          * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
3878
38792020-06-08  Tobias Burnus  <tobias@codesourcery.com>
3880
3881          PR lto/94848
3882          PR middle-end/95551
3883          * testsuite/libgomp.fortran/target-var.f90: New test.
3884
38852020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
3886              Julian Brown  <julian@codesourcery.com>
3887
3888          * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
3889          special handling.
3890
38912020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
3892              Julian Brown  <julian@codesourcery.com>
3893
3894          * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3895          Simplify.
3896
38972020-06-05  Julian Brown  <julian@codesourcery.com>
3898
3899          * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
3900          * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
3901
39022020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3903
3904          * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3905          Evaluate 'copyfrom' individually for each entry.
3906          * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
3907
39082020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3909
3910          * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3911          Evaluate 'finalize' individually for each entry.
3912          * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
3913          * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
3914          file.
3915
39162020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3917
3918          * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
3919          usage.
3920          * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
3921
39222020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3923              Julian Brown  <julian@codesourcery.com>
3924
3925          * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
3926          checking.
3927          (acc_unmap_data, goacc_exit_data_internal): Restore
3928          'is_tgt_unmapped' checking.
3929          * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
3930          file.
3931          * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
3932          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3933          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3934          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3935          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3936          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3937
39382020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3939              Julian Brown  <julian@codesourcery.com>
3940
3941          * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
3942
39432020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3944
3945          PR libgomp/92854
3946          * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
3947
39482020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3949
3950          PR libgomp/92854
3951          * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
3952          more.
3953
39542020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3955              Julian Brown  <julian@codesourcery.com>
3956
3957          * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
3958          'gomp_map_vars'.
3959           (acc_map_data): Clean up accordingly.
3960
39612020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3962
3963          * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
3964          of over-eager 'finalize' clause.
3965          * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
3966          file.
3967          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3968          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3969          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3970          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3971          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3972          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
3973          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3974          * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
3975
39762020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3977
3978          * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
3979
39802020-06-04  Julian Brown  <julian@codesourcery.com>
3981
3982          * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
3983          error path.
3984          (goacc_detach_internal): Likewise.
3985
39862020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3987
3988          * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
3989          the checkpoint.
3990          * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3991          * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3992          * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3993          * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3994          * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3995
39962020-06-02  Jakub Jelinek  <jakub@redhat.com>
3997
3998          * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
3999          defined.
4000
40012020-05-30  Jakub Jelinek  <jakub@redhat.com>
4002
4003          * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
4004
40052020-05-30  Jakub Jelinek  <jakub@redhat.com>
4006
4007          * allocator.c (omp_alloc): For size == 0, return NULL early.
4008
40092020-05-29  H.J. Lu  <hjl.tools@gmail.com>
4010
4011          PR bootstrap/95413
4012          * configure: Regenerated.
4013
40142020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
4015
4016          PR libfortran/95191
4017          * testsuite/libgomp.fortran/async_io_9.f90: New test.
4018
40192020-05-19  Jakub Jelinek  <jakub@redhat.com>
4020
4021          * omp.h.in (omp_uintptr_t): New typedef.
4022          (__GOMP_UINTPTR_T_ENUM): Define.
4023          (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
4024          omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
4025          (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
4026          (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
4027          omp_get_default_allocator, omp_alloc, omp_free): Declare.
4028          * libgomp.h (struct gomp_team_state): Add def_allocator field.
4029          (gomp_def_allocator): Declare.
4030          * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
4031          omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
4032          omp_alloc and omp_free.
4033          * team.c (gomp_team_start): Copy over ts.def_allocator.
4034          * env.c (gomp_def_allocator): New variable.
4035          (parse_wait_policy): Adjust function comment.
4036          (parse_allocator): New function.
4037          (handle_omp_display_env): Print OMP_ALLOCATOR.
4038          (initialize_env): Call parse_allocator.
4039          * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
4040          * allocator.c: New file.
4041          * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
4042          functions.
4043          * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
4044          * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
4045          * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
4046          * Makefile.in: Regenerated.
4047
40482020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
4049
4050          PR bootstrap/95147
4051          * configure: Regenerated.
4052
40532020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
4054
4055          PR libfortran/95119
4056          * testsuite/libgomp.fortran/close_errors_1.f90: New test.
4057
40582020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
4059
4060          * configure: Regenerated.
4061
40622020-05-14  Jakub Jelinek  <jakub@redhat.com>
4063
4064          * testsuite/libgomp.c-c++-common/target-40.c: New test.
4065
40662020-05-13  Tobias Burnus  <tobias@codesourcery.com>
4067
4068          PR fortran/94690
4069          * testsuite/libgomp.fortran/pr66199-3.f90: New.
4070          * testsuite/libgomp.fortran/pr66199-4.f90: New.
4071          * testsuite/libgomp.fortran/pr66199-5.f90: New.
4072          * testsuite/libgomp.fortran/pr66199-6.f90: New.
4073          * testsuite/libgomp.fortran/pr66199-7.f90: New.
4074          * testsuite/libgomp.fortran/pr66199-8.f90: New.
4075          * testsuite/libgomp.fortran/pr66199-9.f90: New.
4076
40772020-05-12  Jakub Jelinek  <jakub@redhat.com>
4078
4079          * testsuite/libgomp.c/target-39.c: New test.
4080
40812020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
4082
4083          * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
4084          * openacc.f90 (acc_device_current): Likewise.
4085          * openacc.h (acc_device_current): Likewise.
4086          * openacc_lib.h (acc_device_current): Likewise.
4087
4088          PR target/94282
4089          * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
4090          'dg-allow-blank-lines-in-output'.
4091
4092          * oacc-init.c (get_openacc_name): Handle 'gcn'.
4093          * testsuite/lib/libgomp.exp
4094          (offload_target_to_openacc_device_type) [amdgcn*]: Return
4095          'radeon'.  Adjust all users.
4096          (check_effective_target_openacc_amdgcn_accel_present): Rename
4097          to...
4098          (check_effective_target_openacc_radeon_accel_present): ... this.
4099          Adjust all users.
4100          (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
4101          (check_effective_target_openacc_radeon_accel_selected): ... this.
4102          Adjust all users.
4103
4104          * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4105          'dg-do run'.
4106
41072020-04-23  Andrew Stubbs  <ams@codesourcery.com>
4108
4109          PR other/94629
4110
4111          * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4112          hsa_iterate_agents.
4113          (GOMP_OFFLOAD_init_device): Check return values from both calls to
4114          hsa_agent_iterate_regions.
4115
41162020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
4117
4118          PR middle-end/94635
4119          * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4120          run'.
4121
41222020-04-20  Tobias Burnus  <tobias@codesourcery.com>
4123
4124          PR middle-end/94120
4125          * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4126          test case.
4127
41282020-04-17  Tobias Burnus  <tobias@codesourcery.com>
4129
4130          PR middle-end/94635
4131          * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4132
41332020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
4134
4135          PR libgomp/92843
4136          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4137          Rename to...
4138          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4139          ... this.
4140          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4141          Rename to...
4142          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4143          ... this.
4144          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4145          Rename to...
4146          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4147          ... this.
4148          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4149          Rename to...
4150          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4151          ... this.
4152          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4153          Rename to...
4154          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4155          ... this.
4156          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4157          Rename to...
4158          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4159          ... this.
4160          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4161          Rename to...
4162          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4163          ... this.
4164          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4165          Rename to...
4166          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4167          ... this.
4168          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4169          Rename to...
4170          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4171          ... this.
4172          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4173          Rename to...
4174          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4175          ... this.
4176          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4177          Rename to...
4178          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4179          ... this.
4180          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4181          Rename to...
4182          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4183          ... this.
4184          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4185          Rename to...
4186          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4187          ... this.
4188          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4189          Rename to...
4190          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4191          ... this.
4192          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4193          Rename to...
4194          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4195          ... this.
4196          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4197          Rename to...
4198          * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4199          ... this.
4200
42012020-04-10  Julian Brown  <julian@codesourcery.com>
4202              Thomas Schwinge  <thomas@codesourcery.com>
4203
4204          PR libgomp/92843
4205          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4206          New file.
4207          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4208          Likewise.
4209          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4210          Likewise.
4211          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4212          Likewise.
4213          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4214          Likewise.
4215          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4216          Likewise.
4217          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4218          Likewise.
4219          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4220          Likewise.
4221          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4222          Likewise.
4223          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4224          Likewise.
4225          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4226          Likewise.
4227          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4228          Likewise.
4229          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4230          Likewise.
4231          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4232          Likewise.
4233          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4234          Likewise.
4235          * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4236          Likewise.
4237
42382020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
4239
4240          * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4241          run'.
4242
42432020-04-08  Tobias Burnus  <tobias@codesourcery.com>
4244
4245          PR middle-end/94120
4246          * libgomp.oacc-c++/declare-pr94120.C: New.
4247
42482020-04-06  Maciej W. Rozycki  <macro@wdc.com>
4249
4250          * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4251          files.
4252          * configure: Regenerate.
4253          * testsuite/libgomp-site-extra.exp.in: New file.
4254          * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4255          variable.
4256          * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4257          variable.
4258          * testsuite/Makefile.in: Regenerate.
4259
42602020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
4261
4262          PR tree-optimization/89713
4263          PR c/94392
4264          * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4265          'bar.sync'.
4266          * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4267
42682020-03-31  Tobias Burnus  <tobias@codesourcery.com>
4269
4270          * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4271          * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4272
42732020-03-24  Tobias Burnus  <tobias@codesourcery.com>
4274
4275          PR libgomp/81689
4276          * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4277
42782020-03-20  Tobias Burnus  <tobias@codesourcery.com>
4279
4280          PR libgomp/94251
4281          * target.c (gomp_load_image_to_device): Fix link
4282          variable handling.
4283
42842020-03-19  Jakub Jelinek  <jakub@redhat.com>
4285
4286          PR c++/93931
4287          * testsuite/libgomp.c++/pr93931.C: New test.
4288
42892020-03-19  Tobias Burnus  <tobias@codesourcery.com>
4290
4291          * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4292          dg-allow-blank-lines-in-output.
4293
42942020-03-18  Julian Brown <julian@codesourcery.com>
4295              Tobias Burnus  <tobias@codesourcery.com>
4296
4297          * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4298          it work concurrently.
4299
43002020-03-18  Tobias Burnus  <tobias@codesourcery.com>
4301
4302          * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4303          #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4304          * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4305
43062020-03-14  Jakub Jelinek  <jakub@redhat.com>
4307
4308          PR middle-end/93566
4309          * testsuite/libgomp.c/pr93566.c: New test.
4310
43112020-02-21  Frederik Harwath  <frederik@codesourcery.com>
4312
4313          * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4314          changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4315          integer(acc_device_property) for the type of the return value of
4316          acc_get_property.
4317
43182020-02-19  Tobias Burnus  <tobias@codesourcery.com>
4319
4320          * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4321          * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4322          (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4323          * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4324          (acc_set_device_num): Fix Fortran argument name, use same name for C.
4325          (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4326          corrections; add note about the previous interface and named constant.
4327          (OpenACC library and environment variables): Fix two typos.
4328          * openacc.f90: Use for all procedures the argument names from the spec
4329          as for …_h they are user visible.
4330          (openacc_kinds): Rename acc_device_property to
4331          acc_device_property_kinds and change value to int32 ; and update users.
4332          Re-add acc_device_property for for backward compatibility.
4333          (acc_get_property_string_h): Clean up as acc_device_property_kind
4334          changed.
4335          (acc_get_property_h): Likewise and return c_size_t instead of
4336          acc_device_property.
4337          (openacc): Also export acc_device_property_kinds.
4338          (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4339          acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4340          handling; check against /= 0 instead of == 1 to match C.
4341          * openacc_lib.h: Use for all procedures the argument names from the spec
4342          as for …_h they are user visible. Place !GCC$ into the first column to
4343          be active also for fixed-form souce form.
4344          (acc_device_current, acc_device_property_kind, acc_device_property,
4345          acc_property_memory, acc_property_free_memory, acc_property_name,
4346          acc_property_vendor, acc_property_driver): New named constants.
4347          (acc_get_property, acc_get_property_string): New generic interface.
4348
43492020-02-13  Frederik Harwath  <frederik@codesourcery.com>
4350
4351          PR libgomp/93481
4352          * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4353          * target.c (gomp_load_plugin_for_device): Make "async_run" loading
4354          optional.
4355          (gomp_target_task_fn): Assert "devicep->async_run_func".
4356          (clear_unsupported_flags): New function to remove unsupported flags
4357          (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4358          (GOMP_target_ext): Apply clear_unsupported_flags to flags.
4359          * testsuite/libgomp.c/target-33.c:
4360          Remove xfail for offload_target_nvptx.
4361          * testsuite/libgomp.c/target-34.c: Likewise.
4362
43632020-02-10  Frederik Harwath  <frederik@codesourcery.com>
4364
4365          * testsuite/libgomp.c/target-33.c: Add xfail for execution on
4366          offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4367          * testsuite/libgomp.c/target-34.c: Likewise.
4368          * testsuite/libgomp.c/target-link-1.c: Add xfail for
4369          offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4370
43712020-02-09  Jakub Jelinek  <jakub@redhat.com>
4372
4373          * testsuite/libgomp.c/target-38.c: New test.
4374
43752020-02-06  Jakub Jelinek  <jakub@redhat.com>
4376
4377          PR libgomp/93515
4378          * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4379
43802020-02-05  Tobias Burnus  <tobias@codesourcery.com>
4381
4382          * testsuite/lib/libgomp.exp
4383          (check_effective_target_offload_target_nvptx): Pass flags as 'options'
4384          and not as 'source' argument to libgomp_target_compile.
4385
43862020-02-03  Andrew Stubbs  <ams@codesourcery.com>
4387
4388          * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
4389          (gcn_gfx801_s): Remove.
4390          (isa_hsa_name): Remove gfx801.
4391          (isa_gcc_name): Remove gfx801/carizzo.
4392          (isa_code): Remove gfx801.
4393
43942020-02-03  Julian Brown  <julian@codesourcery.com>
4395              Tobias Burnus  <tobias@codesourcery.com>
4396
4397          * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
4398          and *_finalize variants; document acc_attach and acc_detach; update
4399          references from OpenACC 2.0 to 2.6.
4400          * openacc.f90 (openacc_version): Update to 201711.
4401          * openacc_lib.h (openacc_version): Update to 201711.
4402          * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
4403          openacc_version to 201711.
4404          * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4405
44062020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
4407
4408          * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
4409          and vgpr_count fields.
4410          (struct kernel_info): Add a field for a hsa_kernel_description.
4411          (run_kernel): Reduce the number of threads/workers if the requested
4412          number would require too many VGPRs.
4413          (init_basic_kernel_info): Initialize description field with
4414          the hsa_kernel_description entry for the kernel.
4415
44162020-01-29  Tobias Burnus  <tobias@codesourcery.com>
4417
4418          PR bootstrap/93409
4419          * plugin/configfrag.ac (enable_offload_targets): Skip
4420          HSA and GCN plugin besides -m32 also for -mx32.
4421          * configure: Regenerate.
4422
44232020-01-29  Frederik Harwath  <frederik@codesourcery.com>
4424
4425          * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
4426
44272020-01-29  Frederik Harwath  <frederik@codesourcery.com>
4428
4429          * plugin-gcn.c (struct agent_info): Add fields "name" and
4430          "vendor_name" ...
4431          (GOMP_OFFLOAD_init_device): ... and init from here.
4432          (struct hsa_context_info): Add field "driver_version_s" ...
4433          (init_hsa_contest): ... and init from here.
4434          (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
4435          implementation.
4436          * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4437          Enable test execution for amdgcn and host offloading targets.
4438          * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
4439          * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4440          (expect_device_properties): Split function into ...
4441          (expect_device_string_properties): ... this new function ...
4442          (expect_device_memory): ... and this new function.
4443          * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
4444          Add test.
4445
44462020-01-28  Julian Brown  <julian@codesourcery.com>
4447
4448          * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
4449          * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
4450          component/non-component variable refs in a single directive.
4451          * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
4452
44532020-01-24  Maciej W. Rozycki  <macro@wdc.com>
4454
4455          * configure.ac: Handle `--with-toolexeclibdir='.
4456          * Makefile.in: Regenerate.
4457          * aclocal.m4: Regenerate.
4458          * configure: Regenerate.
4459          * testsuite/Makefile.in: Regenerate.
4460
44612020-01-24  Frederik Harwath  <frederik@codesourcery.com>
4462
4463          * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4464          (expect_device_properties): Remove "expected_free_mem" argument,
4465          change "expected_total_mem" argument type to size_t;
4466          change types of acc_get_property results to size_t,
4467          adapt format strings.
4468          * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4469          Use %zu instead of %zd to print size_t values.
4470          * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
4471          rename to ...
4472          * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
4473          * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
4474          rename to ...
4475          * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
4476
44772020-01-23  Andrew Stubbs  <ams@codesourcery.com>
4478
4479          * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
4480          the device id.
4481
44822020-01-20  Andrew Stubbs  <ams@codesourcery.com>
4483
4484          * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
4485          * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
4486          Adjust test dimensions for amdgcn.
4487          * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
4488          gang/worker/vector expectations dynamically.
4489          * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
4490          (main): Likewise.
4491          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
4492          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
4493          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
4494          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
4495          * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
4496          * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
4497          * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
4498          * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
4499          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4500          (acc_gang): Recognise acc_device_radeon.
4501          (acc_worker): Likewise.
4502          (acc_vector): Likewise.
4503          (main): Set expectations for amdgcn.
4504          * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
4505          (main): Adjust gang/worker/vector expectations dynamically.
4506          * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
4507          * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
4508          * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
4509          * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
4510          for amdgcn.
4511
45122020-01-17  Andrew Stubbs  <ams@codesourcery.com>
4513
4514          * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
4515          acc_device_radeon.
4516          (openacc): Likewise.
4517          * openacc.f90 (openacc_kinds): Likewise.
4518          (openacc): Likewise.
4519          * openacc.h (acc_device_t): Likewise.
4520          * openacc_lib.h: Likewise.
4521          * testsuite/lib/libgomp.exp
4522          (check_effective_target_openacc_amdgcn_accel_present): Likewise.
4523          * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
4524          (cb_compute_construct_end): Likewise.
4525          * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4526          (cb_enqueue_launch_start): Likewise.
4527          * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
4528          (cb_enter_data_end): Likewise.
4529          (cb_exit_data_start): Likewise.
4530          (cb_exit_data_end): Likewise.
4531          (cb_compute_construct_end): Likewise.
4532          (cb_enqueue_launch_start): Likewise.
4533          (cb_enqueue_launch_end): Likewise.
4534          * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
4535          (main): Likewise.
4536
45372020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
4538
4539          * libgomp-plugin.h (enum goacc_property): New.  Adjust all users
4540          to use this instead of 'enum gomp_device_property'.
4541          (GOMP_OFFLOAD_get_property): Rename to...
4542          (GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
4543          * libgomp.h (struct gomp_device_descr): Move
4544          'GOMP_OFFLOAD_openacc_get_property'...
4545          (struct acc_dispatch_t): ... here.  Adjust all users.
4546          * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
4547
4548          * target.c (gomp_map_vars_internal)
4549          <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
4550          paths.
4551
45522020-01-10  Jakub Jelinek  <jakub@redhat.com>
4553
4554          PR libgomp/93219
4555          * libgomp.h (gomp_print_string): Change return type from void to int.
4556          * affinity-fmt.c (gomp_print_string): Likewise.  Return true if
4557          not all characters have been written.
4558
45592020-01-08  Tobias Burnus  <tobias@codesourcery.com>
4560
4561          * libgomp.texi: Fix typos, use https.
4562
45632020-01-03  Tobias Burnus  <tobias@codesourcery.com>
4564
4565          * testsuite/libgomp.fortran/optional-map.f90: Add test for
4566          unallocated/disassociated actual arguments to nonallocatable/nonpointer
4567          dummy arguments; those are/shall be regarded as absent arguments.
4568          * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4569          * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
4570
45712020-01-01  Jakub Jelinek  <jakub@redhat.com>
4572
4573          Update copyright years.
4574
4575          * libgomp.texi: Bump @copying's copyright year.
4576
45772019-12-31  Ayush Mittal  <ayush.m@samsung.com>
4578
4579          PR libgomp/93065
4580          * oacc-init.c (goacc_runtime_deinitialize): New function.
4581
45822019-12-28  Jakub Jelinek  <jakub@redhat.com>
4583
4584          PR bootstrap/93074
4585          * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
4586          (cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
4587
45882019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
4589              Frederik Harwath  <frederik@codesourcery.com>
4590              Thomas Schwinge  <tschwinge@codesourcery.com>
4591
4592          * libgomp.h (gomp_device_descr): Add `get_property_func' member.
4593          * libgomp-plugin.h (gomp_device_property_value): New union.
4594          (gomp_device_property_value): New prototype.
4595          * openacc.h (acc_device_t): Add `acc_device_current' enumeration
4596          constant.
4597          (acc_device_property_t): New enum.
4598          (acc_get_property, acc_get_property_string): New prototypes.
4599          * oacc-init.c (acc_get_device_type): Also assert that result
4600          is not `acc_device_current'.
4601          (get_property_any, acc_get_property, acc_get_property_string):
4602          New functions.
4603          * openacc.f90 (openacc_kinds): Add `acc_device_current' and
4604          `acc_property_memory', `acc_property_free_memory',
4605          `acc_property_name', `acc_property_vendor' and
4606          `acc_property_driver' constants.  Add `acc_device_property' data
4607          type.
4608          (openacc_internal): Add `acc_get_property' and
4609          `acc_get_property_string' interfaces.  Add `acc_get_property_h',
4610          `acc_get_property_string_h', `acc_get_property_l' and
4611          `acc_get_property_string_l'.
4612          * oacc-host.c (host_get_property): New function.
4613          (host_dispatch): Wire it.
4614          * target.c (gomp_load_plugin_for_device): Handle `get_property'.
4615          * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
4616          `acc_get_property_string' and `acc_get_property_string_h_' symbols.
4617          * libgomp.texi (OpenACC Runtime Library Routines): Add
4618          `acc_get_property'.
4619          (acc_get_property): New node.
4620          * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
4621          function (stub).
4622          * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
4623          * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
4624          `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
4625          calls.
4626          (GOMP_OFFLOAD_get_property): New function.
4627          (struct ptx_device): Add new field "name".
4628          (cuda_driver_version_s): Add new static variable ...
4629          (nvptx_init): ... and init from here.
4630
4631          * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
4632          * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
4633          * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
4634          * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
4635          with test helper functions.
4636
4637          * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
4638
46392019-12-22  Maciej W. Rozycki  <macro@wdc.com>
4640
4641          * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
4642          variable.
4643
46442019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
4645
4646          * target.c (gomp_map_vars_internal): Restore 'omp declare target
4647          link' handling.
4648
46492019-12-19  Julian Brown  <julian@codesourcery.com>
4650
4651          * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
4652          * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
4653          * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
4654
46552019-12-19  Julian Brown  <julian@codesourcery.com>
4656              Cesar Philippidis  <cesar@codesourcery.com>
4657
4658          * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
4659          * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
4660          * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
4661          * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
4662          * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
4663          * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
4664          * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
4665          * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
4666          * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
4667          * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
4668          * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
4669          * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
4670          * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
4671
46722019-12-19  Julian Brown  <julian@codesourcery.com>
4673
4674          * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
4675          * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
4676          * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
4677          * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
4678          * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
4679          * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
4680          * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
4681          * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
4682          * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
4683          * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
4684          * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
4685          * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
4686
46872019-12-19  Julian Brown  <julian@codesourcery.com>
4688
4689          * libgomp.h (struct target_var_desc): Add do_detach flag.
4690          * oacc-init.c (acc_shutdown_1): Free aux block if present.
4691          * oacc-mem.c (find_group_last): Add SIZES parameter. Support
4692          struct components.  Tidy up and add some new checks.
4693          (goacc_enter_data_internal): Update call to find_group_last.
4694          (goacc_exit_data_internal): Support detach operations and
4695          GOMP_MAP_STRUCT.
4696          (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
4697          GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
4698          attach/detach in enter/exit data detection code.
4699          * target.c (gomp_map_vars_existing): Initialise do_detach field of
4700          tgt_var_desc.
4701          (gomp_map_vars_internal): Support attach.
4702          (gomp_unmap_vars_internal): Support detach.
4703
47042019-12-19  Julian Brown  <julian@codesourcery.com>
4705              Thomas Schwinge  <thomas@codesourcery.com>
4706
4707          * libgomp.h (struct splay_tree_aux): Add attach_count field.
4708          (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
4709          * libgomp.map (OACC_2.6): New section. Add acc_attach,
4710          acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
4711          acc_detach_finalize_async.
4712          * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
4713          acc_detach, acc_detach_async, acc_detach_finalize,
4714          acc_detach_finalize_async): New functions.
4715          * openacc.h (acc_attach, acc_attach_async, acc_detach,
4716          (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
4717          prototypes.
4718          * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
4719          (gomp_remove_var_internal): Free attachment counts if present.
4720          * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
4721          * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
4722
47232019-12-19  Julian Brown  <julian@codesourcery.com>
4724              Cesar Philippidis  <cesar@codesourcery.com>
4725
4726          * libgomp.h (gomp_map_val): Add prototype.
4727          * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
4728          open-coding device-address calculation.
4729          * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
4730          non-present case.
4731
47322019-12-19  Julian Brown  <julian@codesourcery.com>
4733
4734          * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
4735          field for virtual_refcount.
4736          (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4737          (gomp_free_memmap): Remove prototype.
4738          * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
4739          instead of calling gomp_free_memmap.
4740          * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
4741          dynamic_refcount.
4742          (acc_unmap_data): Open code instead of forcing target_mem_desc's
4743          to_free field to NULL then calling gomp_unmap_vars.  Handle
4744          REFCOUNT_INFINITY on target blocks.
4745          (goacc_enter_data): Rename to...
4746          (goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
4747          handling for mapping groups.  Use virtual_refcount instead of
4748          dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
4749          map_map_vars_async call.  Re-do lookup for target pointer return value.
4750          (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
4751          renamed goacc_enter_datum function.
4752          (goacc_exit_data): Rename to...
4753          (goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
4754          (acc_delete, acc_delete_async, acc_delete_finalize,
4755          acc_delete_finalize_async, acc_copyout, acc_copyout_async,
4756          acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
4757          goacc_exit_datum function.
4758          (gomp_acc_remove_pointer, find_pointer): Remove functions.
4759          (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
4760          New functions.
4761          (GOACC_enter_exit_data): Use goacc_enter_data_internal and
4762          goacc_exit_data_internal helper functions.
4763          * target.c (gomp_map_vars_internal): Handle
4764          GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
4765          semantics.
4766          (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
4767          (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
4768          virtual_refcount field instead of dynamic_refcount.
4769          (gomp_free_memmap): Remove function.
4770          * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
4771          * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
4772          * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
4773
47742019-12-19  Julian Brown  <julian@codesourcery.com>
4775              Thomas Schwinge  <thomas@codesourcery.com>
4776
4777          * libgomp.h (struct splay_tree_aux): New.
4778          (struct splay_tree_key_s): Replace link_key field with aux pointer.
4779          * target.c (gomp_map_vars_internal): Adjust for link_key being moved
4780          to aux struct.
4781          (gomp_remove_var_internal): Free aux block if present.
4782          (gomp_load_image_to_device): Zero-initialise aux field instead of
4783          link_key field.
4784          (omp_target_associate_pointer): Zero-initialise aux field.
4785
47862019-12-18  Jakub Jelinek  <jakub@redhat.com>
4787
4788          PR middle-end/86416
4789          * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
4790          q or none.
4791          * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
4792          L or none.
4793
47942019-12-19  Julian Brown  <julian@codesourcery.com>
4795              Maciej W. Rozycki  <macro@codesourcery.com>
4796              Tobias Burnus  <tobias@codesourcery.com>
4797              Thomas Schwinge  <thomas@codesourcery.com>
4798
4799          * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
4800          * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
4801          * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
4802          * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
4803          * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
4804          * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
4805          * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
4806          * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
4807          * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
4808
48092019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
4810
4811          * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4812          called...
4813          (goacc_insert_pointer): ... from here, "present" case.
4814          (goacc_insert_pointer): Inline function into...
4815          (GOACC_enter_exit_data): ... here, and simplify.
4816
4817          * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4818          called...
4819          (goacc_insert_pointer): ... from here, "not present" case.
4820
4821          * oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
4822          all users.
4823
4824          * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
4825          'goacc_enter_data', 'goacc_exit_data'.
4826
4827          * oacc-mem.c (delete_copyout): Refactor into...
4828          (goacc_exit_data): ... this.  Adjust all users.
4829
4830          * oacc-mem.c (present_create_copy): Refactor into...
4831          (goacc_enter_data): ... this.  Adjust all users.
4832
4833          * target.c (gomp_unmap_vars_internal): Add a safeguard to
4834          'gomp_remove_var'.
4835
4836          * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
4837          like 'GOMP_MAP_FROM'.
4838
4839          PR libgomp/92726
4840          PR libgomp/92970
4841          PR libgomp/92984
4842          * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
4843          fails.
4844          (GOACC_enter_exit_data): Simplify accordingly.
4845          * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
4846          subsuming...
4847          * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
4848          * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
4849          file.
4850          * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
4851          subsuming...
4852          * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
4853          * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
4854          file.
4855          * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
4856          subsuming...
4857          * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
4858
4859          * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
4860          'finalize' handling.
4861
4862          PR libgomp/92848
4863          * oacc-mem.c (acc_map_data, present_create_copy)
4864          (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
4865          (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
4866          * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
4867          * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
4868          * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
4869          * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
4870          * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
4871          * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4872          Remove "XFAIL"s.
4873
4874          * target.c (gomp_unmap_tgt): Make it 'static'.
4875          * libgomp.h (gomp_unmap_tgt): Remove.
4876
48772019-12-18  Tobias Burnus  <tobias@codesourcery.com>
4878
4879          PR middle-end/86416
4880          * testsuite/libgomp.c/pr86416-1.c: New.
4881          * testsuite/libgomp.c/pr86416-2.c: New.
4882
48832019-12-17  Tobias Burnus  <tobias@codesourcery.com>
4884
4885          * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
4886          all symbols as public except for the 'use …, only' imported symbol,
4887          which is private.
4888          (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4889          all symbols from module openacc_kinds as PUBLIC
4890          * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
4891          fix comment typo.
4892          * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
4893
48942019-12-13  Julian Brown  <julian@codesourcery.com>
4895
4896          PR libgomp/92881
4897
4898          * libgomp.h (gomp_remove_var_async): Add prototype.
4899          * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
4900          gomp_remove_var.
4901          * target.c (gomp_unref_tgt): Change return type to bool, indicating
4902          whether target_mem_desc was unmapped.
4903          (gomp_unref_tgt_void): New.
4904          (gomp_remove_var): Reimplement in terms of...
4905          (gomp_remove_var_internal): ...this new helper function.
4906          (gomp_remove_var_async): New, implemented using above helper function.
4907          (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
4908          gomp_unref_tgt.
4909
49102019-12-13  Andrew Stubbs  <ams@codesourcery.com>
4911
4912          * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
4913          * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4914          * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
4915          * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
4916          * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
4917          Likewise.
4918          * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
4919          * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
4920
49212019-12-13  Tobias Burnus  <tobias@codesourcery.com>
4922
4923          * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
4924          as public except for the 'use …, only' imported symbol, which is
4925          private.
4926          (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4927          all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
4928          attributes for acc_copyout_finalize and acc_delete_finalize.
4929
49302019-12-11  Jakub Jelinek  <jakub@redhat.com>
4931
4932          PR fortran/92899
4933          * testsuite/libgomp.fortran/atomic1.f90: New test.
4934
49352019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
4936
4937          PR libgomp/92843
4938          * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
4939          reference counting for structured 'REFCOUNT_INFINITY'.  Add some
4940          assertions.
4941          (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
4942          * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
4943          * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
4944          * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4945          * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4946
4947          * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
4948          * oacc-mem.c: ... here.
4949          (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
4950          'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
4951          * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4952          Remove.
4953          * libgomp_g.h: Update.
4954
4955          * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
4956          * oacc-async.c: ... here.
4957          * oacc-int.h (goacc_wait): Declare.
4958          * libgomp_g.h: Update
4959
4960          PR libgomp/92854
4961          * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
4962          New file.
4963          * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
4964          Likewise.
4965          * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
4966          Likewise.
4967          * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
4968          Likewise.
4969          * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
4970          Likewise.
4971          * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
4972          Likewise.
4973
49742019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
4975              Julian Brown  <julian@codesourcery.com>
4976
4977          * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
4978          Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
4979
49802019-12-11  Tobias Burnus  <tobias@codesourcery.com>
4981
4982          * omp_lib.h.in: Fix spelling of function declaration
4983          omp_get_cancell(l)ation.
4984          * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
4985          Fix typos.
4986          * env.c: Fix comment typos.
4987          * oacc-host.c: Likewise.
4988          * ordered.c: Likewise.
4989          * task.c: Likewise.
4990          * team.c: Likewise.
4991          * config/gcn/task.c: Likewise.
4992          * config/gcn/team.c: Likewise.
4993          * config/nvptx/task.c: Likewise.
4994          * config/nvptx/team.c: Likewise.
4995          * plugin/plugin-gcn.c: Likewise.
4996          * testsuite/libgomp.fortran/jacobi.f: Likewise.
4997          * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4998          * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
4999
50002019-12-11  Tobias Burnus  <tobias@codesourcery.com>
5001
5002          * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
5003          * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
5004          unnecessary 'dg-additional-options "-w"'.
5005
50062019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
5007              Julian Brown  <julian@codesourcery.com>
5008
5009          PR libgomp/92116
5010          PR libgomp/92877
5011
5012          * oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
5013          * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
5014          Adjust all users.
5015          * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5016          Remove XFAIL.
5017          * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5018          Likewise.
5019          * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
5020
50212019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
5022
5023          PR libgomp/92503
5024          * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
5025          * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
5026          file.
5027          * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
5028          Likewise.
5029          * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
5030          Likewise.
5031          * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
5032          Likewise.
5033          * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
5034          Likewise.
5035          * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
5036          Likewise.
5037          * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5038          * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5039          * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5040          * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5041          * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5042          * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5043          * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5044          * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5045          * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
5046          * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
5047
5048          PR libgomp/92840
5049          * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
5050          (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
5051          * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
5052          New file.
5053          * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
5054          Likewise.
5055          * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
5056          Likewise.
5057          * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
5058          * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
5059
5060          PR libgomp/92511
5061          * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
5062          this file...
5063          * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
5064          this file...
5065          * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
5066          file...
5067          * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
5068          file...
5069          * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
5070          ... with their content moved into, and extended in this new file.
5071          * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
5072          New file.
5073          * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
5074          Likewise.
5075          * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
5076          Likewise.
5077          * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
5078          Likewise.
5079
5080          * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
5081
5082          PR libgomp/92854
5083          * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
5084
5085          * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
5086
5087          * target.c (gomp_exit_data): Use 'gomp_remove_var'.
5088
50892019-12-09  Tobias Burnus  <tobias@codesourcery.com>
5090
5091          * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
5092          unique.
5093          * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
5094          * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
5095          * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
5096          * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
5097          Ditto.
5098          * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
5099          * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
5100
51012019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
5102
5103          * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
5104
51052019-12-06  Tobias Burnus  <tobias@codesourcery.com>
5106              Kwok Cheung Yeung <kcy@codesourcery.com>
5107
5108          * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5109          if input it a NULL pointer.
5110          * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5111          diagnostic of NULL pointer.
5112          * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5113          * testsuite/libgomp.fortran/optional-map.f90: New.
5114          * testsuite/libgomp.fortran/use_device_addr-1.f90
5115          (test_dummy_opt_callee_1_absent): New.
5116          (test_dummy_opt_call_1): Call it.
5117          * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5118          * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5119          * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5120          * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5121          * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5122          * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5123          * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5124          * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5125          * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5126          * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5127          * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5128          * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5129          * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5130          * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5131          * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5132          * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5133
51342019-12-05  Tobias Burnus  <tobias@codesourcery.com>
5135
5136          * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5137          expect dg-output of 'Error termination.' for GCN.
5138          * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5139          * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5140
51412019-12-04  Jakub Jelinek  <jakub@redhat.com>
5142
5143          PR fortran/92756
5144          * testsuite/libgomp.fortran/teams1.f90: New test.
5145          * testsuite/libgomp.fortran/teams2.f90: New test.
5146
51472019-12-03  Frederik Harwath  <frederik@codesourcery.com>
5148
5149          * oacc-init.c (acc_known_device_type): Add function.
5150          (unknown_device_type_error): Add function.
5151          (name_of_acc_device_t): Change to call unknown_device_type_error
5152          on unknown type.
5153          (resolve_device): Use acc_known_device_type.
5154          (acc_init): Fail if acc_device_t argument is not valid.
5155          (acc_shutdown): Likewise.
5156          (acc_get_num_devices): Likewise.
5157          (acc_set_device_type): Likewise.
5158          (acc_get_device_num): Likewise.
5159          (acc_set_device_num): Likewise.
5160          (acc_on_device): Add comment that argument validity is not checked.
5161
51622019-12-03  Andrew Stubbs  <ams@codesourcery.com>
5163
5164          * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5165          Recognize amdgcn.
5166          (check_effective_target_openacc_amdgcn_accel_present): New proc.
5167          (check_effective_target_openacc_amdgcn_accel_selected): New proc.
5168          * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5169          * testsuite/libgomp.oacc-c/c.exp: Likewise.
5170          * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5171
51722019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
5173
5174          PR libgomp/91938
5175          * configure.tgt: Avoid IE tls on *-*-musl*.
5176
51772019-11-29  Tobias Burnus  <tobias@codesourcery.com>
5178
5179          * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5180          adding a common-block test case.
5181
51822019-11-29  Jakub Jelinek  <jakub@redhat.com>
5183
5184          PR c++/60228
5185          * testsuite/libgomp.c++/udr-20.C: New test.
5186          * testsuite/libgomp.c++/udr-21.C: New test.
5187
51882019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
5189
5190          * testsuite/lib/libgomp.exp
5191          (check_effective_target_offload_target_nvptx): New proc.
5192          * testsuite/libgomp.fortran/target-print-1.f90: Use it with
5193          'dg-skip-if'.
5194          * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5195          * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5196          * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5197
51982019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5199
5200          * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5201          * testsuite/libgomp.c/pr39591-2.c: Likewise.
5202          * testsuite/libgomp.c/pr39591-3.c: Likewise.
5203          * testsuite/libgomp.c/private-1.c: Likewise.
5204          * testsuite/libgomp.c/task-1.c: Likewise.
5205          * testsuite/libgomp.c/task-5.c: Renamed err to serr.
5206
52072019-11-20  Julian Brown  <julian@codesourcery.com>
5208
5209          * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5210          aq->mutex here.
5211          (queue_push_launch): Lock aq->mutex before calling
5212          wait_for_queue_nonfull.
5213          (queue_push_callback): Likewise.
5214          (queue_push_asyncwait): Likewise.
5215          (queue_push_placeholder): Likewise.
5216
52172019-11-20  Julian Brown  <julian@codesourcery.com>
5218
5219          * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5220          (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5221          (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5222          return code.
5223
52242019-11-20  Julian Brown  <julian@codesourcery.com>
5225
5226          PR libgomp/92511
5227
5228          * oacc-mem.c (present_create_copy): Fix device pointer return value in
5229          case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
5230          in non-present/create case.
5231          (delete_copyout): Change error condition to fail only on copies outside
5232          of mapped block.  Adjust error message accordingly.
5233          * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5234          * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5235          * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5236          message.
5237          * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5238          * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5239          * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5240
52412019-11-20  Maciej W. Rozycki  <macro@wdc.com>
5242
5243          * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5244          libatomic in build-tree testing.
5245
52462019-11-18  Maciej W. Rozycki  <macro@wdc.com>
5247
5248          * testsuite/Makefile.in: Regenerate.
5249
52502019-11-15  Andrew Stubbs  <ams@codesourcery.com>
5251
5252          * testsuite/libgomp.c/target-print-1.c: New file.
5253          * testsuite/libgomp.fortran/target-print-1.f90: New file.
5254          * testsuite/libgomp.oacc-c/print-1.c: New file.
5255          * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5256
52572019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5258              Kwok Cheung Yeung  <kcy@codesourcery.com>
5259              Julian Brown  <julian@codesourcery.com>
5260              Tom de Vries  <tom@codesourcery.com>
5261
5262          * plugin/Makefrag.am: Add amdgcn plugin support.
5263          * plugin/configfrag.ac: Likewise.
5264          * plugin/plugin-gcn.c: New file.
5265          * configure: Regenerate.
5266          * Makefile.in: Regenerate.
5267          * testsuite/Makefile.in: Regenerate.
5268
52692019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5270
5271          * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5272          and use team_malloc variants.
5273          (gomp_gcn_exit_kernel): Use team_free.
5274          * libgomp.h (TEAM_ARENA_SIZE): Define.
5275          (TEAM_ARENA_START): Define.
5276          (TEAM_ARENA_FREE): Define.
5277          (TEAM_ARENA_END): Define.
5278          (team_malloc): New function.
5279          (team_malloc_cleared): New function.
5280          (team_free): New function.
5281          * team.c (gomp_new_team): Initialize and use team_malloc.
5282          (free_team): Use team_free.
5283          (gomp_free_thread): Use team_free.
5284          (gomp_pause_host): Use team_free.
5285          * work.c (gomp_init_work_share): Use team_malloc.
5286          (gomp_fini_work_share): Use team_free.
5287
52882019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5289              Kwok Cheung Yeung  <kcy@codesourcery.com>
5290              Julian Brown  <julian@codesourcery.com>
5291              Tom de Vries  <tom@codesourcery.com>
5292
5293          * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5294          * Makefile.in: Regenerate.
5295          * config.h.in (PLUGIN_GCN): Add new undef.
5296          * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5297          * config/gcn/affinity-fmt.c: New file.
5298          * config/gcn/bar.c: New file.
5299          * config/gcn/bar.h: New file.
5300          * config/gcn/doacross.h: New file.
5301          * config/gcn/icv-device.c: New file.
5302          * config/gcn/oacc-target.c: New file.
5303          * config/gcn/simple-bar.h: New file.
5304          * config/gcn/target.c: New file.
5305          * config/gcn/task.c: New file.
5306          * config/gcn/team.c: New file.
5307          * config/gcn/time.c: New file.
5308          * configure.ac: Add amdgcn*-*-*.
5309          * configure: Regenerate.
5310          * configure.tgt: Add amdgcn*-*-*.
5311          * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5312          * libgomp.h (gcn_thrs): Add amdgcn variant.
5313          (set_gcn_thrs): Likewise.
5314          (gomp_thread): Likewise.
5315          * oacc-int.h (goacc_thread): Likewise.
5316          * oacc-target.c: New file.
5317          * openacc.f90 (acc_device_gcn): New parameter.
5318          * openacc.h (acc_device_t): Add acc_device_gcn.
5319          * team.c (gomp_free_pool_helper): Add amdgcn support.
5320
53212019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5322              Julian Brown  <julian@codesourcery.com>
5323
5324          * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5325          parameter.
5326          * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5327          queue constructor.
5328          * oacc-host.c (host_openacc_async_construct): Add device parameter.
5329          * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5330          device parameter.
5331
53322019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5333
5334          * configure.tgt (nvptx*-*-*): Add "accel" directory.
5335          * config/nvptx/libgomp-plugin.c: Move ...
5336          * config/accel/libgomp-plugin.c: ... to here.
5337          * config/nvptx/lock.c: Move ...
5338          * config/accel/lock.c: ... to here.
5339          * config/nvptx/mutex.c: Move ...
5340          * config/accel/mutex.c: ... to here.
5341          * config/nvptx/mutex.h: Move ...
5342          * config/accel/mutex.h: ... to here.
5343          * config/nvptx/oacc-async.c: Move ...
5344          * config/accel/oacc-async.c: ... to here.
5345          * config/nvptx/oacc-cuda.c: Move ...
5346          * config/accel/oacc-cuda.c: ... to here.
5347          * config/nvptx/oacc-host.c: Move ...
5348          * config/accel/oacc-host.c: ... to here.
5349          * config/nvptx/oacc-init.c: Move ...
5350          * config/accel/oacc-init.c: ... to here.
5351          * config/nvptx/oacc-mem.c: Move ...
5352          * config/accel/oacc-mem.c: ... to here.
5353          * config/nvptx/oacc-plugin.c: Move ...
5354          * config/accel/oacc-plugin.c: ... to here.
5355          * config/nvptx/omp-lock.h: Move ...
5356          * config/accel/omp-lock.h: ... to here.
5357          * config/nvptx/openacc.f90: Move ...
5358          * config/accel/openacc.f90: ... to here.
5359          * config/nvptx/pool.h: Move ...
5360          * config/accel/pool.h: ... to here.
5361          * config/nvptx/proc.c: Move ...
5362          * config/accel/proc.c: ... to here.
5363          * config/nvptx/ptrlock.c: Move ...
5364          * config/accel/ptrlock.c: ... to here.
5365          * config/nvptx/ptrlock.h: Move ...
5366          * config/accel/ptrlock.h: ... to here.
5367          * config/nvptx/sem.c: Move ...
5368          * config/accel/sem.c: ... to here.
5369          * config/nvptx/sem.h: Move ...
5370          * config/accel/sem.h: ... to here.
5371          * config/nvptx/thread-stacksize.h: Move ...
5372          * config/accel/thread-stacksize.h: ... to here.
5373
53742019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
5375              Tobias Burnus  <tobias@codesourcery.com>
5376              Frederik Harwath  <frederik@codesourcery.com>
5377              Thomas Schwinge  <thomas@codesourcery.com>
5378
5379          libgomp/
5380          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5381          * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5382          * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5383
53842019-11-11  Tobias Burnus  <tobias@codesourcery.com>
5385              Kwok Cheung Yeung  <kcy@codesourcery.com>
5386
5387          * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5388          * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5389
53902019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
5391
5392          * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5393
5394          * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5395          run'.
5396          * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5397          * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5398
53992019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
5400
5401          * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
5402          Add expected warnings about missing reduction clauses.
5403          * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5404          Likewise.
5405          * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5406          Likewise.
5407          * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5408          Likewise.
5409
54102019-11-04  Tobias Burnus  <tobias@codesourcery.com>
5411
5412          * testsuite/libgomp.fortran/pr66199-1.f90: Remove
5413          'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
5414          * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
5415          * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5416          * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5417          * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5418
54192019-11-04  Tobias Burnus  <tobias@codesourcery.com>
5420
5421          PR fortran/92305
5422          * testsuite/libgomp.fortran/allocatable2.f90: Use
5423          unique numbers with 'stop'.
5424          * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5425          * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5426          * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
5427          * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
5428          * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
5429
54302019-11-01  Tobias Burnus  <tobias@codesourcery.com>
5431
5432          * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
5433          test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
5434          * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5435          * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
5436          * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
5437          * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
5438
54392019-10-30  Tobias Burnus  <tobias@codesourcery.com>
5440
5441          * testsuite/libgomp.fortran/target9.f90: New.
5442
54432019-10-30  Tobias Burnus  <tobias@codesourcery.com>
5444
5445          * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
5446          * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
5447          * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
5448          * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
5449          * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
5450          * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
5451          * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
5452          * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
5453          * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
5454          * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
5455          * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
5456          * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
5457          * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
5458          * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
5459          * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
5460          * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
5461          * testsuite/libgomp.fortran/associate1.f90: Ditto.
5462          * testsuite/libgomp.fortran/associate2.f90: Ditto.
5463          * testsuite/libgomp.fortran/associate3.f90: Ditto.
5464          * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
5465          * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
5466          * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
5467          * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
5468          * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
5469          * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
5470          * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
5471          * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
5472          * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
5473          * testsuite/libgomp.fortran/character1.f90: Ditto.
5474          * testsuite/libgomp.fortran/character2.f90: Ditto.
5475          * testsuite/libgomp.fortran/collapse1.f90: Ditto.
5476          * testsuite/libgomp.fortran/collapse2.f90: Ditto.
5477          * testsuite/libgomp.fortran/collapse3.f90: Ditto.
5478          * testsuite/libgomp.fortran/collapse4.f90: Ditto.
5479          * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
5480          * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
5481          * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
5482          * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
5483          * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
5484          * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
5485          * testsuite/libgomp.fortran/depend-1.f90: Ditto.
5486          * testsuite/libgomp.fortran/depend-2.f90: Ditto.
5487          * testsuite/libgomp.fortran/depend-3.f90: Ditto.
5488          * testsuite/libgomp.fortran/do1.f90: Ditto.
5489          * testsuite/libgomp.fortran/do2.f90: Ditto.
5490          * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
5491          * testsuite/libgomp.fortran/doacross1.f90: Ditto.
5492          * testsuite/libgomp.fortran/doacross2.f90: Ditto.
5493          * testsuite/libgomp.fortran/doacross3.f90: Ditto.
5494          * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
5495          * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
5496          * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
5497          * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
5498          * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
5499          * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
5500          * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
5501          * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
5502          * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
5503          * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
5504          * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
5505          * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
5506          * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
5507          * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
5508          * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
5509          * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
5510          * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
5511          * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
5512          * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
5513          * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
5514          * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
5515          * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
5516          * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
5517          * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
5518          * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
5519          * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
5520          * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
5521          * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
5522          * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
5523          * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
5524          * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
5525          * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
5526          * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
5527          * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
5528          * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
5529          * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
5530          * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
5531          * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
5532          * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
5533          * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
5534          * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
5535          * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
5536          * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
5537          * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
5538          * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
5539          * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5540          * testsuite/libgomp.fortran/lib1.f90: Ditto.
5541          * testsuite/libgomp.fortran/lib4.f90: Ditto.
5542          * testsuite/libgomp.fortran/lock-1.f90: Ditto.
5543          * testsuite/libgomp.fortran/lock-2.f90: Ditto.
5544          * testsuite/libgomp.fortran/nested1.f90: Ditto.
5545          * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
5546          * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
5547          * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
5548          * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5549          * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
5550          * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
5551          * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5552          * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
5553          * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
5554          * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
5555          * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
5556          * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
5557          * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
5558          * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
5559          * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5560          * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
5561          * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5562          * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
5563          * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
5564          * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
5565          * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
5566          * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
5567          * testsuite/libgomp.fortran/pointer1.f90: Ditto.
5568          * testsuite/libgomp.fortran/pointer2.f90: Ditto.
5569          * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5570          * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
5571          * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
5572          * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
5573          * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
5574          * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
5575          * testsuite/libgomp.fortran/pr28390.f: Ditto.
5576          * testsuite/libgomp.fortran/pr29629.f90: Ditto.
5577          * testsuite/libgomp.fortran/pr32550.f90: Ditto.
5578          * testsuite/libgomp.fortran/pr33880.f90: Ditto.
5579          * testsuite/libgomp.fortran/pr34020.f90: Ditto.
5580          * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5581          * testsuite/libgomp.fortran/pr42162.f90: Ditto.
5582          * testsuite/libgomp.fortran/pr46753.f90: Ditto.
5583          * testsuite/libgomp.fortran/pr48894.f90: Ditto.
5584          * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
5585          * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
5586          * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
5587          * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
5588          * testsuite/libgomp.fortran/pr65597.f90: Ditto.
5589          * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
5590          * testsuite/libgomp.fortran/pr71014.f90: Ditto.
5591          * testsuite/libgomp.fortran/pr81304.f90: Ditto.
5592          * testsuite/libgomp.fortran/pr81841.f90: Ditto.
5593          * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
5594          * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
5595          * testsuite/libgomp.fortran/procptr1.f90: Ditto.
5596          * testsuite/libgomp.fortran/recursion1.f90: Ditto.
5597          * testsuite/libgomp.fortran/reduction1.f90: Ditto.
5598          * testsuite/libgomp.fortran/reduction2.f90: Ditto.
5599          * testsuite/libgomp.fortran/reduction3.f90: Ditto.
5600          * testsuite/libgomp.fortran/reduction4.f90: Ditto.
5601          * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5602          * testsuite/libgomp.fortran/reduction6.f90: Ditto.
5603          * testsuite/libgomp.fortran/reference1.f90: Ditto.
5604          * testsuite/libgomp.fortran/reference2.f90: Ditto.
5605          * testsuite/libgomp.fortran/retval1.f90: Ditto.
5606          * testsuite/libgomp.fortran/retval2.f90: Ditto.
5607          * testsuite/libgomp.fortran/sharing1.f90: Ditto.
5608          * testsuite/libgomp.fortran/sharing2.f90: Ditto.
5609          * testsuite/libgomp.fortran/simd1.f90: Ditto.
5610          * testsuite/libgomp.fortran/simd2.f90: Ditto.
5611          * testsuite/libgomp.fortran/simd3.f90: Ditto.
5612          * testsuite/libgomp.fortran/simd4.f90: Ditto.
5613          * testsuite/libgomp.fortran/simd5.f90: Ditto.
5614          * testsuite/libgomp.fortran/simd6.f90: Ditto.
5615          * testsuite/libgomp.fortran/simd7.f90: Ditto.
5616          * testsuite/libgomp.fortran/stack.f90: Ditto.
5617          * testsuite/libgomp.fortran/strassen.f90: Ditto.
5618          * testsuite/libgomp.fortran/tabs1.f90: Ditto.
5619          * testsuite/libgomp.fortran/tabs2.f: Ditto.
5620          * testsuite/libgomp.fortran/target1.f90: Ditto.
5621          * testsuite/libgomp.fortran/target2.f90: Ditto.
5622          * testsuite/libgomp.fortran/target3.f90: Ditto.
5623          * testsuite/libgomp.fortran/target4.f90: Ditto.
5624          * testsuite/libgomp.fortran/target5.f90: Ditto.
5625          * testsuite/libgomp.fortran/target6.f90: Ditto.
5626          * testsuite/libgomp.fortran/target7.f90: Ditto.
5627          * testsuite/libgomp.fortran/target8.f90: Ditto.
5628          * testsuite/libgomp.fortran/task1.f90: Ditto.
5629          * testsuite/libgomp.fortran/task2.f90: Ditto.
5630          * testsuite/libgomp.fortran/task3.f90: Ditto.
5631          * testsuite/libgomp.fortran/task4.f90: Ditto.
5632          * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5633          * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5634          * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5635          * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5636          * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5637          * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
5638          * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
5639          * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
5640          * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
5641          * testsuite/libgomp.fortran/udr1.f90: Ditto.
5642          * testsuite/libgomp.fortran/udr10.f90: Ditto.
5643          * testsuite/libgomp.fortran/udr11.f90: Ditto.
5644          * testsuite/libgomp.fortran/udr12.f90: Ditto.
5645          * testsuite/libgomp.fortran/udr13.f90: Ditto.
5646          * testsuite/libgomp.fortran/udr14.f90: Ditto.
5647          * testsuite/libgomp.fortran/udr15.f90: Ditto.
5648          * testsuite/libgomp.fortran/udr2.f90: Ditto.
5649          * testsuite/libgomp.fortran/udr3.f90: Ditto.
5650          * testsuite/libgomp.fortran/udr4.f90: Ditto.
5651          * testsuite/libgomp.fortran/udr5.f90: Ditto.
5652          * testsuite/libgomp.fortran/udr6.f90: Ditto.
5653          * testsuite/libgomp.fortran/udr7.f90: Ditto.
5654          * testsuite/libgomp.fortran/udr8.f90: Ditto.
5655          * testsuite/libgomp.fortran/udr9.f90: Ditto.
5656          * testsuite/libgomp.fortran/vla1.f90: Ditto.
5657          * testsuite/libgomp.fortran/vla2.f90: Ditto.
5658          * testsuite/libgomp.fortran/vla3.f90: Ditto.
5659          * testsuite/libgomp.fortran/vla4.f90: Ditto.
5660          * testsuite/libgomp.fortran/vla5.f90: Ditto.
5661          * testsuite/libgomp.fortran/vla6.f90: Ditto.
5662          * testsuite/libgomp.fortran/vla7.f90: Ditto.
5663          * testsuite/libgomp.fortran/vla8.f90: Ditto.
5664          * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5665          * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5666
56672019-10-30  Tobias Burnus  <tobias@codesourcery.com>
5668
5669          * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
5670          * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
5671          Ditto; add 'dg-do run' for torture testing.
5672          * testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
5673          * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5674          * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5675          * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5676          * testsuite/libgomp.fortran/pr28390.f: Ditto.
5677          * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5678          * testsuite/libgomp.fortran/pr90779.f90: Ditto.
5679          * testsuite/libgomp.fortran/task2.f90: Ditto.
5680          * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5681          * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5682          * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5683          * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5684          * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5685          * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5686
56872019-10-28  Tobias Burnus  <tobias@codesourcery.com>
5688
5689          * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
5690          * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
5691          * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
5692          * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
5693          * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
5694          * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
5695          * testsuite/libgomp.oacc-fortran/common-block-1.f90:
5696          Use 'stop' not abort().
5697          * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
5698          * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
5699          * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
5700          * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
5701          * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
5702          * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
5703          * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
5704          * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
5705          * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
5706          * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
5707          * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
5708          * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
5709          * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
5710          * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
5711          * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
5712          * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
5713          * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5714          Ditto.
5715          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5716          Ditto.
5717          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5718          Ditto.
5719          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5720          Ditto.
5721          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5722          Ditto.
5723          * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
5724          Ditto.
5725          * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
5726          Ditto.
5727          * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
5728          Ditto.
5729          * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
5730          Ditto.
5731          * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
5732          Ditto.
5733          * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
5734          Ditto.
5735          * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
5736          Ditto.
5737          * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
5738          Ditto.
5739          * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
5740          Ditto.
5741          * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
5742          * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
5743          * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
5744          * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
5745          * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5746          Likewise and also add 'dg-do run'.
5747          * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5748          Ditto.
5749
57502019-10-25  Cesar Philippidis <cesar@codesourcery.com>
5751              Tobias Burnus  <tobias@codesourcery.com>
5752
5753          * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
5754          * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
5755          * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
5756
57572019-10-14  Jakub Jelinek  <jakub@redhat.com>
5758
5759          PR libgomp/92081
5760          * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
5761          than 0.
5762
57632019-10-11  Tobias Burnus  <tobias@codesourcery.com>
5764
5765          * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
5766          * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
5767
57682019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
5769
5770          PR middle-end/92036
5771          * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
5772          file.
5773
57742019-10-09  Tobias Burnus  <tobias@codesourcery.com>
5775
5776          PR testsuite/91884
5777          * testsuite/libgomp.fortran/fortran.exp: Conditionally
5778          add -lquadmath.
5779          * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
5780
57812019-10-09  Jakub Jelinek  <jakub@redhat.com>
5782
5783          PR libgomp/92028
5784          * target.c (gomp_map_vars_internal): Readd the previous
5785          GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
5786          though do that just in the !not_found_cnt case.
5787
57882019-10-08  Tobias Burnus  <tobias@codesourcery.com>
5789
5790          * gfortran.dg/gomp/target-simd.f90: New.
5791
57922019-10-02  Julian Brown  <julian@codesourcery.com>
5793              Cesar Philippidis  <cesar@codesourcery.com>
5794
5795          * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
5796          * target.c (FIELD_TGT_EMPTY): Define.
5797          (gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
5798          as switch instead of list of ifs.
5799          (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
5800
58012019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
5802
5803          * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
5804          include. Replace alloca () with __builtin_alloca ().
5805          * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
5806
58072019-10-01  Jakub Jelinek  <jakub@redhat.com>
5808
5809          * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
5810          * libgomp.h: Include <stdint.h> instead of "gstdint.h".
5811          * oacc-parallel.c: Don't include "libgomp_g.h".
5812          * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
5813          * plugin/plugin-nvptx.c: Don't include "gstdint.h".
5814          * aclocal.m4: Regenerated.
5815          * config.h.in: Regenerated.
5816          * configure: Regenerated.
5817          * Makefile.in: Regenerated.
5818
58192019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
5820
5821          * libgomp_g.h: Include stdint.h instead of gstdint.h.
5822
58232019-09-27  Maciej W. Rozycki  <macro@wdc.com>
5824
5825          * configure: Regenerate.
5826
58272019-09-13  Tobias Burnus  <tobias@codesourcery.com>
5828
5829          * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
5830          string is initialized.
5831
58322019-09-06  Florian Weimer  <fweimer@redhat.com>
5833
5834          * configure: Regenerate.
5835
58362019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
5837
5838          PR other/79543
5839          * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
5840          scanning to conform to the GNU Coding Standards.
5841          * configure: Regenerate.
5842
58432019-08-28  Jakub Jelinek  <jakub@redhat.com>
5844
5845          PR libgomp/91530
5846          * testsuite/libgomp.c/scan-21.c: New test.
5847          * testsuite/libgomp.c/scan-22.c: New test.
5848
58492019-08-27  Jakub Jelinek  <jakub@redhat.com>
5850
5851          PR libgomp/91530
5852          * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
5853          targets.
5854          * testsuite/libgomp.c/scan-12.c: Likewise.
5855          * testsuite/libgomp.c/scan-13.c: Likewise.
5856          * testsuite/libgomp.c/scan-14.c: Likewise.
5857          * testsuite/libgomp.c/scan-15.c: Likewise.
5858          * testsuite/libgomp.c/scan-16.c: Likewise.
5859          * testsuite/libgomp.c/scan-17.c: Likewise.
5860          * testsuite/libgomp.c/scan-18.c: Likewise.
5861          * testsuite/libgomp.c/scan-19.c: Likewise.
5862          * testsuite/libgomp.c/scan-20.c: Likewise.
5863          * testsuite/libgomp.c++/scan-9.C: Likewise.
5864          * testsuite/libgomp.c++/scan-10.C: Likewise.
5865          * testsuite/libgomp.c++/scan-11.C: Likewise.
5866          * testsuite/libgomp.c++/scan-12.C: Likewise.
5867          * testsuite/libgomp.c++/scan-14.C: Likewise.
5868          * testsuite/libgomp.c++/scan-15.C: Likewise.
5869          * testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
5870          instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
5871          * testsuite/libgomp.c++/scan-16.C: Likewise.
5872
58732019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
5874
5875          PR fortran/91473
5876          * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
5877          -std=legacy so invalid code in the test case is accepted.
5878
58792019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
5880
5881          PR fortran/91422
5882          * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
5883          dimension.
5884
58852019-08-08  Jakub Jelinek  <jakub@redhat.com>
5886
5887          * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
5888          perform the lookup in the first loop only if !not_found_cnt, otherwise
5889          perform lookups for it in the second loop guarded with
5890          if (not_found_cnt || has_firstprivate).
5891          * testsuite/libgomp.c/target-37.c: New test.
5892          * testsuite/libgomp.c++/target-22.C: New test.
5893
58942019-08-07  Jakub Jelinek  <jakub@redhat.com>
5895
5896          * testsuite/libgomp.c/target-18.c (struct S): New type.
5897          (foo): Use use_device_addr clause instead of use_device_ptr clause
5898          where required by OpenMP 5.0, add further tests for both use_device_ptr
5899          and use_device_addr clauses.
5900          * testsuite/libgomp.c++/target-9.C (struct S): New type.
5901          (foo): Use use_device_addr clause instead of use_device_ptr clause
5902          where required by OpenMP 5.0, add further tests for both use_device_ptr
5903          and use_device_addr clauses.  Add t and u arguments.
5904          (main): Adjust caller.
5905
59062019-08-06  Jakub Jelinek  <jakub@redhat.com>
5907
5908          * testsuite/libgomp.c++/loop-13.C: New test.
5909          * testsuite/libgomp.c++/loop-14.C: New test.
5910          * testsuite/libgomp.c++/loop-15.C: New test.
5911
59122019-07-31  Jakub Jelinek  <jakub@redhat.com>
5913
5914          PR middle-end/91301
5915          * testsuite/libgomp.c++/for-27.C: New test.
5916
59172019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
5918
5919          * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
5920          * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5921
59222019-07-20  Jakub Jelinek  <jakub@redhat.com>
5923
5924          * testsuite/libgomp.c-c++-common/loop-1.c: New test.
5925
59262019-07-08  Jakub Jelinek  <jakub@redhat.com>
5927
5928          * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
5929          * testsuite/libgomp.c++/scan-16.C: Likewise.
5930
59312019-07-06  Jakub Jelinek  <jakub@redhat.com>
5932
5933          * testsuite/libgomp.c/scan-19.c: New test.
5934          * testsuite/libgomp.c/scan-20.c: New test.
5935
5936          * testsuite/libgomp.c/scan-11.c: New test.
5937          * testsuite/libgomp.c/scan-12.c: New test.
5938          * testsuite/libgomp.c/scan-13.c: New test.
5939          * testsuite/libgomp.c/scan-14.c: New test.
5940          * testsuite/libgomp.c/scan-15.c: New test.
5941          * testsuite/libgomp.c/scan-16.c: New test.
5942          * testsuite/libgomp.c/scan-17.c: New test.
5943          * testsuite/libgomp.c/scan-18.c: New test.
5944          * testsuite/libgomp.c++/scan-9.C: New test.
5945          * testsuite/libgomp.c++/scan-10.C: New test.
5946          * testsuite/libgomp.c++/scan-11.C: New test.
5947          * testsuite/libgomp.c++/scan-12.C: New test.
5948          * testsuite/libgomp.c++/scan-13.C: New test.
5949          * testsuite/libgomp.c++/scan-14.C: New test.
5950          * testsuite/libgomp.c++/scan-15.C: New test.
5951          * testsuite/libgomp.c++/scan-16.C: New test.
5952
59532019-07-04  Jakub Jelinek  <jakub@redhat.com>
5954
5955          * testsuite/libgomp.c/scan-9.c: New test.
5956          * testsuite/libgomp.c/scan-10.c: New test.
5957
59582019-07-03  Jakub Jelinek  <jakub@redhat.com>
5959
5960          * testsuite/libgomp.c++/scan-1.C: New test.
5961          * testsuite/libgomp.c++/scan-2.C: New test.
5962          * testsuite/libgomp.c++/scan-3.C: New test.
5963          * testsuite/libgomp.c++/scan-4.C: New test.
5964          * testsuite/libgomp.c++/scan-5.C: New test.
5965          * testsuite/libgomp.c++/scan-6.C: New test.
5966          * testsuite/libgomp.c++/scan-7.C: New test.
5967          * testsuite/libgomp.c++/scan-8.C: New test.
5968          * testsuite/libgomp.c/scan-1.c: New test.
5969          * testsuite/libgomp.c/scan-2.c: New test.
5970          * testsuite/libgomp.c/scan-3.c: New test.
5971          * testsuite/libgomp.c/scan-4.c: New test.
5972          * testsuite/libgomp.c/scan-5.c: New test.
5973          * testsuite/libgomp.c/scan-6.c: New test.
5974          * testsuite/libgomp.c/scan-7.c: New test.
5975          * testsuite/libgomp.c/scan-8.c: New test.
5976
59772019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
5978
5979          * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
5980          * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
5981          Likewise.
5982
5983          * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
5984          check.
5985
59862019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
5987
5988          * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
5989          file.
5990
59912019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
5992
5993          PR fortran/90743
5994          * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
5995          case.
5996          * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
5997          * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
5998          * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
5999          * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
6000
6001          PR testsuite/90861
6002          * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
6003
6004          PR middle-end/90862
6005          * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
6006
60072019-06-16  Tom de Vries  <tdevries@suse.de>
6008
6009          PR tree-optimization/89376
6010          * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
6011
60122019-06-15  Tom de Vries  <tdevries@suse.de>
6013
6014          PR tree-optimization/89713
6015          * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
6016          * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
6017
60182019-06-15  Jakub Jelinek  <jakub@redhat.com>
6019
6020          PR middle-end/90779
6021          * testsuite/libgomp.c/pr90779.c: New test.
6022          * testsuite/libgomp.fortran/pr90779.f90: New test.
6023
60242019-06-15  Tom de Vries  <tdevries@suse.de>
6025
6026          PR tree-optimization/90009
6027          * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
6028
60292019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
6030
6031          PR tree-optimization/89713
6032          * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
6033
60342019-06-11  Jakub Jelinek  <jakub@redhat.com>
6035
6036          PR target/90811
6037          * testsuite/libgomp.c/pr90811.c: New test.
6038
60392019-06-05  Jakub Jelinek  <jakub@redhat.com>
6040
6041          * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
6042          * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
6043
60442019-06-04  Jakub Jelinek  <jakub@redhat.com>
6045
6046          * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
6047          * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
6048          * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
6049          * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
6050
60512019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6052
6053          * configure.ac: Call AX_COUNT_CPUS.
6054          Substitute CPU_COUNT.
6055          * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
6056          count fallback.
6057          * aclocal.m4: Regenerate.
6058          * configure: Regenerate.
6059          * Makefile.in, testsuite/Makefile.in: Regenerate.
6060
60612019-05-29  Jakub Jelinek  <jakub@redhat.com>
6062
6063          * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
6064          to ...
6065          * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
6066          * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
6067          * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
6068
60692019-05-27  Jakub Jelinek  <jakub@redhat.com>
6070
6071          * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
6072
6073          * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
6074
6075          PR libgomp/90641
6076          * work.c (gomp_init_work_share): Instead of aligning final ordered
6077          value to multiples of long long alignment, align to that the
6078          first part (ordered team ids) and if inline_ordered_team_ids
6079          is not on a long long alignment boundary within the structure,
6080          use __alignof__ (long long) - 1 pad size always.
6081          * loop.c (GOMP_loop_start): Fix *mem computation if
6082          inline_ordered_team_ids is not aligned on long long alignment boundary
6083          within the structure.
6084          * loop-ull.c (GOMP_loop_ull_start): Likewise.
6085          * sections.c (GOMP_sections2_start): Likewise.
6086
60872019-05-24  Jakub Jelinek  <jakub@redhat.com>
6088
6089          * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
6090          * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
6091
6092          PR libgomp/90585
6093          * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
6094          HAVE_INTTYPES_H is defined.
6095          (print_uint64_t): New typedef.
6096          (PRIu64): Define if HAVE_INTTYPES_H is not defined.
6097          (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
6098          "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
6099          (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
6100          before casting to void *.
6101          * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
6102          * oacc-mem.c: Don't include config.h nor stdint.h.
6103          * target.c: Don't include config.h.
6104          * oacc-cuda.c: Likewise.
6105          * oacc-host.c: Don't include stdint.h.
6106
61072019-05-20  Jakub Jelinek  <jakub@redhat.com>
6108
6109          PR libgomp/90527
6110          * alloc.c (_GNU_SOURCE): Define.
6111
61122019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
6113
6114          * acc_prof.h: New file.
6115          * oacc-profiling.c: Likewise.
6116          * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6117          Add these, respectively.
6118          * Makefile.in: Regenerate.
6119          * env.c (initialize_env): Call goacc_profiling_initialize.
6120          * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6121          (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6122          * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6123          (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6124          * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6125          acc_prof_register, acc_prof_unregister, and acc_register_library.
6126          (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6127          GOMP_PLUGIN_goacc_thread.
6128          * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6129          prof_callbacks_enabled members.
6130          (goacc_prof_enabled, goacc_profiling_initialize)
6131          (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6132          (goacc_profiling_dispatch): Declare.
6133          (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6134          (GOACC_PROFILING_SETUP_P): Define.
6135          * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6136          (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6137          OpenACC Profiling Interface.
6138          * oacc-cuda.c (acc_get_current_cuda_device)
6139          (acc_get_current_cuda_context, acc_get_cuda_stream)
6140          (acc_set_cuda_stream): Likewise.
6141          * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6142          (acc_init, acc_set_device_type, acc_get_device_type)
6143          (acc_get_device_num, goacc_lazy_initialize): Likewise.
6144          * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6145          (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6146          (acc_unmap_data, present_create_copy, delete_copyout)
6147          (update_dev_host): Likewise.
6148          * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6149          (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6150          Likewise.
6151          * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6152          (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6153          Likewise.
6154          * libgomp.texi: Update.
6155          * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6156          file.
6157          * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6158          * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6159          Likewise.
6160          * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6161          Likewise.
6162          * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6163          Likewise.
6164          * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6165          Likewise.
6166
61672019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
6168
6169          * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6170          (struct goacc_asyncqueue_list): Likewise.
6171          (goacc_aq): Likewise.
6172          (goacc_aq_list): Likewise.
6173          (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6174          (GOMP_OFFLOAD_openacc_async_test): Remove.
6175          (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6176          (GOMP_OFFLOAD_openacc_async_wait): Remove.
6177          (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6178          (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6179          (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6180          (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6181          (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6182          (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6183          (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6184          (GOMP_OFFLOAD_openacc_async_exec): Declare.
6185          (GOMP_OFFLOAD_openacc_async_construct): Declare.
6186          (GOMP_OFFLOAD_openacc_async_destruct): Declare.
6187          (GOMP_OFFLOAD_openacc_async_test): Declare.
6188          (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6189          (GOMP_OFFLOAD_openacc_async_serialize): Declare.
6190          (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6191          (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6192          (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6193
6194          * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6195          (gomp_acc_insert_pointer): Adjust declaration.
6196          (gomp_copy_host2dev): New declaration.
6197          (gomp_copy_dev2host): Likewise.
6198          (gomp_map_vars_async): Likewise.
6199          (gomp_unmap_tgt): Likewise.
6200          (gomp_unmap_vars_async): Likewise.
6201          (gomp_fini_device): Likewise.
6202
6203          * oacc-async.c (get_goacc_thread): New function.
6204          (get_goacc_thread_device): New function.
6205          (lookup_goacc_asyncqueue): New function.
6206          (get_goacc_asyncqueue): New function.
6207          (acc_async_test): Adjust code to use new async design.
6208          (acc_async_test_all): Likewise.
6209          (acc_wait): Likewise.
6210          (acc_wait_async): Likewise.
6211          (acc_wait_all): Likewise.
6212          (acc_wait_all_async): Likewise.
6213          (goacc_async_free): New function.
6214          (goacc_init_asyncqueues): Likewise.
6215          (goacc_fini_asyncqueues): Likewise.
6216          * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6217          design.
6218          (acc_set_cuda_stream): Likewise.
6219          * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6220          (host_openacc_register_async_cleanup): Remove.
6221          (host_openacc_async_exec): New function.
6222          (host_openacc_async_test): Adjust parameters.
6223          (host_openacc_async_test_all): Remove.
6224          (host_openacc_async_wait): Remove.
6225          (host_openacc_async_wait_async): Remove.
6226          (host_openacc_async_wait_all): Remove.
6227          (host_openacc_async_wait_all_async): Remove.
6228          (host_openacc_async_set_async): Remove.
6229          (host_openacc_async_synchronize): New function.
6230          (host_openacc_async_serialize): New function.
6231          (host_openacc_async_host2dev): New function.
6232          (host_openacc_async_dev2host): New function.
6233          (host_openacc_async_queue_callback): New function.
6234          (host_openacc_async_construct): New function.
6235          (host_openacc_async_destruct): New function.
6236          (struct gomp_device_descr host_dispatch): Remove initialization of old
6237          interface, add initialization of new async sub-struct.
6238          * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6239          (goacc_attach_host_thread_to_device): Remove old async code usage.
6240          * oacc-int.h (goacc_init_asyncqueues): New declaration.
6241          (goacc_fini_asyncqueues): Likewise.
6242          (goacc_async_copyout_unmap_vars): Likewise.
6243          (goacc_async_free): Likewise.
6244          (get_goacc_asyncqueue): Likewise.
6245          (lookup_goacc_asyncqueue): Likewise.
6246          * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6247          design.
6248          (present_create_copy): Adjust code to use new async design.
6249          (delete_copyout): Likewise.
6250          (update_dev_host): Likewise.
6251          (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6252          async design.
6253          (gomp_acc_remove_pointer): Adjust code to use new async design.
6254          * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6255          design.
6256          (GOACC_enter_exit_data): Likewise.
6257          (goacc_wait): Likewise.
6258          (GOACC_update): Likewise.
6259          * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6260          when called, warn as obsolete in comment.
6261          * target.c (goacc_device_copy_async): New function.
6262          (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6263          add goacc_device_copy_async case.
6264          (gomp_copy_dev2host): Likewise.
6265          (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6266          (gomp_map_pointer): Likewise.
6267          (gomp_map_fields_existing): Likewise.
6268          (gomp_map_vars_internal): New always_inline function, renamed from
6269          gomp_map_vars.
6270          (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6271          (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6272          passing goacc_asyncqueue argument.
6273          (gomp_unmap_tgt): Remove static, add attribute_hidden.
6274          (gomp_unref_tgt): New function.
6275          (gomp_unmap_vars_internal): New always_inline function, renamed from
6276          gomp_unmap_vars.
6277          (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6278          (gomp_unmap_vars_async): Implement by calling
6279          gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6280          (gomp_fini_device): New function.
6281          (gomp_exit_data): Adjust gomp_copy_dev2host call.
6282          (gomp_load_plugin_for_device): Remove old interface, adjust to load
6283          new async interface.
6284          (gomp_target_fini): Adjust code to call gomp_fini_device.
6285
6286          * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6287          (struct ptx_stream): Remove.
6288          (struct nvptx_thread): Remove current_stream field.
6289          (cuda_map_create): Remove.
6290          (cuda_map_destroy): Remove.
6291          (map_init): Remove.
6292          (map_fini): Remove.
6293          (map_pop): Remove.
6294          (map_push): Remove.
6295          (struct goacc_asyncqueue): Define.
6296          (struct nvptx_callback): Define.
6297          (struct ptx_free_block): Define.
6298          (struct ptx_device): Remove null_stream, active_streams, async_streams,
6299          stream_lock, and next fields.
6300          (enum ptx_event_type): Remove.
6301          (struct ptx_event): Remove.
6302          (ptx_event_lock): Remove.
6303          (ptx_events): Remove.
6304          (init_streams_for_device): Remove.
6305          (fini_streams_for_device): Remove.
6306          (select_stream_for_async): Remove.
6307          (nvptx_init): Remove ptx_events and ptx_event_lock references.
6308          (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6309          case.
6310          (nvptx_open_device): Add free_blocks initialization, remove
6311          init_streams_for_device call.
6312          (nvptx_close_device): Remove fini_streams_for_device call, add
6313          free_blocks destruct code.
6314          (event_gc): Remove.
6315          (event_add): Remove.
6316          (nvptx_exec): Adjust parameters and code.
6317          (nvptx_free): Likewise.
6318          (nvptx_host2dev): Remove.
6319          (nvptx_dev2host): Remove.
6320          (nvptx_set_async): Remove.
6321          (nvptx_async_test): Remove.
6322          (nvptx_async_test_all): Remove.
6323          (nvptx_wait): Remove.
6324          (nvptx_wait_async): Remove.
6325          (nvptx_wait_all): Remove.
6326          (nvptx_wait_all_async): Remove.
6327          (nvptx_get_cuda_stream): Remove.
6328          (nvptx_set_cuda_stream): Remove.
6329          (GOMP_OFFLOAD_alloc): Adjust code.
6330          (GOMP_OFFLOAD_free): Likewise.
6331          (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6332          (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6333          (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6334          (GOMP_OFFLOAD_openacc_async_wait): Remove.
6335          (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6336          (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6337          (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6338          (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6339          (cuda_free_argmem): New function.
6340          (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6341          (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6342          (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6343          (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6344          (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6345          (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6346          (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6347          (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6348          (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6349          (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6350          (cuda_callback_wrapper): New function.
6351          (cuda_memcpy_sanity_check): New function.
6352          (GOMP_OFFLOAD_host2dev): Remove and re-implement.
6353          (GOMP_OFFLOAD_dev2host): Remove and re-implement.
6354          (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6355          (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6356
63572019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
6358
6359          PR target/87835
6360          * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6361
63622019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
6363
6364          * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6365
63662019-03-27  Kevin Buettner  <kevinb@redhat.com>
6367
6368          * team.c (gomp_team_start): Initialize pool->threads[0].
6369
63702019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
6371
6372          * testsuite/libgomp.oacc-c++/c++.exp: Specify
6373          "-foffload=$offload_target".
6374          * testsuite/libgomp.oacc-c/c.exp: Likewise.
6375          * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6376          * testsuite/lib/libgomp.exp
6377          (check_effective_target_openacc_nvidia_accel_configured): Remove,
6378          as (conceptually) merged into
6379          check_effective_target_openacc_nvidia_accel_selected.  Adjust all
6380          users.
6381
6382          * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6383          * testsuite/libgomp-test-support.exp.in: Adjust.
6384          * testsuite/lib/libgomp.exp: Likewise.  Don't populate
6385          openacc_device_types_s.
6386          (offload_target_to_openacc_device_type): New proc.
6387          * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6388          * testsuite/libgomp.oacc-c/c.exp: Likewise.
6389          * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6390          * Makefile.in: Regenerate.
6391          * configure: Likewise.
6392          * testsuite/Makefile.in: Likewise.
6393
6394          * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
6395          instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
6396          instead of OFFLOAD_TARGETS.
6397          * target.c (gomp_target_init): Adjust.
6398          * testsuite/libgomp-test-support.exp.in: Likewise.
6399          * testsuite/lib/libgomp.exp: Likewise.  Populate
6400          openacc_device_types_s instead of offload_targets_s_openacc.
6401          (check_effective_target_openacc_nvidia_accel_selected)
6402          (check_effective_target_openacc_host_selected): Adjust.
6403          * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6404          * testsuite/libgomp.oacc-c/c.exp: Likewise.
6405          * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6406          * Makefile.in: Regenerate.
6407          * config.h.in: Likewise.
6408          * configure: Likewise.
6409          * testsuite/Makefile.in: Likewise.
6410
6411          * testsuite/lib/libgomp.exp: Error out for unknown offload target.
6412          * testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
6413          "offloading: supported, but hardware not accessible".
6414          * testsuite/libgomp.oacc-c/c.exp: Likewise.
6415          * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6416
64172019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
6418
6419          PR c/87924
6420          * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6421          goacc_wait().
6422          (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6423          and related adjustment.
6424
64252019-01-30  Jakub Jelinek  <jakub@redhat.com>
6426
6427          PR c++/88988
6428          * testsuite/libgomp.c++/pr88988.C: New test.
6429
64302019-01-28  Jakub Jelinek  <jakub@redhat.com>
6431
6432          PR middle-end/89002
6433          * testsuite/libgomp.c/pr89002.c: New test.
6434
64352019-01-28  Richard Biener  <rguenther@suse.de>
6436
6437          PR testsuite/89064
6438          PR tree-optimization/86865
6439          * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
6440
64412019-01-24  Tom de Vries  <tdevries@suse.de>
6442
6443          * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
6444          once instantiated_devices drops to 0.
6445
64462019-01-23  Tom de Vries  <tdevries@suse.de>
6447
6448          PR target/PR88946
6449          * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
6450          cuMemFree.
6451          (nvptx_exec): Don't call map_push if mapnum == 0.
6452          * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
6453
64542019-01-23  Tom de Vries  <tdevries@suse.de>
6455
6456          PR target/88941
6457          PR target/88939
6458          * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
6459          (map_fini): Remove "assert (!s->map->active)".
6460          * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
6461
64622019-01-23  Tom de Vries  <tdevries@suse.de>
6463
6464          PR target/87835
6465          * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
6466          * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
6467
64682019-01-15  Tom de Vries  <tdevries@suse.de>
6469
6470          PR target/80547
6471          * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
6472          New test.
6473
64742019-01-12  Tom de Vries  <tdevries@suse.de>
6475
6476          * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
6477          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
6478          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
6479          * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
6480
64812019-01-12  Tom de Vries  <tdevries@suse.de>
6482
6483          * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
6484
64852019-01-12  Tom de Vries  <tdevries@suse.de>
6486
6487          * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
6488          * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
6489          * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
6490
64912019-01-12  Tom de Vries  <tdevries@suse.de>
6492
6493          PR target/85486
6494          * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
6495          * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
6496
64972019-01-12  Tom de Vries  <tdevries@suse.de>
6498
6499          PR target/85381
6500          * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
6501          * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
6502
65032019-01-12  Tom de Vries  <tdevries@suse.de>
6504
6505          * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
6506          * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
6507          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
6508
65092019-01-12  Tom de Vries  <tdevries@suse.de>
6510
6511          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
6512          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
6513          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
6514
65152019-01-12  Tom de Vries  <tdevries@suse.de>
6516
6517          * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
6518          resources diagnostic.
6519
65202019-01-12  Tom de Vries  <tdevries@suse.de>
6521
6522          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
6523          vector length to be 128.
6524          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
6525          length 2097152 to be reduced to 1024 instead of 32.
6526
65272019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
6528            James Norris  <jnorris@codesourcery.com>
6529
6530          * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
6531          Library Routines", and "Environment Variables".
6532
65332019-01-11  Tom de Vries  <tdevries@suse.de>
6534
6535          * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
6536          num_workers 16.
6537
65382019-01-11  Tom de Vries  <tdevries@suse.de>
6539
6540          * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
6541          -foffload=-w.
6542          * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
6543          * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
6544          * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
6545          * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
6546
65472019-01-11  Tom de Vries  <tdevries@suse.de>
6548
6549          * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
6550          test.
6551
65522019-01-10  Nathan Sidwell  <nathan@acm.org>
6553              Julian Brown  <julian@codesourcery.com>
6554
6555          PR lto/71959
6556          * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
6557          * testsuite/libgomp.oacc-c++/pr71959.C: New.
6558
65592019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6560
6561          * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
6562          and paste code.
6563
65642019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6565
6566          * config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
6567          undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6568          write.
6569
65702019-01-09  Tom de Vries  <tdevries@suse.de>
6571
6572          PR target/88756
6573          * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
6574          #define instead of "const int".
6575          * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
6576          * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
6577          * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
6578          * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
6579
65802019-01-09  Tom de Vries  <tdevries@suse.de>
6581
6582          * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
6583          one worker.
6584
65852019-01-07  Tom de Vries  <tdevries@suse.de>
6586
6587          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
6588          GOMP_OPENACC_DIM argument.
6589
65902019-01-03  Tom de Vries  <tdevries@suse.de>
6591
6592          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
6593          * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
6594
65952019-01-01  Jakub Jelinek  <jakub@redhat.com>
6596
6597          Update copyright years.
6598
65992019-01-01  Jakub Jelinek  <jakub@redhat.com>
6600
6601          * libgomp.texi: Bump @copying's copyright year.
6602
66032018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
6604
6605          * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
6606          (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
6607          (GOACC_declare): Redefine the "device" argument to "flags".
6608
66092018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
6610              Cesar Philippidis  <cesar@codesourcery.com>
6611
6612          * target.c (struct gomp_coalesce_chunk): New structure.
6613          (struct gomp_coalesce_buf): Update the chunks member to use that
6614          type.  Adjust all users.
6615
66162018-12-19  Tom de Vries  <tdevries@suse.de>
6617
6618          * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
6619          * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
6620          * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
6621
66222018-12-19  Tom de Vries  <tdevries@suse.de>
6623
6624          * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
6625          * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
6626          gcc/testsuite/gcc.dg/goacc.
6627          * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
6628
66292018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
6630              Chung-Lin Tang  <cltang@codesourcery.com>
6631
6632          * oacc-mem.c (acc_present_or_create): Remove definition and change
6633          to alias of acc_create.
6634          (acc_present_or_copyin): Remove definition and change to alias of
6635          acc_copyin.
6636          * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
6637          of acc_present_or_create.
6638          * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
6639          * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6640          * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6641          * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6642          * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6643          * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6644          * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6645          * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6646          * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6647          * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6648          * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6649          * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6650          * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6651          * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6652          * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6653          * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6654
66552018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
6656
6657          PR libgomp/88495
6658          * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
6659          "identical parameters".
6660          * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
6661          * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
6662
6663          PR libgomp/88484
6664          * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
6665          * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
6666
6667          PR libgomp/88407
6668          * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
6669          (nvptx_wait_async): Unseen async-argument is a no-op.
6670          * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
6671          * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
6672          * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6673          * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6674          * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6675          * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
6676          * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
6677          * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
6678          * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
6679
6680          * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
6681          * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6682
66832018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
6684
6685          * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
6686          * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6687          * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6688
66892018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
6690
6691          PR libgomp/88370
6692          * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
6693          (acc_set_cuda_stream): Clarify.
6694          * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6695          "async_valid_p".
6696          * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
6697          acc_async_sync".
6698          * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
6699          * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
6700          * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
6701          * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6702
67032018-12-14  Tom de Vries  <tdevries@suse.de>
6704
6705          * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
6706          * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
6707          * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
6708          * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
6709          * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
6710
67112018-12-13  Tom de Vries  <tdevries@suse.de>
6712
6713          * affinity-fmt.c (gomp_print_string): New function, factored out of ...
6714          (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
6715          * fortran.c (omp_display_affinity_): ... here.
6716          * libgomp.h (gomp_print_string): Declare.
6717          * config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
6718          undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6719          write.
6720
67212018-12-13  Jakub Jelinek  <jakub@redhat.com>
6722
6723          PR libgomp/88460
6724          * testsuite/libgomp.c++/for-24.C (results): Include it in
6725          omp declare target region.
6726          (main): Use map (always, tofrom: results) instead of
6727          map (tofrom: results).
6728
67292018-12-12  Jakub Jelinek  <jakub@redhat.com>
6730
6731          PR fortran/88463
6732          * testsuite/libgomp.fortran/pr88463-1.f90: New test.
6733          * testsuite/libgomp.fortran/pr88463-2.f90: New test.
6734
6735          * testsuite/libgomp.c-c++-common/for-16.c: New test.
6736
67372018-12-12  Andreas Schwab  <schwab@suse.de>
6738
6739          * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
6740          clobbered.
6741
67422018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
6743
6744          PR fortran/88411
6745          * testsuite/libgomp.fortran/async_io_8.f90: New test.
6746
67472018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
6748              Jakub Jelinek  <jakub@redhat.com>
6749
6750          * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
6751          devicep->host2dev_func.
6752
67532018-12-08  Jakub Jelinek  <jakub@redhat.com>
6754
6755          PR libgomp/87995
6756          * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
6757          tls_runtime effective target.
6758          (t): New threadprivate variable.
6759          (main): Set t in threads which execute iterations of the worksharing
6760          loop.  Propagate that to the task after the loop and don't abort
6761          if the current taskgroup hasn't been cancelled.
6762
67632018-12-02  Jakub Jelinek  <jakub@redhat.com>
6764
6765          * testsuite/libgomp.c/task-reduction-3.c: New test.
6766
6767          * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
6768
67692018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
6770
6771          PR libgomp/88288
6772          * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
6773          * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
6774
67752018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
6776
6777          * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
6778
67792018-10-19  Richard Biener  <rguenther@suse.de>
6780
6781          PR tree-optimization/88182
6782          * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
6783
67842018-11-26  Jakub Jelinek  <jakub@redhat.com>
6785
6786          * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
6787          (RUNTEST): Don't define.
6788          (RUNTESTDEFAULTFLAGS): Add.
6789          (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
6790          (distclean-am): Depend on distclean-DEJAGNU.
6791          (check-am): If -j% option is present in MFLAGS and if
6792          `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
6793          (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
6794          * testsuite/Makefile.in: Regenerated.
6795
67962018-11-26  Richard Biener  <rguenther@suse.de>
6797
6798          PR tree-optimization/88182
6799          * testsuite/libgomp.c++/pr88182.C: New testcase.
6800
68012018-11-20  Jakub Jelinek  <jakub@redhat.com>
6802
6803          PR bootstrap/88106
6804          * config/mingw32/affinity-fmt.c: New file.
6805
68062018-11-09  Jakub Jelinek  <jakub@redhat.com>
6807
6808          * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
6809          (gomp_display_affinity): Use __builtin_choose_expr to handle
6810          properly handle argument having integral, or pointer or some other
6811          type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
6812          with uint64_t type instead of %llx and unsigned long long.
6813
6814          * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
6815          * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
6816
68172018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6818
6819          * affinity.c: Include <string.h>, <stdio.h>.
6820          (gomp_display_affinity_place): Remove cpusetp.
6821          * teams.c: Include <limits.h>.
6822
68232018-11-08  Jakub Jelinek  <jakub@redhat.com>
6824
6825          * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
6826          in_reduction clause for s[0].
6827
6828          * affinity.c (gomp_display_affinity_place): New function.
6829          * affinity-fmt.c: New file.
6830          * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
6831          * config/linux/affinity.c (gomp_display_affinity_place): New function.
6832          * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
6833          Move these functions to ...
6834          * config/nvptx/teams.c: ... here.  New file.
6835          * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
6836          New functions.
6837          * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
6838          functions.
6839          * configure.ac: Check for aligned_alloc, posix_memalign, memalign
6840          and _aligned_malloc.
6841          (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
6842          * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
6843          * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
6844          gomp_affinity_format_len): New variables.
6845          (parse_schedule): Parse monotonic and nonmonotonic modifiers in
6846          OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
6847          (handle_omp_display_env): Display monotonic/nonmonotonic schedule
6848          modifiers.  Display (non-default) chunk sizes.  Print
6849          OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
6850          (initialize_env): Don't call pthread_attr_setdetachstate.  Handle
6851          OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
6852          * fortran.c: Include stdio.h and string.h.
6853          (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
6854          (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
6855          (omp_set_affinity_format_, omp_get_affinity_format_,
6856          omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
6857          omp_pause_resource_all_): New functions.
6858          * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
6859          switch.
6860          * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
6861          functions to ...
6862          * teams.c: ... here.  New file.
6863          * libgomp_g.h: Include gstdint.h.
6864          (GOMP_loop_nonmonotonic_runtime_start,
6865          GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
6866          GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
6867          GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
6868          GOMP_parallel_loop_nonmonotonic_runtime,
6869          GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6870          GOMP_loop_ull_nonmonotonic_runtime_start,
6871          GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
6872          GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
6873          GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6874          GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
6875          GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
6876          GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6877          GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6878          GOMP_teams_reg): Declare.
6879          * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
6880          gomp_aligned_alloc uses fallback implementation.
6881          (gomp_aligned_alloc, gomp_aligned_free): Declare.
6882          (enum gomp_schedule_type): Add GFS_MONOTONIC.
6883          (struct gomp_doacross_work_share): Add extra field.
6884          (struct gomp_work_share): Add task_reductions field.
6885          (struct gomp_taskgroup): Add workshare and reductions fields.
6886          (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
6887          (gomp_thread_handle): New typedef.
6888          (gomp_display_affinity_place, gomp_set_affinity_format,
6889          gomp_display_string, gomp_display_affinity,
6890          gomp_display_affinity_thread): Declare.
6891          (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
6892          (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
6893          gomp_workshare_task_reduction_register): Declare.
6894          (gomp_team_start): Add taskgroup argument.
6895          (gomp_pause_host): Declare.
6896          (gomp_init_work_share, gomp_work_share_start): Change bool argument
6897          to size_t.
6898          (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
6899          * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
6900          GOMP_loop_ordered_start, GOMP_loop_doacross_start,
6901          GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6902          GOMP_loop_ull_doacross_start,
6903          GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6904          GOMP_loop_maybe_nonmonotonic_runtime_next,
6905          GOMP_loop_maybe_nonmonotonic_runtime_start,
6906          GOMP_loop_nonmonotonic_runtime_next,
6907          GOMP_loop_nonmonotonic_runtime_start,
6908          GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6909          GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6910          GOMP_loop_ull_nonmonotonic_runtime_next,
6911          GOMP_loop_ull_nonmonotonic_runtime_start,
6912          GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6913          GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
6914          GOMP_taskgroup_reduction_register,
6915          GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6916          GOMP_teams_reg and GOMP_taskwait_depend.
6917          (OMP_5.0): Export omp_pause_resource{,_all}{,_},
6918          omp_{capture,display}_affinity{,_}, and
6919          omp_[gs]et_affinity_format{,_}.
6920          * loop.c: Include string.h.
6921          (GOMP_loop_runtime_next): Add ialias.
6922          (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6923          (gomp_loop_static_start, gomp_loop_dynamic_start,
6924          gomp_loop_guided_start, gomp_loop_ordered_static_start,
6925          gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6926          gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6927          gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
6928          or gomp_doacross_init callers.
6929          (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
6930          GOMP_loop_doacross_start): New functions.
6931          (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6932          GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
6933          Mask off GFS_MONOTONIC bit.
6934          (GOMP_loop_maybe_nonmonotonic_runtime_next,
6935          GOMP_loop_maybe_nonmonotonic_runtime_start,
6936          GOMP_loop_nonmonotonic_runtime_next,
6937          GOMP_loop_nonmonotonic_runtime_start,
6938          GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6939          GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
6940          functions.
6941          (gomp_parallel_loop_start): Pass NULL as taskgroup to
6942          gomp_team_start.
6943          * loop_ull.c: Include string.h.
6944          (GOMP_loop_ull_runtime_next): Add ialias.
6945          (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6946          (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
6947          gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
6948          gomp_loop_ull_ordered_dynamic_start,
6949          gomp_loop_ull_ordered_guided_start,
6950          gomp_loop_ull_doacross_static_start,
6951          gomp_loop_ull_doacross_dynamic_start,
6952          gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
6953          and gomp_doacross_ull_init callers.
6954          (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6955          GOMP_loop_ull_doacross_start): New functions.
6956          (GOMP_loop_ull_runtime_start,
6957          GOMP_loop_ull_ordered_runtime_start,
6958          GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
6959          (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6960          GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6961          GOMP_loop_ull_nonmonotonic_runtime_next,
6962          GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
6963          * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
6964          * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
6965          (omp_pause_resource_t, omp_depend_t): New typedefs.
6966          (enum omp_lock_hint_t): Renamed to ...
6967          (enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
6968          enumerators using numbers and omp_lock_hint_* as their aliases.
6969          (omp_lock_hint_t): New typedef.  Rename to ...
6970          (omp_sync_hint_t): ... this.
6971          (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
6972          omp_sync_hint_t instead of omp_lock_hint_t.
6973          (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6974          omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6975          Declare.
6976          (omp_target_is_present, omp_target_disassociate_ptr):
6977          Change first argument from void * to const void *.
6978          (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
6979          from void * to const void *.
6980          (omp_target_associate_ptr): Change first and second arguments from
6981          void * to const void *.
6982          * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
6983          omp_pause_hard): New parameters.
6984          (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6985          omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6986          New interfaces.
6987          * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
6988          omp_pause_hard): New parameters.
6989          (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6990          omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6991          New externals.
6992          * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
6993          EXTRA argument.  If not needed to prepare array, if extra is 0,
6994          clear ws->doacross, otherwise allocate just doacross structure and
6995          extra payload.  If array is needed, allocate also extra payload.
6996          (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
6997          GOMP_doacross_ull_wait): Handle doacross->array == NULL like
6998          doacross == NULL.
6999          * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
7000          gomp_team_start.
7001          (GOMP_parallel): Likewise.  Formatting fix.
7002          (GOMP_parallel_reductions): New function.
7003          (GOMP_cancellation_point): If taskgroup has workshare
7004          flag set, check cancelled of prev taskgroup if any.
7005          (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
7006          on prev taskgroup if any.
7007          * sections.c: Include string.h.
7008          (GOMP_taskgroup_reduction_register): Add ialias_redirect.
7009          (GOMP_sections_start): Adjust gomp_work_share_start caller.
7010          (GOMP_sections2_start): New function.
7011          (GOMP_parallel_sections_start, GOMP_parallel_sections):
7012          Pass NULL as taskgroup to gomp_team_start.
7013          * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
7014          gomp_work_share_start callers.
7015          * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
7016          If taskgroup has workshare flag set, check cancelled on prev
7017          taskgroup if any.  Guard all cancellation tests with
7018          gomp_cancel_var test.
7019          (omp_target_is_present, omp_target_disassociate_ptr):
7020          Change ptr argument from void * to const void *.
7021          (omp_target_memcpy): Change src argument from void * to const void *.
7022          (omp_target_memcpy_rect): Likewise.
7023          (omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
7024          instead of char * where needed.
7025          (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
7026          from void * to const void *.
7027          (omp_pause_resource, omp_pause_resource_all): New functions.
7028          * task.c (gomp_task_handle_depend): Handle new depend array format
7029          in addition to the old.  Handle mutexinoutset kinds the same as
7030          inout for now, handle unspecified kinds.
7031          (gomp_create_target_task): If taskgroup has workshare flag set, check
7032          cancelled on prev taskgroup if any.  Guard all cancellation tests with
7033          gomp_cancel_var test.  Handle new depend array format count in
7034          addition to the old.
7035          (GOMP_task): Likewise.  Adjust function comment.
7036          (gomp_task_run_pre): If taskgroup has workshare flag set, check
7037          cancelled on prev taskgroup if any.  Guard all cancellation tests with
7038          gomp_cancel_var test.
7039          (GOMP_taskwait_depend): New function.
7040          (gomp_task_maybe_wait_for_dependencies): Handle new depend array
7041          format in addition to the old.  Handle mutexinoutset kinds the same as
7042          inout for now, handle unspecified kinds.  Fix a function comment typo.
7043          (gomp_taskgroup_init): New function.
7044          (GOMP_taskgroup_start): Use it.
7045          (gomp_reduction_register, gomp_create_artificial_team,
7046          GOMP_taskgroup_reduction_register,
7047          GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
7048          gomp_parallel_reduction_register,
7049          gomp_workshare_task_reduction_register,
7050          gomp_workshare_taskgroup_start,
7051          GOMP_workshare_task_reduction_unregister): New functions.
7052          * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
7053          check cancelled on prev taskgroup if any.  Guard all cancellation
7054          tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
7055          by calling GOMP_taskgroup_reduction_register.
7056          * team.c (gomp_thread_attr): Remove comment.
7057          (struct gomp_thread_start_data): Add handle field.
7058          (gomp_thread_start): Call pthread_detach.
7059          (gomp_new_team): Adjust gomp_init_work_share caller.
7060          (gomp_free_pool_helper): Call pthread_detach.
7061          (gomp_team_start): Add taskgroup argument, initialize implicit
7062          tasks' taskgroup field to that.  Don't call
7063          pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
7064          (gomp_team_end): Determine nesting by thr->ts.level != 0
7065          rather than thr->ts.team != NULL.
7066          (gomp_pause_pool_helper, gomp_pause_host): New functions.
7067          * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
7068          gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
7069          (gomp_init_work_share): Change ORDERED argument from bool to size_t,
7070          if more than 1 allocate also extra payload at the end of array.  Never
7071          keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
7072          (gomp_work_share_start): Change ORDERED argument from bool to size_t,
7073          return true instead of ws.
7074          * Makefile.in: Regenerated.
7075          * configure: Regenerated.
7076          * config.h.in: Regenerated.
7077          * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
7078          in some cases.
7079          * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
7080          * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
7081          * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
7082          * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
7083          * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
7084          * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
7085          * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
7086          * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
7087          * testsuite/libgomp.c-c++-common/for-10.c: New test.
7088          * testsuite/libgomp.c-c++-common/for-11.c: New test.
7089          * testsuite/libgomp.c-c++-common/for-12.c: New test.
7090          * testsuite/libgomp.c-c++-common/for-13.c: New test.
7091          * testsuite/libgomp.c-c++-common/for-14.c: New test.
7092          * testsuite/libgomp.c-c++-common/for-15.c: New test.
7093          * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
7094          define a different N(test), don't define N(f0) to N(f14), but instead
7095          define N(f20) to N(f34) using != comparisons.
7096          * testsuite/libgomp.c-c++-common/for-7.c: New test.
7097          * testsuite/libgomp.c-c++-common/for-8.c: New test.
7098          * testsuite/libgomp.c-c++-common/for-9.c: New test.
7099          * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
7100          * testsuite/libgomp.c-c++-common/pause-1.c: New test.
7101          * testsuite/libgomp.c-c++-common/pause-2.c: New test.
7102          * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
7103          * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
7104          * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
7105          * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7106          * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7107          * testsuite/libgomp.c-c++-common/simd-1.c: New test.
7108          * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7109          * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7110          * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7111          * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7112          * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7113          * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7114          * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7115          * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7116          * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7117          * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7118          * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7119          * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7120          * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7121          * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7122          * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7123          * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7124          * testsuite/libgomp.c++/depend-1.C: New test.
7125          * testsuite/libgomp.c++/depend-iterator-1.C: New test.
7126          * testsuite/libgomp.c++/depobj-1.C: New test.
7127          * testsuite/libgomp.c++/for-16.C: New test.
7128          * testsuite/libgomp.c++/for-21.C: New test.
7129          * testsuite/libgomp.c++/for-22.C: New test.
7130          * testsuite/libgomp.c++/for-23.C: New test.
7131          * testsuite/libgomp.c++/for-24.C: New test.
7132          * testsuite/libgomp.c++/for-25.C: New test.
7133          * testsuite/libgomp.c++/for-26.C: New test.
7134          * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7135          * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7136          * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7137          * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7138          * testsuite/libgomp.c++/task-reduction-10.C: New test.
7139          * testsuite/libgomp.c++/task-reduction-11.C: New test.
7140          * testsuite/libgomp.c++/task-reduction-12.C: New test.
7141          * testsuite/libgomp.c++/task-reduction-13.C: New test.
7142          * testsuite/libgomp.c++/task-reduction-14.C: New test.
7143          * testsuite/libgomp.c++/task-reduction-15.C: New test.
7144          * testsuite/libgomp.c++/task-reduction-16.C: New test.
7145          * testsuite/libgomp.c++/task-reduction-17.C: New test.
7146          * testsuite/libgomp.c++/task-reduction-18.C: New test.
7147          * testsuite/libgomp.c++/task-reduction-19.C: New test.
7148          * testsuite/libgomp.c/task-reduction-1.c: New test.
7149          * testsuite/libgomp.c++/task-reduction-1.C: New test.
7150          * testsuite/libgomp.c/task-reduction-2.c: New test.
7151          * testsuite/libgomp.c++/task-reduction-2.C: New test.
7152          * testsuite/libgomp.c++/task-reduction-3.C: New test.
7153          * testsuite/libgomp.c++/task-reduction-4.C: New test.
7154          * testsuite/libgomp.c++/task-reduction-5.C: New test.
7155          * testsuite/libgomp.c++/task-reduction-6.C: New test.
7156          * testsuite/libgomp.c++/task-reduction-7.C: New test.
7157          * testsuite/libgomp.c++/task-reduction-8.C: New test.
7158          * testsuite/libgomp.c++/task-reduction-9.C: New test.
7159          * testsuite/libgomp.c/teams-1.c: New test.
7160          * testsuite/libgomp.c/teams-2.c: New test.
7161          * testsuite/libgomp.c/thread-limit-4.c: New test.
7162          * testsuite/libgomp.c/thread-limit-5.c: New test.
7163          * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7164
71652018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
7166
7167          * oacc-mem.c (memcpy_tofrom_device): New function, combined from
7168          acc_memcpy_to/from_device functions, now with async parameter.
7169          (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7170          (acc_memcpy_from_device): Likewise.
7171          (acc_memcpy_to_device_async): New API function.
7172          (acc_memcpy_from_device_async): Likewise.
7173          (present_create_copy): Add async parameter and async setting/unsetting.
7174          (acc_create): Adjust present_create_copy call.
7175          (acc_copyin): Likewise.
7176          (acc_present_or_create): Likewise.
7177          (acc_present_or_copyin): Likewise.
7178          (acc_create_async): New API function.
7179          (acc_copyin_async): New API function.
7180          (delete_copyout): Add async parameter and async setting/unsetting.
7181          (acc_delete): Adjust delete_copyout call.
7182          (acc_copyout): Likewise.
7183          (acc_delete_async): New API function.
7184          (acc_copyout_async): Likewise.
7185          (update_dev_host): Add async parameter and async setting/unsetting.
7186          (acc_update_device): Adjust update_dev_host call.
7187          (acc_update_self): Likewise.
7188          (acc_update_device_async): New API function.
7189          (acc_update_self_async): Likewise.
7190          * openacc.h (acc_copyin_async): Declare new API function.
7191          (acc_create_async): Likewise.
7192          (acc_copyout_async): Likewise.
7193          (acc_delete_async): Likewise.
7194          (acc_update_device_async): Likewise.
7195          (acc_update_self_async): Likewise.
7196          (acc_memcpy_to_device_async): Likewise.
7197          (acc_memcpy_from_device_async): Likewise.
7198          * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7199          (acc_copyin_async_64_h): New subroutine.
7200          (acc_copyin_async_array_h): New subroutine.
7201          (acc_create_async_32_h): New subroutine.
7202          (acc_create_async_64_h): New subroutine.
7203          (acc_create_async_array_h): New subroutine.
7204          (acc_copyout_async_32_h): New subroutine.
7205          (acc_copyout_async_64_h): New subroutine.
7206          (acc_copyout_async_array_h): New subroutine.
7207          (acc_delete_async_32_h): New subroutine.
7208          (acc_delete_async_64_h): New subroutine.
7209          (acc_delete_async_array_h): New subroutine.
7210          (acc_update_device_async_32_h): New subroutine.
7211          (acc_update_device_async_64_h): New subroutine.
7212          (acc_update_device_async_array_h): New subroutine.
7213          (acc_update_self_async_32_h): New subroutine.
7214          (acc_update_self_async_64_h): New subroutine.
7215          (acc_update_self_async_array_h): New subroutine.
7216          * openacc.f90 (acc_copyin_async_32_h): New subroutine.
7217          (acc_copyin_async_64_h): New subroutine.
7218          (acc_copyin_async_array_h): New subroutine.
7219          (acc_create_async_32_h): New subroutine.
7220          (acc_create_async_64_h): New subroutine.
7221          (acc_create_async_array_h): New subroutine.
7222          (acc_copyout_async_32_h): New subroutine.
7223          (acc_copyout_async_64_h): New subroutine.
7224          (acc_copyout_async_array_h): New subroutine.
7225          (acc_delete_async_32_h): New subroutine.
7226          (acc_delete_async_64_h): New subroutine.
7227          (acc_delete_async_array_h): New subroutine.
7228          (acc_update_device_async_32_h): New subroutine.
7229          (acc_update_device_async_64_h): New subroutine.
7230          (acc_update_device_async_array_h): New subroutine.
7231          (acc_update_self_async_32_h): New subroutine.
7232          (acc_update_self_async_64_h): New subroutine.
7233          (acc_update_self_async_array_h): New subroutine.
7234          * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7235          acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7236          acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7237          acc_memcpy_to_device_async*, acc_update_device_async*, and
7238          acc_update_self_async* entries.
7239          * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7240          * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7241          * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7242
72432018-10-31  Joseph Myers  <joseph@codesourcery.com>
7244
7245          PR bootstrap/82856
7246          * Makefile.am: Include multilib.am
7247          (AUTOMAKE_OPTIONS): Add info-in-builddir.
7248          (CLEANFILES): Remove libgomp.info.
7249          * configure.ac: Remove AC_PREREQ.
7250          * testsuite/Makefile.am (RUNTEST): Remove quotes.
7251          * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7252          Regenerate.
7253
72542018-10-29  Joseph Myers  <joseph@codesourcery.com>
7255              Julian Brown  <julian@codesourcery.com>
7256
7257          * testsuite/libgomp.oacc-c++/this.C: New.
7258
72592018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
7260
7261          * plugin/plugin-nvptx.c (struct cuda_map): New.
7262          (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7263          h_tail with (cuda_map *) map.
7264          (cuda_map_create): New function.
7265          (cuda_map_destroy): New function.
7266          (map_init): Update to use a linked list of cuda_map objects.
7267          (map_fini): Likewise.
7268          (map_pop): Likewise.
7269          (map_push): Likewise.  Return CUdeviceptr instead of void.
7270          (init_streams_for_device): Remove stales references to ptx_stream
7271          members.
7272          (select_stream_for_async): Likewise.
7273          (nvptx_exec): Update call to map_init.
7274
72752018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
7276            Julian Brown  <julian@codesourcery.com>
7277
7278          PR middle-end/86336
7279          * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7280
72812018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
7282          Thomas Koenig <tkoenig@gcc.gnu.org>
7283
7284          PR fortran/25829
7285          * testsuite/libgomp.fortran/async_io_1.f90: New test.
7286          * testsuite/libgomp.fortran/async_io_2.f90: New test.
7287          * testsuite/libgomp.fortran/async_io_3.f90: New test.
7288          * testsuite/libgomp.fortran/async_io_4.f90: New test.
7289          * testsuite/libgomp.fortran/async_io_5.f90: New test.
7290          * testsuite/libgomp.fortran/async_io_6.f90: New test.
7291          * testsuite/libgomp.fortran/async_io_7.f90: New test.
7292
72932018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
7294              Tom de Vries  <tdevries@suse.de>
7295
7296          PR target/85590
7297          * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7298          (cuOccupancyMaxPotentialBlockSize): Declare.
7299          * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7300          CUDA_ONE_CALL_MAYBE_NULL.
7301          * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7302          CUoccupancyB2DSize and declare
7303          cuOccupancyMaxPotentialBlockSize.
7304          (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7305          default num_gangs and num_workers when the driver supports it.
7306
73072018-08-08  Tom de Vries  <tdevries@suse.de>
7308
7309          * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7310          CUDA_ONE_CALL_MAYBE_NULL.
7311          * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7312          (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7313          (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7314          are not found.
7315
73162018-08-08  Tom de Vries  <tdevries@suse.de>
7317
7318          * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7319          * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7320          present.
7321
73222018-08-08  Tom de Vries  <tdevries@suse.de>
7323
7324          * plugin/plugin-nvptx.c
7325          (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7326          (nvptx_open_device): Use
7327          CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7328
73292018-08-08  Tom de Vries  <tdevries@suse.de>
7330
7331          * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7332          (cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
7333
73342018-08-07  Tom de Vries  <tdevries@suse.de>
7335
7336          * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7337          (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7338          (init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
7339          corresponding call in CUDA_ONE_CALL.  Add def/undef of
7340          CUDA_ONE_CALL_MAYBE_NULL.
7341          (CUDA_CALL_EXISTS): Define.
7342
73432018-08-07  Tom de Vries  <tdevries@suse.de>
7344
7345          * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7346          CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7347          corresponding undefs right after.
7348
73492018-08-04  Tom de Vries  <tdevries@suse.de>
7350
7351          * plugin/configfrag.ac: For --without-cuda-driver, set
7352          CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
7353          CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7354          * configure: Regenerate.
7355
73562018-08-02  Tom de Vries  <tdevries@suse.de>
7357
7358          PR target/86660
7359          * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7360          * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7361          * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7362          Same.
7363          * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7364          * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7365          * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7366
73672018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
7368              Thomas Schwinge <thomas@codesourcery.com>
7369
7370          * config/nvptx/oacc-parallel.c: Truncate.
7371
73722018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
7373              James Norris <jnorris@codesourcery.com>
7374
7375          * plugin/plugin-nvptx.c (struct map): Removed.
7376          (map_init, map_pop): Remove use of struct map.
7377          (map_push): Likewise and change argument list.
7378          * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7379
73802018-08-01  Tom de Vries  <tdevries@suse.de>
7381
7382          * plugin/cuda-lib.def: New file.  Factor out of ...
7383          * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7384          (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7385          using CUDA_CALLS.
7386
73872018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7388
7389          Revert 'AsyncI/O patch committed'.
7390          2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
7391                    Thomas Koenig <tkoenig@gcc.gnu.org>
7392
7393          PR fortran/25829
7394          * testsuite/libgomp.fortran/async_io_1.f90: New test.
7395          * testsuite/libgomp.fortran/async_io_2.f90: New test.
7396          * testsuite/libgomp.fortran/async_io_3.f90: New test.
7397          * testsuite/libgomp.fortran/async_io_4.f90: New test.
7398          * testsuite/libgomp.fortran/async_io_5.f90: New test.
7399          * testsuite/libgomp.fortran/async_io_6.f90: New test.
7400          * testsuite/libgomp.fortran/async_io_7.f90: New test.
7401
74022018-07-30  Tom de Vries  <tdevries@suse.de>
7403
7404          * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
7405          (nvptx_exec): Ensure worker and vector default dims don't exceed
7406          targ_fn->max_threads_per_block.
7407
74082018-07-30  Tom de Vries  <tdevries@suse.de>
7409
7410          * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
7411          (nvptx_open_device): Init default_dims for device.
7412          (nvptx_exec): Use default_dims from device.
7413
74142018-07-26  Jakub Jelinek  <jakub@redhat.com>
7415
7416          PR testsuite/86660
7417          * testsuite/libgomp.c++/for-15.C (results): Include it in
7418          omp declare target region.
7419          (main): Use map (always, tofrom: results) instead of
7420          map (tofrom: results).
7421
7422          PR middle-end/86660
7423          * testsuite/libgomp.c/pr86660.c: New test.
7424
74252018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
7426              Tom de Vries  <tdevries@suse.de>
7427
7428          * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
7429          sufficient resources to launch a kernel, and give a hint on how to fix
7430          it.
7431
74322018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
7433              Tom de Vries  <tdevries@suse.de>
7434
7435          * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
7436          max_threads_per_block and max_threads_per_multiprocessor fields.
7437          (nvptx_open_device): Initialize new fields.
7438          (nvptx_exec): Use num_sms, and new fields.
7439
74402018-07-26  Tom de Vries  <tdevries@suse.de>
7441
7442          * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
7443          to correct locations.  Remove xfail.
7444
74452018-07-26  Tom de Vries  <tdevries@suse.de>
7446
7447          * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
7448          acc_wait.  Move acc_async_test calls to correct locations.  Remove
7449          xfail.
7450
74512018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
7452          Thomas Koenig <tkoenig@gcc.gnu.org>
7453
7454          PR fortran/25829
7455          * testsuite/libgomp.fortran/async_io_1.f90: New test.
7456          * testsuite/libgomp.fortran/async_io_2.f90: New test.
7457          * testsuite/libgomp.fortran/async_io_3.f90: New test.
7458          * testsuite/libgomp.fortran/async_io_4.f90: New test.
7459          * testsuite/libgomp.fortran/async_io_5.f90: New test.
7460          * testsuite/libgomp.fortran/async_io_6.f90: New test.
7461          * testsuite/libgomp.fortran/async_io_7.f90: New test.
7462
74632018-07-17  Jakub Jelinek  <jakub@redhat.com>
7464
7465          PR middle-end/86542
7466          * testsuite/libgomp.c++/pr86542.C: New test.
7467
7468          PR middle-end/86539
7469          * testsuite/libgomp.c++/pr86539.C: New test.
7470
74712018-07-11  Jakub Jelinek  <jakub@redhat.com>
7472
7473          PR c++/86443
7474          * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
7475          (results): Make sure the variable is not inside declare target region.
7476          (qux): Remove unused function.
7477
74782018-07-10  Jakub Jelinek  <jakub@redhat.com>
7479
7480          PR c++/86443
7481          * testsuite/libgomp.c++/for-15.C: New test.
7482
74832018-06-26  Jakub Jelinek  <jakub@redhat.com>
7484
7485          PR c++/86291
7486          * testsuite/libgomp.c++/pr86291.C: New test.
7487
74882018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
7489
7490          * libgomp.texi (Top): Move www.openmp.org to https.
7491          (Enabling OpenMP): Ditto.
7492          (omp_get_active_level): Ditto.
7493          (omp_get_ancestor_thread_num): Ditto.
7494          (omp_get_cancellation): Ditto.
7495          (omp_get_default_device): Ditto.
7496          (omp_get_dynamic): Ditto.
7497          (omp_get_level): Ditto.
7498          (omp_get_max_active_levels): Ditto.
7499          (omp_get_max_task_priority): Ditto.
7500          (omp_get_max_threads): Ditto.
7501          (omp_get_nested): Ditto.
7502          (omp_get_num_devices): Ditto.
7503          (omp_get_num_procs): Ditto.
7504          (omp_get_num_teams): Ditto.
7505          (omp_get_num_threads): Ditto.
7506          (omp_get_proc_bind): Ditto.
7507          (omp_get_schedule): Ditto.
7508          (omp_get_team_num): Ditto.
7509          (omp_get_team_size): Ditto.
7510          (omp_get_thread_limit): Ditto.
7511          (omp_get_thread_num): Ditto.
7512          (omp_in_parallel): Ditto.
7513          (omp_in_final): Ditto.
7514          (omp_is_initial_device): Ditto.
7515          (omp_set_default_device): Ditto.
7516          (omp_set_dynamic): Ditto.
7517          (omp_set_max_active_levels): Ditto.
7518          (omp_set_nested): Ditto.
7519          (omp_set_num_threads): Ditto.
7520          (omp_set_schedule): Ditto.
7521          (omp_init_lock): Ditto.
7522          (omp_set_lock): Ditto.
7523          (omp_test_lock): Ditto.
7524          (omp_unset_lock): Ditto.
7525          (omp_destroy_lock): Ditto.
7526          (omp_init_nest_lock): Ditto.
7527          (omp_set_nest_lock): Ditto.
7528          (omp_test_nest_lock): Ditto.
7529          (omp_unset_nest_lock): Ditto.
7530          (omp_destroy_nest_lock): Ditto.
7531          (omp_get_wtick): Ditto.
7532          (omp_get_wtime): Ditto.
7533          (OMP_CANCELLATION): Ditto.
7534          (OMP_DISPLAY_ENV): Ditto.
7535          (OMP_DEFAULT_DEVICE): Ditto.
7536          (OMP_DYNAMIC): Ditto.
7537          (OMP_MAX_ACTIVE_LEVELS): Ditto.
7538          (OMP_MAX_TASK_PRIORITY): Ditto.
7539          (OMP_NESTED): Ditto.
7540          (OMP_NUM_THREADS): Ditto.
7541          (OMP_PROC_BIND): Ditto.
7542          (OMP_PLACES): Ditto.
7543          (OMP_STACKSIZE): Ditto.
7544          (OMP_SCHEDULE): Ditto.
7545          (OMP_THREAD_LIMIT): Ditto.
7546          (OMP_WAIT_POLICY): Ditto.
7547
75482018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
7549              James Norris  <jnorris@codesourcery.com>
7550              Julian Brown  <julian@codesourcery.com>
7551              Thomas Schwinge  <thomas@codesourcery.com>
7552              Tom de Vries  <tom@codesourcery.com>
7553
7554          * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
7555          * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
7556          * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
7557          * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
7558          * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7559          * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7560          * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
7561          * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
7562          * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
7563          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
7564          Likewise.
7565          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7566          Likewise.
7567          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7568          Likewise.
7569          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
7570          Likewise.
7571          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
7572          Likewise.
7573          * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7574          Likewise.
7575          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
7576          Likewise.
7577          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
7578          Likewise.
7579          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
7580          Likewise.
7581          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
7582          Likewise.
7583          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
7584          Likewise.
7585          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
7586          Likewise.
7587          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
7588          Likewise.
7589          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
7590          Likewise.
7591          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
7592          Likewise.
7593          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
7594          Likewise.
7595          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
7596          Likewise.
7597          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
7598          Likewise.
7599          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
7600          Likewise.
7601          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
7602          Likewise.
7603          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
7604          Likewise.
7605          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
7606          Likewise.
7607          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
7608          Likewise.
7609          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
7610          Likewise.
7611          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
7612          Likewise.
7613          * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
7614          Likewise.
7615          * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
7616          Likewise.
7617          * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
7618          * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
7619          * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
7620          * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
7621          * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
7622          * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
7623          * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
7624          * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
7625          * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
7626          Likewise.
7627          * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
7628          Likewise.
7629          * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
7630          * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
7631          * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
7632          Likewise.
7633          * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
7634          * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
7635          * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
7636          Likewise.
7637          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
7638          Likewise.
7639          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
7640          Likewise.
7641          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
7642          Likewise.
7643          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
7644          Likewise.
7645          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
7646          Likewise.
7647          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
7648          Likewise.
7649          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
7650          Likewise.
7651          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
7652          Likewise.
7653          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
7654          Likewise.
7655          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
7656          Likewise.
7657          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
7658          Likewise.
7659          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
7660          Likewise.
7661          * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
7662          Likewise.
7663          * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
7664          Likewise.
7665          * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7666          * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
7667          * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
7668          * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
7669          * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
7670          * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
7671          * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
7672
76732018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
7674              Thomas Schwinge <thomas@codesourcery.com>
7675              Cesar Philippidis  <cesar@codesourcery.com>
7676
7677          * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
7678          (gomp_acc_remove_pointer): Update declaration.
7679          (gomp_acc_declare_allocate): Declare.
7680          (gomp_remove_var): Declare.
7681          * libgomp.map (OACC_2.5): Define.
7682          * oacc-mem.c (acc_map_data): Update refcount.
7683          (acc_unmap_data): Likewise.
7684          (present_create_copy): Likewise.
7685          (acc_create): Add FLAG_PRESENT when calling present_create_copy.
7686          (acc_copyin): Likewise.
7687          (FLAG_FINALIZE): Define.
7688          (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
7689          (acc_delete_finalize): New function.
7690          (acc_delete_finalize_async): New function.
7691          (acc_copyout_finalize): New function.
7692          (acc_copyout_finalize_async): New function.
7693          (gomp_acc_insert_pointer): Update refcounts.
7694          (gomp_acc_remove_pointer): Return if data is not present on the
7695          accelerator.
7696          * oacc-parallel.c (find_pset): Rename to find_pointer.
7697          (find_pointer): Add support for GOMP_MAP_POINTER.
7698          (handle_ftn_pointers): New function.
7699          (GOACC_parallel_keyed): Update refcounts of variables.
7700          (GOACC_enter_exit_data): Add support for finalized data mappings.
7701          Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
7702          of fortran arrays.
7703          (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
7704          (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
7705          for GOMP_MAP_FORCE_FROM.
7706          * openacc.f90 (module openacc_internal): Add
7707          acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
7708          acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
7709          acc_copyout_finalize and acc_delete_finalize.
7710          (acc_copyout_finalize_32_h): New subroutine.
7711          (acc_copyout_finalize_64_h): New subroutine.
7712          (acc_copyout_finalize_array_h): New subroutine.
7713          (acc_delete_finalize_32_h): New subroutine.
7714          (acc_delete_finalize_64_h): New subroutine.
7715          (acc_delete_finalize_array_h): New subroutine.
7716          * openacc.h (acc_copyout_finalize): Declare.
7717          (acc_copyout_finalize_async): Declare.
7718          (acc_delete_finalize): Declare.
7719          (acc_delete_finalize_async): Declare.
7720          * openacc_lib.h (acc_copyout_finalize): New interface.
7721          (acc_delete_finalize): New interface.
7722          * target.c (gomp_map_vars): Update dynamic_refcount.
7723          (gomp_remove_var): New function.
7724          (gomp_unmap_vars): Use it.
7725          (gomp_unload_image_from_device): Likewise.
7726          * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
7727          case to utilize OpenACC 2.5 data clause semantics.
7728          * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7729          * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7730          * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7731          * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7732          * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7733          * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7734          * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7735          * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7736          * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7737          * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7738          * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7739          * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
7740          * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
7741          utilize OpenACC 2.5 data clause semantics.
7742          * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7743          * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7744          * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7745          * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7746          * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7747          * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7748          * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7749          * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7750          * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7751
77522018-05-21  Janus Weil  <janus@gcc.gnu.org>
7753
7754          PR fortran/85841
7755          PR testsuite/85865
7756          * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
7757          * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7758          * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7759          * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7760          * testsuite/libgomp.fortran/task2.f90: Ditto.
7761          * testsuite/libgomp.fortran/vla1.f90: Ditto.
7762          * testsuite/libgomp.fortran/vla2.f90: Ditto.
7763          * testsuite/libgomp.fortran/vla3.f90: Ditto.
7764          * testsuite/libgomp.fortran/vla4.f90: Ditto.
7765          * testsuite/libgomp.fortran/vla5.f90: Ditto.
7766          * testsuite/libgomp.fortran/vla6.f90: Ditto.
7767          * testsuite/libgomp.fortran/vla8.f90: Ditto.
7768          * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
7769          * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
7770
77712018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
7772
7773          PR c++/85782
7774          * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
7775
77762018-05-09  Tom de Vries  <tom@codesourcery.com>
7777
7778          PR libgomp/82901
7779          * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
7780          to GOACC_enter_exit_data.
7781
77822018-05-09  Tom de Vries  <tom@codesourcery.com>
7783
7784          PR libgomp/83792
7785          * oacc-int.h (async_valid_stream_id_p, async_valid_p)
7786          (async_synchronous_p): New function.
7787          * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
7788          async_valid_p.
7789          * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7790          async_valid_stream_id_p.
7791          * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
7792          * oacc-parallel.c (GOACC_parallel_keyed): Same.
7793
77942018-05-07  Tom de Vries  <tom@codesourcery.com>
7795
7796          PR testsuite/85677
7797          * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
7798          include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
7799
78002018-05-03  Tom de Vries  <tom@codesourcery.com>
7801
7802          PR testsuite/85106
7803          * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
7804          extra_tool_flags if it contains an -foffload=-fdump-* flag.
7805          * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
7806          * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
7807
78082018-05-02  Tom de Vries  <tom@codesourcery.com>
7809
7810          PR libgomp/85411
7811          * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
7812          GOMP_OPENACC_DIM ...
7813          * env.c (parse_gomp_openacc_dim): ... here.  New function.
7814          (initialize_env): Call parse_gomp_openacc_dim.
7815          (goacc_default_dims): Define.
7816          * libgomp.h (goacc_default_dims): Declare.
7817          * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
7818          * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
7819          * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
7820          GOMP_PLUGIN_acc_default_dim.
7821          * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
7822          * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
7823
78242018-05-02  Tom de Vries  <tom@codesourcery.com>
7825
7826          PR testsuite/83791
7827          * testsuite/libgomp.c++/udr-9.C: Update.
7828          * testsuite/libgomp.c++/atomic-16.C: Remove.
7829          * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
7830          * testsuite/libgomp.c++/loop-13.C: Remove.
7831          * testsuite/libgomp.c++/loop-14.C: Remove.
7832          * testsuite/libgomp.c++/loop-15.C: Remove.
7833          * testsuite/libgomp.c++/monotonic-1.C: Remove.
7834          * testsuite/libgomp.c++/monotonic-2.C: Remove.
7835          * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
7836          * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
7837          * testsuite/libgomp.c++/ordered-1.C: Remove.
7838          * testsuite/libgomp.c++/pr45784.C: Remove.
7839          * testsuite/libgomp.c++/pr64824.C: Remove.
7840          * testsuite/libgomp.c++/pr64868.C: Remove.
7841          * testsuite/libgomp.c++/pr66199-1.C: Remove.
7842          * testsuite/libgomp.c++/pr66199-2.C: Remove.
7843          * testsuite/libgomp.c++/pr66199-3.C: Remove.
7844          * testsuite/libgomp.c++/pr66199-4.C: Remove.
7845          * testsuite/libgomp.c++/pr66199-5.C: Remove.
7846          * testsuite/libgomp.c++/pr66199-6.C: Remove.
7847          * testsuite/libgomp.c++/pr66199-7.C: Remove.
7848          * testsuite/libgomp.c++/pr66199-8.C: Remove.
7849          * testsuite/libgomp.c++/pr66199-9.C: Remove.
7850          * testsuite/libgomp.c++/pr69389.C: Remove.
7851          * testsuite/libgomp.c++/simd10.C: Remove.
7852          * testsuite/libgomp.c++/simd11.C: Remove.
7853          * testsuite/libgomp.c++/simd12.C: Remove.
7854          * testsuite/libgomp.c++/simd13.C: Remove.
7855          * testsuite/libgomp.c++/target-1.C: Remove.
7856          * testsuite/libgomp.c++/target-3.C: Remove.
7857          * testsuite/libgomp.c++/target-4.C: Remove.
7858          * testsuite/libgomp.c++/target-5.C: Remove.
7859          * testsuite/libgomp.c++/taskgroup-1.C: Remove.
7860          * testsuite/libgomp.c++/taskloop-1.C: Remove.
7861          * testsuite/libgomp.c++/taskloop-2.C: Remove.
7862          * testsuite/libgomp.c++/taskloop-3.C: Remove.
7863          * testsuite/libgomp.c++/taskloop-4.C: Remove.
7864          * testsuite/libgomp.c++/udr-9.C: Remove.
7865          * testsuite/libgomp.c++/for-10.C: Remove.
7866          * testsuite/libgomp.c++/for-11.C: Remove.
7867          * testsuite/libgomp.c++/for-12.C: Remove.
7868          * testsuite/libgomp.c++/for-13.C: Remove.
7869          * testsuite/libgomp.c++/for-14.C: Remove.
7870          * testsuite/libgomp.c++/for-9.C: Remove.
7871          * testsuite/libgomp.c/atomic-18.c: Move ...
7872          * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
7873          * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
7874          * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
7875          * testsuite/libgomp.c/loop-13.c: Move ...
7876          * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
7877          * testsuite/libgomp.c/loop-14.c: Move ...
7878          * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
7879          * testsuite/libgomp.c/loop-15.c: Remove.
7880          * testsuite/libgomp.c-c++-common/loop-15.c: New test.
7881          * testsuite/libgomp.c/monotonic-1.c: Move ...
7882          * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
7883          * testsuite/libgomp.c/monotonic-2.c: Move ...
7884          * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
7885          * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
7886          * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
7887          * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
7888          * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
7889          * testsuite/libgomp.c/ordered-4.c: Move ...
7890          * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
7891          * testsuite/libgomp.c/pr45784.c: Move ...
7892          * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
7893          * testsuite/libgomp.c/pr64824.c: Move ...
7894          * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
7895          * testsuite/libgomp.c/pr64868.c: Move ...
7896          * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
7897          * testsuite/libgomp.c/pr66199-1.c: Move ...
7898          * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
7899          * testsuite/libgomp.c/pr66199-2.c: Move ...
7900          * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
7901          * testsuite/libgomp.c/pr66199-3.c: Move ...
7902          * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
7903          * testsuite/libgomp.c/pr66199-4.c: Move ...
7904          * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
7905          * testsuite/libgomp.c/pr66199-5.c: Move ...
7906          * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
7907          * testsuite/libgomp.c/pr66199-6.c: Move ...
7908          * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
7909          * testsuite/libgomp.c/pr66199-7.c: Move ...
7910          * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
7911          * testsuite/libgomp.c/pr66199-8.c: Move ...
7912          * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
7913          * testsuite/libgomp.c/pr66199-9.c: Move ...
7914          * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
7915          * testsuite/libgomp.c/pr69389.c: Move ...
7916          * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
7917          * testsuite/libgomp.c/simd-14.c: Move ...
7918          * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
7919          * testsuite/libgomp.c/simd-15.c: Move ...
7920          * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
7921          * testsuite/libgomp.c/simd-16.c: Move ...
7922          * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
7923          * testsuite/libgomp.c/simd-17.c: Move ...
7924          * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
7925          * testsuite/libgomp.c/target-1.c: Move ...
7926          * testsuite/libgomp.c-c++-common/target-1.c: ... here.
7927          * testsuite/libgomp.c/target-10.c: Move ...
7928          * testsuite/libgomp.c-c++-common/target-10.c: ... here.
7929          * testsuite/libgomp.c/target-13.c: Move ...
7930          * testsuite/libgomp.c-c++-common/target-13.c: ... here.
7931          * testsuite/libgomp.c/target-2.c: Move ...
7932          * testsuite/libgomp.c-c++-common/target-2.c: ... here.
7933          * testsuite/libgomp.c/taskgroup-1.c: Move ...
7934          * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
7935          * testsuite/libgomp.c/taskloop-1.c: Move ...
7936          * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
7937          * testsuite/libgomp.c/taskloop-2.c: Move ...
7938          * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
7939          * testsuite/libgomp.c/taskloop-3.c: Move ...
7940          * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
7941          * testsuite/libgomp.c/taskloop-4.c: Move ...
7942          * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
7943          * testsuite/libgomp.c/udr-1.c: Move ...
7944          * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
7945          * testsuite/libgomp.c/for-1.c: Move ...
7946          * testsuite/libgomp.c-c++-common/for-1.c: ... here.
7947          * testsuite/libgomp.c/for-1.h: Move ...
7948          * testsuite/libgomp.c-c++-common/for-1.h: ... here.
7949          * testsuite/libgomp.c/for-2.c: Move ...
7950          * testsuite/libgomp.c-c++-common/for-2.c: ... here.
7951          * testsuite/libgomp.c/for-2.h: Move ...
7952          * testsuite/libgomp.c-c++-common/for-2.h: ... here.
7953          * testsuite/libgomp.c/for-3.c: Move ...
7954          * testsuite/libgomp.c-c++-common/for-3.c: ... here.
7955          * testsuite/libgomp.c/for-4.c: Move ...
7956          * testsuite/libgomp.c-c++-common/for-4.c: ... here.
7957          * testsuite/libgomp.c/for-5.c: Move ...
7958          * testsuite/libgomp.c-c++-common/for-5.c: ... here.
7959          * testsuite/libgomp.c/for-6.c: Move ...
7960          * testsuite/libgomp.c-c++-common/for-6.c: ... here.
7961
79622018-05-02  Tom de Vries  <tom@codesourcery.com>
7963
7964          PR libgomp/82428
7965          * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
7966          __builtin_goacc_parlevel_{id,size}.
7967          * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
7968          * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
7969          * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
7970          * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
7971          * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
7972          * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
7973          * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
7974          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
7975          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
7976          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
7977          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
7978          * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
7979          * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
7980          * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
7981          * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
7982          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
7983          * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
7984          * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
7985          * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
7986          * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
7987          * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
7988          * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
7989          * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
7990
79912018-05-02  Tom de Vries  <tom@codesourcery.com>
7992
7993          PR testsuite/85106
7994          * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
7995
79962018-05-02  Tom de Vries  <tom@codesourcery.com>
7997
7998          PR testsuite/85106
7999          * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
8000
80012018-04-29  Julian Brown  <julian@codesourcery.com>
8002              Tom de Vries  <tom@codesourcery.com>
8003
8004          PR testsuite/85527
8005          * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
8006          arbitrary order for iterations of atomic subtract check.
8007
80082018-04-28  Tom de Vries  <tom@codesourcery.com>
8009
8010          PR testsuite/85527
8011          * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
8012          atomic capture results obtained in parallel loop to an array, instead of
8013          to a scalar.
8014
80152018-04-26  Tom de Vries  <tom@codesourcery.com>
8016
8017          PR libgomp/84020
8018          * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
8019          * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
8020          (process_GOMP_NVPTX_JIT): New function.
8021          (link_ptx): Use process_GOMP_NVPTX_JIT.
8022
80232018-04-26  Richard Biener <rguenther@suse.de>
8024              Tom de Vries  <tom@codesourcery.com>
8025
8026          PR lto/85422
8027          * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
8028
80292018-04-26  Tom de Vries  <tom@codesourcery.com>
8030
8031          PR target/85519
8032          * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
8033          recursion depth from 25 to 23.
8034          * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
8035
80362018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
8037
8038          * configure: Regenerated.
8039
80402018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
8041              Tom de Vries  <tom@codesourcery.com>
8042
8043          PR target/85445
8044          * testsuite/libgomp.oacc-c++/ref-1.C: New.
8045
80462018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
8047
8048          PR libgomp/85463
8049          * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
8050          * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8051          * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8052          * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
8053          * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
8054          * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
8055
8056          PR libfortran/85166
8057          * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
8058          abort".
8059          * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8060
80612018-04-19  Jakub Jelinek  <jakub@redhat.com>
8062
8063          * configure: Regenerated.
8064
80652018-04-18  David Malcolm  <dmalcolm@redhat.com>
8066
8067          PR jit/85384
8068          * configure: Regenerate.
8069
80702018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
8071              Tom de Vries  <tom@codesourcery.com>
8072
8073          PR middle-end/84955
8074          * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8075          * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8076
80772018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
8078
8079          PR fortran/83064
8080          PR testsuite/85346
8081          * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
8082          test from gfortran.dg to here.
8083
80842018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
8085
8086          * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
8087          * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
8088
80892018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
8090
8091          PR middle-end/84955
8092          * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
8093          * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
8094
80952018-04-05  Tom de Vries  <tom@codesourcery.com>
8096
8097          PR target/85204
8098          * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
8099
81002018-03-26  Tom de Vries  <tom@codesourcery.com>
8101
8102          PR tree-optimization/85063
8103          * testsuite/libgomp.c/switch-conversion-2.c: New test.
8104          * testsuite/libgomp.c/switch-conversion.c: New test.
8105          * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8106          * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8107
81082018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
8109
8110          PR fortran/84381
8111          * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8112          call abort by STOP n.
8113          * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8114          * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8115          * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8116          * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8117          * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8118          * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8119          * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8120          * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8121          * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8122          * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8123          * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8124          * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8125          * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8126          * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8127          * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8128          * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8129          * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8130          * testsuite/libgomp.fortran/associate1.f90: Likewise.
8131          * testsuite/libgomp.fortran/associate2.f90: Likewise.
8132          * testsuite/libgomp.fortran/associate3.f90: Likewise.
8133          * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8134          * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8135          * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8136          * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8137          * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8138          * testsuite/libgomp.fortran/character1.f90: Likewise.
8139          * testsuite/libgomp.fortran/character2.f90: Likewise.
8140          * testsuite/libgomp.fortran/collapse1.f90: Likewise.
8141          * testsuite/libgomp.fortran/collapse2.f90: Likewise.
8142          * testsuite/libgomp.fortran/collapse3.f90: Likewise.
8143          * testsuite/libgomp.fortran/collapse4.f90: Likewise.
8144          * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8145          * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8146          * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8147          * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8148          * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8149          * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8150          * testsuite/libgomp.fortran/depend-1.f90: Likewise.
8151          * testsuite/libgomp.fortran/depend-2.f90: Likewise.
8152          * testsuite/libgomp.fortran/depend-3.f90: Likewise.
8153          * testsuite/libgomp.fortran/do1.f90: Likewise.
8154          * testsuite/libgomp.fortran/do2.f90: Likewise.
8155          * testsuite/libgomp.fortran/doacross1.f90: Likewise.
8156          * testsuite/libgomp.fortran/doacross2.f90: Likewise.
8157          * testsuite/libgomp.fortran/doacross3.f90: Likewise.
8158          * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8159          * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8160          * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8161          * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8162          * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8163          * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8164          * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8165          * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8166          * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8167          * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8168          * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8169          * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8170          * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8171          * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8172          * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8173          * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8174          * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8175          * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8176          * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8177          * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8178          * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8179          * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8180          * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8181          * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8182          * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8183          * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8184          * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8185          * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8186          * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8187          * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8188          * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8189          * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8190          * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8191          * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8192          * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8193          * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8194          * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8195          * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8196          * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8197          * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8198          * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8199          * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8200          * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8201          * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8202          * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8203          * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8204          * testsuite/libgomp.fortran/lib1.f90: Likewise.
8205          * testsuite/libgomp.fortran/lib2.f: Likewise.
8206          * testsuite/libgomp.fortran/lib3.f: Likewise.
8207          * testsuite/libgomp.fortran/lib4.f90: Likewise.
8208          * testsuite/libgomp.fortran/lock-1.f90: Likewise.
8209          * testsuite/libgomp.fortran/lock-2.f90: Likewise.
8210          * testsuite/libgomp.fortran/nested1.f90: Likewise.
8211          * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8212          * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8213          * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8214          * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8215          * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8216          * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8217          * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8218          * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8219          * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8220          * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8221          * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8222          * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8223          * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8224          * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8225          * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8226          * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8227          * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8228          * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8229          * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8230          * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8231          * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8232          * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8233          * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8234          * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8235          * testsuite/libgomp.fortran/pr25162.f: Likewise.
8236          * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8237          * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8238          * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8239          * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8240          * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8241          * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8242          * testsuite/libgomp.fortran/pr28390.f: Likewise.
8243          * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8244          * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8245          * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8246          * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8247          * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8248          * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8249          * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8250          * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8251          * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8252          * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8253          * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8254          * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8255          * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8256          * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8257          * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8258          * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8259          * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8260          * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8261          * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8262          * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8263          * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8264          * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8265          * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8266          * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8267          * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8268          * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8269          * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8270          * testsuite/libgomp.fortran/reference1.f90: Likewise.
8271          * testsuite/libgomp.fortran/reference2.f90: Likewise.
8272          * testsuite/libgomp.fortran/retval1.f90: Likewise.
8273          * testsuite/libgomp.fortran/retval2.f90: Likewise.
8274          * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8275          * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8276          * testsuite/libgomp.fortran/simd1.f90: Likewise.
8277          * testsuite/libgomp.fortran/simd2.f90: Likewise.
8278          * testsuite/libgomp.fortran/simd3.f90: Likewise.
8279          * testsuite/libgomp.fortran/simd4.f90: Likewise.
8280          * testsuite/libgomp.fortran/simd5.f90: Likewise.
8281          * testsuite/libgomp.fortran/simd6.f90: Likewise.
8282          * testsuite/libgomp.fortran/simd7.f90: Likewise.
8283          * testsuite/libgomp.fortran/stack.f90: Likewise.
8284          * testsuite/libgomp.fortran/strassen.f90: Likewise.
8285          * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8286          * testsuite/libgomp.fortran/tabs2.f: Likewise.
8287          * testsuite/libgomp.fortran/target1.f90: Likewise.
8288          * testsuite/libgomp.fortran/target2.f90: Likewise.
8289          * testsuite/libgomp.fortran/target3.f90: Likewise.
8290          * testsuite/libgomp.fortran/target4.f90: Likewise.
8291          * testsuite/libgomp.fortran/target5.f90: Likewise.
8292          * testsuite/libgomp.fortran/target6.f90: Likewise.
8293          * testsuite/libgomp.fortran/target7.f90: Likewise.
8294          * testsuite/libgomp.fortran/target8.f90: Likewise.
8295          * testsuite/libgomp.fortran/task1.f90: Likewise.
8296          * testsuite/libgomp.fortran/task2.f90: Likewise.
8297          * testsuite/libgomp.fortran/task3.f90: Likewise.
8298          * testsuite/libgomp.fortran/task4.f90: Likewise.
8299          * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8300          * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8301          * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8302          * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8303          * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8304          * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8305          * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8306          * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8307          * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8308          * testsuite/libgomp.fortran/udr1.f90: Likewise.
8309          * testsuite/libgomp.fortran/udr10.f90: Likewise.
8310          * testsuite/libgomp.fortran/udr11.f90: Likewise.
8311          * testsuite/libgomp.fortran/udr12.f90: Likewise.
8312          * testsuite/libgomp.fortran/udr13.f90: Likewise.
8313          * testsuite/libgomp.fortran/udr14.f90: Likewise.
8314          * testsuite/libgomp.fortran/udr15.f90: Likewise.
8315          * testsuite/libgomp.fortran/udr2.f90: Likewise.
8316          * testsuite/libgomp.fortran/udr3.f90: Likewise.
8317          * testsuite/libgomp.fortran/udr4.f90: Likewise.
8318          * testsuite/libgomp.fortran/udr5.f90: Likewise.
8319          * testsuite/libgomp.fortran/udr6.f90: Likewise.
8320          * testsuite/libgomp.fortran/udr7.f90: Likewise.
8321          * testsuite/libgomp.fortran/udr8.f90: Likewise.
8322          * testsuite/libgomp.fortran/udr9.f90: Likewise.
8323          * testsuite/libgomp.fortran/vla1.f90: Likewise.
8324          * testsuite/libgomp.fortran/vla2.f90: Likewise.
8325          * testsuite/libgomp.fortran/vla3.f90: Likewise.
8326          * testsuite/libgomp.fortran/vla4.f90: Likewise.
8327          * testsuite/libgomp.fortran/vla5.f90: Likewise.
8328          * testsuite/libgomp.fortran/vla6.f90: Likewise.
8329          * testsuite/libgomp.fortran/vla7.f90: Likewise.
8330          * testsuite/libgomp.fortran/vla8.f90: Likewise.
8331          * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8332          * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8333          * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8334          * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8335          * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8336          * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8337          * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8338          * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8339          * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8340          * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8341          * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8342          * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8343          * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8344          * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8345          * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8346          * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8347          * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8348          * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8349          * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8350          * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8351          * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8352          * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8353          * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8354          * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8355          * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8356          * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8357          * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8358          * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8359          * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8360          * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8361          * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8362          * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8363          * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8364          * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8365          * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8366          * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8367          * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8368          * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8369          * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8370          * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8371          * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8372          * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8373          * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8374          * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8375          * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8376          * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8377          * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8378          * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8379          * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8380          * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8381          * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8382          * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8383          * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8384          * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8385          * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8386          * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8387          * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8388          * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8389          * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8390          * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8391          * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8392          * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8393          * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8394          * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8395          * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8396          * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8397          * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
8398          * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8399          * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
8400          * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8401          * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
8402          * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
8403          * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
8404          * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
8405          * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8406          * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8407          * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8408          * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8409          * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8410          * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8411          * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8412          * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8413          * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
8414          * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
8415          * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8416          * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8417          * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8418          * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8419          * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
8420          * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
8421          * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
8422          * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8423          * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8424          * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
8425
84262018-03-20  Richard Biener  <rguenther@suse.de>
8427
8428          * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
8429          parallelizable loop.
8430
84312018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
8432
8433          PR target/84148
8434          * configure: Regenerate.
8435
84362018-02-16  Jakub Jelinek  <jakub@redhat.com>
8437
8438          PR fortran/84418
8439          * libgomp.fortran/pr84418-1.f90: New test.
8440          * libgomp.fortran/pr84418-2.f90: New test.
8441
84422018-02-14  Jakub Jelinek  <jakub@redhat.com>
8443
8444          PR fortran/84313
8445          * testsuite/libgomp.fortran/threadprivate4.f90: Add
8446          -std=f2003 -fall-intrinsics into dg-additional-options.
8447
84482018-02-08  Martin Jambor  <mjambor@suse.cz>
8449
8450          * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
8451          clonable.
8452
84532018-02-08  Martin Jambor  <mjambor@suse.cz>
8454
8455          * testsuite/libgomp.hsa.c/staticvar.c: New test.
8456
84572018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8458
8459          * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
8460          [__cplusplus]: Declare extern "C".
8461
84622018-02-07  Tom de Vries  <tom@codesourcery.com>
8463
8464          PR libgomp/84217
8465          * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
8466
84672018-01-29  Christoph Spiel  <cspiel@freenet.de>
8468              Jakub Jelinek  <jakub@redhat.com>
8469
8470          PR libgomp/84096
8471          * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
8472          instead of omp_lock_t.
8473
84742018-01-25  Tom de Vries  <tom@codesourcery.com>
8475
8476          PR target/84028
8477          * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
8478
84792018-01-24  Tom de Vries  <tom@codesourcery.com>
8480
8481          PR target/83589
8482          * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
8483
84842018-01-24  Tom de Vries  <tom@codesourcery.com>
8485
8486          PR target/81352
8487          * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
8488
84892018-01-19  Tom de Vries  <tom@codesourcery.com>
8490              Cesar Philippidis  <cesar@codesourcery.com>
8491
8492          PR target/83920
8493          * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
8494          * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
8495
84962018-01-03  Jakub Jelinek  <jakub@redhat.com>
8497
8498          Update copyright years.
8499
8500          * libgomp.texi: Bump @copying's copyright year.
8501
85022017-12-30  Tom de Vries  <tom@codesourcery.com>
8503
8504          PR libgomp/83046
8505          * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
8506          * testsuite/libgomp.c-c++-common/pr83046.c: New test.
8507
85082017-12-27  Tom de Vries  <tom@codesourcery.com>
8509
8510          PR c++/83046
8511          * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
8512          (test_nonstatic): Fix return type to workaround PR83046.
8513
85142017-12-05  Jakub Jelinek  <jakub@redhat.com>
8515
8516          PR testsuite/83281
8517          * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
8518          j suffix instead of i.
8519          * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
8520          Likewise.
8521
85222017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
8523
8524          * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
8525          call to acc_wait (1).
8526
85272017-11-24  Jakub Jelinek  <jakub@redhat.com>
8528
8529          PR fortran/81304
8530          * testsuite/libgomp.fortran/pr81304.f90: New test.
8531
85322017-11-23  Jakub Jelinek  <jakub@redhat.com>
8533
8534          PR fortran/81841
8535          * libgomp.fortran/pr81841.f90: New test.
8536
85372017-11-22  Jakub Jelinek  <jakub@redhat.com>
8538
8539          PR libgomp/83106
8540          * target.c (gomp_target_init): Compute lengths just once and
8541          use them in both malloc size and subsequent copying.
8542
85432017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
8544
8545          * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
8546          * acinclude.m4: Add cet.m4.
8547          * configure: Regenerate.
8548          * Makefile.in: Likewise.
8549          * testsuite/Makefile.in: Likewise.
8550
85512017-11-15  Tom de Vries  <tom@codesourcery.com>
8552
8553          * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
8554          from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
8555          * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
8556          from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
8557          * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
8558          from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
8559
85602017-11-14  Tom de Vries  <tom@codesourcery.com>
8561
8562          * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
8563          non-nvidia devices.
8564
85652017-11-07  Jakub Jelinek  <jakub@redhat.com>
8566
8567          PR c++/82835
8568          * testsuite/libgomp.c++/pr82835.C: New test.
8569
85702017-11-06  Martin Liska  <mliska@suse.cz>
8571
8572          * testsuite/libgomp.c++/loop-2.C: Return a value
8573          for functions with non-void return type, or change type to void,
8574          or add -Wno-return-type for test.
8575          * testsuite/libgomp.c++/loop-4.C: Likewise.
8576          * testsuite/libgomp.c++/parallel-1.C: Likewise.
8577          * testsuite/libgomp.c++/shared-1.C: Likewise.
8578          * testsuite/libgomp.c++/single-1.C: Likewise.
8579          * testsuite/libgomp.c++/single-2.C: Likewise.
8580
85812017-10-31  Tom de Vries  <tom@codesourcery.com>
8582
8583          * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
8584          "do {} while (false)".
8585          (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
8586          after HSA_DEBUG call.
8587
85882017-10-28  Jakub Jelinek  <jakub@redhat.com>
8589
8590          * target.c (struct gomp_coalesce_buf): New type.
8591          (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
8592          (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
8593          (gomp_copy_host2dev): Add CBUF argument, if copying into
8594          the cached ranges, memcpy into buffer instead of copying
8595          into device.
8596          (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
8597          Add CBUF argument, pass it through to other calls.
8598          (gomp_map_vars): Aggregate copies from host to device if small enough
8599          and with small enough gaps in between into memcpy into a buffer and
8600          fewer host to device copies from the buffer.
8601          (gomp_update): Adjust gomp_copy_host2dev caller.
8602
86032017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
8604
8605          * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
8606          run" directive.
8607          * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8608          * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8609          * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8610          * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8611
86122017-10-16  Tom de Vries  <tom@codesourcery.com>
8613
8614          * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
8615          openacc_nvidia_accel_selected.
8616          * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
8617          * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
8618          * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
8619          * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
8620          * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
8621          * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
8622          openacc_nvidia_accel_selected. Skip for shared memory device.
8623          * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
8624          * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
8625
86262017-10-09  Martin Jambor  <mjambor@suse.cz>
8627
8628          PR hsa/82416
8629          * testsuite/libgomp.hsa.c/pr82416.c: New test.
8630
86312017-10-07  Tom de Vries  <tom@codesourcery.com>
8632
8633          * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
8634          Remove acc_device_nvidia references.
8635          * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
8636          Same.
8637
86382017-10-05  Tom de Vries  <tom@codesourcery.com>
8639
8640          * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
8641          vector_length(32) clause from acc parallel directive.
8642          * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
8643
86442017-10-04  Tom de Vries  <tom@codesourcery.com>
8645
8646          * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
8647          (main): Reduce sum of arr elements.  Assert that hres is exactly
8648          representable in 32-bit floating point.
8649          * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
8650          (main): Reduce sum of arr elements.  Assert that hres and hmres are
8651          exactly representable in 32-bit floating point.
8652          * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
8653
86542017-09-28  Tom de Vries  <tom@codesourcery.com>
8655
8656          * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
8657          setting.
8658          * testsuite/libgomp.c++/pr69393.C: Same.
8659          * testsuite/libgomp.c++/taskloop-1.C: Same.
8660          * testsuite/libgomp.c++/taskloop-3.C: Same.
8661          * testsuite/libgomp.c++/taskloop-4.C: Same.
8662          * testsuite/libgomp.c/for-4.c: Same.
8663          * testsuite/libgomp.c/pr66199-3.c: Same.
8664          * testsuite/libgomp.c/pr66199-4.c: Same.
8665          * testsuite/libgomp.c/pr66199-6.c: Same.
8666          * testsuite/libgomp.c/taskloop-1.c: Same.
8667          * testsuite/libgomp.c/taskloop-3.c: Same.
8668          * testsuite/libgomp.c/taskloop-4.c: Same.
8669          * testsuite/libgomp.fortran/aligned1.f03: Same.
8670          * testsuite/libgomp.fortran/condinc1.f: Same.
8671          * testsuite/libgomp.fortran/condinc3.f90: Same.
8672          * testsuite/libgomp.fortran/crayptr1.f90: Same.
8673          * testsuite/libgomp.fortran/crayptr2.f90: Same.
8674          * testsuite/libgomp.fortran/crayptr3.f90: Same.
8675          * testsuite/libgomp.fortran/omp_cond1.f: Same.
8676          * testsuite/libgomp.fortran/omp_cond3.F90: Same.
8677          * testsuite/libgomp.fortran/pr66199-1.f90: Same.
8678          * testsuite/libgomp.fortran/pr66199-2.f90: Same.
8679          * testsuite/libgomp.fortran/recursion1.f90: Same.
8680          * testsuite/libgomp.fortran/target2.f90: Same.
8681          * testsuite/libgomp.fortran/target5.f90: Same.
8682          * testsuite/libgomp.fortran/task3.f90: Same.
8683
86842017-09-28  Tom de Vries  <tom@codesourcery.com>
8685
8686          * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
8687          vector_length(32) clause from acc parallel directive.
8688          * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
8689
86902017-09-27  Tom de Vries  <tom@codesourcery.com>
8691
8692          * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
8693          Remove acc_device_nvidia references.
8694
86952017-09-16  Tom de Vries  <tom@codesourcery.com>
8696
8697          PR c/81875
8698          * testsuite/libgomp.c-c++-common/pr81875.c: New test.
8699
87002017-09-14  Tom de Vries  <tom@codesourcery.com>
8701
8702          * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
8703          * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
8704          * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
8705          * testsuite/libgomp.c/c.exp: Include test-cases from
8706          libgomp.c-c++-common.
8707          * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
8708          files.
8709
87102017-09-14  Jakub Jelinek  <jakub@redhat.com>
8711
8712          PR c++/81314
8713          * testsuite/libgomp.c++/pr81314.C: New test.
8714
87152017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
8716
8717          * libgomp.texi (Top): www.openacc.org now uses https.
8718          (Enabling OpenACC): Ditto.
8719          (acc_get_num_devices): Ditto.
8720          (acc_set_device_type): Ditto.
8721          (acc_get_device_type): Ditto.
8722          (acc_set_device_num): Ditto.
8723          (acc_get_device_num): Ditto.
8724          (acc_async_test): Ditto.
8725          (acc_async_test_all): Ditto.
8726          (acc_wait): Ditto.
8727          (acc_wait_all): Ditto.
8728          (acc_wait_all_async): Ditto.
8729          (acc_wait_async): Ditto.
8730          (acc_init): Ditto.
8731          (acc_shutdown): Ditto.
8732          (acc_on_device): Ditto.
8733          (acc_malloc): Ditto.
8734          (acc_free): Ditto.
8735          (acc_copyin): Ditto.
8736          (acc_present_or_copyin): Ditto.
8737          (acc_create): Ditto.
8738          (acc_present_or_create): Ditto.
8739          (acc_copyout): Ditto.
8740          (acc_delete): Ditto.
8741          (acc_update_device): Ditto.
8742          (acc_update_self): Ditto.
8743          (acc_map_data): Ditto.
8744          (acc_unmap_data): Ditto.
8745          (acc_deviceptr): Ditto.
8746          (acc_hostptr): Ditto.
8747          (acc_is_present): Ditto.
8748          (acc_memcpy_to_device): Ditto.
8749          (acc_memcpy_from_device): Ditto.
8750          (acc_get_current_cuda_device): Ditto.
8751          (acc_get_current_cuda_context): Ditto.
8752          (acc_get_cuda_stream): Ditto.
8753          (acc_set_cuda_stream): Ditto.
8754          (ACC_DEVICE_TYPE): Ditto.
8755          (ACC_DEVICE_NUM): Ditto.
8756          (OpenACC Library Interoperability): Ditto.
8757
87582017-08-09  Jakub Jelinek  <jakub@redhat.com>
8759
8760          PR c/81687
8761          * testsuite/libgomp.c/pr81687-1.c: New test.
8762          * testsuite/libgomp.c/pr81687-2.c: New test.
8763
87642017-08-07  Jakub Jelinek  <jakub@redhat.com>
8765
8766          PR c/69389
8767          * testsuite/libgomp.c/pr69389.c: New test.
8768          * testsuite/libgomp.c++/pr69389.C: New test.
8769
87702017-08-07  Tom de Vries  <tom@codesourcery.com>
8771
8772          PR middle-end/78266
8773          * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
8774          * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
8775
87762017-07-27  Jakub Jelinek  <jakub@redhat.com>
8777
8778          PR c/45784
8779          * testsuite/libgomp.c/pr45784.c: New test.
8780          * testsuite/libgomp.c++/pr45784.C: New test.
8781
87822017-07-19  Tom de Vries  <tom@codesourcery.com>
8783
8784          * testsuite/libgomp.oacc-c/vec.c: New test.
8785
87862017-07-03  Tom de Vries  <tom@codesourcery.com>
8787
8788          * plugin/plugin-hsa.c: Fix secure_getenv.h include.
8789
87902017-06-27  Tom de Vries  <tom@codesourcery.com>
8791
8792          * plugin/plugin-nvptx.c (notify_var): New function.
8793          (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
8794
87952017-06-27  Tom de Vries  <tom@codesourcery.com>
8796
8797          * env.c (parse_unsigned_long_1): Factor out of ...
8798          (parse_unsigned_long): ... here.
8799          (parse_int_1): Factor out of ...
8800          (parse_int): ... here.
8801          (parse_int_secure): New function.
8802          (initialize_env): Use parse_int_secure for GOMP_DEBUG.
8803          * secure_getenv.h: Factor out of ...
8804          * plugin/plugin-hsa.c: ... here.
8805          * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
8806
88072017-06-21  Jakub Jelinek  <jakub@redhat.com>
8808
8809          PR c++/81130
8810          * testsuite/libgomp.c++/pr81130.C: New test.
8811
88122017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8813
8814          * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
8815          default args.
8816          * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
8817          dg-xfail-run-if default args.
8818
88192017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8820
8821          * testsuite/libgomp.c/pr39591-2.c: Fix test case.
8822          * testsuite/libgomp.c/pr39591-3.c: Likewise.
8823
88242017-05-30  Jakub Jelinek  <jakub@redhat.com>
8825
8826          PR libgomp/80822
8827          * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
8828          (gomp_affinity_init_level): Use it.  Always analyze the core and thread
8829          sibling lists, depending on level just pick up what CPUs to put
8830          together into a place vs. whether add multiple ordered places.
8831
88322017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
8833
8834          * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
8835          * libgomp.map (OACC_2.0.1): Add these.
8836          * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
8837          for "acc_wait", and "acc_wait_all", respectively.
8838          * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
8839          for "acc_wait", and "acc_wait_all", respectively.
8840          * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
8841          * libgomp.texi (acc_wait, acc_wait_all): Update.
8842          * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
8843          * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
8844          * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8845
8846          * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
8847          acc_present_or_copyin and acc_present_or_create procedures,
8848          respectively.
8849          * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
8850          generally different variants of OpenACC Runtime Library functions.
8851          * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8852
8853          * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
8854          * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8855
8856          * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
8857          of preprocessor definitions.
8858          * libgomp.h (strong_alias): Guard by "#ifdef
8859          HAVE_ATTRIBUTE_ALIAS".
8860          * oacc-mem.c: Provide "acc_pcreate" as alias for
8861          "acc_present_or_create", and "acc_pcopyin" as alias for
8862          "acc_present_or_copyin".
8863          * libgomp.map: New version "OACC_2.0.1".
8864          (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
8865          * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
8866          its content into...
8867          * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
8868          Extend testing.
8869
8870          * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
8871          when disabling nvptx offloading.
8872
88732017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
8874
8875          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
8876          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8877          * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8878
8879          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
8880          * testsuite/lib/libgomp.exp
8881          (check_effective_target_openacc_nvidia_accel_configured): New
8882          proc.
8883          * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
8884          (check_effective_target_c++): New procs.
8885          * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
8886          (check_effective_target_c++): Likewise.
8887
88882017-05-22  Jakub Jelinek  <jakub@redhat.com>
8889
8890          PR middle-end/80809
8891          * testsuite/libgomp.c/pr80809-2.c: New test.
8892          * testsuite/libgomp.c/pr80809-3.c: New test.
8893
8894          PR middle-end/80809
8895          * testsuite/libgomp.c/pr80809-1.c: New test.
8896
8897          PR middle-end/80853
8898          * testsuite/libgomp.c/pr80853.c: New test.
8899
89002017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
8901
8902          * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
8903          * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
8904          * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8905          * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8906          * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8907
8908          * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
8909          Debug output for failure.
8910
89112017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8912
8913          * testsuite/lib/libgomp.exp: Load scanlang.exp.
8914
89152017-04-27  Jakub Jelinek  <jakub@redhat.com>
8916
8917          PR bootstrap/80531
8918          * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
8919          bootstrap compare failures.
8920
89212017-04-20  Alexander Monakov  <amonakov@ispras.ru>
8922
8923          * testsuite/libgomp.c/target-36.c: New testcase.
8924
89252017-04-13  Jakub Jelinek  <jakub@redhat.com>
8926
8927          * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
8928          instead of char.
8929
89302017-04-11  Jakub Jelinek  <jakub@redhat.com>
8931
8932          PR libgomp/80394
8933          * testsuite/libgomp.c/pr80394.c: New test.
8934
89352017-04-04  Jakub Jelinek  <jakub@redhat.com>
8936
8937          PR libgomp/79876
8938          * config/posix/thread-stacksize.h: New file.
8939          * config/darwin/thread-stacksize.h: New file.
8940          * config/nvptx/thread-stacksize.h: New file.
8941          * env.c: Include thread-stacksize.h.
8942          (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
8943          instead of 0.  Call pthread_attr_setstacksize even if
8944          GOMP_DEFAULT_STACKSIZE is non-zero.
8945
89462017-03-30  Jakub Jelinek  <jakub@redhat.com>
8947
8948          * env.c (initialize_env): Initialize stacksize to 0.
8949
89502017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
8951
8952          PR c++/80029
8953          * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
8954
89552017-03-08  Jakub Jelinek  <jakub@redhat.com>
8956
8957          PR c/79940
8958          * testsuite/libgomp.c/pr79940.c: New test.
8959
89602017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8961
8962          * testsuite/libgomp.c/pr48591.c: Enable on all __float128
8963          targets.
8964          Add __float128 options.
8965
89662017-02-11  John David Anglin  <danglin@gcc.gnu.org>
8967
8968          * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
8969          hppa*-*-* dg-skip-if directive.
8970
89712017-02-09  Jakub Jelinek  <jakub@redhat.com>
8972
8973          * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
8974          dg-skip-if directive into a comment.
8975
89762017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
8977              Chung-Lin Tang  <cltang@codesourcery.com>
8978
8979          * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
8980          * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
8981          add additional case.
8982          * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
8983          "openacc_nvidia_accel_selected".
8984          * libgomp.oacc-fortran/nested-function-1.f90 (test2):
8985          Add num_workers(8) clause.
8986
89872017-02-08  John David Anglin  <danglin@gcc.gnu.org>
8988
8989          * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
8990          hppa*-*-*.
8991          * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
8992          include complex.h on hppa*-*-hpux*.
8993          * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8994
89952017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
8996
8997          * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
8998
8999          * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
9000          GOMP_OFFLOAD_openacc_exec.  Adjust all users.
9001          (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
9002          GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
9003          (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
9004          GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
9005          (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
9006          GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
9007          (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
9008          GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
9009
90102017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
9011
9012          * libgomp-plugin.h: #include <stdbool.h>.
9013          (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
9014          (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
9015          (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
9016          (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
9017          (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
9018          (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
9019          (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
9020          (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
9021          (GOMP_OFFLOAD_openacc_register_async_cleanup)
9022          (GOMP_OFFLOAD_openacc_async_test)
9023          (GOMP_OFFLOAD_openacc_async_test_all)
9024          (GOMP_OFFLOAD_openacc_async_wait)
9025          (GOMP_OFFLOAD_openacc_async_wait_async)
9026          (GOMP_OFFLOAD_openacc_async_wait_all)
9027          (GOMP_OFFLOAD_openacc_async_wait_all_async)
9028          (GOMP_OFFLOAD_openacc_async_set_async)
9029          (GOMP_OFFLOAD_openacc_create_thread_data)
9030          (GOMP_OFFLOAD_openacc_destroy_thread_data)
9031          (GOMP_OFFLOAD_openacc_get_current_cuda_device)
9032          (GOMP_OFFLOAD_openacc_get_current_cuda_context)
9033          (GOMP_OFFLOAD_openacc_get_cuda_stream)
9034          (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
9035          * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
9036          these.
9037          * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
9038          (GOMP_OFFLOAD_unload_image): Fix argument types.
9039
90402017-01-26  Jakub Jelinek  <jakub@redhat.com>
9041
9042          * testsuite/lib/libgomp.exp
9043          (check_effective_target_hsa_offloading_selected_nocache): Fix up
9044          check_compile invocation.  Fix up removal of executable.  Drop
9045          bogus "2>&1" argument.
9046
9047          * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
9048          directive.
9049
90502017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
9051              Martin Jambor  <mjambor@suse.cz>
9052
9053          * plugin/hsa.h: Moved to top level include.
9054          * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
9055
90562017-01-21  Jakub Jelinek  <jakub@redhat.com>
9057
9058          PR other/79046
9059          * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
9060          of cat to get version from BASE-VER file.
9061          * testsuite/Makefile.in: Regenerated.
9062
90632017-01-19  Jakub Jelinek  <jakub@redhat.com>
9064
9065          * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
9066          for _WIN64.
9067
90682017-01-17  Jakub Jelinek  <jakub@redhat.com>
9069
9070          * plugin/hsa.h: Add GCC runtime library exception.
9071          * plugin/hsa_ext_finalize.h: Likewise.
9072
9073          * plugin/configfrag.ac: For --without-cuda-driver don't initialize
9074          CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
9075          CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
9076          cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
9077          plugin/include/cuda as include dir and -ldl instead of -lcuda as
9078          library to link ptx plugin against.
9079          * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
9080          (CUDA_CALLS): Define.
9081          (cuda_lib, cuda_lib_inited): New variables.
9082          (init_cuda_lib): New function.
9083          (CUDA_CALL_PREFIX): Define.
9084          (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
9085          (CUDA_CALL): Use FN instead of (FN).
9086          (CUDA_CALL_NOCHECK): Define.
9087          (cuda_error, fini_streams_for_device, select_stream_for_async,
9088          nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
9089          event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
9090          nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
9091          nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
9092          CUDA_CALL_NOCHECK.
9093          (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
9094          CUDA_CALL_NOCHECK.
9095          (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
9096          Use CUDA_CALL_NOCHECK.
9097          * plugin/cuda/cuda.h: New file.
9098          * config.h.in: Regenerated.
9099          * configure: Regenerated.
9100
9101          PR other/79046
9102          * configure.ac: Add GCC_BASE_VER.
9103          * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
9104          get version from BASE-VER file.
9105          * testsuite/Makefile.in: Regenerated.
9106          * configure: Regenerated.
9107          * Makefile.in: Regenerated.
9108
91092017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
9110
9111          PR libgomp/60670
9112          * Makefile.am: Make fincludedir multilib-aware.
9113          * Makefile.in: Regenerate.
9114
91152017-01-01  Jakub Jelinek  <jakub@redhat.com>
9116
9117          Update copyright years.
9118
9119          * libgomp.texi: Bump @copying's copyright year.
9120
91212016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9122
9123          * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9124          pthread_spinlock_t instead of gomp_mutex_t lock.
9125          (gomp_get_thread_pool): Likewise.
9126          (gomp_release_thread_pool): Likewise.
9127          * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9128          Likewise.
9129
91302016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9131
9132          * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9133          thread pool in case nthreads == 1.
9134
91352016-11-30  Alexander Monakov  <amonakov@ispras.ru>
9136
9137          * config/nvptx/env.c: Delete.
9138          * icv.c: Move definitions of ICV variables back ...
9139          * env.c: ...here.  Do not compile environment-related functionality if
9140          LIBGOMP_OFFLOADED_ONLY is set.
9141
91422016-11-30  Alexander Monakov  <amonakov@ispras.ru>
9143
9144          * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9145          (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9146          * configure: Regenerate.
9147          * config.h.in: Likewise.
9148
91492016-11-30  Alexander Monakov  <amonakov@ispras.ru>
9150
9151          * Makefile.in: Regenerate with automake-1.11.6.
9152          * aclocal.m4: Likewise.
9153          * configure: Likewise.
9154          * testsuite/Makefile.in: Likewise.
9155
91562016-11-28  Alexander Monakov  <amonakov@ispras.ru>
9157
9158          * config/nvptx/critical.c: Delete to use generic implementation.
9159
91602016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
9161
9162          * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9163          ../../affinity.c as fallback.
9164          * config/nvptx/affinity.c: Delete to use fallback implementation.
9165
91662016-11-23  Alexander Monakov  <amonakov@ispras.ru>
9167              Jakub Jelinek  <jakub@redhat.com>
9168              Dmitry Melnik  <dm@ispras.ru>
9169
9170          * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9171          * Makefile.in. Regenerate.
9172          * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9173          (LIBGOMP_USE_PTHREADS): ...here; new define.
9174          * configure: Regenerate.
9175          * config.h.in: Likewise.
9176          * config/posix/affinity.c: Move to...
9177          * affinity.c: ...here (new file).  Guard use of Pthreads-specific
9178          interface by LIBGOMP_USE_PTHREADS.
9179          * critical.c: Split out GOMP_atomic_{start,end} into...
9180          * atomic.c: ...here (new file).
9181          * env.c: Split out ICV definitions into...
9182          * icv.c: ...here (new file) and...
9183          * icv-device.c: ...here. New file.
9184          * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9185          (gomp_destroy_lock_30): Ditto.
9186          (gomp_set_lock_30): Ditto.
9187          (gomp_unset_lock_30): Ditto.
9188          (gomp_test_lock_30): Ditto.
9189          (gomp_init_nest_lock_30): Ditto.
9190          (gomp_destroy_nest_lock_30): Ditto.
9191          (gomp_set_nest_lock_30): Ditto.
9192          (gomp_unset_nest_lock_30): Ditto.
9193          (gomp_test_nest_lock_30): Ditto.
9194          * lock.c: New.
9195          * config/nvptx/lock.c: New.
9196          * config/nvptx/bar.c: New.
9197          * config/nvptx/bar.h: New.
9198          * config/nvptx/doacross.h: New.
9199          * config/nvptx/error.c: New.
9200          * config/nvptx/icv-device.c: New.
9201          * config/nvptx/mutex.h: New.
9202          * config/nvptx/pool.h: New.
9203          * config/nvptx/proc.c: New.
9204          * config/nvptx/ptrlock.h: New.
9205          * config/nvptx/sem.h: New.
9206          * config/nvptx/simple-bar.h: New.
9207          * config/nvptx/target.c: New.
9208          * config/nvptx/task.c: New.
9209          * config/nvptx/team.c: New.
9210          * config/nvptx/time.c: New.
9211          * config/posix/simple-bar.h: New.
9212          * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
9213          (gomp_num_teams_var): Declare.
9214          (struct gomp_thread_pool): Change threads_dock member to
9215          gomp_simple_barrier_t.
9216          [__nvptx__] (gomp_thread): New implementation.
9217          (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9218          (gomp_thread_destructor): Ditto.
9219          (gomp_init_thread_affinity): Ditto.
9220          * team.c: Guard uses of Pthreads-specific interfaces by
9221          LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
9222          (gomp_free_thread) [__nvptx__]: Do not call 'free'.
9223          * config/nvptx/alloc.c: Delete.
9224          * config/nvptx/barrier.c: Ditto.
9225          * config/nvptx/fortran.c: Ditto.
9226          * config/nvptx/iter.c: Ditto.
9227          * config/nvptx/iter_ull.c: Ditto.
9228          * config/nvptx/loop.c: Ditto.
9229          * config/nvptx/loop_ull.c: Ditto.
9230          * config/nvptx/ordered.c: Ditto.
9231          * config/nvptx/parallel.c: Ditto.
9232          * config/nvptx/priority_queue.c: Ditto.
9233          * config/nvptx/sections.c: Ditto.
9234          * config/nvptx/single.c: Ditto.
9235          * config/nvptx/splay-tree.c: Ditto.
9236          * config/nvptx/work.c: Ditto.
9237          * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9238          -foffload=-lgfortran in addition to -lgfortran.
9239          * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9240          * plugin/plugin-nvptx.c: Include <limits.h>.
9241          (struct targ_fn_descriptor): Add new fields.
9242          (struct ptx_device): Ditto.  Set them...
9243          (nvptx_open_device): ...here.
9244          (nvptx_adjust_launch_bounds): New.
9245          (nvptx_host2dev): Allow NULL 'nvthd'.
9246          (nvptx_dev2host): Ditto.
9247          (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9248          (link_ptx): Adjust log sizes.
9249          (nvptx_host2dev): Allow NULL 'nvthd'.
9250          (nvptx_dev2host): Ditto.
9251          (nvptx_set_clocktick): New.  Use it...
9252          (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
9253          fields.
9254          (GOMP_OFFLOAD_dev2dev): New.
9255          (nvptx_adjust_launch_bounds): New.
9256          (nvptx_stacks_size): New.
9257          (nvptx_stacks_alloc): New.
9258          (nvptx_stacks_free): New.
9259          (GOMP_OFFLOAD_run): New.
9260          (GOMP_OFFLOAD_async_run): New (stub).
9261
92622016-11-23  Martin Jambor  <mjambor@suse.cz>
9263
9264          * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9265          * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9266          * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9267
92682016-11-23  Martin Liska  <mliska@suse.cz>
9269              Martin Jambor  <mjambor@suse.cz>
9270
9271          * plugin/hsa.h: New file.
9272          * plugin/hsa_ext_finalize.h: New file.
9273          * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
9274          header file unistd.h, and functions secure_getenv, __secure_getenv,
9275          getuid, geteuid, getgid and getegid.
9276          * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9277          -D_GNU_SOURCE.
9278          * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9279          Handle various cases of secure_getenv presence, add an implementation
9280          when we can test effective UID and GID.
9281          (struct hsa_runtime_fn_info): New structure.
9282          (hsa_runtime_fn_info hsa_fns): New variable.
9283          (hsa_runtime_lib): Likewise.
9284          (support_cpu_devices): Likewise.
9285          (init_enviroment_variables): Load newly introduced ENV
9286          variables.
9287          (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9288          (hsa_fatal): Likewise.
9289          (DLSYM_FN): New macro.
9290          (init_hsa_runtime_functions): New function.
9291          (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9292          structure.  Depending on environment, also allow CPU devices.
9293          (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9294          (get_kernarg_memory_region): Likewise.
9295          (GOMP_OFFLOAD_init_device): Likewise.
9296          (destroy_hsa_program): Likewise.
9297          (init_basic_kernel_info): New function.
9298          (GOMP_OFFLOAD_load_image): Use it.
9299          (create_and_finalize_hsa_program): Call hsa run-time functions via
9300          hsa_fns structure.
9301          (create_single_kernel_dispatch): Likewise.
9302          (release_kernel_dispatch): Likewise.
9303          (init_single_kernel): Likewise.
9304          (parse_target_attributes): Allow up multiple HSA grid dimensions.
9305          (get_group_size): New function.
9306          (run_kernel): Likewise.
9307          (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9308          (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9309          structure.
9310          * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9311          * testsuite/libgomp-test-support.exp.in: Likewise.
9312          * Makefile.in: Regenerated.
9313          * aclocal.m4: Likewise.
9314          * config.h.in: Likewise.
9315          * configure: Likewise.
9316          * testsuite/Makefile.in: Likewise.
9317
93182016-11-15  Martin Jambor  <mjambor@suse.cz>
9319              Alexander Monakov  <amonakov@ispras.ru>
9320
9321          * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9322          mapping clauses to target constructs.
9323          * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9324
93252016-11-15  Matthias Klose  <doko@ubuntu.com>
9326
9327          * configure: Regenerate.
9328
93292016-11-10  Jakub Jelinek  <jakub@redhat.com>
9330
9331          * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9332          * omp_lib.h.in (openmp_version): Likewise.
9333          * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9334          of 201307.
9335          * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9336
9337          * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9338          (fib_wrapper): Add map(from: x) clause.
9339          * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9340          (e_53_2): Likewise.
9341          * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9342          (accum): Add map(tmp) clause.
9343          * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9344          (accum): Add map(tofrom: tmp) clause.
9345          * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9346          (gramSchmidt): Likewise.
9347          * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9348          map(tofrom: sum) clause.
9349          * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9350          map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
9351          * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9352          only allowed on the loop iterator.
9353          * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9354          * testsuite/libgomp.fortran/taskloop2.f90: New test.
9355          * testsuite/libgomp.fortran/taskloop4.f90: New test.
9356          * testsuite/libgomp.fortran/doacross1.f90: New test.
9357          * testsuite/libgomp.fortran/doacross3.f90: New test.
9358          * testsuite/libgomp.fortran/taskloop1.f90: New test.
9359          * testsuite/libgomp.fortran/taskloop3.f90: New test.
9360          * testsuite/libgomp.fortran/doacross2.f90: New test.
9361          * testsuite/libgomp.c/doacross-1.c (main): Add missing
9362          #pragma omp atomic read.
9363          * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9364          * testsuite/libgomp.c/doacross-3.c (main): Likewise.
9365
93662016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
9367              Nathan Sidwell  <nathan@acm.org>
9368
9369          * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9370          to determine default geometry.
9371          * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9372          dimension.
9373
93742016-11-01  Jakub Jelinek  <jakub@redhat.com>
9375
9376          * hashtab.h: Use standard GPLv3 with runtime exception
9377          boilerplate.
9378
93792016-10-27  Aldy Hernandez  <aldyh@redhat.com>
9380
9381          * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9382          size when allocating new thread.
9383
93842016-09-14  Marek Polacek  <polacek@redhat.com>
9385
9386          * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9387
93882016-08-19  Jakub Jelinek  <jakub@redhat.com>
9389
9390          PR fortran/71014
9391          * testsuite/libgomp.fortran/pr71014.f90: New test.
9392
93932016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
9394
9395          PR middle-end/70895
9396          * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9397          firstprivate clauses.
9398          * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
9399          copy clauses.
9400          * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9401          * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9402          * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
9403          * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9404          * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9405          * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9406          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9407          * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9408          * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9409          * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9410          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9411          * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
9412
94132016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
9414
9415          PR fortran/70598
9416          * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9417
94182016-08-08  Jakub Jelinek  <jakub@redhat.com>
9419
9420          PR c++/58706
9421          * testsuite/libgomp.c++/pr58706.C: New test.
9422
94232016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
9424
9425          * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
9426          * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
9427          * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9428          Likewise.
9429          * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
9430          * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
9431          Likewise.
9432          * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
9433
9434          * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
9435          test, and don't hardcode -O0.
9436
94372016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
9438
9439          * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
9440
94412016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
9442
9443          * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
9444          test.
9445
94462016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
9447
9448          PR middle-end/71734
9449          * testsuite/libgomp.fortran/pr71734-1.f90: New test.
9450          * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
9451
94522016-07-01  Jakub Jelinek  <jakub@redhat.com>
9453
9454          PR fortran/71717
9455          * testsuite/libgomp.fortran/associate3.f90: New test.
9456
94572016-06-17  Jakub Jelinek  <jakub@redhat.com>
9458
9459          * testsuite/libgomp.c++/target-21.C: New test.
9460
94612016-06-16  Jakub Jelinek  <jakub@redhat.com>
9462
9463          * testsuite/libgomp.c++/target-20.C: New test.
9464
94652016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
9466              Cesar Philippidis  <cesar@codesourcery.com>
9467
9468          PR middle-end/71373
9469          * libgomp.oacc-c/nested-function-1.c: New file.
9470          * libgomp.oacc-c/nested-function-2.c: Likewise.
9471          * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9472          * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9473          * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9474
94752016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
9476
9477          PR c/71381
9478          * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
9479          "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
9480          * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
9481
94822016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
9483
9484          * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
9485          * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
9486
94872016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
9488
9489          PR c/70688
9490          * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
9491
94922016-05-26  Jakub Jelinek  <jakub@redhat.com>
9493
9494          * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
9495          instead of invalid schedule(static, 0).
9496          * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9497
94982016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
9499
9500          * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
9501          * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
9502          parameter, use to set async stream around call to gomp_unmap_vars,
9503          call gomp_unmap_vars() with 'do_copyfrom' set to true.
9504          * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
9505          (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
9506          events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
9507          (event_add): Add int parameter, initialize 'val' field when
9508          adding new ptx_event struct.
9509          (nvptx_evec): Adjust event_add() call arguments.
9510          (nvptx_host2dev): Likewise.
9511          (nvptx_dev2host): Likewise.
9512          (nvptx_wait_async): Likewise.
9513          (nvptx_wait_all_async): Likewise.
9514          (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
9515          pass to event_add() call.
9516          * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
9517          parameter.
9518          * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
9519          call openacc.register_async_cleanup_func() hook.
9520          * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
9521          * target.c (gomp_copy_from_async): Delete function.
9522          (gomp_map_vars): Remove async_refcount.
9523          (gomp_unmap_vars): Likewise.
9524          (gomp_load_image_to_device): Likewise.
9525          (omp_target_associate_ptr): Likewise.
9526          * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
9527          (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
9528          (gomp_copy_from_async): Remove.
9529
95302016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
9531
9532          * target.c (gomp_device_copy): New function.
9533          (gomp_copy_host2dev): Likewise.
9534          (gomp_copy_dev2host): Likewise.
9535          (gomp_free_device_memory): Likewise.
9536          (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
9537          (gomp_map_pointer): Likewise.
9538          (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
9539          NULL value from alloc_func plugin hook.
9540          (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
9541          (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
9542          (gomp_unmap_vars): Likewise.
9543          (gomp_update): Adjust to call gomp_copy_dev2host and
9544          gomp_copy_host2dev functions.
9545          (gomp_unload_image_from_device): Handle false value from
9546          unload_image_func plugin hook.
9547          (gomp_init_device): Handle false value from init_device_func
9548          plugin hook.
9549          (gomp_exit_data): Adjust to call gomp_copy_dev2host.
9550          (omp_target_free): Adjust to call gomp_free_device_memory.
9551          (omp_target_memcpy): Handle return values from host2dev_func,
9552          dev2host_func, and dev2dev_func plugin hooks.
9553          (omp_target_memcpy_rect_worker): Likewise.
9554          (gomp_target_fini): Handle false value from fini_device_func
9555          plugin hook.
9556          * libgomp.h (struct gomp_device_descr): Adjust return type of
9557          init_device_func, fini_device_func, unload_image_func, free_func,
9558          dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
9559          * oacc-init.c (acc_shutdown_1): Handle false value from
9560          fini_device_func plugin hook.
9561          * oacc-host.c (host_init_device): Change return type to bool.
9562          (host_fini_device): Likewise.
9563          (host_unload_image): Likewise.
9564          (host_free): Likewise.
9565          (host_dev2host): Likewise.
9566          (host_host2dev): Likewise.
9567          * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
9568          (acc_memcpy_to_device): Likewise.
9569          (acc_memcpy_from_device): Likewise.
9570          (delete_copyout): Add libfnname parameter, handle free_func
9571          hook fatal error case.
9572          (acc_delete): Adjust delete_copyout call.
9573          (acc_copyout): Likewise.
9574          (update_dev_host): Move gomp_mutex_unlock to after
9575          host2dev/dev2host hook calls.
9576
9577          * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
9578          to 'hsa_error_msg', for clarity.
9579          (hsa_fatal): Likewise.
9580          (hsa_error): New function.
9581          (init_hsa_context): Change return type to bool, adjust to return
9582          false on error.
9583          (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
9584          return value.
9585          (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
9586          return false on error.
9587          (get_agent_info): Adjust to return NULL on error.
9588          (destroy_hsa_program): Change return type to bool, adjust to
9589          return false on error.
9590          (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
9591          (destroy_module): Change return type to bool, adjust to
9592          return false on error.
9593          (GOMP_OFFLOAD_unload_image): Likewise.
9594          (GOMP_OFFLOAD_fini_device): Likewise.
9595          (GOMP_OFFLOAD_alloc): Change to return NULL when called.
9596          (GOMP_OFFLOAD_free): Change to return false when called.
9597          (GOMP_OFFLOAD_dev2host): Likewise.
9598          (GOMP_OFFLOAD_host2dev): Likewise.
9599          (GOMP_OFFLOAD_dev2dev): Likewise.
9600
9601          * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
9602          (CUDA_CALL): Likewise.
9603          (CUDA_CALL_ASSERT): Likewise.
9604          (map_init): Change return type to bool, use CUDA_CALL* macros.
9605          (map_fini): Likewise.
9606          (init_streams_for_device): Change return type to bool, adjust
9607          call to map_init.
9608          (fini_streams_for_device): Change return type to bool, adjust
9609          call to map_fini.
9610          (select_stream_for_async): Release stream_lock before calls to
9611          GOMP_PLUGIN_fatal, adjust call to map_init.
9612          (nvptx_init): Use CUDA_CALL* macros.
9613          (nvptx_attach_host_thread_to_device): Change return type to bool,
9614          use CUDA_CALL* macros.
9615          (nvptx_open_device): Use CUDA_CALL* macros.
9616          (nvptx_close_device): Change return type to bool, use CUDA_CALL*
9617          macros.
9618          (nvptx_get_num_devices): Use CUDA_CALL* macros.
9619          (link_ptx): Change return type to bool, use CUDA_CALL* macros.
9620          (nvptx_exec): Use CUDA_CALL* macros.
9621          (nvptx_alloc): Use CUDA_CALL* macros.
9622          (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
9623          (nvptx_host2dev): Likewise.
9624          (nvptx_dev2host): Likewise.
9625          (nvptx_wait): Use CUDA_CALL* macros.
9626          (nvptx_wait_async): Likewise.
9627          (nvptx_wait_all): Likewise.
9628          (nvptx_wait_all_async): Likewise.
9629          (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
9630          use CUDA_CALL* macros, adjust call to map_fini.
9631          (GOMP_OFFLOAD_init_device): Change return type to bool,
9632          adjust code accordingly.
9633          (GOMP_OFFLOAD_fini_device): Likewise.
9634          (GOMP_OFFLOAD_load_image): Adjust calls to
9635          nvptx_attach_host_thread_to_device/link_ptx to handle errors,
9636          use CUDA_CALL* macros.
9637          (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
9638          return code.
9639          (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
9640          (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
9641          handle error return.
9642          (GOMP_OFFLOAD_dev2host): Likewise.
9643          (GOMP_OFFLOAD_host2dev): Likewise.
9644          (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
9645          (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
9646
96472016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
9648
9649          * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
9650          (acc_free): Likewise.
9651          (acc_memcpy_to_device): Likewise.
9652          (acc_memcpy_from_device): Likewise.
9653          (acc_deviceptr): Likewise.
9654          (acc_hostptr): Likewise.
9655          (acc_is_present): Likewise.
9656          (acc_map_data): Likewise.
9657          (acc_unmap_data): Likewise.
9658          (present_create_copy): Likewise.
9659          (delete_copyout): Likewise.
9660          (update_dev_host): Likewise.
9661          * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
9662          * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
9663          * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
9664          * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9665          * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
9666          * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
9667          it only runs on nvptx targets.
9668          * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9669          * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9670          * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9671          * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9672          * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9673          * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9674          * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9675          * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9676          * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9677          * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9678          * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9679          * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9680          * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9681          * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9682          * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9683          * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9684          * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9685          * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9686          * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9687          * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9688          * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9689          * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9690          * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9691
96922016-05-23  Martin Jambor  <mjambor@suse.cz>
9693
9694          * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
9695
96962016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
9697
9698          * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
9699          to gomp_init_targets_once.
9700          (acc_set_device_type): Remove !cached_base_dev condition on call to
9701          gomp_init_targets_once, move call to before acc_device_lock acquire,
9702          to avoid deadlock.
9703          (acc_get_device_num): Remove !cached_base_dev condition on call to
9704          gomp_init_targets_once.
9705          (acc_set_device_num): Likewise.
9706
97072016-05-16  Martin Jambor  <mjambor@suse.cz>
9708
9709          * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
9710
97112016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
9712
9713          * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
9714          expected partitioning.
9715
97162016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
9717
9718          PR middle-end/70626
9719          * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
9720          * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
9721          * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
9722
97232016-04-21  Alexander Monakov  <amonakov@ispras.ru>
9724
9725          * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
9726          non-fatal.
9727
97282016-04-19  Jakub Jelinek  <jakub@redhat.com>
9729
9730          PR middle-end/70680
9731          * testsuite/libgomp.c/pr70680-1.c: New test.
9732          * testsuite/libgomp.c/pr70680-2.c: New test.
9733
97342016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
9735
9736          * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
9737          pass parameter variables to subroutines.
9738
97392016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
9740
9741          PR middle-end/70643
9742          * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
9743
97442016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
9745
9746          PR testsuite/68242
9747          * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
9748          * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9749
97502016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
9751
9752          * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
9753          GOACC_parallel_keyed, restore GOACC_parallel prototype, new
9754          GOACC_declare prototype.
9755
9756          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
9757          Merge this file, and...
9758          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
9759          ... this file, and...
9760          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
9761          ... this file, and...
9762          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
9763          ... this file, and...
9764          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
9765          ... this file, and...
9766          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
9767          ... this file, and...
9768          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
9769          ... this file, and...
9770          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
9771          ... this file, and...
9772          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
9773          ... this file, and...
9774          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
9775          ... this file, and...
9776          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
9777          ... this file, and...
9778          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
9779          ... this file, and...
9780          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
9781          ... this file into...
9782          * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
9783          file.
9784
9785          * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9786          Make failure observable.
9787
97882016-04-12  Jakub Jelinek  <jakub@redhat.com>
9789
9790          * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
9791          field.
9792          * target.c (gomp_target_fallback_firstprivate,
9793          gomp_target_unshare_firstprivate): Removed.
9794          (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
9795          before waiting for dependencies.
9796          (gomp_target_task_fn): Don't copy firstprivate vars here.
9797          * task.c (GOMP_PLUGIN_target_task_completion): Don't free
9798          firstprivate_copies here.
9799          (gomp_create_target_task): Don't initialize firstprivate_copies field.
9800          * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
9801          explicit/implicit firstprivate.
9802
98032016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
9804
9805          PR lto/70289
9806          PR ipa/70348
9807          PR tree-optimization/70373
9808          PR middle-end/70533
9809          PR middle-end/70534
9810          PR middle-end/70535
9811          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
9812          test.
9813          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
9814          test.
9815          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
9816          test.
9817          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
9818          test.
9819          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
9820          test.
9821          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
9822          test.
9823          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
9824          test.
9825          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
9826          test.
9827          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
9828          test.
9829          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
9830          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
9831          * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
9832          * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
9833          test.
9834          * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
9835          test.
9836          * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
9837          test.
9838          * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
9839          test.
9840          * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
9841          coverage.
9842          * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9843          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9844          * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
9845          * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
9846          * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
9847          * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
9848          coverage.
9849          * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9850          * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9851          * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9852          * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9853          * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
9854          * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
9855          * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
9856          * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
9857          * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
9858          * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9859          * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9860          * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9861          * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9862          * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9863          * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
9864
98652016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
9866              James Norris  <jnorris@codesourcery.com>
9867              Nathan Sidwell  <nathan@codesourcery.com>
9868              Julian Brown  <julian@codesourcery.com>
9869              Cesar Philippidis  <cesar@codesourcery.com>
9870              Chung-Lin Tang  <cltang@codesourcery.com>
9871              Tom de Vries  <tom@codesourcery.com>
9872
9873          * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
9874          * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9875          * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9876          * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
9877          * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9878          * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9879          * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9880          * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
9881          * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9882          XFAIL.
9883          * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
9884          Incorporate...
9885          * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
9886          file.
9887          * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
9888          * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
9889          * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
9890          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
9891          Likewise.
9892          * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
9893          Likewise.
9894          * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9895          * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
9896          * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
9897          * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
9898          * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
9899          * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9900          * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
9901          * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
9902          * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
9903          * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
9904          Likewise.
9905          * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
9906          * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9907          * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
9908          file...
9909          * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
9910          file into...
9911          * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
9912          file.  Update.
9913          * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
9914          file.
9915          * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
9916          Likewise.
9917          * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
9918          * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
9919          ... this new file.  Update.
9920          * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
9921          * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
9922          ... this new file.  Update.
9923          * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
9924          file.  Incorporate...
9925          * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
9926          file, and...
9927          * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
9928          file, and...
9929          * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
9930          file.
9931          * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
9932
99332016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
9934
9935          * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
9936          set-torture-options.
9937
99382016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
9939
9940          * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
9941          gcc-dg-runtest.
9942          * testsuite/libgomp.oacc-c/c.exp: Likewise.
9943          * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
9944          -fno-builtin-acc_on_device instead of -O0.
9945          * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
9946          -O0.
9947          * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9948          * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
9949          Likewise.
9950          * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9951          * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9952          * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9953          * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9954          * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9955          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9956          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9957          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9958          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9959          * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9960          * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9961          * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9962          * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9963          * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9964          * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9965          * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9966          * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9967          * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
9968          Don't specify -O2.
9969          * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
9970          Likewise.
9971          * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
9972          Likewise.
9973
99742016-03-24  Martin Liska  <mliska@suse.cz>
9975
9976          * plugin/plugin-hsa.c (packet_store_release): New function
9977          that is taken from the HSA runtime manual.
9978          (GOMP_OFFLOAD_run): Use the function.
9979
99802016-03-23  Jakub Jelinek  <jakub@redhat.com>
9981
9982          PR c++/70376
9983          * testsuite/libgomp.c++/pr70376.C: New test.
9984
99852016-03-23  Tom de Vries  <tom@codesourcery.com>
9986
9987          * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
9988          initialization of lresult and lvresult.
9989          * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
9990
99912016-03-23  James Norris  <jnorris@codesourcery.com>
9992              Daichi Fukuoka <dc-fukuoka@sgi.com>
9993
9994          PR libgomp/69414
9995          * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
9996          * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
9997          * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9998          * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
9999
100002016-03-23  Martin Liska  <mliska@suse.cz>
10001
10002          PR hsa/70337
10003          * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
10004          argument just in case a dispatched kernel uses that argument.
10005
100062016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
10007
10008          * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
10009          -ftree-parallelize-loops/-fopenacc changes.
10010          * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
10011          Likewise.
10012          * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10013          Likewise.
10014          * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
10015          Likewise.
10016          * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
10017          Likewise.
10018          * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10019          * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10020
100212016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
10022
10023          * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
10024          always_ld_library_path the path to libgcc_s.
10025
100262016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
10027
10028          PR testsuite/70009
10029          * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
10030
100312016-03-09  Tom de Vries  <tom@codesourcery.com>
10032
10033          * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
10034          * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
10035          * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
10036          Same.
10037          * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
10038          * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
10039          * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
10040          * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
10041
100422016-03-07  Martin Jambor  <mjambor@suse.cz>
10043
10044          * testsuite/lib/libgomp.exp
10045          (check_effective_target_hsa_offloading_selected_nocache): New.
10046          (check_effective_target_hsa_offloading_selected): Likewise.
10047          * testsuite/libgomp.hsa.c/c.exp: Likewise.
10048          * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
10049          * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
10050          * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
10051          * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
10052          * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
10053          * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
10054          * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
10055          * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
10056          * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
10057          * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
10058          * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
10059          * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
10060          * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
10061          * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
10062          * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
10063          * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
10064
100652016-03-07  Martin Jambor  <mjambor@suse.cz>
10066
10067          * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
10068          non-shared memory accelerators.
10069          * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
10070          * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
10071          * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
10072          * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
10073          * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10074          * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10075          * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10076          * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10077          * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10078
100792016-03-07  Martin Jambor  <mjambor@suse.cz>
10080
10081          * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
10082          ALWAYS_CFLAGS.
10083
100842016-03-02  Jakub Jelinek  <jakub@redhat.com>
10085
10086          PR libgomp/69555
10087          * testsuite/libgomp.c++/pr69555-1.C: New test.
10088          * testsuite/libgomp.c++/pr69555-2.C: New test.
10089
100902016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
10091              Martin Jambor  <mjambor@suse.cz>
10092
10093          * testsuite/lib/libgomp.exp
10094          (check_effective_target_offload_device_shared_as): New proc.
10095          * testsuite/libgomp.c++/declare_target-1.C: New test.
10096
100972016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
10098
10099          PR driver/68463
10100          * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
10101
101022016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
10103
10104          * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
10105          * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10106          dims.
10107          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10108          -ftree-parallelize-loops/-fopenacc changes.
10109          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10110          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10111          Likewise.
10112          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10113          Likewise.
10114          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10115          Likewise.
10116          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10117          Likewise.
10118          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10119          Likewise.
10120          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10121          Likewise.
10122          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10123          Likewise.
10124          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10125          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10126          Likewise.
10127          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10128          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10129          Likewise.
10130          * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10131          * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10132          Likewise.
10133
101342016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
10135
10136          * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10137
101382016-02-19  Jakub Jelinek  <jakub@redhat.com>
10139
10140          PR driver/69805
10141          * testsuite/libgomp.c/pr69805.c: New test.
10142
101432016-02-16  Tom de Vries  <tom@codesourcery.com>
10144
10145          PR lto/67709
10146          * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10147
101482016-02-09  Tom de Vries  <tom@codesourcery.com>
10149
10150          PR tree-optimization/69599
10151          * testsuite/libgomp.c/omp-nested-3.c: New test.
10152          * testsuite/libgomp.c/pr46032-2.c: New test.
10153          * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10154          * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10155
101562016-02-09  Tom de Vries  <tom@codesourcery.com>
10157
10158          PR lto/69707
10159          * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10160
101612016-02-02  Alexander Monakov  <amonakov@ispras.ru>
10162
10163          * testsuite/libgomp.c/target-31.c: Fix testcase.
10164
101652016-02-02  Alexander Monakov  <amonakov@ispras.ru>
10166
10167          * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10168          clause.
10169          * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10170          * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10171          reduction and map clauses.
10172          * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10173
101742016-02-02  James Norris  <jnorris@codesourcery.com>
10175
10176          * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10177
101782016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
10179
10180          * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10181          * oacc-parallel.c (GOACC_host_data): Remove function definition.
10182
10183          * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10184          cases.
10185
10186          * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10187          variables.
10188          * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10189          (hsa_kmt_lib): Set variables.
10190          * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10191          always_ld_library_path.
10192          * Makefile.in: Regenerate.
10193          * configure: Likewise.
10194          * testsuite/Makefile.in: Likewise.
10195
10196          * plugin/configfrag.ac (offload_additional_options)
10197          (offload_additional_lib_paths): Don't amend for hsa offloading.
10198          * configure: Regenerate.
10199
10200          * plugin/configfrag.ac: Don't configure for offloading target if
10201          we don't build the corresponding plugin.
10202          * configure: Regenerate.
10203
102042016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
10205
10206          * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10207          * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10208
102092016-01-26  Tom de Vries  <tom@codesourcery.com>
10210
10211          PR tree-optimization/69110
10212          * testsuite/libgomp.c/pr69110.c: New test.
10213
102142016-01-25  Richard Biener  <rguenther@suse.de>
10215
10216          PR lto/69393
10217          * testsuite/libgomp.c++/pr69393.C: New testcase.
10218
102192016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
10220
10221          * target.c (gomp_get_target_fn_addr): Allow host fallback if target
10222          function wasn't mapped to the device with non-shared memory.
10223
102242016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
10225
10226          * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10227
102282016-01-19  Martin Jambor  <mjambor@suse.cz>
10229              Martin Liska  <mliska@suse.cz>
10230
10231          * plugin/Makefrag.am: Add HSA plugin requirements.
10232          * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10233          (HSA_RUNTIME_LIB): Likewise.
10234          (HSA_RUNTIME_CPPFLAGS): Likewise.
10235          (HSA_RUNTIME_INCLUDE): New substitution.
10236          (HSA_RUNTIME_LIB): Likewise.
10237          (HSA_RUNTIME_LDFLAGS): Likewise.
10238          (hsa-runtime): New configure option.
10239          (hsa-runtime-include): Likewise.
10240          (hsa-runtime-lib): Likewise.
10241          (PLUGIN_HSA): New substitution variable.
10242          Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10243          configure options.
10244          (PLUGIN_HSA_CPPFLAGS): Likewise.
10245          (PLUGIN_HSA_LDFLAGS): Likewise.
10246          (PLUGIN_HSA_LIBS): Likewise.
10247          Check that we have access to HSA run-time.
10248          * libgomp-plugin.h (offload_target_type): New element
10249          OFFLOAD_TARGET_TYPE_HSA.
10250          * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10251          args.
10252          (bool gomp_create_target_task): Updated.
10253          (gomp_device_descr): Extra parameter of run_func and async_run_func,
10254          new field can_run_func.
10255          * libgomp_g.h (GOMP_target_ext): Update prototype.
10256          * oacc-host.c (host_run): Added a new parameter args.
10257          * target.c (calculate_firstprivate_requirements): New function.
10258          (copy_firstprivate_data): Likewise.
10259          (gomp_target_fallback_firstprivate): Use them.
10260          (gomp_target_unshare_firstprivate): New function.
10261          (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10262          devices.
10263          (GOMP_target): Do host fallback for all shared memory devices.  Do not
10264          pass any args to plugins.
10265          (GOMP_target_ext): Introduce device-specific argument parameter args.
10266          Allow host fallback if device shares memory.  Do not remap data if
10267          device has shared memory.
10268          (gomp_target_task_fn): Likewise.  Also treat shared memory devices
10269          like host fallback for mappings.
10270          (GOMP_target_data): Treat shared memory devices like host fallback.
10271          (GOMP_target_data_ext): Likewise.
10272          (GOMP_target_update): Likewise.
10273          (GOMP_target_update_ext): Likewise.  Also pass NULL as args to
10274          gomp_create_target_task.
10275          (GOMP_target_enter_exit_data): Likewise.
10276          (omp_target_alloc): Treat shared memory devices like host fallback.
10277          (omp_target_free): Likewise.
10278          (omp_target_is_present): Likewise.
10279          (omp_target_memcpy): Likewise.
10280          (omp_target_memcpy_rect): Likewise.
10281          (omp_target_associate_ptr): Likewise.
10282          (gomp_load_plugin_for_device): Also load can_run.
10283          * task.c (GOMP_PLUGIN_target_task_completion): Free
10284          firstprivate_copies.
10285          (gomp_create_target_task): Accept new argument args and store it to
10286          ttask.
10287          * plugin/plugin-hsa.c: New file.
10288
102892016-01-18  Tom de Vries  <tom@codesourcery.com>
10290
10291          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10292          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10293          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10294          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10295          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10296          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10297          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10298          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10299          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10300          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10301          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10302          Same.
10303          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10304          Same.
10305          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10306          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10307          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10308          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10309          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10310          * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10311          * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10312          * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10313          Same.
10314          * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10315
103162016-01-15  Jakub Jelinek  <jakub@redhat.com>
10317
10318          * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10319
103202016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
10321
10322          * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10323
103242016-01-12  James Norris  <jnorris@codesourcery.com>
10325
10326          * libgomp.texi: Updates for OpenACC.
10327
103282016-01-11  Alexander Monakov  <amonakov@ispras.ru>
10329
10330          * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10331
103322016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
10333
10334          PR fortran/66680
10335          * testsuite/libgomp.fortran/pr66680.f90: New test.
10336
103372016-01-07  Jakub Jelinek  <jakub@redhat.com>
10338
10339          PR middle-end/68960
10340          * testsuite/libgomp.c/pr68960.c: New test.
10341
103422016-01-06  Nathan Sidwell  <nathan@acm.org>
10343
10344          * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
10345          * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10346
103472016-01-04  Jakub Jelinek  <jakub@redhat.com>
10348
10349          Update copyright years.
10350
10351          * libgomp.texi: Bump @copying's copyright year.
10352
103532015-12-31  Nathan Sidwell  <nathan@acm.org>
10354
10355          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10356          dg-additional-options syntax.
10357          * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10358          * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10359          * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10360          * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10361          * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10362          * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10363          * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10364          * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10365          * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10366          * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10367          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10368          * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10369          * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10370          * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10371          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10372          * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10373          * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10374          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10375
103762015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
10377
10378          * libgomp.h (REFCOUNT_LINK): Define.
10379          (struct splay_tree_key_s): Add link_key.
10380          * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10381          Replace target address of the pointer with target address of newly
10382          mapped object in the splay tree.  Set link pointer on target to the
10383          device address of the mapped object.
10384          (gomp_unmap_vars): Restore target address of the pointer in the splay
10385          tree for REFCOUNT_LINK objects after unmapping.
10386          (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10387          declare target link" objects.
10388          (gomp_unload_image_from_device): Replace j with i.  Force unmap of all
10389          "omp declare target link" objects, which were mapped for the image.
10390          (gomp_exit_data): Restore target address of the pointer in the splay
10391          tree for REFCOUNT_LINK objects after unmapping.
10392          * testsuite/libgomp.c/target-link-1.c: New file.
10393
103942015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
10395
10396          * libgomp.h (gomp_device_state): New enum.
10397          (struct gomp_device_descr): Replace is_initialized with state.
10398          (gomp_fini_device): Remove declaration.
10399          * oacc-host.c (host_dispatch): Use state instead of is_initialized.
10400          * oacc-init.c (acc_init_1): Use state instead of is_initialized.
10401          (acc_shutdown_1): Likewise.  Inline gomp_fini_device.
10402          (acc_set_device_type): Use state instead of is_initialized.
10403          (acc_set_device_num): Likewise.
10404          * target.c (resolve_device): Use state instead of is_initialized.
10405          Do not initialize finalized device.
10406          (gomp_map_vars): Do nothing if device is finalized.
10407          (gomp_unmap_vars): Likewise.
10408          (gomp_update): Likewise.
10409          (GOMP_offload_register_ver): Use state instead of is_initialized.
10410          (GOMP_offload_unregister_ver): Likewise.
10411          (gomp_init_device): Likewise.
10412          (gomp_unload_device): Likewise.
10413          (gomp_fini_device): Remove.
10414          (gomp_get_target_fn_addr): Do nothing if device is finalized.
10415          (GOMP_target): Go to host fallback if device is finalized.
10416          (GOMP_target_ext): Likewise.
10417          (gomp_exit_data): Do nothing if device is finalized.
10418          (gomp_target_task_fn): Go to host fallback if device is finalized.
10419          (gomp_target_fini): New static function.
10420          (gomp_target_init): Use state instead of is_initialized.
10421          Call gomp_target_fini at exit.
10422
104232015-12-09  Tom de Vries  <tom@codesourcery.com>
10424
10425          PR tree-optimization/68716
10426          * testsuite/libgomp.c/omp-nested-2.c: New test.
10427
104282015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
10429
10430          * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
10431          target openacc_nvidia_accel_selected.
10432          * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
10433          * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
10434          * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
10435          * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
10436
104372015-12-01  Julian Brown  <julian@codesourcery.com>
10438              James Norris  <James_Norris@mentor.com>
10439
10440          * oacc-parallel.c (GOACC_host_data): New function.
10441          * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
10442          * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
10443          * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
10444          * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
10445          * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
10446          * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
10447          * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
10448
104492015-11-30  James Norris  <jnorris@codesourcery.com>
10450              Cesar Philippidis  <cesar@codesourcery.com>
10451
10452          libgomp/
10453          * libgomp.oacc-fortran/routine-5.f90: New test.
10454          * libgomp.oacc-fortran/routine-7.f90: New test.
10455          * libgomp.oacc-fortran/routine-9.f90: New test.
10456
104572015-11-30  Tom de Vries  <tom@codesourcery.com>
10458
10459          PR tree-optimization/46032
10460          * testsuite/libgomp.c/pr46032.c: New test.
10461
104622015-11-27  Jakub Jelinek  <jakub@redhat.com>
10463
10464          PR libgomp/68579
10465          * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
10466          (gomp_create_target_task): Call it before freeing
10467          GOMP_TARGET_TASK_DATA tasks.
10468
10469          PR c/63326
10470          * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
10471          in between case label and OpenMP standalone directives.
10472          * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
10473
104742015-11-26  David Edelsohn  <dje.gcc@gmail.com>
10475
10476          * configure: Regenerate.
10477
104782015-11-26  Jakub Jelinek  <jakub@redhat.com>
10479
10480          * testsuite/libgomp.c/target-35.c: New test.
10481
104822015-11-22  James Norris  <jnorris@codesourcery.com>
10483              Cesar Philippidis  <cesar@codesourcery.com>
10484
10485          * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
10486          * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10487          * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10488          * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10489          * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10490
104912015-11-20  Jakub Jelinek  <jakub@redhat.com>
10492
10493          PR middle-end/68221
10494          * testsuite/libgomp.c/reduction-11.c: Remove xfail.
10495          * testsuite/libgomp.c/reduction-12.c: Likewise.
10496          * testsuite/libgomp.c++/reduction-11.C: Likewise.
10497          * testsuite/libgomp.c++/reduction-12.C: Likewise.
10498
104992015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
10500
10501          * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
10502          * libgomp.oacc-c-c++-common/reduction-flt.c: New.
10503          * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
10504          * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
10505          * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
10506          and fix.
10507          * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10508          * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10509
105102015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
10511
10512          * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
10513          worker & gang cases.
10514          * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10515
105162015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
10517
10518          * config/nvptx/priority_queue.c: New file.
10519
105202015-11-14  Jakub Jelinek  <jakub@redhat.com>
10521
10522          * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
10523          sections.
10524
105252015-11-14  Jakub Jelinek  <jakub@redhat.com>
10526              Aldy Hernandez  <aldyh@redhat.com>
10527              Ilya Verbin  <ilya.verbin@intel.com>
10528
10529          * ordered.c (gomp_doacross_init, GOMP_doacross_post,
10530          GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
10531          GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
10532          iterators or IV by chunk size.
10533          * parallel.c (gomp_resolve_num_threads): Don't assume that
10534          if thr->ts.team is non-NULL, then pool must be non-NULL.
10535          * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
10536          * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
10537          GOMP_PLUGIN_target_task_completion.
10538          * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
10539          * Makefile.in: Regenerate.
10540          * libgomp.h: Shuffle prototypes and forward definitions around so
10541          priority queues can be defined.
10542          (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
10543          (enum gomp_target_task_state): New enum.
10544          (struct gomp_target_task): Add state, tgt, task and team fields.
10545          (gomp_create_target_task): Change return type to bool, add
10546          state argument.
10547          (gomp_target_task_fn): Change return type to bool.
10548          (struct gomp_device_descr): Add async_run_func.
10549          (struct gomp_task): Remove children, next_child, prev_child,
10550          next_queue, prev_queue, next_taskgroup, prev_taskgroup.
10551          Add pnode field.
10552          (struct gomp_taskgroup): Remove children.
10553          Add taskgroup_queue.
10554          (struct gomp_team): Change task_queue type to a priority queue.
10555          (splay_compare): Define inline.
10556          (priority_queue_offset): New.
10557          (priority_node_to_task): New.
10558          (task_to_priority_node): New.
10559          * oacc-mem.c: Do not include splay-tree.h.
10560          * priority_queue.c: New file.
10561          * priority_queue.h: New file.
10562          * splay-tree.c: Do not include splay-tree.h.
10563          (splay_tree_foreach_internal): New.
10564          (splay_tree_foreach): New.
10565          * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
10566          (splay_tree_callback): Define typedef.
10567          * target.c (splay_compare): Move to libgomp.h.
10568          (GOMP_target): Don't adjust *thr in any way around running offloaded
10569          task.
10570          (GOMP_target_ext): Likewise.  Handle target nowait.
10571          (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
10572          return value from gomp_create_target_task, if false, fallthrough
10573          as if no dependencies exist.
10574          (gomp_target_task_fn): Change return type to bool, return true
10575          if the task should have another part scheduled later.  Handle
10576          target nowait.
10577          (gomp_load_plugin_for_device): Initialize async_run.
10578          * task.c (gomp_init_task): Initialize children_queue.
10579          (gomp_clear_parent_in_list): New.
10580          (gomp_clear_parent_in_tree): New.
10581          (gomp_clear_parent): Handle priorities.
10582          (GOMP_task): Likewise.
10583          (priority_queue_move_task_first,
10584          gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
10585          New functions.
10586          (gomp_create_target_task): Use priority queues.  Change return type
10587          to bool, add state argument, return false if for async
10588          {{enter,exit} data,update} constructs no dependencies need to be
10589          waited for, handle target nowait.  Set task->fn to NULL instead of
10590          gomp_target_task_fn.
10591          (verify_children_queue): Remove.
10592          (priority_list_upgrade_task): New.
10593          (priority_queue_upgrade_task): New.
10594          (verify_task_queue): Remove.
10595          (priority_list_downgrade_task): New.
10596          (priority_queue_downgrade_task): New.
10597          (gomp_task_run_pre): Use priority queues.
10598          Abstract code out to priority_queue_downgrade_task.
10599          (gomp_task_run_post_handle_dependers): Use priority queues.
10600          (gomp_task_run_post_remove_parent): Likewise.
10601          (gomp_task_run_post_remove_taskgroup): Likewise.
10602          (gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
10603          tasks specially.
10604          (GOMP_taskwait): Likewise.
10605          (gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
10606          priority-queue_upgrade_task.
10607          (GOMP_taskgroup_start): Use priority queues.
10608          (GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
10609          specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
10610          barrier.
10611          * taskloop.c (GOMP_taskloop): Handle priorities.
10612          * team.c (gomp_new_team): Call priority_queue_init.
10613          (free_team): Call priority_queue_free.
10614          (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
10615          team created for target nowait in implicit parallel region.
10616          (gomp_team_start): For nested check, test thr->ts.level instead of
10617          thr->ts.team != NULL.
10618          * testsuite/libgomp.c/doacross-3.c: New test.
10619          * testsuite/libgomp.c/ordered-5.c: New test.
10620          * testsuite/libgomp.c/priority.c: New test.
10621          * testsuite/libgomp.c/target-31.c: New test.
10622          * testsuite/libgomp.c/target-32.c: New test.
10623          * testsuite/libgomp.c/target-33.c: New test.
10624          * testsuite/libgomp.c/target-34.c: New test.
10625
106262015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
10627
10628          * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
10629
10630          * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
10631          loop is sequential.
10632
106332015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
10634
10635          * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
10636          * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
10637
106382015-11-12  James Norris  <jnorris@codesourcery.com>
10639              Joseph Myers  <joseph@codesourcery.com>
10640
10641          * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
10642          * oacc-parallel.c (GOACC_declare): New function.
10643          * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
10644          * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
10645          * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
10646          * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
10647          * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
10648
106492015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
10650
10651          * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
10652
106532015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
10654
10655          * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
10656          * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
10657
106582015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
10659
10660          * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
10661          inadvertent commit.
10662
106632015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
10664
10665          * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
10666          * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
10667          * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
10668          * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
10669          * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
10670
106712015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
10672
10673          * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
10674          * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10675
106762015-11-05  Jakub Jelinek  <jakub@redhat.com>
10677              Ilya Verbin  <ilya.verbin@intel.com>
10678
10679          * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
10680          GOMP_loop_nonmonotonic_dynamic_start,
10681          GOMP_loop_nonmonotonic_guided_next,
10682          GOMP_loop_nonmonotonic_guided_start,
10683          GOMP_loop_ull_nonmonotonic_dynamic_next,
10684          GOMP_loop_ull_nonmonotonic_dynamic_start,
10685          GOMP_loop_ull_nonmonotonic_guided_next,
10686          GOMP_loop_ull_nonmonotonic_guided_start,
10687          GOMP_parallel_loop_nonmonotonic_dynamic,
10688          GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
10689          (GOMP_target_41): Renamed to ...
10690          (GOMP_target_ext): ... this.  Add num_teams and thread_limit
10691          arguments.
10692          (GOMP_target_data_41): Renamed to ...
10693          (GOMP_target_data_ext): ... this.
10694          (GOMP_target_update_41): Renamed to ...
10695          (GOMP_target_update_ext): ... this.
10696          * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
10697          GOMP_target_data_ext and GOMP_target_update_ext instead of
10698          GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
10699          Export GOMP_loop_nonmonotonic_dynamic_next,
10700          GOMP_loop_nonmonotonic_dynamic_start,
10701          GOMP_loop_nonmonotonic_guided_next,
10702          GOMP_loop_nonmonotonic_guided_start,
10703          GOMP_loop_ull_nonmonotonic_dynamic_next,
10704          GOMP_loop_ull_nonmonotonic_dynamic_start,
10705          GOMP_loop_ull_nonmonotonic_guided_next,
10706          GOMP_loop_ull_nonmonotonic_guided_start,
10707          GOMP_parallel_loop_nonmonotonic_dynamic and
10708          GOMP_parallel_loop_nonmonotonic_guided.
10709          * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
10710          GOMP_parallel_loop_nonmonotonic_guided,
10711          GOMP_loop_nonmonotonic_dynamic_start,
10712          GOMP_loop_nonmonotonic_guided_start,
10713          GOMP_loop_nonmonotonic_dynamic_next,
10714          GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
10715          * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
10716          GOMP_loop_ull_nonmonotonic_guided_start,
10717          GOMP_loop_ull_nonmonotonic_dynamic_next,
10718          GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
10719          * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
10720          functions.
10721          (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
10722          GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
10723          Use gomp_map_val function.
10724          (gomp_target_fallback_firstprivate): New static function.
10725          (GOMP_target_41): Renamed to ...
10726          (GOMP_target_ext): ... this.  Add num_teams and thread_limit
10727          arguments.  Move firstprivate fallback handling into a new
10728          function.
10729          (GOMP_target_data_41): Renamed to ...
10730          (GOMP_target_data_ext): ... this.
10731          (GOMP_target_update_41): Renamed to ...
10732          (GOMP_target_update_ext): ... this.
10733          (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
10734          gomp_map_0len_lookup instead of gomp_map_lookup.
10735          (omp_target_is_present): Use gomp_map_0len_lookup instead of
10736          gomp_map_lookup.
10737          * testsuite/libgomp.c/target-28.c: Likewise.
10738          * testsuite/libgomp.c/monotonic-1.c: New test.
10739          * testsuite/libgomp.c/monotonic-2.c: New test.
10740          * testsuite/libgomp.c/nonmonotonic-1.c: New test.
10741          * testsuite/libgomp.c/nonmonotonic-2.c: New test.
10742          * testsuite/libgomp.c/pr66199-5.c: New test.
10743          * testsuite/libgomp.c/pr66199-6.c: New test.
10744          * testsuite/libgomp.c/pr66199-7.c: New test.
10745          * testsuite/libgomp.c/pr66199-8.c: New test.
10746          * testsuite/libgomp.c/pr66199-9.c: New test.
10747          * testsuite/libgomp.c/reduction-11.c: New test.
10748          * testsuite/libgomp.c/reduction-12.c: New test.
10749          * testsuite/libgomp.c/reduction-13.c: New test.
10750          * testsuite/libgomp.c/reduction-14.c: New test.
10751          * testsuite/libgomp.c/reduction-15.c: New test.
10752          * testsuite/libgomp.c/target-12.c (main): Adjust for
10753          omp_target_is_present change for one-past-last element.
10754          * testsuite/libgomp.c/target-17.c (foo): Drop tests where
10755          the same var is both mapped and privatized.
10756          * testsuite/libgomp.c/target-19.c (foo): Adjust for different
10757          handling of zero-length array sections.
10758          * testsuite/libgomp.c/target-28.c: New test.
10759          * testsuite/libgomp.c/target-29.c: New test.
10760          * testsuite/libgomp.c/target-30.c: New test.
10761          * testsuite/libgomp.c/target-teams-1.c: New test.
10762          * testsuite/libgomp.c++/member-6.C: New test.
10763          * testsuite/libgomp.c++/member-7.C: New test.
10764          * testsuite/libgomp.c++/monotonic-1.C: New test.
10765          * testsuite/libgomp.c++/monotonic-2.C: New test.
10766          * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
10767          * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
10768          * testsuite/libgomp.c++/pr66199-3.C: New test.
10769          * testsuite/libgomp.c++/pr66199-4.C: New test.
10770          * testsuite/libgomp.c++/pr66199-5.C: New test.
10771          * testsuite/libgomp.c++/pr66199-6.C: New test.
10772          * testsuite/libgomp.c++/pr66199-7.C: New test.
10773          * testsuite/libgomp.c++/pr66199-8.C: New test.
10774          * testsuite/libgomp.c++/pr66199-9.C: New test.
10775          * testsuite/libgomp.c++/reduction-11.C: New test.
10776          * testsuite/libgomp.c++/reduction-12.C: New test.
10777          * testsuite/libgomp.c++/target-13.C: New test.
10778          * testsuite/libgomp.c++/target-14.C: New test.
10779          * testsuite/libgomp.c++/target-15.C: New test.
10780          * testsuite/libgomp.c++/target-16.C: New test.
10781          * testsuite/libgomp.c++/target-17.C: New test.
10782          * testsuite/libgomp.c++/target-18.C: New test.
10783          * testsuite/libgomp.c++/target-19.C: New test.
10784
107852015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
10786
10787          * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
10788          and reduction copy.
10789          * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10790          * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10791          * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10792          * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10793          * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
10794          * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10795          * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10796          * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10797          * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10798          * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
10799          * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10800          * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10801          * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10802          * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
10803
108042015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
10805
10806          * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
10807          * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
10808          * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
10809          * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
10810          * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
10811          * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
10812          * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
10813          * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
10814
108152015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
10816
10817          * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
10818          * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
10819          (GOMP_OFFLOAD_openacc_parallel): Likewise.
10820          * oacc-host.c (host_openacc_exec): Likewise.
10821          * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
10822
108232015-11-03  Julian Brown  <julian@codesourcery.com>
10824              Thomas Schwinge  <thomas@codesourcery.com>
10825
10826          * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
10827          * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10828          * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
10829          Likewise.
10830          * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
10831          * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
10832
108332015-11-03  James Norris  <jnorris@codesourcery.com>
10834
10835          * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
10836          file.
10837          * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
10838          Likewise.
10839          * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
10840          * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
10841          * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10842          * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
10843          * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10844
108452015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
10846
10847          * openacc.h (enum acc_device_t): Reformat. Ensure layout
10848          compatibility.
10849          (enum acc_async_t): Reformat.
10850          (acc_on_device): Declare compatible with builtin and provide C++
10851          wrapper.
10852          * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
10853
108542015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
10855              Cesar Philippidis  <cesar@codesourcery.com>
10856
10857          * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
10858          * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
10859          ... this.  Add a description of the test at the top of the file.
10860          * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
10861          * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
10862          ... this.  Add a description of the test at the top of the file.
10863
108642015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
10865
10866          * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
10867          * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
10868          * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
10869          * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
10870          * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
10871          * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
10872
108732015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
10874
10875          * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
10876          dimensions.
10877
108782015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
10879
10880          PR testsuite/68063
10881          * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
10882
108832015-10-27  James Norris  <jnorris@codesourcery.com>
10884
10885          * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
10886          * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
10887
108882015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
10889
10890          * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
10891          * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10892
10893          * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
10894          acc_device_nvidia usage.
10895          * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10896          * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10897          * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10898
10899          * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
10900          * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
10901
10902          PR libgomp/66518
10903          * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
10904
10905          PR libgomp/65437
10906          PR libgomp/66518
10907          * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
10908          * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
10909
109102015-10-23  Tom de Vries  <tom@codesourcery.com>
10911
10912          PR testsuite/68063
10913          * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
10914
109152015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
10916
10917          * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
10918          vector_length.
10919          * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10920
109212015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
10922              Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
10923
10924          * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
10925          to 0 when mapnum is 0.
10926
109272015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10928
10929          * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
10930          Cast to int from int32_t.
10931
109322015-10-13  Jakub Jelinek  <jakub@redhat.com>
10933              Aldy Hernandez  <aldyh@redhat.com>
10934              Ilya Verbin  <ilya.verbin@intel.com>
10935
10936          * config/linux/affinity.c (omp_get_place_num_procs,
10937          omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10938          * config/linux/doacross.h: New file.
10939          * config/posix/affinity.c (omp_get_place_num_procs,
10940          omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10941          * config/posix/doacross.h: New file.
10942          * env.c: Include gomp-constants.h.
10943          (struct gomp_task_icv): Rename run_sched_modifier to
10944          run_sched_chunk_size.
10945          (gomp_max_task_priority_var): New variable.
10946          (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
10947          (handle_omp_display_env): Change _OPENMP value from 201307 to
10948          201511.  Print OMP_MAX_TASK_PRIORITY.
10949          (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
10950          (omp_set_schedule, omp_get_schedule): Rename modifier argument to
10951          chunk_size and run_sched_modifier to run_sched_chunk_size.
10952          (omp_get_max_task_priority, omp_get_initial_device,
10953          omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
10954          omp_get_partition_place_nums): New functions.
10955          * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
10956          omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
10957          to chunk_size.
10958          (omp_get_num_places_, omp_get_place_num_procs_,
10959          omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
10960          omp_get_place_proc_ids_8_, omp_get_place_num_,
10961          omp_get_partition_num_places_, omp_get_partition_place_nums_,
10962          omp_get_partition_place_nums_8_, omp_get_initial_device_,
10963          omp_get_max_task_priority_): New functions.
10964          * libgomp_g.h (GOMP_loop_doacross_static_start,
10965          GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
10966          GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
10967          GOMP_loop_ull_doacross_dynamic_start,
10968          GOMP_loop_ull_doacross_guided_start,
10969          GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
10970          GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
10971          GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
10972          GOMP_target_data_41, GOMP_target_update_41,
10973          GOMP_target_enter_exit_data): New prototypes.
10974          (GOMP_task): Add prototype argument.
10975          * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
10976          (struct gomp_doacross_work_share): New type.
10977          (struct gomp_work_share): Add doacross field.
10978          (struct gomp_task_icv): Rename run_sched_modifier to
10979          run_sched_chunk_size.
10980          (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
10981          GOMP_TASK_UNDEFERRED.  Add comments.
10982          (struct gomp_task_depend_entry): Add comments.
10983          (struct gomp_task): Likewise.
10984          (struct gomp_taskgroup): Likewise.
10985          (struct gomp_target_task): New type.
10986          (struct gomp_team): Add comment.
10987          (gomp_get_place_proc_ids_8, gomp_doacross_init,
10988          gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
10989          gomp_create_target_task, gomp_target_task_fn): New prototypes.
10990          (struct target_var_desc): New type.
10991          (struct target_mem_desc): Adjust comment.  Use struct
10992          target_var_desc instead of splay_tree_key for list.
10993          (REFCOUNT_INFINITY): Define.
10994          (struct splay_tree_key_s): Remove copy_from field.
10995          (struct gomp_device_descr): Add dev2dev_func field.
10996          (enum gomp_map_vars_kind): New enum.
10997          (gomp_map_vars): Add one argument.
10998          * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
10999          omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
11000          omp_get_place_num_procs, omp_get_place_num_procs_,
11001          omp_get_place_num_procs_8_, omp_get_place_proc_ids,
11002          omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
11003          omp_get_place_num_, omp_get_partition_num_places,
11004          omp_get_partition_num_places_, omp_get_partition_place_nums,
11005          omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
11006          omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
11007          omp_target_free, omp_target_is_present, omp_target_memcpy,
11008          omp_target_memcpy_rect, omp_target_associate_ptr and
11009          omp_target_disassociate_ptr.
11010          (GOMP_4.0.2): Renamed to ...
11011          (GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
11012          GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
11013          GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
11014          GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11015          GOMP_loop_doacross_static_start, GOMP_doacross_post,
11016          GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
11017          GOMP_loop_ull_doacross_guided_start,
11018          GOMP_loop_ull_doacross_runtime_start,
11019          GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
11020          GOMP_doacross_ull_wait.
11021          * libgomp.texi: Document omp_get_max_task_priority.
11022          Rename modifier argument to chunk_size for omp_set_schedule and
11023          omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
11024          * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
11025          to run_sched_chunk_size renaming.
11026          (GOMP_loop_ordered_runtime_start): Likewise.
11027          (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
11028          gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
11029          GOMP_parallel_loop_runtime_start): New functions.
11030          (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
11031          to run_sched_chunk_size renaming.
11032          (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
11033          GOMP_loop_doacross_guided_start): New functions or aliases.
11034          * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
11035          run_sched_modifier to run_sched_chunk_size renaming.
11036          (GOMP_loop_ull_ordered_runtime_start): Likewise.
11037          (gomp_loop_ull_doacross_static_start,
11038          gomp_loop_ull_doacross_dynamic_start,
11039          gomp_loop_ull_doacross_guided_start,
11040          GOMP_loop_ull_doacross_runtime_start): New functions.
11041          (GOMP_loop_ull_doacross_static_start,
11042          GOMP_loop_ull_doacross_dynamic_start,
11043          GOMP_loop_ull_doacross_guided_start): New functions or aliases.
11044          * oacc-mem.c (acc_map_data, present_create_copy,
11045          gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
11046          to gomp_map_vars.
11047          (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
11048          * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
11049          instead of false to gomp_map_vars.
11050          (GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
11051          * omp.h.in (omp_lock_hint_t): New type.
11052          (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11053          omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11054          omp_get_place_num, omp_get_partition_num_places,
11055          omp_get_partition_place_nums, omp_get_initial_device,
11056          omp_get_max_task_priority, omp_target_alloc, omp_target_free,
11057          omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
11058          omp_target_associate_ptr, omp_target_disassociate_ptr): New
11059          prototypes.
11060          * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
11061          (omp_lock_hint_none, omp_lock_hint_uncontended,
11062          omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11063          omp_lock_hint_speculative): New parameters.
11064          (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11065          omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11066          omp_get_place_num, omp_get_partition_num_places,
11067          omp_get_partition_place_nums, omp_get_initial_device,
11068          omp_get_max_task_priority): New interfaces.
11069          (omp_set_schedule, omp_get_schedule): Rename modifier argument
11070          to chunk_size.
11071          * omp_lib.h.in (omp_lock_hint_kind): New parameter.
11072          (omp_lock_hint_none, omp_lock_hint_uncontended,
11073          omp_lock_hint_contended, omp_lock_hint_nonspeculative,
11074          omp_lock_hint_speculative): New parameters.
11075          (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
11076          omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
11077          omp_get_place_num, omp_get_partition_num_places,
11078          omp_get_partition_place_nums, omp_get_initial_device,
11079          omp_get_max_task_priority): New functions and subroutines.
11080          * ordered.c: Include stdarg.h and string.h.
11081          (MAX_COLLAPSED_BITS): Define.
11082          (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
11083          gomp_doacross_ull_init, GOMP_doacross_ull_post,
11084          GOMP_doacross_ull_wait): New functions.
11085          * target.c: Include errno.h.
11086          (resolve_device): If device is not initialized, call
11087          gomp_init_device on it.
11088          (gomp_map_lookup): New function.
11089          (gomp_map_vars_existing): Add tgt_var argument, fill it in.
11090          Don't bump refcount if REFCOUNT_INFINITY.  Handle
11091          GOMP_MAP_ALWAYS_TO_P.
11092          (get_kind): Rename is_openacc argument to short_mapkind.
11093          (gomp_map_pointer): Use gomp_map_lookup.
11094          (gomp_map_fields_existing): New function.
11095          (gomp_map_vars): Rename is_openacc argument to short_mapkind
11096          and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
11097          handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
11098          GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
11099          Adjust for tgt->list changed type and copy_from living in there.
11100          (gomp_copy_from_async): Adjust for tgt->list changed type and
11101          copy_from living in there.
11102          (gomp_unmap_vars): Likewise.
11103          (gomp_update): Likewise.  Rename is_openacc argument to
11104          short_mapkind.  Don't fail if object is not mapped.
11105          (gomp_load_image_to_device): Initialize refcount to
11106          REFCOUNT_INFINITY.
11107          (gomp_target_fallback): New function.
11108          (gomp_get_target_fn_addr): Likewise.
11109          (GOMP_target): Adjust gomp_map_vars caller, use
11110          gomp_get_target_fn_addr and gomp_target_fallback.
11111          (GOMP_target_41): New function.
11112          (gomp_target_data_fallback): New function.
11113          (GOMP_target_data): Use it, adjust gomp_map_vars caller.
11114          (GOMP_target_data_41): New function.
11115          (GOMP_target_update): Adjust gomp_update caller.
11116          (GOMP_target_update_41): New function.
11117          (gomp_exit_data, GOMP_target_enter_exit_data,
11118          gomp_target_task_fn, omp_target_alloc, omp_target_free,
11119          omp_target_is_present, omp_target_memcpy,
11120          omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11121          omp_target_associate_ptr, omp_target_disassociate_ptr,
11122          gomp_load_plugin_for_device): New functions.
11123          * task.c: Include gomp-constants.h.  Include taskloop.c
11124          twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11125          (gomp_task_handle_depend): New function.
11126          (GOMP_task): Use it.  Add priority argument.  Use
11127          gomp-constant.h constants instead of hardcoded numbers.
11128          Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11129          (gomp_create_target_task): New function.
11130          (verify_children_queue, verify_taskgroup_queue,
11131          verify_task_queue): New functions.
11132          (gomp_task_run_pre): Call verify_*_queue functions.
11133          If an upcoming tied task is about to leave the sibling or
11134          taskgroup queues in an invalid state, adjust appropriately.
11135          Remove taskgroup argument.  Add comments.
11136          (gomp_task_run_post_handle_dependers): Add comments.
11137          (gomp_task_run_post_remove_parent): Likewise.
11138          (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11139          (GOMP_taskwait): Likewise.  Add comments.
11140          (gomp_task_maybe_wait_for_dependencies): Fix scheduling
11141          problem such that the first non parent_depends_on task does not
11142          end up at the end of the children queue.
11143          (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11144          GOMP_TASK_UNDEFERRED.
11145          (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11146          * taskloop.c: New file.
11147          * testsuite/lib/libgomp.exp
11148          (check_effective_target_offload_device_nonshared_as): New proc.
11149          * testsuite/libgomp.c/affinity-2.c: New test.
11150          * testsuite/libgomp.c/doacross-1.c: New test.
11151          * testsuite/libgomp.c/doacross-2.c: New test.
11152          * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11153          Add map clause to target.
11154          * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11155          * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11156          * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11157          * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11158          * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11159          Likewise.
11160          * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11161          * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11162          * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11163          * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11164          not defined.  Use those where needed.
11165          * testsuite/libgomp.c/for-4.c: New test.
11166          * testsuite/libgomp.c/for-5.c: New test.
11167          * testsuite/libgomp.c/for-6.c: New test.
11168          * testsuite/libgomp.c/linear-1.c: New test.
11169          * testsuite/libgomp.c/ordered-4.c: New test.
11170          * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11171          only allowed on the loop iterator.
11172          * testsuite/libgomp.c/pr66199-3.c: New test.
11173          * testsuite/libgomp.c/pr66199-4.c: New test.
11174          * testsuite/libgomp.c/reduction-7.c: New test.
11175          * testsuite/libgomp.c/reduction-8.c: New test.
11176          * testsuite/libgomp.c/reduction-9.c: New test.
11177          * testsuite/libgomp.c/reduction-10.c: New test.
11178          * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11179          map(tofrom:s).
11180          * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11181          * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11182          * testsuite/libgomp.c/target-11.c: New test.
11183          * testsuite/libgomp.c/target-12.c: New test.
11184          * testsuite/libgomp.c/target-13.c: New test.
11185          * testsuite/libgomp.c/target-14.c: New test.
11186          * testsuite/libgomp.c/target-15.c: New test.
11187          * testsuite/libgomp.c/target-16.c: New test.
11188          * testsuite/libgomp.c/target-17.c: New test.
11189          * testsuite/libgomp.c/target-18.c: New test.
11190          * testsuite/libgomp.c/target-19.c: New test.
11191          * testsuite/libgomp.c/target-20.c: New test.
11192          * testsuite/libgomp.c/target-21.c: New test.
11193          * testsuite/libgomp.c/target-22.c: New test.
11194          * testsuite/libgomp.c/target-23.c: New test.
11195          * testsuite/libgomp.c/target-24.c: New test.
11196          * testsuite/libgomp.c/target-25.c: New test.
11197          * testsuite/libgomp.c/target-26.c: New test.
11198          * testsuite/libgomp.c/target-27.c: New test.
11199          * testsuite/libgomp.c/taskloop-1.c: New test.
11200          * testsuite/libgomp.c/taskloop-2.c: New test.
11201          * testsuite/libgomp.c/taskloop-3.c: New test.
11202          * testsuite/libgomp.c/taskloop-4.c: New test.
11203          * testsuite/libgomp.c++/ctor-13.C: New test.
11204          * testsuite/libgomp.c++/doacross-1.C: New test.
11205          * testsuite/libgomp.c++/examples-4/declare_target-2.C:
11206          Replace offload_device with offload_device_nonshared_as.
11207          * testsuite/libgomp.c++/for-12.C: New test.
11208          * testsuite/libgomp.c++/for-13.C: New test.
11209          * testsuite/libgomp.c++/for-14.C: New test.
11210          * testsuite/libgomp.c++/linear-1.C: New test.
11211          * testsuite/libgomp.c++/member-1.C: New test.
11212          * testsuite/libgomp.c++/member-2.C: New test.
11213          * testsuite/libgomp.c++/member-3.C: New test.
11214          * testsuite/libgomp.c++/member-4.C: New test.
11215          * testsuite/libgomp.c++/member-5.C: New test.
11216          * testsuite/libgomp.c++/ordered-1.C: New test.
11217          * testsuite/libgomp.c++/reduction-5.C: New test.
11218          * testsuite/libgomp.c++/reduction-6.C: New test.
11219          * testsuite/libgomp.c++/reduction-7.C: New test.
11220          * testsuite/libgomp.c++/reduction-8.C: New test.
11221          * testsuite/libgomp.c++/reduction-9.C: New test.
11222          * testsuite/libgomp.c++/reduction-10.C: New test.
11223          * testsuite/libgomp.c++/reference-1.C: New test.
11224          * testsuite/libgomp.c++/simd14.C: New test.
11225          * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11226          * testsuite/libgomp.c++/target-5.C: New test.
11227          * testsuite/libgomp.c++/target-6.C: New test.
11228          * testsuite/libgomp.c++/target-7.C: New test.
11229          * testsuite/libgomp.c++/target-8.C: New test.
11230          * testsuite/libgomp.c++/target-9.C: New test.
11231          * testsuite/libgomp.c++/target-10.C: New test.
11232          * testsuite/libgomp.c++/target-11.C: New test.
11233          * testsuite/libgomp.c++/target-12.C: New test.
11234          * testsuite/libgomp.c++/taskloop-1.C: New test.
11235          * testsuite/libgomp.c++/taskloop-2.C: New test.
11236          * testsuite/libgomp.c++/taskloop-3.C: New test.
11237          * testsuite/libgomp.c++/taskloop-4.C: New test.
11238          * testsuite/libgomp.c++/taskloop-5.C: New test.
11239          * testsuite/libgomp.c++/taskloop-6.C: New test.
11240          * testsuite/libgomp.c++/taskloop-7.C: New test.
11241          * testsuite/libgomp.c++/taskloop-8.C: New test.
11242          * testsuite/libgomp.c++/taskloop-9.C: New test.
11243          * testsuite/libgomp.fortran/affinity1.f90: New test.
11244          * testsuite/libgomp.fortran/affinity2.f90: New test.
11245
112462015-10-13  Tom de Vries  <tom@codesourcery.com>
11247
11248          PR tree-optimization/67476
11249          * testsuite/libgomp.c/autopar-3.c: New test.
11250          * testsuite/libgomp.c/autopar-4.c: New test.
11251          * testsuite/libgomp.c/autopar-5.c: New test.
11252          * testsuite/libgomp.c/autopar-6.c: New test.
11253          * testsuite/libgomp.c/autopar-7.c: New test.
11254          * testsuite/libgomp.c/autopar-8.c: New test.
11255
112562015-10-12  James Norris  <jnorris@codesourcery.com>
11257
11258          * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11259          initializer.
11260
112612015-10-09  David Malcolm  <dmalcolm@redhat.com>
11262
11263          * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11264          using load_gcc_lib.
11265
112662015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
11267
11268          * oacc-ptx.h: Remove file, moving its content into...
11269          * config/nvptx/fortran.c: ... here...
11270          * config/nvptx/oacc-init.c: ..., here...
11271          * config/nvptx/oacc-parallel.c: ..., and here.
11272          * config/nvptx/openacc.f90: New file.
11273          * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11274          (link_ptx): Don't link in predefined bits of PTX code.
11275
112762015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
11277              Bernd Schmidt <bernds@codesourcery.com>
11278
11279          * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11280          (struct targ_ptx_obj): New.
11281          (nvptx_tdata): Move earlier, change data format.
11282          (link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
11283          objects.
11284          (GOMP_OFFLOAD_load_image): Adjust.
11285
112862015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
11287
11288          * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11289          * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11290          * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11291          * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11292          * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11293          * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11294          * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11295          * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11296          * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11297          * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11298          * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11299          * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11300          * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11301          * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11302          * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11303          * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11304          * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11305          * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11306          * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11307          * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11308          * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11309          * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11310          * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11311          * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11312          * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11313          * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11314          * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11315          * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11316          * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11317          * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11318          * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11319          * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11320          * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11321          * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11322          * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11323          * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11324          * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11325          * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11326          * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11327          * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11328          * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11329          * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11330          * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11331          * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11332          * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11333          * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11334          * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11335          * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11336          * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11337          * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11338          * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11339          * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11340          * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11341          * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11342          * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11343          * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11344          * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11345          * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11346          * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11347          * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11348          * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11349          * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11350          * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11351
113522015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
11353
11354          * oacc-init.c (acc_on_device): Force optimization level.
11355
113562015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
11357
11358          * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11359          (cuda_errlist): Delete.
11360          (cuda_error): Reimplement.
11361
113622015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
11363
11364          * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11365          array.
11366          * libgomp.map (GOACC_parallel_keyed): New.
11367          * oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
11368          all callers.
11369          (GOACC_parallel_keyed): New interface.  Lose geometry arguments
11370          and take keyed varargs list.  Adjust call to exec_func.
11371          (GOACC_parallel): Force host fallback.
11372          * libgomp_g.h (GOACC_parallel): Remove.
11373          (GOACC_parallel_keyed): Declare.
11374          * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
11375          (struct targ_gn_descriptor): Replace name field with launch field.
11376          (nvptx_exec): Lose separate geometry args, take array.  Process
11377          dynamic dimensions and adjust.
11378          (struct nvptx_tdata): Replace fn_names field with fn_descs.
11379          (GOMP_OFFLOAD_load_image): Adjust for change in function table
11380          data.
11381          (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11382          passing.
11383          * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11384          passing.
11385
113862015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
11387
11388          PR libgomp/67141
11389          * oacc-int.h (goacc_host_init): Add declaration.
11390          * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
11391          * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
11392
113932015-09-08  Aditya Kumar  <hiraditya@msn.com>
11394              Sebastian Pop  <s.pop@samsung.com>
11395
11396          * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
11397          match o/p.
11398          * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
11399          * testsuite/libgomp.graphite/force-parallel-4.c: Same.
11400          * testsuite/libgomp.graphite/force-parallel-5.c: Same.
11401          * testsuite/libgomp.graphite/force-parallel-7.c: Same.
11402          * testsuite/libgomp.graphite/force-parallel-8.c: Same.
11403
114042015-09-03  Jakub Jelinek  <jakub@redhat.com>
11405
11406          * configure.tgt: Add missing ;; in between nvptx and rtems
11407          snippets.
11408
114092015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11410
11411          * config/posix/pool.h (gomp_adjust_thread_attr): New.
11412          * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
11413          (gomp_thread_pool_reservoir): Add priority member.
11414          * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
11415          priority.
11416          (parse_thread_pools): Likewise.
11417          * team.c (gomp_team_start): Call configuration provided
11418          gomp_adjust_thread_attr(). Destroy thread attributes if
11419          necessary.
11420          * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11421
114222015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11423
11424          * config/posix/pool.h: New.
11425          * config/rtems/pool.h: Likewise.
11426          * config/rtems/proc.c: Likewise.
11427          * libgomp.h (gomp_thread_destructor): Declare.
11428          * team.c: Include configuration provided "pool.h".
11429          (gomp_get_thread_pool): Define in configuration.
11430          (gomp_team_end): Call configuration defined
11431          gomp_release_thread_pool().
11432
114332015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11434
11435          * config/rtems/bar.c: New.
11436          * config/rtems/bar.h: Likewise.
11437          * config/rtems/mutex.c: Likewise.
11438          * config/rtems/mutex.h: Likewise.
11439          * config/rtems/sem.c: Likewise.
11440          * config/rtems/sem.h: Likewise.
11441          * configure.ac (*-*-rtems*): Check that Newlib provides a proper
11442          <sys/lock.h> header file.
11443          * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
11444          supported by Newlib.
11445          * configure: Regenerate.
11446
114472015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11448
11449          * team.c (gomp_new_thread_pool): Delete and move content to ...
11450          (gomp_get_thread_pool): ... new function.  Allocate and
11451          initialize thread pool on demand.
11452          (get_last_team): Use gomp_get_thread_pool().
11453          (gomp_team_start): Delete thread pool initialization.
11454
114552015-09-03  Tom de Vries  <tom@codesourcery.com>
11456
11457          PR tree-optimization/65637
11458          * testsuite/libgomp.c/autopar-2.c: New test.
11459
114602015-08-29  Tom de Vries  <tom@codesourcery.com>
11461
11462          PR tree-optimization/46193
11463          * testsuite/libgomp.c/pr46193.c: New test.
11464
114652015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
11466
11467          libgomp/
11468          * libgomp.map: Add 4.0.2 version.
11469          * target.c (offload_image_descr): Add version field.
11470          (gomp_load_image_to_device): Add version argument.  Adjust plugin
11471          call.  Improve load mismatch diagnostic.
11472          (gomp_unload_image_from_device): Add version argument.  Adjust plugin
11473          call.
11474          (GOMP_offload_regster): Make stub function, move bulk to ...
11475          (GOMP_offload_register_ver): ... here.  Process version argument.
11476          (GOMP_offload_unregister): Make stub function, move bulk to ...
11477          (GOMP_offload_unregister_ver): ... here.  Process version argument.
11478          (gomp_init_device): Process version field.
11479          (gomp_unload_device): Process version field.
11480          (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
11481          macros.  Check plugin version.
11482          * libgomp.h (gomp_device_descr): Add version function field.  Adjust
11483          loader and unloader types.
11484          * oacc-host.c: Include gomp-constants.h.
11485          (host_version): New.
11486          (host_load_image, host_unload_image): Adjust.
11487          (host_dispatch): Add host_version.
11488          * plugin/plugin-nvptx.c: Include gomp-constants.h.
11489          (GOMP_OFFLOAD_version): New.
11490          (GOMP_OFFLOAD_load_image): Add version arg and check it.
11491          (GOMP_OFFLOAD_unload_image): Likewise.
11492          * plugin/plugin-host.c: Include gomp-constants.h.
11493          (GOMP_OFFLOAD_version): New.
11494          (GOMP_OFFLOAD_load_image): Add version arg.
11495          (GOMP_OFFLOAD_unload_image): Likewise.
11496
114972015-08-24  Tom de Vries  <tom@codesourcery.com>
11498
11499          PR tree-optimization/65468
11500          * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
11501
115022015-08-24  Tom de Vries  <tom@codesourcery.com>
11503
11504          PR tree-optimization/65468
11505          * testsuite/libgomp.c/static-chunk-size-one.c: New test.
11506
115072015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
11508
11509          PR libgomp/66761
11510          PR libgomp/67303
11511          * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
11512          (gomp_iter_guided_next): Idem.
11513          * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
11514          (gomp_iter_ull_guided_next): Idem.
11515          * config/linux/wait.h (do_spin): Idem.
11516
115172015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
11518
11519          * libgomp-plugin.h (enum offload_target_type): Remove
11520          OFFLOAD_TARGET_TYPE_HOST_NONSHM.
11521          * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
11522          * openacc.h (enum acc_device_t): Likewise.
11523          * openacc_lib.h: Likewise.
11524          * oacc-init.c (name_of_acc_device_t): Don't handle it.
11525          (acc_on_device): Just use __builtin_acc_on_device.
11526          * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
11527          of acc_on_device builtin.
11528          * plugin/plugin-host.h: Remove file.
11529          * plugin/plugin-host.c: Likewise, but salvage some content into...
11530          * oacc-host.c: ... this file.
11531          * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
11532          * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
11533          * Makefile.in: Regenerate.
11534          * configure: Likewise.
11535          * testsuite/lib/libgomp.exp
11536          (check_effective_target_openacc_host_nonshm_selected): Remove.
11537          * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
11538          ACC_DEVICE_TYPE=host_nonshm.
11539          * testsuite/libgomp.oacc-c/c.exp: Likewise.
11540          * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11541          * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11542          * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11543          * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11544          * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11545
115462015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
11547              Jakub Jelinek  <jakub@redhat.com>
11548
11549          * config/nvptx/affinity.c: New file.
11550          * config/nvptx/alloc.c: Likewise.
11551          * config/nvptx/bar.c: Likewise.
11552          * config/nvptx/barrier.c: Likewise.
11553          * config/nvptx/critical.c: Likewise.
11554          * config/nvptx/env.c: Likewise.
11555          * config/nvptx/error.c: Likewise.
11556          * config/nvptx/fortran.c: Likewise.
11557          * config/nvptx/iter.c: Likewise.
11558          * config/nvptx/iter_ull.c: Likewise.
11559          * config/nvptx/libgomp-plugin.c: Likewise.
11560          * config/nvptx/lock.c: Likewise.
11561          * config/nvptx/loop.c: Likewise.
11562          * config/nvptx/loop_ull.c: Likewise.
11563          * config/nvptx/mutex.c: Likewise.
11564          * config/nvptx/oacc-async.c: Likewise.
11565          * config/nvptx/oacc-cuda.c: Likewise.
11566          * config/nvptx/oacc-host.c: Likewise.
11567          * config/nvptx/oacc-init.c: Likewise.
11568          * config/nvptx/oacc-mem.c: Likewise.
11569          * config/nvptx/oacc-parallel.c: Likewise.
11570          * config/nvptx/oacc-plugin.c: Likewise.
11571          * config/nvptx/omp-lock.h: Likewise.
11572          * config/nvptx/ordered.c: Likewise.
11573          * config/nvptx/parallel.c: Likewise.
11574          * config/nvptx/proc.c: Likewise.
11575          * config/nvptx/ptrlock.c: Likewise.
11576          * config/nvptx/sections.c: Likewise.
11577          * config/nvptx/sem.c: Likewise.
11578          * config/nvptx/single.c: Likewise.
11579          * config/nvptx/splay-tree.c: Likewise.
11580          * config/nvptx/target.c: Likewise.
11581          * config/nvptx/task.c: Likewise.
11582          * config/nvptx/team.c: Likewise.
11583          * config/nvptx/time.c: Likewise.
11584          * config/nvptx/work.c: Likewise.
11585          * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
11586          * configure: Regenerate.
11587          * configure.tgt (config_path): Set to "nvptx" for target
11588          nvptx*-*-*.
11589
115902015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
11591
11592          * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
11593
115942015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
11595
11596          * plugin/plugin-nvptx.c: Don't include dlfcn.h.
11597          (cuda_errlist): Constify.
11598          (errmsg):  Move into ...
11599          (cuda_error): ... here.  Make smaller.
11600          (_XSTR, _STR): Delete.
11601          (cuda_synames): Delete.
11602          (verify_device_library): Delete.
11603          (nvptx_init): Don't call it.
11604
116052015-07-28  Tom de Vries  <tom@codesourcery.com>
11606
11607          * testsuite/libgomp.c/uns-outer-4.c: New test.
11608
116092015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
11610
11611          * testsuite/libgomp.c/pr66714.c: New test.
11612
116132015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
11614
11615          PR libgomp/66950
11616          * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
11617          (fib_ref): New function.
11618          (fib): Correct corner cases in the recursion.
11619          (main): Replace the non-simd loop with fib_ref call.
11620          * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
11621          subroutine.
11622          (fibonacci): Lower the parameter N to 30.  Correct accordingly check
11623          for the last array element value.  Replace the non-simd loop with
11624          fib_ref call.  Remove redundant b_ref array.  Remove the comparison
11625          of the last array element with according Fibonacci sequence element.
11626          (fib): Correct corner cases in the recursion.
11627
116282015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
11629
11630          * target.c (gomp_offload_image_to_device): Rename to ...
11631          (gomp_load_image_to_device): ... here.
11632          (GOMP_offload_register): Adjust call.
11633          (gomp_init_device): Likewise.
11634          (gomp_unload_image_from_device): New.  Broken out of ...
11635          (GOMP_offload_unregister): ... here.  Call it.
11636          (gomp_unload_device): New.
11637          * libgomp.h (gomp_unload_device): Declare.
11638          * oacc-init.c (acc_shutdown_1): Unload from device before deleting
11639          mem maps.
11640
116412015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
11642
11643          * oacc-parallel.c (GOACC_parallel): Move variadic handling into
11644          wait=-specific if.
11645          (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
11646          !=0 condition.
11647          (goacc_waits): Move !num_waits handling to ...
11648          (GOACC_wait): ... here, the only caller that might have zero waits.
11649
11650          * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
11651          (struct ptx_image_data): Move earlier, add fns field.
11652          (struct ptx_device): Add images and image_lock fields.
11653          (ptx_images, ptx_image_lock): Delete.
11654          (nvptx_open_device): Initialize images and image_lock fields.
11655          (nvptx_close_device): Destroy image_lock.
11656          (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
11657          (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
11658          fields.
11659
116602015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
11661
11662          * target.c (GOMP_offload_register): Use int for device type arg.
11663          (GOMP_offload_unregister): Likewise.
11664
11665          * target.c (struct_offload_image_descr): Constify host_table.
11666          (gomp_offload_image_to_device): Likewise.
11667          (GOMP_offload_register, GOMP_offload_unregister): Likewise.
11668
11669          * libgomp.h (gomp_device_descr): Constify target data arguments.
11670          * target.c (struct offload_image_descr): Constify target_data.
11671          (gomp_offload_image_to_device): Likewise.
11672          (GOMP_offload_register): Likewise.
11673          (GOMP_offload_unregister): Likewise.
11674          * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
11675          GOMP_OFFLOAD_unload_image): Constify target data.
11676          * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
11677          (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
11678
116792015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
11680
11681          * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
11682          Workaround driver library const error.
11683          (struct nvptx_tdata, nvptx_tdata_t): New.
11684          (GOMP_OFFLOAD_load_image): Use struct for target_data's real
11685          type.
11686
116872015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
11688
11689          * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
11690          of EPS parameter from integer to real.
11691          * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
11692          type of EPS parameter from integer to real.
11693
116942015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11695
11696          * team.c (get_last_team): New.
11697          (gomp_new_team): Recycle last non-nested team if possible.
11698          (gomp_team_end): Move team work share list free lock destruction
11699          to ...
11700          (free_team): ... here.
11701
117022015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
11703
11704          * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
11705          and ref from int to double.  Replaced their comparison with
11706          an inequality of their difference and EPS.
11707          * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
11708          comparison of pri and a reference number with an inequality of their
11709          difference and EPS.
11710          * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
11711          the comparison of sum and sum_ref with an inequality of their
11712          difference and EPS.
11713          * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
11714          the comparison of pri and a reference number with an inequality of
11715          their difference and EPS.
11716
117172015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
11718
11719          * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
11720          * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
11721          * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
11722          * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
11723          * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
11724          * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
11725          * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
11726          * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
11727          * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
11728          * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
11729          * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
11730          * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
11731          (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
11732          variables.
11733          (vec_mult): Likewise.  Add #pragma omp taskwait.
11734          (main): Adjust caller.
11735          * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
11736          * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
11737          * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
11738          * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
11739          * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
11740          * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
11741          * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
11742          * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
11743          * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
11744          * testsuite/libgomp.c/examples-4/device-1.c: ...this.
11745          * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
11746          * testsuite/libgomp.c/examples-4/device-2.c: ...this.
11747          * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
11748          * testsuite/libgomp.c/examples-4/device-3.c: ...this.
11749          * testsuite/libgomp.c/examples-4/simd-1.c: New file.
11750          * testsuite/libgomp.c/examples-4/simd-2.c: New file.
11751          * testsuite/libgomp.c/examples-4/simd-3.c: New file.
11752          * testsuite/libgomp.c/examples-4/simd-4.c: New file.
11753          * testsuite/libgomp.c/examples-4/simd-5.c: New file.
11754          * testsuite/libgomp.c/examples-4/simd-6.c: New file.
11755          * testsuite/libgomp.c/examples-4/simd-7.c: New file.
11756          * testsuite/libgomp.c/examples-4/simd-8.c: New file.
11757          * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
11758          * testsuite/libgomp.c/examples-4/target-1.c: ...this.
11759          * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
11760          * testsuite/libgomp.c/examples-4/target-2.c: ...this.
11761          * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
11762          * testsuite/libgomp.c/examples-4/target-3.c: ...this.
11763          * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
11764          * testsuite/libgomp.c/examples-4/target-4.c: ...this.
11765          * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
11766          * testsuite/libgomp.c/examples-4/target-5.c: ...this.
11767          * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
11768          * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
11769          * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
11770          * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
11771          * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
11772          * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
11773          * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
11774          * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
11775          * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
11776          * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
11777          * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
11778          * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
11779          * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
11780          * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
11781          * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
11782          * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
11783          * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
11784          * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
11785          * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
11786          * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
11787          * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
11788          * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
11789          * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
11790          * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
11791          * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
11792          * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
11793          * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
11794          * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
11795          * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
11796          * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
11797          * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
11798          * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
11799          * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
11800          * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
11801          * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
11802          * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
11803          * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
11804          * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
11805          * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
11806          (vec_mult): Add !$omp taskwait.
11807          * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
11808          * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
11809          * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
11810          * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
11811          * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
11812          * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
11813          * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
11814          * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
11815          * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
11816          * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
11817          * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
11818          * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
11819          * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
11820          * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
11821          * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
11822          * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
11823          * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
11824          * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
11825          * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
11826          * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
11827          * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
11828          * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
11829          * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
11830          * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
11831          * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
11832          * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
11833          * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
11834          * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
11835          * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
11836          * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
11837          * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
11838          * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
11839          * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
11840          * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
11841          * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
11842          * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
11843          * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
11844          * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
11845          * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
11846          * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
11847          * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
11848          * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
11849          * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
11850          * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
11851          * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
11852          * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
11853          * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
11854          * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
11855          * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
11856          * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
11857          * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
11858          * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
11859          * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
11860          * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
11861          * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
11862          * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
11863          * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
11864          * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
11865          * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
11866          * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
11867          * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
11868          * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
11869          * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
11870          * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
11871          * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
11872          * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
11873          * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
11874
118752015-07-10  Tom de Vries  <tom@codesourcery.com>
11876
11877          * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
11878          * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
11879
118802015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
11881
11882          PR libgomp/65099
11883          * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
11884          in a 64-bit configuration.
11885          * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
11886          offloading testing if no such device is available.
11887          * testsuite/libgomp.oacc-c/c.exp: Likewise.
11888          * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11889
118902015-07-08  Tom de Vries  <tom@codesourcery.com>
11891
11892          * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
11893          second call to f.
11894          * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11895
118962015-07-07  Tom de Vries  <tom@codesourcery.com>
11897
11898          PR tree-optimization/66642
11899          * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
11900          iteration count case.
11901          * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
11902          function, factor out of ...
11903          (main): ... here.  Test low iteration count case.
11904
119052015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11906
11907          * libgomp.h (gomp_thread_pool): Comment last_team field.
11908
119092015-07-02  Uros Bizjak  <ubizjak@gmail.com>
11910
11911          * testsuite/libgomp.c++/pr66702-1.C: Require
11912          vect_simd_clones effective target.
11913          * testsuite/libgomp.c++/pr66702-2.C: Ditto.
11914
119152015-06-30  Tom de Vries  <tom@codesourcery.com>
11916
11917          * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11918          already set.  Use DEFAULT_CFLAGS in dg-runtest.
11919          * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
11920          "-O2".
11921
119222015-06-30  Tom de Vries  <tom@codesourcery.com>
11923
11924          * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11925          already set.  Use DEFAULT_CFLAGS in dg-runtest.
11926          * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
11927          * testsuite/libgomp.c++/pr64824.C: Same.
11928          * testsuite/libgomp.c++/pr64868.C: Same.
11929          * testsuite/libgomp.c++/pr66199-1.C: Same.
11930          * testsuite/libgomp.c++/pr66199-2.C: Same.
11931          * testsuite/libgomp.c++/target-2.C: Same.
11932          * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
11933          -std=<standard> option.
11934          * testsuite/libgomp.c++/udr-11.C: Same.
11935          * testsuite/libgomp.c++/udr-12.C: Same.
11936          * testsuite/libgomp.c++/udr-13.C: Same.
11937          * testsuite/libgomp.c++/udr-14.C: Same.
11938          * testsuite/libgomp.c++/udr-15.C: Same.
11939          * testsuite/libgomp.c++/udr-16.C: Same.
11940          * testsuite/libgomp.c++/udr-17.C: Same.
11941          * testsuite/libgomp.c++/udr-18.C: Same.
11942          * testsuite/libgomp.c++/udr-19.C: Same.
11943          * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
11944          * testsuite/libgomp.c++/simd-1.C: Same.
11945          * testsuite/libgomp.c++/simd-2.C: Same.
11946          * testsuite/libgomp.c++/simd-3.C: Same.
11947          * testsuite/libgomp.c++/simd-4.C: Same.
11948          * testsuite/libgomp.c++/simd-5.C: Same.
11949          * testsuite/libgomp.c++/simd-6.C: Same.
11950          * testsuite/libgomp.c++/simd-7.C: Same.
11951          * testsuite/libgomp.c++/simd-8.C: Same.
11952          * testsuite/libgomp.c++/simd-9.C: Same.
11953          * testsuite/libgomp.c++/simd10.C: Same.
11954          * testsuite/libgomp.c++/simd11.C: Same.
11955          * testsuite/libgomp.c++/simd12.C: Same.
11956          * testsuite/libgomp.c++/simd13.C: Same.
11957
119582015-06-30  Jakub Jelinek  <jakub@redhat.com>
11959
11960          PR middle-end/66702
11961          * testsuite/libgomp.c++/pr66702-1.C: New test.
11962          * testsuite/libgomp.c++/pr66702-2.C: New test.
11963
119642015-06-30  Tom de Vries  <tom@codesourcery.com>
11965
11966          * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
11967          * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
11968          * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
11969          * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
11970
119712015-06-30  Tom de Vries  <tom@codesourcery.com>
11972
11973          PR tree-optimization/66652
11974          * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
11975          using restrict pointers.
11976          (main): Add arguments to calls to f.
11977          * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11978
119792015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
11980
11981          * configure.ac: Fix check for header <sys/sysctl.h>.
11982          * configure: Regenerate.
11983          * config.h.in: Likewise.
11984
119852015-06-23  Tom de Vries  <tom@codesourcery.com>
11986
11987          * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
11988          abort.
11989          * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
11990
119912015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
11992
11993          * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
11994          acc_device_nvidia.
11995
11996          PR libgomp/66518
11997          * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
11998          * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11999
120002015-06-15  Tom de Vries  <tom@codesourcery.com>
12001
12002          * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
12003          dg-additional-options for any remaining options.
12004          * testsuite/libgomp.c/atomic-2.c: Same.
12005          * testsuite/libgomp.c/atomic-4.c: Same.
12006          * testsuite/libgomp.c/atomic-5.c: Same.
12007          * testsuite/libgomp.c/atomic-6.c: Same.
12008          * testsuite/libgomp.c/autopar-1.c: Same.
12009          * testsuite/libgomp.c/copyin-1.c: Same.
12010          * testsuite/libgomp.c/copyin-2.c: Same.
12011          * testsuite/libgomp.c/copyin-3.c: Same.
12012          * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
12013          * testsuite/libgomp.c/nestedfn-5.c: Same.
12014          * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
12015          * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
12016          * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
12017          * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12018          * testsuite/libgomp.c/pr32362-1.c: Same.
12019          * testsuite/libgomp.c/pr32362-2.c: Same.
12020          * testsuite/libgomp.c/pr32362-3.c: Same.
12021          * testsuite/libgomp.c/pr39591-1.c: Same.
12022          * testsuite/libgomp.c/pr39591-2.c: Same.
12023          * testsuite/libgomp.c/pr39591-3.c: Same.
12024          * testsuite/libgomp.c/pr58392.c: Same.
12025          * testsuite/libgomp.c/pr58756.c: Same.
12026          * testsuite/libgomp.c/simd-1.c: Same.
12027          * testsuite/libgomp.c/simd-10.c: Same.
12028          * testsuite/libgomp.c/simd-11.c: Same.
12029          * testsuite/libgomp.c/simd-12.c: Same.
12030          * testsuite/libgomp.c/simd-13.c: Same.
12031          * testsuite/libgomp.c/simd-14.c: Same.
12032          * testsuite/libgomp.c/simd-15.c: Same.
12033          * testsuite/libgomp.c/simd-2.c: Same.
12034          * testsuite/libgomp.c/simd-3.c: Same.
12035          * testsuite/libgomp.c/simd-4.c: Same.
12036          * testsuite/libgomp.c/simd-5.c: Same.
12037          * testsuite/libgomp.c/simd-6.c: Same.
12038          * testsuite/libgomp.c/simd-7.c: Same.
12039          * testsuite/libgomp.c/simd-8.c: Same.
12040          * testsuite/libgomp.c/simd-9.c: Same.
12041
120422015-06-15  Tom de Vries  <tom@codesourcery.com>
12043
12044          * testsuite/libgomp.c/pr35625.c: Fix typo.
12045
120462015-06-15  Tom de Vries  <tom@codesourcery.com>
12047
12048          * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
12049          in dg-options.
12050          * testsuite/libgomp.c/atomic-3.c: Same.
12051          * testsuite/libgomp.c/debug-1.c: Same.
12052          * testsuite/libgomp.c/nqueens-1.c: Same.
12053          * testsuite/libgomp.c/pr26171.c: Same.
12054          * testsuite/libgomp.c/pr48591.c: Same.
12055          * testsuite/libgomp.c/pr64824.c: Same.
12056          * testsuite/libgomp.c/pr64868.c: Same.
12057          * testsuite/libgomp.c/pr66133.c: Same.
12058          * testsuite/libgomp.c/pr66199-1.c: Same.
12059          * testsuite/libgomp.c/pr66199-2.c: Same.
12060          * testsuite/libgomp.c/target-8.c: Same.
12061
120622015-06-15  Tom de Vries  <tom@codesourcery.com>
12063
12064          * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
12065          -std={gnu99,c99}.
12066          * testsuite/libgomp.c/for-1.c: Same.
12067          * testsuite/libgomp.c/for-2.c: Same.
12068          * testsuite/libgomp.c/for-3.c: Same.
12069          * testsuite/libgomp.c/pr35625.c: Same.
12070          * testsuite/libgomp.c/pr39154.c: Same.
12071          * testsuite/libgomp.c/simd-16.c: Same.
12072          * testsuite/libgomp.c/simd-17.c: Same.
12073
120742015-06-13  Tom de Vries  <tom@codesourcery.com>
12075
12076          * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
12077
120782015-06-13  Tom de Vries  <tom@codesourcery.com>
12079
12080          * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
12081          * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
12082          * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
12083          (N): Define.
12084          (main): Use N instead of hardcoded constants.
12085
120862015-06-05  Tom de Vries  <tom@codesourcery.com>
12087
12088          merge from gomp4 branch:
12089          2015-05-28  Tom de Vries  <tom@codesourcery.com>
12090
12091          PR tree-optimization/65443
12092          * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
12093          * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
12094          * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
12095
120962015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
12097
12098          * testsuite/libgomp.graphite/bounds.c: Adjust for
12099          cleanup-tree-dump removal.
12100          * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
12101          * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
12102          * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
12103          * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
12104          * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
12105          * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12106          * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12107          * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12108          * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12109          * testsuite/libgomp.graphite/pr41118.c: Likewise.
12110
121112015-05-28  Uros Bizjak  <ubizjak@gmail.com>
12112
12113          * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12114          (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12115          (futex_wake) [!__x86_64__]: Ditto.
12116
121172015-05-28  Julian Brown  <julian@codesourcery.com>
12118
12119          * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12120          function comment. Only call gomp_fatal if new argument is true.
12121          (acc_dev_num_out_of_range): New function.
12122          (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12123          acc_dev_num_out_of_range as appropriate.
12124          (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12125          (acc_get_device_num, acc_set_device_num): Update calls to
12126          resolve_device.
12127          * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12128          output.
12129
121302015-05-28  Julian Brown  <julian@codesourcery.com>
12131
12132          PR libgomp/65742
12133          * oacc-init.c (plugin/plugin-host.h): Include.
12134          (acc_on_device): Check whether we're in an offloaded region for
12135          host_nonshm
12136          plugin. Don't use __builtin_acc_on_device.
12137          * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12138          nonshm_exec flag in thread-local data.
12139          (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12140          data for host_nonshm plugin.
12141          (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12142          for host_nonshm plugin.
12143          * plugin/plugin-host.h: New.
12144
121452015-05-27  Uros Bizjak  <ubizjak@gmail.com>
12146
12147          * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12148
121492015-05-27  Uros Bizjak  <ubizjak@gmail.com>
12150
12151          * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12152          Declare as int.
12153          (FUTEX_PRIVATE_FLAG): Remove L suffix.
12154          * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12155          Declare as int.
12156
121572015-05-27  Uros Bizjak  <ubizjak@gmail.com>
12158
12159          * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
12160
121612015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
12162
12163          * target.c (gomp_map_pointer): New function abstracting out
12164          GOMP_MAP_POINTER handling.
12165          (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12166          gomp_map_pointer().
12167
121682015-05-19  Jakub Jelinek  <jakub@redhat.com>
12169
12170          PR middle-end/66199
12171          * testsuite/libgomp.c/pr66199-1.c: New test.
12172          * testsuite/libgomp.c/pr66199-2.c: New test.
12173          * testsuite/libgomp.c++/pr66199-1.C: New test.
12174          * testsuite/libgomp.c++/pr66199-2.C: New test.
12175          * testsuite/libgomp.fortran/pr66199-1.f90: New test.
12176          * testsuite/libgomp.fortran/pr66199-2.f90: New test.
12177
121782015-05-19  Julian Brown  <julian@codesourcery.com>
12179
12180          * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12181          on cuInit failure.
12182
121832015-05-13  Jakub Jelinek  <jakub@redhat.com>
12184
12185          PR middle-end/66133
12186          * testsuite/libgomp.c/pr66133.c: New test.
12187
121882015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
12189
12190          * Makefile.in: Regenerated with automake-1.11.6.
12191          * aclocal.m4: Likewise.
12192          * config.h.in: Likewise.
12193          * configure: Likewise.
12194          * testsuite/Makefile.in: Likewise.
12195
121962015-05-08  Jason Merrill  <jason@redhat.com>
12197
12198          * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12199          _Complex.
12200
12201          * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12202
122032015-05-06  Julian Brown  <julian@codesourcery.com>
12204
12205          * oacc-init.c (acc_device_lock): Add explanatory comment.
12206          (resolve_device): Add comment about locking requirement.
12207          (acc_init_1, acc_shutdown_1): Likewise. Add locking around
12208          gomp_init_device and gomp_fini_device calls.
12209          (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12210          (acc_get_device_num, acc_set_device_num): Add locking around
12211          resolve_device and gomp_init_device calls.
12212
122132015-05-06  Julian Brown  <julian@codesourcery.com>
12214
12215          * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12216          goacc_thread_lock on error paths.
12217          * oacc-mem.c (lookup_host): Remove locking from function. Note
12218          locking requirement for caller in function comment.
12219          (lookup_dev): Likewise.
12220          (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12221          (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12222          (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12223          Add locking.
12224
122252015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
12226
12227          PR testsuite/65205
12228          PR libgomp/65993
12229          * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12230          don't expect "0x" prefix for "%p" format specifier, don't expect
12231          "(nil)" for NULL pointer.
12232          * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12233          * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12234          * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12235          * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12236          * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12237          * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12238          * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12239          * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12240          * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12241          * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12242          * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12243          * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12244          * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12245          * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12246          * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12247          * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12248          * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12249          * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12250          * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12251          * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12252          * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12253          * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12254          * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12255          * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12256          * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12257          * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12258          * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12259          * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12260          * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12261          accurately specify what we're looking for.
12262          * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12263          * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12264          * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12265          * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12266          * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12267
122682015-04-30  James Norris  <jnorris@codesourcery.com>
12269
12270          PR testsuite/65205
12271          * testsuite/lib/libgomp.exp
12272          (check_effective_target_openacc_host_selected)
12273          (check_effective_target_openacc_host_nonshm_selected): New
12274          procedures.
12275          * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12276          dg-shouldfail.
12277          * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12278          * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12279          * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12280          * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12281          * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12282          * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12283          * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12284          * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12285          * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12286          * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12287          * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12288          * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12289          * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12290          * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12291          * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12292          * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12293          * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12294          * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12295          * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12296          * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12297          * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12298          * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12299          * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12300          * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12301          * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12302          * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12303          * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12304          * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12305          * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12306          * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12307          * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12308          * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12309          * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12310          * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12311          * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12312          * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12313          * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12314          * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12315          * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12316          * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12317          * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12318          * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12319          * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12320
123212015-04-08  Julian Brown  <julian@codesourcery.com>
12322
12323          * libgomp.h (target_mem_desc: Remove mem_map field.
12324          (acc_dispatch_t): Remove open_device_func, close_device_func,
12325          get_device_num_func, set_device_num_func, target_data members.
12326          Change create_thread_data_func argument to device number instead of
12327          generic pointer.
12328          * oacc-async.c (assert.h): Include.
12329          (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12330          (acc_wait_all, acc_wait_all_async): Use current host thread's
12331          active device, not base_dev.
12332          * oacc-cuda.c (acc_get_current_cuda_device)
12333          (acc_get_current_cuda_context, acc_get_cuda_stream)
12334          (acc_set_cuda_stream): Likewise.
12335          * oacc-host.c (host_dispatch): Don't set open_device_func,
12336          close_device_func, get_device_num_func or set_device_num_func.
12337          * oacc-init.c (base_dev, init_key): Remove.
12338          (cached_base_dev): New.
12339          (name_of_acc_device_t): New.
12340          (acc_init_1): Initialise default-numbered device, not zeroth.
12341          (acc_shutdown_1): Close all devices of a given type.
12342          (goacc_destroy_thread): Don't use base_dev.
12343          (lazy_open, lazy_init, lazy_init_and_open): Remove.
12344          (goacc_attach_host_thread_to_device): New.
12345          (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12346          (acc_get_num_devices): Don't use base_dev.
12347          (acc_set_device_type): Reimplement.
12348          (acc_get_device_type): Don't use base_dev.
12349          (acc_get_device_num): Tweak logic.
12350          (acc_set_device_num): Likewise.
12351          (acc_on_device): Use acc_get_device_type.
12352          (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12353          (goacc_lazy_initialize): Reimplement with acc_init and
12354          goacc_attach_host_thread_to_device.
12355          * oacc-int.h (goacc_thread): Add base_dev field.
12356          (base_dev): Remove extern declaration.
12357          (goacc_attach_host_thread_to_device): Add prototype.
12358          * oacc-mem.c (acc_malloc): Use current thread's device instead of
12359          base_dev.
12360          (acc_free): Likewise.
12361          (acc_memcpy_to_device): Likewise.
12362          (acc_memcpy_from_device): Likewise.
12363          * oacc-parallel.c (select_acc_device): Remove. Replace calls with
12364          goacc_lazy_initialize (throughout).
12365          (GOACC_parallel): Use tgt_offset to locate target functions.
12366          * target.c (gomp_map_vars): Don't set tgt->mem_map.
12367          (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12368          (gomp_load_plugin_for_device): Remove open_device, close_device,
12369          get_device_num, set_device_num openacc hook initialisation. Don't set
12370          openacc.target_data.
12371          * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12372          (GOMP_OFFLOAD_openacc_close_device)
12373          (GOMP_OFFLOAD_openacc_get_device_num)
12374          (GOMP_OFFLOAD_openacc_set_device_num): Remove.
12375          (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12376          to int.
12377          * plugin/plugin-nvptx.c (ptx_inited): Remove.
12378          (instantiated_devices, ptx_dev_lock): New.
12379          (struct ptx_image_data): New.
12380          (ptx_devices, ptx_images, ptx_image_lock): New.
12381          (fini_streams_for_device): Reorder cuStreamDestroy call.
12382          (nvptx_get_num_devices): Remove forward declaration.
12383          (nvptx_init): Change return type to bool.
12384          (nvptx_fini): Remove.
12385          (nvptx_attach_host_thread_to_device): New.
12386          (nvptx_open_device): Return struct ptx_device* instead of void*.
12387          (nvptx_close_device): Change argument type to struct ptx_device*,
12388          return type to void.
12389          (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
12390          (kernel_target_data, kernel_host_table): Remove static globals.
12391          (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
12392          (GOMP_OFFLOAD_init_device): Reimplement.
12393          (GOMP_OFFLOAD_fini_device): Likewise.
12394          (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
12395          (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
12396          (GOMP_OFFLOAD_host2dev): Use ORD argument.
12397          (GOMP_OFFLOAD_openacc_open_device)
12398          (GOMP_OFFLOAD_openacc_close_device)
12399          (GOMP_OFFLOAD_openacc_set_device_num)
12400          (GOMP_OFFLOAD_openacc_get_device_num): Remove.
12401          (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
12402          (device number).
12403
12404          testsuite/
12405          * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12406
124072015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
12408
12409          * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
12410          * libgomp.h (struct gomp_memory_mapping): Remove.
12411          (struct target_mem_desc): Change type of mem_map from
12412          gomp_memory_mapping * to splay_tree_s *.
12413          (struct gomp_device_descr): Remove register_image_func, get_table_func.
12414          Add load_image_func, unload_image_func.
12415          Change type of mem_map from gomp_memory_mapping to splay_tree_s.
12416          Remove offload_regions_registered.
12417          (gomp_init_tables): Remove.
12418          (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12419          to splay_tree_s *.
12420          * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
12421          * oacc-host.c (host_dispatch): Do not initialize register_image_func,
12422          get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
12423          offload_regions_registered.
12424          Initialize load_image_func, unload_image_func, mem_map.root.
12425          (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
12426          * oacc-init.c (lazy_open): Don't call gomp_init_tables.
12427          (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
12428          * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
12429          gomp_memory_mapping *.  Use dev's lock and splay_tree.
12430          (lookup_dev): Use dev's lock.
12431          (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
12432          (acc_is_present): Likewise.
12433          (acc_map_data): Likewise.
12434          (acc_unmap_data): Likewise.  Use dev's lock.
12435          (present_create_copy): Likewise.
12436          (delete_copyout): Pass dev to lookup_host instead of mem_map.
12437          (update_dev_host): Likewise.
12438          (gomp_acc_remove_pointer): Likewise.  Use dev's lock.
12439          * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
12440          * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
12441          (GOMP_OFFLOAD_get_table): Remove
12442          (GOMP_OFFLOAD_load_image): New function.
12443          (GOMP_OFFLOAD_unload_image): New function.
12444          * target.c (register_lock): New mutex for offload image registration.
12445          (num_devices): Do not guard with PLUGIN_SUPPORT.
12446          (gomp_realloc_unlock): New static function.
12447          (gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
12448          before gomp_fatal.
12449          (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
12450          Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
12451          (gomp_copy_from_async): Use dev's lock and splay_tree instead of
12452          mem_map's.
12453          (gomp_unmap_vars): Likewise.
12454          (gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
12455          splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
12456          (gomp_offload_image_to_device): New static function.
12457          (GOMP_offload_register): Add mutex lock.
12458          Call gomp_offload_image_to_device for all initialized devices.
12459          Replace gomp_realloc with gomp_realloc_unlock.
12460          (GOMP_offload_unregister): New function.
12461          (gomp_init_tables): Replace with gomp_init_device.  Replace a call to
12462          get_table_func from the plugin with calls to init_device_func and
12463          gomp_offload_image_to_device.
12464          (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12465          to splay_tree_s *.
12466          (GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
12467          splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
12468          (GOMP_target_data): Do not call gomp_init_tables.
12469          (GOMP_target_update): Likewise.  Remove argument from gomp_update.
12470          (gomp_load_plugin_for_device): Replace register_image and get_table
12471          with load_image and unload_image in DLSYM ().
12472          (gomp_register_images_for_device): Remove function.
12473          (gomp_target_init): Do not initialize current_device.mem_map.*,
12474          current_device.offload_regions_registered.
12475          Remove call to gomp_register_images_for_device.
12476          Do not free offload_images and num_offload_images.
12477
124782015-03-30  Jakub Jelinek  <jakub@redhat.com>
12479
12480          PR fortran/65597
12481          * testsuite/libgomp.fortran/pr65597.f90: New test.
12482
124832015-03-27  Tom de Vries  <tom@codesourcery.com>
12484
12485          PR testsuite/65594
12486          * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
12487          (init, check): New function.
12488          (foo): Change return type to void.
12489          (main): Call init and check.
12490
124912015-03-27  Tom de Vries  <tom@codesourcery.com>
12492
12493          PR testsuite/65594
12494          * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
12495          (foo): Use M for non-inner loops to scale down test-case.
12496
124972015-03-25  Kai Tietz  <ktietz@redhat.com>
12498
12499          PR libgomp/64972
12500          * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
12501          (GOACC_data_start): Likewise.
12502          * target.c (gomp_map_vars): Likewise.
12503
125042015-03-21  John David Anglin  <danglin@gcc.gnu.org>
12505
12506          * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
12507          hppa*-*-hpux*.
12508
125092015-03-19  Jakub Jelinek  <jakub@redhat.com>
12510
12511          * testsuite/libgomp.c/target-10.c: New test.
12512          * testsuite/libgomp.c++/target-4.C: New test.
12513
125142015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
12515
12516          * testsuite/libgomp.fortran/declare-target-1.f90: New test.
12517          * testsuite/libgomp.fortran/declare-target-2.f90: New file.
12518
125192015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12520
12521          * configure.tgt (*-*-rtems*): Use local-exec TLS model.
12522          * configure.ac (*-*-rtems*): Assume Pthread is supported.
12523          (pthread.h): Check for this header file.
12524          * configure: Regenerate.
12525
125262015-02-25  Tom de Vries  <tom@codesourcery.com>
12527
12528          * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
12529          (check_reduction_op, check_reduction_macro, max, min):
12530          Declare.
12531          (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
12532          function.
12533          (main): Use new functions.
12534
125352015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
12536
12537          * target.c (gomp_load_plugin_for_device): Use const char * instead of
12538          char * for variables holding dlerror return values.
12539          (DLSYM_OPT): Ditto.
12540
125412015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
12542
12543          * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
12544
125452015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
12546              Cesar Philippidis  <cesar@codesourcery.com>
12547
12548          * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
12549          GOACC_ctaid, and GOACC_nctaid routines.
12550
125512015-02-11  Jakub Jelinek  <jakub@redhat.com>
12552
12553          PR c/64824
12554          * testsuite/libgomp.c/atomic-18.c: New test.
12555          * testsuite/libgomp.c++/atomic-16.C: New test.
12556
125572015-02-04  Jakub Jelinek  <jakub@redhat.com>
12558
12559          PR c/64824
12560          PR c/64868
12561          * testsuite/libgomp.c/pr64824.c: New test.
12562          * testsuite/libgomp.c/pr64868.c: New test.
12563          * testsuite/libgomp.c++/pr64824.C: New test.
12564          * testsuite/libgomp.c++/pr64868.C: New test.
12565
125662015-02-01  David Edelsohn  <dje.gcc@gmail.com>
12567
12568          PR libgomp/64635
12569          * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
12570          Link with -lpthread.
12571          * config/aix/plugin-suffix.h: Delete.
12572
125732015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
12574
12575          PR libgomp/64635
12576          * configure.tgt (*-*-aix*): Use config_path "aix posix".
12577          (*-*-darwin*): Use config_path "bsd darwin posix".
12578          (*-*-hpux*): Use config_path "hpux posix".
12579          * target.c: Add include of plugin-suffix.h and use
12580          SONAME_SUFFIX macro.
12581          * config/aix/plugin-suffix.h: New file.
12582          * config/darwin/plugin-suffix.h: New file.
12583          * config/hpux/plugin-suffix.h: New file.
12584          * config/posix/plugin-suffix.h: New file.
12585
125862015-01-23  Jakub Jelinek  <jakub@redhat.com>
12587
12588          PR middle-end/64734
12589          * libgomp.c/pr64734.c: New test.
12590
125912015-01-23  Tom de Vries  <tom@codesourcery.com>
12592
12593          PR libgomp/64672
12594          * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
12595
125962015-01-23  Tom de Vries  <tom@codesourcery.com>
12597
12598          PR libgomp/64707
12599          * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
12600          dg-options.
12601
126022015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
12603
12604          PR libgomp/64625
12605          * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
12606          (GOACC_parallel, GOACC_update): Remove const_void *offload_table
12607          formal parameter.  Update all users.
12608          * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
12609          Document unused formal parameter.
12610
126112015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
12612
12613          * oacc-parallel.c: Don't include <alloca.h>.
12614          (GOACC_parallel): Use gomp_alloca instead of alloca.
12615
126162015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
12617
12618          * target.c (num_devices): Guard with PLUGIN_SUPPORT.
12619
126202015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
12621              James Norris  <jnorris@codesourcery.com>
12622              Tom de Vries  <tom@codesourcery.com>
12623              Julian Brown  <julian@codesourcery.com>
12624              Cesar Philippidis  <cesar@codesourcery.com>
12625              Nathan Sidwell  <nathan@codesourcery.com>
12626              Tobias Burnus  <burnus@net-b.de>
12627
12628          * Makefile.am (search_path): Add $(top_srcdir)/../include.
12629          (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
12630          oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
12631          oacc-async.c, oacc-plugin.c, oacc-cuda.c.
12632          [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
12633          Include $(top_srcdir)/plugin/Makefrag.am.
12634          (nodist_libsubinclude_HEADERS): Add openacc.h.
12635          [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
12636          openacc.f90, openacc.mod, openacc_kinds.mod.
12637          (omp_lib.mod): Generalize into...
12638          (%.mod): ... this new rule.
12639          (openacc_kinds.mod, openacc.mod): New rules.
12640          * plugin/configfrag.ac: New file.
12641          * configure.ac: Move plugin/offloading support into it.  Include
12642          it.  Instantiate testsuite/libgomp-test-support.pt.exp.
12643          * plugin/Makefrag.am: New file.
12644          * testsuite/Makefile.am (OFFLOAD_TARGETS)
12645          (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
12646          export.
12647          (libgomp-test-support.exp): New rule.
12648          (all-local): Depend on it.
12649          * Makefile.in: Regenerate.
12650          * testsuite/Makefile.in: Regenerate.
12651          * config.h.in: Likewise.
12652          * configure: Likewise.
12653          * configure.tgt: Harden shell syntax.
12654          * env.c: Include "oacc-int.h".
12655          (parse_acc_device_type): New function.
12656          (gomp_debug_var, goacc_device_type, goacc_device_num): New
12657          variables.
12658          (initialize_env): Initialize those.  Call
12659          goacc_runtime_initialize.
12660          * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
12661          (gomp_fatal): Call gomp_vfatal.
12662          * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
12663          (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
12664          (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
12665          (splay_tree_node, splay_tree, splay_tree_key)
12666          (struct target_mem_desc, struct splay_tree_key_s)
12667          (struct gomp_memory_mapping, struct acc_dispatch_t)
12668          (struct gomp_device_descr, gomp_acc_insert_pointer)
12669          (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
12670          (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
12671          (gomp_free_memmap, gomp_fini_device): New declarations.
12672          (gomp_vdebug, gomp_debug): New macros.
12673          Include "splay-tree.h".
12674          * libgomp.map (OACC_2.0): New symbol version.  Use for
12675          acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
12676          acc_set_device_type_h_, acc_get_device_type,
12677          acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
12678          acc_get_device_num, acc_get_device_num_h_, acc_async_test,
12679          acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
12680          acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
12681          acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
12682          acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
12683          acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
12684          acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
12685          acc_copyin_array_h_, acc_present_or_copyin,
12686          acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
12687          acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
12688          acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
12689          acc_present_or_create_32_h_, acc_present_or_create_64_h_,
12690          acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
12691          acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
12692          acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
12693          acc_update_device, acc_update_device_32_h_,
12694          acc_update_device_64_h_, acc_update_device_array_h_,
12695          acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
12696          acc_update_self_array_h_, acc_map_data, acc_unmap_data,
12697          acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
12698          acc_is_present_64_h_, acc_is_present_array_h_,
12699          acc_memcpy_to_device, acc_memcpy_from_device,
12700          acc_get_current_cuda_device, acc_get_current_cuda_context,
12701          acc_get_cuda_stream, acc_set_cuda_stream.
12702          (GOACC_2.0): New symbol version.  Use for GOACC_data_end,
12703          GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
12704          GOACC_update, GOACC_wait, GOACC_get_thread_num,
12705          GOACC_get_num_threads.
12706          (GOMP_PLUGIN_1.0): New symbol version.  Use for
12707          GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
12708          GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
12709          GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
12710          GOMP_PLUGIN_acc_thread.
12711          * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
12712          environment variable.
12713          * libgomp_g.h (GOACC_data_start, GOACC_data_end)
12714          (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
12715          (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
12716          * splay-tree.h (splay_tree_lookup, splay_tree_insert)
12717          (splay_tree_remove): New declarations.
12718          (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
12719          (splay_tree_remove, splay_tree_lookup): Move into...
12720          * splay-tree.c: ... this new file.
12721          * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
12722          (splay_tree_node, splay_tree, splay_tree_key)
12723          (struct target_mem_desc, struct splay_tree_key_s)
12724          (struct gomp_device_descr): Don't declare.
12725          (num_devices_openmp): New variable.
12726          (gomp_get_num_devices ): Use it.
12727          (gomp_init_targets_once): New function.
12728          (gomp_get_num_devices ): Use it.
12729          (get_kind, gomp_copy_from_async, gomp_free_memmap)
12730          (gomp_fini_device, gomp_register_image_for_device): New functions.
12731          (gomp_map_vars): Add devaddrs parameter.
12732          (gomp_update): Add mm parameter.
12733          (gomp_init_device): Move most of it into...
12734          (gomp_init_tables): ... this new function.
12735          (gomp_register_images_for_device): Remove function.
12736          (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
12737          Make them hidden instead of static.
12738          (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
12739          (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
12740          (GOMP_target_end_data, GOMP_target_update)
12741          (gomp_load_plugin_for_device, gomp_target_init): Update for
12742          OpenACC changes.
12743          * oacc-async.c: New file.
12744          * oacc-cuda.c: Likewise.
12745          * oacc-host.c: Likewise.
12746          * oacc-init.c: Likewise.
12747          * oacc-int.h: Likewise.
12748          * oacc-mem.c: Likewise.
12749          * oacc-parallel.c: Likewise.
12750          * oacc-plugin.c: Likewise.
12751          * oacc-plugin.h: Likewise.
12752          * oacc-ptx.h: Likewise.
12753          * openacc.f90: Likewise.
12754          * openacc.h: Likewise.
12755          * openacc_lib.h: Likewise.
12756          * plugin/plugin-host.c: Likewise.
12757          * plugin/plugin-nvptx.c: Likewise.
12758          * libgomp-plugin.c: Likewise.
12759          * libgomp-plugin.h: Likewise.
12760          * libgomp_target.h: Remove file after merging content into the
12761          former file.  Update all users.
12762          * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
12763          (offload_targets_s, offload_targets_s_openacc): New variables.
12764          (check_effective_target_openacc_nvidia_accel_present)
12765          (check_effective_target_openacc_nvidia_accel_selected): New
12766          procedures.
12767          (libgomp_init): Update for OpenACC changes.
12768          * testsuite/libgomp-test-support.exp.in: New file.
12769          * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
12770          * testsuite/libgomp.oacc-c/c.exp: Likewise.
12771          * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12772          * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
12773          * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
12774          * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
12775          * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
12776          * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12777          * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12778          * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
12779          * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
12780          * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
12781          * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
12782          * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12783          * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
12784          * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12785          * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
12786          * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
12787          * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
12788          * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
12789          * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
12790          * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
12791          * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12792          * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
12793          * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12794          * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
12795          * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
12796          * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
12797          * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
12798          * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
12799          * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12800          * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12801          * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12802          * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
12803          * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
12804          * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12805          * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
12806          * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12807          * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
12808          * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
12809          * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12810          * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12811          * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12812          * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12813          * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12814          * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
12815          * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12816          * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12817          * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12818          * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12819          * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12820          * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12821          * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12822          * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12823          * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12824          * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12825          * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12826          * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12827          * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12828          * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
12829          * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
12830          * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
12831          * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12832          * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12833          * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12834          * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
12835          * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
12836          * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12837          * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12838          * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12839          * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
12840          * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12841          * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12842          * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12843          * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
12844          * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
12845          * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12846          * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12847          * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
12848          * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
12849          * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
12850          * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
12851          * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12852          * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12853          * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12854          * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
12855          * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
12856          * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12857          * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12858          * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
12859          * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
12860          * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
12861          * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
12862          * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12863          * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12864          * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12865          * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12866          * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
12867          * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12868          * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12869          * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
12870          * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
12871          * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
12872          * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12873          * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
12874          * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
12875          * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
12876          * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
12877          * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
12878          * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12879          * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
12880          * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
12881          * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12882          * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
12883          * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
12884          * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
12885          * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
12886          * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
12887          * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
12888          * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
12889          * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
12890          * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
12891          * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
12892          * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
12893          * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
12894          * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
12895          * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
12896          * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
12897          * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
12898          * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
12899          * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
12900          * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
12901          * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12902          * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
12903          * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
12904          * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12905          * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12906          * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12907          * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12908          * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
12909          Likewise.
12910          * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
12911          * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
12912          * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
12913          * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12914          * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
12915          * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12916          * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12917          * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12918          * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12919          * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12920          * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12921          * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12922          * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12923          * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12924          * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12925          * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12926          * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12927          * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12928          * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12929          * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12930          * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12931          * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12932          * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12933          * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12934          * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12935          * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12936          * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12937          * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12938          * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
12939          * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
12940          * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
12941          * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
12942          * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
12943          * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12944          * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12945          * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12946          * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12947          * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12948          * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12949          * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12950          * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12951          * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12952          * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12953          * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12954          * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12955          * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12956          * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12957          * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12958          * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12959          * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12960          * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12961          * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12962          * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12963          * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12964          * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12965          * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12966          * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12967          * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12968          * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12969          * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12970
129712015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
12972              Julian Brown  <julian@codesourcery.com>
12973              David Malcolm  <dmalcolm@redhat.com>
12974
12975          * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
12976          to "GNU Offloading and Multi Processing Runtime Library".  Change
12977          all users.
12978          * configure: Regenerate.
12979          * libgomp.texi: Update.
12980
129812015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
12982
12983          * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
12984          "$tgt_dir/lib32".
12985          * configure: Regenerate.
12986
12987          * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
12988          "intelmic" in $offload_targets.
12989
129902015-01-05  Jakub Jelinek  <jakub@redhat.com>
12991
12992          Update copyright years.
12993
12994          * libgomp.texi: Bump @copying's copyright year.
12995
129962014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
12997
12998          * testsuite/lib/libgomp.exp: Load target-utils.exp.
12999          Move load of target-supports.exp earlier.
13000
130012014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
13002
13003          * testsuite/libgomp.c/target-9.c: New test.
13004
130052014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
13006
13007          * config.h.in: Regenerate.
13008          * configure: Regenerate.
13009          * configure.ac: Add GCC_CHECK_EMUTLS.
13010          * libgomp.h: Add check for USE_EMUTLS: this case
13011          is equal to HAVE_TLS.
13012          * team.c: Likewise.
13013
130142014-12-03  Uros Bizjak  <ubizjak@gmail.com>
13015
13016          * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
13017
130182014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
13019              Ilya Verbin  <ilya.verbin@intel.com>
13020
13021          * testsuite/libgomp.c/target-critical-1.c: New test.
13022
130232014-11-26  Jakub Jelinek  <jakub@redhat.com>
13024
13025          * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
13026          to dg-options unless expensive testing is on.
13027          (TESTITERS): Define to N if not defined.
13028          (main): Use TESTITERS instead of N.
13029          * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
13030          dg-additional-options depending on whether expensive testing is on.
13031          * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
13032          Decrease N to 100000 and CHUNKSZ to 10000.
13033
130342014-11-24  Jakub Jelinek  <jakub@redhat.com>
13035
13036          PR fortran/63938
13037          * testsuite/libgomp.fortran/pr63938-1.f90: New test.
13038          * testsuite/libgomp.fortran/pr63938-2.f90: New test.
13039
130402014-11-21  Steve Ellcey  <sellcey@imgtec.com>
13041
13042          * config/linux/mips/futex.h (SYS_futex): Define if not already done.
13043
130442014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
13045
13046          PR bootstrap/63784
13047          * configure: Regenerated.
13048
130492014-11-19  Uros Bizjak  <ubizjak@gmail.com>
13050
13051          * testsuite/libgomp.c/examples-4/e.53.5.c: Require
13052          vect_simd_clones effective target.
13053          * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13054
130552014-11-14  Jakub Jelinek  <jakub@redhat.com>
13056
13057          * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
13058          of 32 as block_size.
13059          * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
13060          instead of 32 as block_size.
13061
130622014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
13063              Ilya Verbin  <ilya.verbin@intel.com>
13064
13065          * Makefile.in: Regenerate.
13066          * configure: Regenerate.
13067          * configure.ac: Set up offload_additional_options,
13068          offload_additional_lib_paths and offload_targets.
13069          * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
13070          OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
13071          * testsuite/Makefile.in: Regenerate.
13072          * testsuite/lib/libgomp.exp (libgomp_init): Append
13073          offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
13074          offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
13075          build directory to LD_LIBRARY_PATH for intelmic offload targets.
13076
130772014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
13078              Ilya Verbin  <ilya.verbin@intel.com>
13079              Kirill Yukhin  <kirill.yukhin@intel.com>
13080              Ilya Tocar  <ilya.tocar@intel.com>
13081
13082          * testsuite/lib/libgomp.exp
13083          (check_effective_target_offload_device): New.
13084          * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
13085          * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
13086          * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
13087          * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
13088          * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
13089          * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
13090          * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
13091          * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
13092          * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
13093          * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
13094          * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
13095          * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
13096          * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
13097          * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
13098          * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
13099          * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
13100          * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
13101          * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
13102          * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
13103          * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
13104          * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
13105          * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13106          * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13107          * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13108          * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13109          * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13110          * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13111          * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13112          * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13113          * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13114          * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13115          * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13116          * testsuite/libgomp.c/target-7.c: Fix test.
13117          * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13118          * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13119          * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13120          * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13121          * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13122          * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13123          * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13124          * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13125          * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13126          * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13127          * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13128          * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13129          * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13130          * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13131          * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13132          * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13133          * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13134          * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13135          * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13136          * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13137          * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13138          * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13139          * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13140          * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13141          * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13142          * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13143          * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13144          * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13145          * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13146          * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13147          * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13148
131492014-11-13  Jakub Jelinek  <jakub@redhat.com>
13150              Ilya Verbin  <ilya.verbin@intel.com>
13151              Thomas Schwinge  <thomas@codesourcery.com>
13152              Andrey Turetskiy  <andrey.turetskiy@intel.com>
13153
13154          * libgomp.map (GOMP_4.0.1): New symbol version.
13155          Add GOMP_offload_register.
13156          * libgomp_target.h: New file.
13157          * splay-tree.h: New file.
13158          * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13159          (gomp_target_init): New forward declaration.
13160          (gomp_is_initialized): New static variable.
13161          (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13162          (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13163          New structures.
13164          (offload_images, num_offload_images, devices, num_devices): New static
13165          variables.
13166          (splay_compare): New static function.
13167          (struct gomp_device_descr): New structure.
13168          (gomp_get_num_devices): Call gomp_target_init.
13169          (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13170          (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13171          (GOMP_offload_register): New function.
13172          (GOMP_target): Arrange for host callback to be performed in a separate
13173          initial thread and contention group, inheriting ICVs from
13174          gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
13175          Add device initialization and lookup for target function in splay tree.
13176          (GOMP_target_data): Add device initialization and call gomp_map_vars.
13177          (GOMP_target_end_data): Call gomp_unmap_vars.
13178          (GOMP_target_update): Add device initialization and call gomp_update.
13179          (gomp_load_plugin_for_device, gomp_register_images_for_device)
13180          (gomp_target_init): New static functions.
13181
131822014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
13183              Thomas Schwinge  <thomas@codesourcery.com>
13184              Ilya Verbin  <ilya.verbin@intel.com>
13185              Andrey Turetskiy  <andrey.turetskiy@intel.com>
13186
13187          * config.h.in: Regenerate.
13188          * configure: Regenerate.
13189          * configure.ac: Check for libdl, required for plugin support.
13190          (PLUGIN_SUPPORT): Define if plugins are supported.
13191          (enable_offload_targets): Support Intel MIC targets.
13192          (OFFLOAD_TARGETS): List of target names suitable for offloading.
13193
131942014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
13195
13196          PR target/63610
13197          * configure: Regenerate.
13198
131992014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13200
13201          * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13202
132032014-10-06  Marek Polacek  <polacek@redhat.com>
13204
13205          * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13206          * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13207          * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13208          * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13209
132102014-10-06  Marek Polacek  <polacek@redhat.com>
13211
13212          * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13213          * testsuite/libgomp.c/nqueens-1.c: Likewise.
13214          * testsuite/libgomp.c/pr26943-3.c: Likewise.
13215          * testsuite/libgomp.c/pr26943-4.c: Likewise.
13216          * testsuite/libgomp.c/pr36802-2.c: Likewise.
13217          * testsuite/libgomp.c/pr36802-3.c: Likewise.
13218          * testsuite/libgomp.c/thread-limit-1.c: Likewise.
13219          * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13220          * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13221          * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13222          * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13223          * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13224          * testsuite/libgomp.c/omp-single-1.c: Likewise.
13225          * testsuite/libgomp.c/omp-single-2.c: Likewise.
13226          * testsuite/libgomp.c/omp_matvec.c: Likewise.
13227          * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13228          * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13229          * testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
13230          declarations.
13231
132322014-10-03  Jakub Jelinek  <jakub@redhat.com>
13233
13234          PR libgomp/61200
13235          * testsuite/libgomp.c/pr61200.c: New test.
13236
132372014-09-18  Jakub Jelinek  <jakub@redhat.com>
13238
13239          PR c++/63248
13240          * testsuite/libgomp.c++/pr63248.C: New test.
13241
132422014-08-04  Jakub Jelinek  <jakub@redhat.com>
13243
13244          * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13245          is not zero, but taskgroup->children is NULL and there are
13246          any task->children, schedule those instead of waiting.
13247          * testsuite/libgomp.c/depend-6.c: New test.
13248          * testsuite/libgomp.c/depend-7.c: New test.
13249          * testsuite/libgomp.c/depend-8.c: New test.
13250          * testsuite/libgomp.c/depend-9.c: New test.
13251          * testsuite/libgomp.c/depend-10.c: New test.
13252
132532014-08-01  Jakub Jelinek  <jakub@redhat.com>
13254
13255          * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13256          (struct gomp_taskwait): New type.
13257          (struct gomp_task): Add taskwait and parent_depends_on, remove
13258          in_taskwait and taskwait_sem fields.
13259          (gomp_finish_task): Don't destroy taskwait_sem.
13260          * task.c (gomp_init_task): Don't init in_taskwait, instead init
13261          taskwait and parent_depends_on.
13262          (GOMP_task): For if (0) tasks with depend clause that depend on
13263          earlier tasks don't defer them, instead call
13264          gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13265          Initialize redundant_out field, for redundant out entries just
13266          move them at the end of linked list instead of removing them
13267          completely, and set redundant_out flag instead of redundant.
13268          (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13269          that task.
13270          (gomp_task_run_post_handle_dependers): If parent is in
13271          gomp_task_maybe_wait_for_dependencies and newly runnable task
13272          is not parent_depends_on, queue it in parent->children linked
13273          list after all runnable tasks with parent_depends_on set.
13274          Adjust for addition of taskwait indirection.
13275          (gomp_task_run_post_remove_parent): If parent is in
13276          gomp_task_maybe_wait_for_dependencies and task to be removed
13277          is parent_depends_on, decrement n_depend and if needed awake
13278          parent.  Adjust for addition of taskwait indirection.
13279          (GOMP_taskwait): Adjust for addition of taskwait indirection.
13280          (gomp_task_maybe_wait_for_dependencies): New function.
13281          * testsuite/libgomp.c/depend-5.c: New test.
13282
132832014-07-13  Tobias Burnus  <burnus@net-b.de>
13284
13285          * testsuite/libgomp.fortran/pr34020.f90: Make compile
13286          with TS 18508/Fortran 2015.
13287
132882014-07-06  Marek Polacek  <polacek@redhat.com>
13289
13290          PR c/6940
13291          * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13292
132932014-07-03  Jakub Jelinek  <jakub@redhat.com>
13294
13295          * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13296          matches regex $lang_source_re, add $lang_include_flags to options.
13297          * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13298          * testsuite/libgomp.c++/c++.exp: Likewise.
13299          * testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
13300          and lang_include_flags instead of adding -fintrinsic-modules-path= to
13301          ALWAYS_CFLAGS.
13302          * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13303
133042014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
13305
13306          * testsuite/libgomp.fortran/fortran.exp: Explain
13307          gfortran-dg-runtest usage.
13308
133092014-06-25  Jakub Jelinek  <jakub@redhat.com>
13310
13311          * testsuite/libgomp.fortran/simd5.f90: New test.
13312          * testsuite/libgomp.fortran/simd6.f90: New test.
13313          * testsuite/libgomp.fortran/simd7.f90: New test.
13314
133152014-06-24  Jakub Jelinek  <jakub@redhat.com>
13316
13317          * testsuite/libgomp.c/for-2.c: Define SC to static for
13318          #pragma omp for simd testing.
13319          * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13320          (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13321          SC macro.
13322          * testsuite/libgomp.c/simd-14.c: New test.
13323          * testsuite/libgomp.c/simd-15.c: New test.
13324          * testsuite/libgomp.c/simd-16.c: New test.
13325          * testsuite/libgomp.c/simd-17.c: New test.
13326          * testsuite/libgomp.c++/for-10.C: Define SC to static for
13327          #pragma omp for simd testing.
13328          * testsuite/libgomp.c++/simd10.C: New test.
13329          * testsuite/libgomp.c++/simd11.C: New test.
13330          * testsuite/libgomp.c++/simd12.C: New test.
13331          * testsuite/libgomp.c++/simd13.C: New test.
13332
13333          * testsuite/libgomp.fortran/aligned1.f03: New test.
13334          * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13335          * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13336          tasks with !$omp parallel !$omp single.
13337          * testsuite/libgomp.fortran/target8.f90: New test.
13338          * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13339          not to use trim in the combiner, instead call elemental function.
13340          (fn): New elemental function.
13341          * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13342          Make elemental.
13343          * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13344          omp_in): Likewise.
13345          * testsuite/libgomp.fortran/udr12.f90: New test.
13346          * testsuite/libgomp.fortran/udr13.f90: New test.
13347          * testsuite/libgomp.fortran/udr14.f90: New test.
13348          * testsuite/libgomp.fortran/udr15.f90: New test.
13349
133502014-06-18  Jakub Jelinek  <jakub@redhat.com>
13351
13352          * omp_lib.f90.in (openmp_version): Set to 201307.
13353          * omp_lib.h.in (openmp_version): Likewise.
13354          * testsuite/libgomp.c/target-8.c: New test.
13355          * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13356          and inbranch clauses.
13357          * testsuite/libgomp.fortran/depend-3.f90: New test.
13358          * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13359          openmp_version.
13360          * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13361          * testsuite/libgomp.fortran/target1.f90: New test.
13362          * testsuite/libgomp.fortran/target2.f90: New test.
13363          * testsuite/libgomp.fortran/target3.f90: New test.
13364          * testsuite/libgomp.fortran/target4.f90: New test.
13365          * testsuite/libgomp.fortran/target5.f90: New test.
13366          * testsuite/libgomp.fortran/target6.f90: New test.
13367          * testsuite/libgomp.fortran/target7.f90: New test.
13368
133692014-06-10  Jakub Jelinek  <jakub@redhat.com>
13370
13371          PR fortran/60928
13372          * testsuite/libgomp.fortran/allocatable9.f90: New test.
13373          * testsuite/libgomp.fortran/allocatable10.f90: New test.
13374          * testsuite/libgomp.fortran/allocatable11.f90: New test.
13375          * testsuite/libgomp.fortran/allocatable12.f90: New test.
13376          * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13377          * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13378          * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13379          * testsuite/libgomp.fortran/associate1.f90: New test.
13380          * testsuite/libgomp.fortran/associate2.f90: New test.
13381          * testsuite/libgomp.fortran/procptr1.f90: New test.
13382
133832014-06-06  Jakub Jelinek  <jakub@redhat.com>
13384
13385          * testsuite/libgomp.fortran/simd1.f90: New test.
13386          * testsuite/libgomp.fortran/udr1.f90: New test.
13387          * testsuite/libgomp.fortran/udr2.f90: New test.
13388          * testsuite/libgomp.fortran/udr3.f90: New test.
13389          * testsuite/libgomp.fortran/udr4.f90: New test.
13390          * testsuite/libgomp.fortran/udr5.f90: New test.
13391          * testsuite/libgomp.fortran/udr6.f90: New test.
13392          * testsuite/libgomp.fortran/udr7.f90: New test.
13393          * testsuite/libgomp.fortran/udr8.f90: New test.
13394          * testsuite/libgomp.fortran/udr9.f90: New test.
13395          * testsuite/libgomp.fortran/udr10.f90: New test.
13396          * testsuite/libgomp.fortran/udr11.f90: New test.
13397
133982014-05-27  Uros Bizjak  <ubizjak@gmail.com>
13399
13400          * testsuite/libgomp.fortran/declare-simd-1.f90: Require
13401          vect_simd_clones effective target.
13402          * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13403
134042014-05-21  Jakub Jelinek  <jakub@redhat.com>
13405
13406          PR middle-end/61252
13407          * testsuite/libgomp.c++/simd-9.C: New test.
13408
134092014-05-18  Uros Bizjak  <ubizjak@gmail.com>
13410
13411          * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
13412          (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
13413          texts according to their @menu entry positions.
13414
134152014-05-11  Jakub Jelinek  <jakub@redhat.com>
13416
13417          * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
13418          * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
13419          * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
13420          * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
13421          * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
13422          * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
13423          * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
13424          * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
13425          * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
13426          * testsuite/libgomp.fortran/depend-1.f90: New test.
13427          * testsuite/libgomp.fortran/depend-2.f90: New test.
13428          * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
13429          * testsuite/libgomp.fortran/simd1.f90: New test.
13430          * testsuite/libgomp.fortran/simd2.f90: New test.
13431          * testsuite/libgomp.fortran/simd3.f90: New test.
13432          * testsuite/libgomp.fortran/simd4.f90: New test.
13433          * testsuite/libgomp.fortran/taskgroup1.f90: New test.
13434
134352014-05-02  Jakub Jelinek  <jakub@redhat.com>
13436
13437          * testsuite/libgomp.c/simd-10.c: New test.
13438          * testsuite/libgomp.c/simd-11.c: New test.
13439          * testsuite/libgomp.c/simd-12.c: New test.
13440          * testsuite/libgomp.c/simd-13.c: New test.
13441
134422014-04-24  Jakub Jelinek  <jakub@redhat.com>
13443
13444          * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
13445          atomic type clauses in any order and optional comma in between.
13446          * testsuite/libgomp.c++/atomic-15.C: Likewise.
13447          * testsuite/libgomp.c/atomic-17.c: Likewise.
13448
13449          * testsuite/libgomp.c/simd-7.c: New test.
13450          * testsuite/libgomp.c/simd-8.c: New test.
13451          * testsuite/libgomp.c/simd-9.c: New test.
13452          * testsuite/libgomp.c/loop-16.c: New test.
13453
134542014-04-02  Richard Henderson  <rth@redhat.com>
13455
13456          * config/linux/futex.h (futex_wait): Get error value from errno.
13457          (futex_wake): Likewise.
13458
134592014-03-25  Jakub Jelinek  <jakub@redhat.com>
13460
13461          PR c++/60331
13462          * testsuite/libgomp.c++/udr-11.C: New test.
13463          * testsuite/libgomp.c++/udr-12.C: New test.
13464          * testsuite/libgomp.c++/udr-13.C: New test.
13465          * testsuite/libgomp.c++/udr-14.C: New test.
13466          * testsuite/libgomp.c++/udr-15.C: New test.
13467          * testsuite/libgomp.c++/udr-16.C: New test.
13468          * testsuite/libgomp.c++/udr-17.C: New test.
13469          * testsuite/libgomp.c++/udr-18.C: New test.
13470          * testsuite/libgomp.c++/udr-19.C: New test.
13471
134722014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
13473
13474          Update copyright years
13475
134762014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
13477
13478          * hashtab.h: Use the standard form for the copyright notice.
13479
134802014-01-02  Tobias Burnus  <burnus@net-b.de>
13481
13482          * libgomp.texi: Bump @copying's copyright year.
13483
134842013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
13485
13486          * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
13487          alloca () with __builtin_alloca ().
13488          * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
13489          * testsuite/libgomp.c/lock-3.c: Likewise.
13490          * testsuite/libgomp.c/pr48591.c: Likewise.
13491
134922013-12-17  Jakub Jelinek  <jakub@redhat.com>
13493
13494          PR testsuite/59534
13495          * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
13496          comparisons.
13497
134982013-12-16  Jakub Jelinek  <jakub@redhat.com>
13499
13500          PR libgomp/58756
13501          * testsuite/libgomp.c/pr58756.c: New test.
13502
135032013-12-12  Jakub Jelinek  <jakub@redhat.com>
13504
13505          PR libgomp/59467
13506          * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
13507          !$omp parallel.
13508
135092013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
13510
13511          * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
13512          ALWAYS_CFLAGS.
13513          * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
13514          * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
13515          * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
13516          * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
13517          Likewise.
13518
13519          * libgomp_g.h: Include <stddef.h> for size_t.
13520
13521          * libgomp.spec.in: Update comment about libgomp's dependencies.
13522          * configure.ac: Likewise.
13523          * configure: Regenerate.
13524
135252013-10-16  Tobias Burnus  <burnus@net-b.de>
13526
13527          * libgomp.texi: (Runtime Library Routines): Update references for
13528          OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
13529          omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
13530          omp_get_team_num, omp_is_initial_device, omp_set_default_device.
13531          (Environment Variables): Update references for OpenMP 4.0. Add
13532          OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
13533          Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
13534          order.
13535
135362013-10-14  Jakub Jelinek  <jakub@redhat.com>
13537
13538          * env.c (parse_bind_var): Initialize value to avoid
13539          (false positive) warning.
13540
135412013-10-12  Jakub Jelinek  <jakub@redhat.com>
13542
13543          PR libgomp/58691
13544          * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
13545          to check variable.
13546          (gomp_init_num_threads): Move i variable declaration into
13547          #ifdef CPU_ALLOC_SIZE block.
13548          * config/linux/affinity.c (gomp_affinity_init_level): Test
13549          gomp_places_list_len == 0 rather than gomp_places_list == 0
13550          when checking for topology reading error.
13551          * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
13552          * env.c (parse_affinity): Add ignore argument, if true, don't populate
13553          gomp_places_list, only parse env var and always return false.
13554          (parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
13555          (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
13556          vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
13557          and either of these variables were parsed correctly into a places
13558          list.
13559
135602013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
13561              Jakub Jelinek  <jakub@redhat.com>
13562
13563          * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
13564          of 5 loopfn matches.
13565          * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13566          * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13567          * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
13568          * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13569          * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13570          * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13571          * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13572          * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13573
135742013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
13575
13576          * Makefile.am (omp_lib.mod): Streamline rule.
13577          * Makefile.in: Regenerate.
13578
13579          * libgomp.texi (Runtime Library Routines): C linkage, don't throw
13580          exceptions.
13581
13582          * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
13583          * testsuite/libgomp.fortran/lib1.f90: Likewise.
13584          * testsuite/libgomp.fortran/lib2.f: Likewise.
13585          * testsuite/libgomp.fortran/lib3.f: Likewise.
13586
13587          * configure.ac: Typo fix.
13588          * configure: Regenerate.
13589
13590          * testsuite/libgomp.fortran/openmp_version-1.f: New file.
13591          * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13592
13593          * omp.h.in: Don't touch the user's namespace.
13594
135952013-10-11  Jakub Jelinek  <jakub@redhat.com>
13596              Tobias Burnus  <burnus@net-b.de>
13597              Richard Henderson  <rth@redhat.com>
13598
13599          * target.c: New file.
13600          * Makefile.am (libgomp_la_SOURCES): Add target.c.
13601          * Makefile.in: Regenerated.
13602          * libgomp_g.h (GOMP_task): Add depend argument.
13603          (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13604          GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13605          GOMP_target_end_data, GOMP_target_update, GOMP_teams,
13606          GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13607          GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13608          GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
13609          GOMP_taskgroup_start, GOMP_taskgroup_end,
13610          GOMP_parallel_sections): New prototypes.
13611          * fortran.c (omp_is_initial_device): Add ialias_redirect.
13612          (omp_is_initial_device_): New function.
13613          (ULP, STR1, STR2, ialias_redirect): Removed.
13614          (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
13615          omp_set_default_device_8_, omp_get_default_device_,
13616          omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
13617          functions.
13618          * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13619          GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13620          GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
13621          @@GOMP_4.0.
13622          (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
13623          omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
13624          omp_set_default_device, omp_set_default_device_,
13625          omp_set_default_device_8_, omp_get_default_device,
13626          omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
13627          omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
13628          omp_get_team_num_): Export @@OMP_4.0.
13629          * team.c (struct gomp_thread_start_data): Add place field.
13630          (gomp_thread_start): Clear thr->thread_pool and
13631          thr->task before returning.  Use gomp_team_barrier_wait_final
13632          instead of gomp_team_barrier_wait.  Initialize thr->place.
13633          (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
13634          team_cancelled and task_queued_count fields.
13635          (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
13636          before calling pthread_exit.
13637          (gomp_free_thread): No longer static.  Use
13638          gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
13639          (gomp_team_start): Add flags argument.  Set
13640          thr->thread_pool->threads_busy to nthreads immediately after creating
13641          new pool.  Use gomp_managed_threads_lock instead of
13642          gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
13643          (gomp_team_end): Use gomp_managed_threads_lock instead of
13644          gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
13645          of gomp_team_barrier_wait.  If team->team_cancelled, call
13646          gomp_fini_workshare on ws chain starting at team->work_shares_to_free
13647          rather than thr->ts.work_share.
13648          (initialize_team): Don't call gomp_sem_init here.
13649          * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
13650          caller.
13651          (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
13652          * env.c (gomp_global_icv): Add default_device_var, target_data and
13653          bind_var initializers.
13654          (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13655          (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13656          gomp_places_list_len): New variables.
13657          (parse_bind_var, parse_one_place, parse_places_var): New functions.
13658          (parse_affinity): Rewritten to construct OMP_PLACES list with unit
13659          sized places.
13660          (gomp_cancel_var): New global variable.
13661          (parse_int): New function.
13662          (handle_omp_display_env): New function.
13663          (initialize_env): Use it.  Initialize default_device_var.
13664          Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
13665          OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
13666          OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
13667          been successfully parsed (and call gomp_init_affinity in that case).
13668          (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13669          omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13670          omp_get_team_num, omp_is_initial_device): New functions.
13671          * libgomp.h: Include stdlib.h.
13672          (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
13673          Define.
13674          (struct target_mem_desc): Forward declare.
13675          (struct gomp_task_icv): Add default_device_var, target_data, bind_var
13676          and thread_limit_var fields.
13677          (gomp_get_num_devices): New prototype.
13678          (gomp_cancel_var): New extern decl.
13679          (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
13680          team_cancelled and task_queued_count fields.  Add comments about
13681          task_{,queued_,running_}count.
13682          (gomp_cancel_kind): New enum.
13683          (gomp_work_share_end_cancel): New prototype.
13684          (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
13685          copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
13686          and depend fields.
13687          (struct gomp_taskgroup): New type.
13688          (struct gomp_task_depend_entry,
13689          struct gomp_dependers_vec): New types.
13690          (gomp_finish_task): Free depend_hash if non-NULL.
13691          (struct gomp_team_state): Add place_partition_off
13692          and place_partition_len fields.
13693          (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13694          gomp_places_list_len): New extern decls.
13695          (struct gomp_thread): Add place field.
13696          (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13697          (gomp_init_thread_affinity): Add place argument.
13698          (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13699          gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13700          gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13701          gomp_affinity_init_level, gomp_affinity_print_place): New
13702          prototypes.
13703          (gomp_team_start): Add flags argument.
13704          (gomp_thread_limit_var, gomp_remaining_threads_count,
13705          gomp_remaining_threads_lock): Remove.
13706          (gomp_managed_threads_lock): New variable.
13707          (struct gomp_thread_pool): Add threads_busy field.
13708          (gomp_free_thread): New prototype.
13709          * task.c: Include hashtab.h.
13710          (hash_entry_type): New typedef.
13711          (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
13712          (gomp_init_task): Clear dependers, depend_hash, depend_count,
13713          copy_ctors_done and taskgroup fields.
13714          (GOMP_task): Add depend argument, handle depend clauses.  If
13715          gomp_team_barrier_cancelled or if it's taskgroup has been
13716          cancelled, don't queue or start new tasks.  Set copy_ctors_done
13717          field if needed.  Initialize taskgroup field.  If copy_ctors_done
13718          and already cancelled, don't discard the task.  If taskgroup is
13719          non-NULL, enqueue the task into taskgroup queue.  Increment
13720          num_children field in taskgroup.  Increment task_queued_count.
13721          (gomp_task_run_pre, gomp_task_run_post_remove_parent,
13722          gomp_task_run_post_remove_taskgroup): New inline functions.
13723          (gomp_task_run_post_handle_depend_hash,
13724          gomp_task_run_post_handle_dependers,
13725          gomp_task_run_post_handle_depend): New functions.
13726          (GOMP_taskwait): Use them.  If more than one new tasks
13727          have been queued, wake other threads if needed.
13728          (gomp_barrier_handle_tasks): Likewise.  If
13729          gomp_team_barrier_cancelled, don't start any new tasks, just free
13730          all tasks.
13731          (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
13732          * omp_lib.f90.in
13733          (omp_proc_bind_kind, omp_proc_bind_false,
13734          omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13735          omp_proc_bind_spread): New params.
13736          (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13737          omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13738          omp_get_team_num, omp_is_initial_device): New interfaces.
13739          (omp_get_dynamic, omp_get_nested, omp_in_parallel,
13740          omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
13741          omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
13742          omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
13743          omp_get_team_size, omp_get_active_level, omp_in_final): Remove
13744          useless use omp_lib_kinds.
13745          * omp.h.in (omp_proc_bind_t): New typedef.
13746          (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13747          omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13748          omp_get_team_num, omp_is_initial_device): New prototypes.
13749          * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
13750          through to gomp_team_start.
13751          (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
13752          GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
13753          Adjust gomp_parallel_loop_start callers.
13754          (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13755          GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13756          GOMP_loop_end_cancel): New functions.
13757          (GOMP_parallel_end): Add ialias_redirect.
13758          * hashtab.h: New file.
13759          * libgomp.texi (Environment Variables): Minor cleanup,
13760          update section refs to OpenMP 4.0rc2.
13761          (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
13762          environment variables.
13763          * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
13764          team->work_shares_to_free to thr->ts.work_share before calling
13765          free_work_share.
13766          (gomp_work_share_end_cancel): New function.
13767          * config/linux/proc.c: Include errno.h.
13768          (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
13769          (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
13770          sizeof (cpu_set_t) to determine number of iterations.  Fix up check
13771          extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
13772          gomp_cpuset_size is sizeof (cpu_set_t).
13773          (gomp_init_num_threads): Initialize gomp_cpuset_size,
13774          gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
13775          of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
13776          to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
13777          contain any logical CPUs.
13778          (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
13779          is NULL.  Use gomp_cpusetp instead of &cpuset and pass
13780          gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
13781          pthread_getaffinity_np.  Check gomp_places_list instead of
13782          gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
13783          * config/linux/bar.c (gomp_barrier_wait_end,
13784          gomp_barrier_wait_last): Use BAR_* defines.
13785          (gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
13786          from state where needed.  Set work_share_cancelled to 0 on last
13787          thread.
13788          (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
13789          gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
13790          functions.
13791          * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
13792          Add cpusetsize argument.
13793          (gomp_cpuset_size, gomp_cpusetp): Declare.
13794          * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
13795          (affinity_counter): Remove.
13796          (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
13797          if CPU_ALLOC_SIZE isn't defined.
13798          (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
13799          silently create OMP_PLACES=threads, if it is non-NULL afterwards,
13800          bind current thread to the first place.
13801          (gomp_init_thread_affinity): Rewritten.  Add place argument, just
13802          pthread_setaffinity_np to gomp_places_list[place].
13803          (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13804          gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13805          gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13806          gomp_affinity_init_level, gomp_affinity_print_place): New functions.
13807          * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13808          BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13809          (gomp_barrier_t): Add awaited_final field.
13810          (gomp_barrier_init): Initialize awaited_final field.
13811          (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
13812          gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
13813          prototypes.
13814          (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
13815          defines.
13816          (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
13817          gomp_team_barrier_cancelled): New inline functions.
13818          (gomp_barrier_last_thread,
13819          gomp_team_barrier_set_task_pending,
13820          gomp_team_barrier_clear_task_pending,
13821          gomp_team_barrier_set_waiting_for_tasks,
13822          gomp_team_barrier_waiting_for_tasks,
13823          gomp_team_barrier_done): Use BAR_* defines.
13824          * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
13825          (gomp_barrier_wait_end): Use BAR_* defines.
13826          (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
13827          Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
13828          Use BAR_* defines.
13829          (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
13830          gomp_team_barrier_cancel): New functions.
13831          * config/posix/affinity.c (gomp_init_thread_affinity): Add place
13832          argument.
13833          (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13834          gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13835          gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13836          gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
13837          * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13838          BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13839          (gomp_barrier_t): Add cancellable field.
13840          (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
13841          gomp_team_barrier_cancel): New prototypes.
13842          (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
13843          (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
13844          gomp_team_barrier_cancelled): New inline functions.
13845          (gomp_barrier_wait_start, gomp_barrier_last_thread,
13846          gomp_team_barrier_set_task_pending,
13847          gomp_team_barrier_clear_task_pending,
13848          gomp_team_barrier_set_waiting_for_tasks,
13849          gomp_team_barrier_waiting_for_tasks,
13850          gomp_team_barrier_done): Use BAR_* defines.
13851          * barrier.c (GOMP_barrier_cancel): New function.
13852          * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
13853          omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13854          omp_proc_bind_spread): New params.
13855          (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13856          omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13857          omp_get_team_num, omp_is_initial_device): New externals.
13858          * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
13859          New functions.
13860          (gomp_resolve_num_threads): Adjust for thread_limit now being in
13861          icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
13862          infinity.  If not nested, just return minimum of max_num_threads
13863          and icv->thread_limit_var and if thr->thread_pool, set threads_busy
13864          to the returned value.  Otherwise, don't update atomically
13865          gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
13866          (GOMP_parallel_end): Adjust for thread_limit now being in
13867          icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
13868          infinity.  Adjust threads_busy in the pool rather than
13869          gomp_remaining_threads_count.  Remember team->nthreads and call
13870          gomp_team_end before adjusting threads_busy, if not nested
13871          afterwards, just set it to 1 non-atomically.  Add ialias.
13872          (GOMP_parallel_start): Adjust gomp_team_start caller.
13873          * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
13874          * testsuite/libgomp.c/affinity-1.c: New test.
13875          * testsuite/libgomp.c/atomic-15.c: New test.
13876          * testsuite/libgomp.c/atomic-16.c: New test.
13877          * testsuite/libgomp.c/atomic-17.c: New test.
13878          * testsuite/libgomp.c/cancel-for-1.c: New test.
13879          * testsuite/libgomp.c/cancel-for-2.c: New test.
13880          * testsuite/libgomp.c/cancel-parallel-1.c: New test.
13881          * testsuite/libgomp.c/cancel-parallel-2.c: New test.
13882          * testsuite/libgomp.c/cancel-parallel-3.c: New test.
13883          * testsuite/libgomp.c/cancel-sections-1.c: New test.
13884          * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
13885          * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
13886          * testsuite/libgomp.c/depend-1.c: New test.
13887          * testsuite/libgomp.c/depend-2.c: New test.
13888          * testsuite/libgomp.c/depend-3.c: New test.
13889          * testsuite/libgomp.c/depend-4.c: New test.
13890          * testsuite/libgomp.c/for-1.c: New test.
13891          * testsuite/libgomp.c/for-1.h: New file.
13892          * testsuite/libgomp.c/for-2.c: New test.
13893          * testsuite/libgomp.c/for-2.h: New file.
13894          * testsuite/libgomp.c/for-3.c: New test.
13895          * testsuite/libgomp.c/pr58392.c: New test.
13896          * testsuite/libgomp.c/simd-1.c: New test.
13897          * testsuite/libgomp.c/simd-2.c: New test.
13898          * testsuite/libgomp.c/simd-3.c: New test.
13899          * testsuite/libgomp.c/simd-4.c: New test.
13900          * testsuite/libgomp.c/simd-5.c: New test.
13901          * testsuite/libgomp.c/simd-6.c: New test.
13902          * testsuite/libgomp.c/target-1.c: New test.
13903          * testsuite/libgomp.c/target-2.c: New test.
13904          * testsuite/libgomp.c/target-3.c: New test.
13905          * testsuite/libgomp.c/target-4.c: New test.
13906          * testsuite/libgomp.c/target-5.c: New test.
13907          * testsuite/libgomp.c/target-6.c: New test.
13908          * testsuite/libgomp.c/target-7.c: New test.
13909          * testsuite/libgomp.c/taskgroup-1.c: New test.
13910          * testsuite/libgomp.c/thread-limit-1.c: New test.
13911          * testsuite/libgomp.c/thread-limit-2.c: New test.
13912          * testsuite/libgomp.c/thread-limit-3.c: New test.
13913          * testsuite/libgomp.c/udr-1.c: New test.
13914          * testsuite/libgomp.c/udr-2.c: New test.
13915          * testsuite/libgomp.c/udr-3.c: New test.
13916          * testsuite/libgomp.c++/affinity-1.C: New test.
13917          * testsuite/libgomp.c++/atomic-10.C: New test.
13918          * testsuite/libgomp.c++/atomic-11.C: New test.
13919          * testsuite/libgomp.c++/atomic-12.C: New test.
13920          * testsuite/libgomp.c++/atomic-13.C: New test.
13921          * testsuite/libgomp.c++/atomic-14.C: New test.
13922          * testsuite/libgomp.c++/atomic-15.C: New test.
13923          * testsuite/libgomp.c++/cancel-for-1.C: New test.
13924          * testsuite/libgomp.c++/cancel-for-2.C: New test.
13925          * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
13926          * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
13927          * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
13928          * testsuite/libgomp.c++/cancel-sections-1.C: New test.
13929          * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
13930          * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
13931          * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
13932          * testsuite/libgomp.c++/cancel-test.h: New file.
13933          * testsuite/libgomp.c++/for-9.C: New test.
13934          * testsuite/libgomp.c++/for-10.C: New test.
13935          * testsuite/libgomp.c++/for-11.C: New test.
13936          * testsuite/libgomp.c++/simd-1.C: New test.
13937          * testsuite/libgomp.c++/simd-2.C: New test.
13938          * testsuite/libgomp.c++/simd-3.C: New test.
13939          * testsuite/libgomp.c++/simd-4.C: New test.
13940          * testsuite/libgomp.c++/simd-5.C: New test.
13941          * testsuite/libgomp.c++/simd-6.C: New test.
13942          * testsuite/libgomp.c++/simd-7.C: New test.
13943          * testsuite/libgomp.c++/simd-8.C: New test.
13944          * testsuite/libgomp.c++/target-1.C: New test.
13945          * testsuite/libgomp.c++/target-2.C: New test.
13946          * testsuite/libgomp.c++/target-2-aux.cc: New file.
13947          * testsuite/libgomp.c++/target-3.C: New test.
13948          * testsuite/libgomp.c++/taskgroup-1.C: New test.
13949          * testsuite/libgomp.c++/udr-1.C: New test.
13950          * testsuite/libgomp.c++/udr-2.C: New test.
13951          * testsuite/libgomp.c++/udr-3.C: New test.
13952          * testsuite/libgomp.c++/udr-4.C: New test.
13953          * testsuite/libgomp.c++/udr-5.C: New test.
13954          * testsuite/libgomp.c++/udr-6.C: New test.
13955          * testsuite/libgomp.c++/udr-7.C: New test.
13956          * testsuite/libgomp.c++/udr-8.C: New test.
13957          * testsuite/libgomp.c++/udr-9.C: New test.
13958
139592013-09-20  Jakub Jelinek  <jakub@redhat.com>
13960
13961          PR testsuite/57605
13962          * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
13963          ALWAYS_CFLAGS.
13964
139652013-09-20  Alan Modra  <amodra@gmail.com>
13966
13967          * configure: Regenerate.
13968
139692013-09-19  Jakub Jelinek  <jakub@redhat.com>
13970
13971          * testsuite/libgomp.c/sections-2.c: New test.
13972
139732013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
13974
13975          * testsuite/libgomp.fortran/strassen.f90:
13976          Add dg-skip-if aarch64_tiny.
13977
139782013-06-20  Iain Sandoe  <iain@codesourcery.com>
13979              Cesar Philippidis  <cesar@codesourcery.com>
13980
13981          * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
13982          Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
13983          * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
13984          * testsuite/libgomp.fortran/fortran.exp: Likewise.
13985          * testsuite/libgomp.graphite/graphite.exp: Likewise.
13986          * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
13987          Use dg-runtest rather than gfortran-dg-runtest.
13988
139892013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
13990
13991          * testsuite/libgomp.c/icv-2.c: Extend current handling of
13992          Linux-based x86 systems to cover all GNU systems.
13993          * testsuite/libgomp.c/lock-3.c: Likewise.
13994          * testsuite/libgomp.c/pr48591.c: Likewise.
13995
139962013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
13997
13998          * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
13999          GNU/Hurd, as done for Linux-based systems.
14000
14001          * config/posix/ptrlock.h: Fix comment.
14002
140032013-05-27  Tobias Burnus  <burnus@net-b.de>
14004
14005          PR fortran/57423
14006          * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
14007          omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
14008          omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
14009          omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
14010          omp_destroy_nest_lock): Correct arguments to match the one in
14011          the OpenMP spec.
14012          * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
14013          omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
14014          omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
14015          omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
14016
140172013-05-16  Jakub Jelinek  <jakub@redhat.com>
14018
14019          * testsuite/libgomp.c/loop-13.c: New test.
14020          * testsuite/libgomp.c/loop-14.c: New test.
14021          * testsuite/libgomp.c/loop-15.c: New test.
14022          * testsuite/libgomp.c++/loop-13.C: New test.
14023          * testsuite/libgomp.c++/loop-14.C: New test.
14024          * testsuite/libgomp.c++/loop-15.C: New test.
14025
140262013-02-06  Jakub Jelinek  <jakub@redhat.com>
14027
14028          PR middle-end/56217
14029          * testsuite/libgomp.c++/pr56217.C: New test.
14030
140312013-02-01  Alan Modra  <amodra@gmail.com>
14032
14033          * task.c (GOMP_task, GOMP_taskwait): Comment.
14034
140352013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
14036              Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
14037
14038          PR libgomp/55561
14039          * config/linux/wait.h (do_spin): Use atomic load for addr.
14040          * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
14041          for intptr and ptrlock.
14042          * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
14043          for ptrlock.
14044
140452013-01-22  Alan Modra  <amodra@gmail.com>
14046
14047          PR libgomp/51376
14048          PR libgomp/56073
14049          * task.c (GOMP_task): Revert 2011-12-09 change.
14050          (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
14051          barrier to read task->children..
14052          (gomp_barrier_handle_tasks): ..and matching atomic store with
14053          release barrier here when setting parent->children to NULL.
14054
140552013-01-16  Jakub Jelinek  <jakub@redhat.com>
14056              Tobias Burnus  <burnus@net-b.de>
14057
14058          PR driver/55884
14059          * testsuite/libgomp.fortran/fortran.exp: Use
14060          -fintrinsic-modules-path= instead of
14061          -fintrinsic-modules-path.
14062
140632013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
14064
14065          Update copyright years.
14066
140672012-12-19  Tobias Burnus  <burnus@net-b.de>
14068
14069          * testsuite/libgomp.fortran/fortran.exp: Set
14070          -fintrinsic-modules-path.
14071
140722012-12-19  Tobias Burnus  <burnus@net-b.de>
14073
14074          * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
14075          from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
14076
140772012-11-21  Jakub Jelinek  <jakub@redhat.com>
14078
14079          PR libgomp/55411
14080          * team.c (gomp_free_thread): Decrease gomp_managed_threads
14081          if pool had any threads_used.
14082
140832012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
14084
14085          * testsuite/libgomp.c++/pr24455.C: Use
14086          -Wl,-undefined,dynamic_lookup on darwin.
14087
140882012-11-07  David Edelsohn  <dje.gcc@gmail.com>
14089
14090          * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
14091
140922012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
14093
14094          * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
14095
140962012-10-23  Ian Bolton  <ian.bolton@arm.com>
14097              Jim MacArthur  <jim.macarthur@arm.com>
14098              Marcus Shawcroft  <marcus.shawcroft@arm.com>
14099              Nigel Stephens  <nigel.stephens@arm.com>
14100              Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
14101              Richard Earnshaw  <rearnsha@arm.com>
14102              Sofiane Naci  <sofiane.naci@arm.com>
14103              Stephen Thomas  <stephen.thomas@arm.com>
14104              Tejas Belagod  <tejas.belagod@arm.com>
14105              Yufeng Zhang  <yufeng.zhang@arm.com>
14106
14107          * configure.tgt: Add AArch64.
14108
141092012-10-04  Jason Merrill  <jason@redhat.com>
14110
14111          * testsuite/libgomp.c++/tls-init1.C: New.
14112
141132012-09-14  David Edelsohn  <dje.gcc@gmail.com>
14114
14115          * configure: Regenerated.
14116
141172012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
14118
14119          * config/linux/mips/futex.h (sys_futex0): Change to static
14120          function with noinline, nomips16 attributes under MIPS16. Adjust
14121          asm statement to place 'li v0,SYS_futex' immediately before
14122          syscall insn.
14123
141242012-07-04  Sandra Loosemore <sandra@codesourcery.com>
14125
14126          * libgomp.texi (Library Index): Renamed from "Index" to prevent
14127          conflict with index.html on case-insensitive file systems.
14128
141292012-07-03  Uros Bizjak  <ubizjak@gmail.com>
14130
14131          * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14132          * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14133
141342012-07-02  Richard Guenther  <rguenther@suse.de>
14135              Michael Matz  <matz@suse.de>
14136              Tobias Grosser <tobias@grosser.es>
14137              Sebastian Pop <sebpop@gmail.com>
14138
14139          * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14140          * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14141          * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14142          * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14143
141442012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
14145
14146          * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14147
141482012-06-22  Richard Guenther  <rguenther@suse.de>
14149
14150          Merge from graphite branch
14151          2012-01-13  Tobias Grosser  <tobias@grosser.es>
14152
14153          * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14154          * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14155
141562012-06-07  Jakub Jelinek  <jakub@redhat.com>
14157
14158          PR middle-end/53580
14159          * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14160          use GOMP_barrier () call instead.
14161          * testsuite/libgomp.c/pr26943-3.c: Likewise.
14162          * testsuite/libgomp.c/pr26943-4.c: Likewise.
14163          * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14164          call GOMP_barrier instead.
14165          * testsuite/libgomp.fortran/vla5.f90: Likewise.
14166
141672012-06-06  Jakub Jelinek  <jakub@redhat.com>
14168
14169          PR libgomp/52993
14170          * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14171          argument to memset call.
14172
141732012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
14174
14175          * configure: Regenerated.
14176
141772012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
14178
14179          * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14180
141812012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
14182
14183          PR bootstrap/52812
14184          * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14185
141862012-03-22  Jakub Jelinek  <jakub@redhat.com>
14187
14188          PR middle-end/52547
14189          * testsuite/libgomp.c/pr52547.c: New test.
14190
141912012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
14192
14193          * testsuite/lib/libgomp.exp: load fortran-modules.exp
14194
141952012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14196
14197          * configure.tgt (mips-sgi-irix6*): Remove.
14198
141992012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14200
14201          * configure.tgt (alpha*-dec-osf*): Remove.
14202
14203          * config/osf/sem.h: Remove.
14204          * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14205
142062012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
14207
14208          * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14209
142102012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14211
14212          PR libstdc++/52188
14213          * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove   symvers_renaming.
14214          Remove ENABLE_SYMVERS_SOL2.
14215          * configure: Regenerate.
14216          * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14217          (PREPROCESS): New variable.
14218          (libgomp.ver): New target.
14219          [LIBGOMP_BUILD_VERSIONED_SHLIB &&
14220          LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14221          LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14222          Use libgomp.ver.
14223          [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14224          * Makefile.in: Regenerate.
14225
142262012-02-14  Walter Lee  <walt@tilera.com>
14227
14228          * configure.tgt: Handle tilegx and tilepro.
14229          * config/linux/tile/futex.h: New file.
14230
142312012-02-08  Richard Guenther  <rguenther@suse.de>
14232
14233          PR tree-optimization/46886
14234          * testsuite/libgomp.c/pr46886.c: New testcase.
14235
142362012-01-25  Matthias Klose  <doko@ubuntu.com>
14237
14238          * config/linux/arm: Remove empty directory.
14239          * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14240
142412011-12-09  Alan Modra  <amodra@gmail.com>
14242
14243          PR libgomp/51376
14244          * task.c (GOMP_taskwait): Don't access task->children outside of
14245          task_lock mutex region.
14246          (GOMP_task): Likewise.
14247
142482011-12-06  Jakub Jelinek  <jakub@redhat.com>
14249
14250          PR libgomp/51132
14251          * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14252          to file scope.
14253          * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14254          * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14255          * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14256          * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14257          * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14258
142592011-12-02  Alan Modra  <amodra@gmail.com>
14260
14261          * config/linux/affinity.c: Use atomic rather than sync builtin.
14262          * config/linux/lock.c: Likewise.
14263          * config/linux/ptrlock.h: Likewise.
14264          * config/linux/ptrlock.c: Likewise.
14265          * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14266          * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14267          * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14268          * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14269          * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14270          * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14271          * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14272          * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14273          * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14274          * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14275
142762011-11-30  Alan Modra  <amodra@gmail.com>
14277
14278          PR libgomp/51298
14279          * config/linux/bar.h: Use atomic rather than sync builtins.
14280          * config/linux/bar.c: Likewise.  Add missing acquire
14281          synchronisation on generation field.
14282          * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14283          double unlock.
14284
142852011-11-30  Alan Modra  <amodra@gmail.com>
14286
14287          * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14288          * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14289          * config/linux/mutex.h: Use atomic rather than sync builtins.
14290          * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
14291          * config/linux/omp-lock.h: Comment fix.
14292          * config/linux/arm/mutex.h: Delete.
14293          * config/linux/powerpc/mutex.h: Delete.
14294          * config/linux/ia64/mutex.h: Delete.
14295          * config/linux/mips/mutex.h: Delete.
14296
142972011-11-30  Alan Modra  <amodra@gmail.com>
14298
14299          PR libgomp/51249
14300          * config/linux/sem.h: Rewrite.
14301          * config/linux/sem.c: Rewrite.
14302
143032011-11-28  Richard Henderson  <rth@redhat.com>
14304
14305          * libgomp.h (enum memmodel): New.
14306
143072011-11-21  Andreas Tobler  <andreast@fgznet.ch>
14308
14309          * configure: Regenerate.
14310
143112011-10-10  Matthias Klose  <doko@ubuntu.com>
14312
14313          * config/posix95: Remove empty directory.
14314
143152011-08-26  Jakub Jelinek  <jakub@redhat.com>
14316
14317          * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14318
143192011-08-19  Jakub Jelinek  <jakub@redhat.com>
14320
14321          PR fortran/49792
14322          * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14323          * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14324
143252011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14326
14327          * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14328
143292011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14330
14331          PR libgomp/49965
14332          * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14333
143342011-08-03  Uros Bizjak  <ubizjak@gmail.com>
14335
14336          * config/linux/proc.h: New.
14337          * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
14338          (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
14339          (gomp_init_num_threads): Update call to cpuset_popcount.
14340          (get_num_procs): Ditto.
14341          * config/linux/affinity.c (gomp_init_affinity): Call
14342          gomp_cpuset_popcount.
14343
143442011-08-02  Jakub Jelinek  <jakub@redhat.com>
14345
14346          PR fortran/42041
14347          PR fortran/46752
14348          * omp.h.in (omp_in_final): New prototype.
14349          * omp_lib.f90.in (omp_in_final): New interface.
14350          (omp_integer_kind, omp_logical_kind): Remove
14351          and replace all its uses in the module with 4.
14352          (openmp_version): Change to 201107.
14353          * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14354          omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14355          kind for the parameters.
14356          (omp_in_final): New external.
14357          (openmp_version): Change to 201107.
14358          * task.c (omp_in_final): New function.
14359          (gomp_init_task): Initialize final_task.
14360          (GOMP_task): Remove unused attribute from flags.  Handle final
14361          tasks.
14362          (GOMP_taskyield): New function.
14363          (omp_in_final): Return true if if (false) or final (true) task
14364          or descendant of final (true).
14365          * fortran.c (omp_in_final_): New function.
14366          * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14367          (GOMP_3.0): Export GOMP_taskyield.
14368          * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14369          variables.
14370          (parse_unsigned_long_list): New function.
14371          (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
14372          with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
14373          even if parse_affinity returned false.
14374          * config/linux/affinity.c (gomp_init_affinity): Handle
14375          gomp_cpu_affinity_len == 0.
14376          * libgomp_g.h (GOMP_taskyield): New prototype.
14377          * libgomp.h (struct gomp_task): Add final_task field.
14378          (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14379          * team.c (gomp_team_start): Override new task's nthreads_var icv
14380          if list form OMP_NUM_THREADS has been used and it has value for
14381          the new nesting level.
14382
14383          * testsuite/libgomp.c/atomic-11.c: New test.
14384          * testsuite/libgomp.c/atomic-12.c: New test.
14385          * testsuite/libgomp.c/atomic-13.c: New test.
14386          * testsuite/libgomp.c/atomic-14.c: New test.
14387          * testsuite/libgomp.c/reduction-6.c: New test.
14388          * testsuite/libgomp.c/task-5.c: New test.
14389          * testsuite/libgomp.c++/atomic-2.C: New test.
14390          * testsuite/libgomp.c++/atomic-3.C: New test.
14391          * testsuite/libgomp.c++/atomic-4.C: New test.
14392          * testsuite/libgomp.c++/atomic-5.C: New test.
14393          * testsuite/libgomp.c++/atomic-6.C: New test.
14394          * testsuite/libgomp.c++/atomic-7.C: New test.
14395          * testsuite/libgomp.c++/atomic-8.C: New test.
14396          * testsuite/libgomp.c++/atomic-9.C: New test.
14397          * testsuite/libgomp.c++/task-8.C: New test.
14398          * testsuite/libgomp.c++/reduction-4.C: New test.
14399          * testsuite/libgomp.fortran/allocatable7.f90: New test.
14400          * testsuite/libgomp.fortran/allocatable8.f90: New test.
14401          * testsuite/libgomp.fortran/crayptr3.f90: New test.
14402          * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
14403          * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
14404          * testsuite/libgomp.fortran/pointer1.f90: New test.
14405          * testsuite/libgomp.fortran/pointer2.f90: New test.
14406          * testsuite/libgomp.fortran/task4.f90: New test.
14407
144082011-08-02  Tobias Burnus  <burnus@net-b.de>
14409
14410          * libgomp.texi: Update OpenMP spec references to 3.1.
14411          (omp_in_final,OMP_PROC_BIND): New sections.
14412          (OMP_NUM_THREADS): Document that the value can be now a list.
14413          (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
14414
144152011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
14416
14417          * config/linux/x86/futex.h: Check __x86_64__ instead of
14418          __LP64__.
14419
144202011-07-29  Jakub Jelinek  <jakub@redhat.com>
14421
14422          PR middle-end/49897
14423          PR middle-end/49898
14424          * testsuite/libgomp.c/pr49897-1.c: New test.
14425          * testsuite/libgomp.c/pr49897-2.c: New test.
14426          * testsuite/libgomp.c/pr49898-1.c: New test.
14427          * testsuite/libgomp.c/pr49898-2.c: New test.
14428
144292011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
14430
14431          * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
14432          for ia32 instead of ilp32.
14433
14434          * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
14435          * testsuite/libgomp.c/atomic-6.c: Likewise.
14436
144372011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
14438
14439          * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
14440          * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
14441
144422011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14443
14444          PR libgomp/45351
14445          * config/osf/sem.h: New file.
14446          * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
14447
144482011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14449
14450          PR target/49541
14451          * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
14452          ldflags.
14453
144542011-07-15  Jakub Jelinek  <jakub@redhat.com>
14455
14456          * config/linux/wait.h (do_spin): New inline, largely copied
14457          from do_wait, just don't do futex_wait here, instead return true if
14458          it should be done.
14459          (do_wait): Implement using do_spin.
14460          * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
14461          to prototype.
14462          (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14463          __sync_bool_compare_and_swap, pass the oldval to
14464          gomp_mutex_lock_slow.
14465          * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
14466          If all mutex contenders are just spinning and not sleeping, don't
14467          change state to 2 unnecessarily.  Optimize the loop when state has
14468          already become 2 to use just one atomic operation per loop instead
14469          of two.
14470          * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
14471          to prototype.
14472          (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14473          __sync_bool_compare_and_swap, pass the oldval to
14474          gomp_mutex_lock_slow.
14475
144762011-06-22  Jakub Jelinek  <jakub@redhat.com>
14477
14478          PR libgomp/49490
14479          * iter.c (gomp_iter_static_next): For chunk size 0
14480          only use n ceil/ nthreads size for the first
14481          n % nthreads threads in the team instead of
14482          all threads except for the last few ones which
14483          get less work or none at all.
14484          * iter_ull.c (gomp_iter_ull_static_next): Likewise.
14485          * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
14486          chunk argument, set run_sched_modifier to 0 for static
14487          resp. 1 for other kinds.  If chunk argument is 0
14488          and not static, set value to 1.
14489
144902011-05-19  Jakub Jelinek  <jakub@redhat.com>
14491
14492          PR c++/49043
14493          * testsuite/libgomp.c++/pr49043.C: New test.
14494
14495          PR c++/48869
14496          * testsuite/libgomp.c++/pr48869.C: New test.
14497
144982011-05-06  Jakub Jelinek  <jakub@redhat.com>
14499
14500          PR fortran/48894
14501          * fortran.c: Include limits.h.
14502          (TO_INT): Define.
14503          (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
14504          *set.
14505          (omp_set_num_threads_8_, omp_set_schedule_8_,
14506          omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
14507          omp_get_team_size_8_): Use TO_INT macro.
14508          * testsuite/libgomp.fortran/pr48894.f90: New test.
14509
145102011-04-13  Jakub Jelinek  <jakub@redhat.com>
14511
14512          PR middle-end/48591
14513          * testsuite/libgomp.c/pr48591.c: New test.
14514
145152011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14516
14517          PR bootstrap/48135
14518          * acinclude.m4 (enable_symvers): Handle --disable-symvers.
14519          * configure: Regenerate.
14520
145212011-02-27  Jakub Jelinek  <jakub@redhat.com>
14522
14523          PR fortran/47886
14524          * testsuite/libgomp.fortran/task3.f90: New test.
14525
145262011-02-24  Tobias Burnus  <burnus@net-b.de>
14527
14528          * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
14529
145302011-02-23  Jakub Jelinek  <jakub@redhat.com>
14531
14532          PR libgomp/47854
14533          * libgomp.texi (omp_get_wtime): Don't say time in the past
14534          must be Unix Epoch.
14535
145362011-02-18  Jakub Jelinek  <jakub@redhat.com>
14537
14538          PR libgomp/47804
14539          * testsuite/libgomp.fortran/fortran.exp: Check for both
14540          libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
14541          but $blddir != "", still append ${blddir}/${lang_library_path}
14542          to ld_library_path.
14543
145442011-02-16  Tobias Burnus  <burnus@net-b.de>
14545
14546          PR libgomp/47758
14547          * testsuite/libgomp.fortran/fortran.exp: Check for the existence
14548          of libquadmath.a before adding its libpath to ldflags.
14549
145502011-02-14  Jakub Jelinek  <jakub@redhat.com>
14551
14552          PR libgomp/47731
14553          * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
14554          to FUTEX_WAIT futex syscall.
14555          * config/linux/wait.h: Include <futex.h> instead of "futex.h".
14556
145572011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14558
14559          * configure: Regenerate.
14560
145612011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
14562
14563          PR libstdc++/36104
14564          * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
14565
145662011-01-16  Gerald Pfeifer
14567
14568          * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
14569
145702010-12-14  Jakub Jelinek  <jakub@redhat.com>
14571
14572          PR fortran/46874
14573          * libgomp.fortran/allocatable6.f90: New test.
14574
145752010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14576
14577          * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
14578          * configure: Regenerate.
14579
145802010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
14581
14582          PR target/40125
14583          PR lto/46695
14584          * configure.ac: Invoke ACX_LT_HOST_FLAGS.
14585          * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
14586          * aclocal.m4: Regenerate.
14587          * configure: Regenerate.
14588          * Makefile.in: Regenerate.
14589          * testsuite/Makefile.in: Regenerate.
14590
145912010-12-02  Jakub Jelinek  <jakub@redhat.com>
14592
14593          PR fortran/46753
14594          * libgomp.fortran/pr46753.f90: New test.
14595
14596          PR libgomp/43706
14597          * env.c (initialize_env): Default to spin count 300000
14598          instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
14599          is specified.
14600
14601          PR libgomp/45240
14602          * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
14603          at the end if sync builtins aren't supported.
14604
146052010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14606
14607          * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
14608
146092010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14610
14611          * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
14612
146132010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
14614
14615          * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
14616
146172010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
14618              Tobias Burnus  <burnus@net-b.de>
14619
14620          PR fortran/32049
14621          * configure.ac:
14622          * configure: Regenerate.
14623
146242010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
14625
14626          * config/linux/futex.h: New.
14627          * config/linux/arm/mutex.h: New.
14628          * configure.tgt (arm*-*-linux*): Add config path.
14629
146302010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
14631
14632          * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14633
146342010-09-23  Tobias Burnus  <burnus@net-b.de>
14635
14636          * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
14637          Change Fortran datatype to LOGICAL.
14638          (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
14639          omp_unset_nested_lock): Use intent(inout) instead of intent(out).
14640
146412010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14642
14643          * configure: Regenerate.
14644
146452010-07-26  Jakub Jelinek  <jakub@redhat.com>
14646
14647          * libgomp.texi: Add function keyword to a couple of Fortran
14648          interfaces, use integer instead of int for Fortran.
14649
146502010-07-26  Aldy Hernandez  <aldyh@redhat.com>
14651
14652          * libgomp.texi: Fix spelling and pasto problems throughout.
14653          Adjust prototypes to match code.
14654
146552010-07-24  Tobias Burnus  <burnus@net-b.de>
14656
14657          * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
14658          silence -fwhole-file warning.
14659
146602010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14661
14662          * configure.tgt (*-*-solaris2.[56]*): Removed.
14663
146642010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14665
14666          * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
14667          Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
14668          LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
14669          (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
14670          targetting solaris2*.
14671          * configure: Regenerate.
14672          * config.h.in: Regenerate.
14673
14674          * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
14675          libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
14676          Add libgomp_version_dep.
14677          [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
14678          versioning.
14679          [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
14680          (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
14681          * Makefile.in: Regenerate.
14682
14683          * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
14684          HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14685          * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
14686          to common block, protected by
14687          HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14688
146892010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
14690
14691          * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
14692
146932010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
14694
14695          PR bootstrap/43170
14696          * configure: Regenerate.
14697
146982010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14699
14700          PR other/43620
14701          * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
14702          * configure: Regenerate.
14703          * Makefile.in: Regenerate.
14704          * testsuite/Makefile.in: Regenerate.
14705
147062010-04-26  Jakub Jelinek  <jakub@redhat.com>
14707
14708          PR c/43893
14709          * testsuite/libgomp.c/pr43893.c: New test.
14710          * testsuite/libgomp.c++/pr43893.C: New test.
14711
147122010-04-21  Jakub Jelinek  <jakub@redhat.com>
14713
14714          PR middle-end/43570
14715          * testsuite/libgomp.fortran/vla8.f90: New test.
14716
147172010-04-20  Jakub Jelinek  <jakub@redhat.com>
14718
14719          PR libgomp/43706
14720          * config/linux/affinity.c (gomp_init_affinity): Decrease
14721          gomp_available_cpus if affinity mask confines the process to fewer
14722          CPUs.
14723          * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
14724          non-NULL, just return gomp_available_cpus.
14725
14726          PR libgomp/43569
14727          * sections.c (gomp_sections_init): Initialize ws->mode.
14728
147292010-04-14  Uros Bizjak  <ubizjak@gmail.com>
14730
14731          * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
14732          not unused bar variable.
14733          * configure: Regenerate.
14734
147352010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14736
14737          * Makefile.in: Regenerate.
14738          * aclocal.m4: Regenerate.
14739          * testsuite/Makefile.in: Regenerate.
14740
147412010-03-22  Jakub Jelinek  <jakub@redhat.com>
14742
14743          PR libgomp/42942
14744          * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
14745          (initialize_env): Adjust callers.
14746          (omp_set_max_active_levels): Set gomp_max_active_levels_var even
14747          when the argument is 0.
14748
14749          * testsuite/libgomp.c/pr42942.c: New test.
14750
147512010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
14752
14753          PR middle-end/42644
14754          PR middle-end/42130
14755          * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14756          * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
14757
147582010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14759
14760          * testsuite/libgomp.c++/task-1.C: Renamed err to e.
14761          * testsuite/libgomp.c++/task-6.C: Likewise.
14762
147632010-01-28  Steve Ellcey  <sje@cup.hp.com>
14764
14765          * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
14766
147672010-01-26  Paolo Bonzini  <bonzini@gnu.org>
14768
14769          * configure.ac: Test for executability of _the first word_ of GFORTRAN.
14770          * configure: Regenerate.
14771
147722010-01-26  Jakub Jelinek  <jakub@redhat.com>
14773
14774          PR fortran/42866
14775          * testsuite/libgomp.fortran/allocatable5.f90: New test.
14776
147772010-01-20  Paolo Bonzini  <bonzini@gnu.org>
14778
14779          * configure.ac: Test for executability of GFORTRAN.
14780          * configure: Regenerate.
14781
147822010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14783
14784          * configure: Regenerate.
14785
147862010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
14787
14788          PR libgomp/42602
14789          * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
14790
147912010-01-03  Richard Guenther  <rguenther@suse.de>
14792
14793          * testsuite/libgomp.fortran/recursion1.f90: New testcase.
14794
147952009-12-23  Sebastian Pop  <sebpop@gmail.com>
14796
14797          * testsuite/libgomp.graphite/pr4118.c: New.
14798
147992009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
14800
14801          * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
14802          for darwin, protect the test with require-effective-target tls_runtime.
14803          * testsuite/libgomp.fortran/pr32550.f90: Ditto.
14804
148052009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
14806
14807          PR target/41605
14808          * testsuite/lib/libgomp.exp: Provide -B options to allow for
14809          link spec %s substitutions for static libraries.
14810
148112009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
14812
14813          PR testsuite/42135
14814          * libgomp.graphite/force-parallel-2.c: Reduce array size.
14815
148162009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14817
14818          * Makefile.in: Regenerate.
14819          * configure: Regenerate.
14820          * testsuite/Makefile.in: Regenerate.
14821
148222009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
14823
14824          * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
14825          settings for LC_ALL and LANG.
14826
148272009-11-25  Jakub Jelinek  <jakub@redhat.com>
14828
14829          PR fortran/42162
14830          * testsuite/libgomp.fortran/pr42162.f90: New test.
14831
148322009-11-13  Jakub Jelinek  <jakub@redhat.com>
14833
14834          PR middle-end/42029
14835          * testsuite/libgomp.c/pr42029.c: New test.
14836
148372009-10-26  Jakub Jelinek  <jakub@redhat.com>
14838
14839          * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
14840          *s.  Accept ld version without text in ()s.
14841          * configure: Regenerated.
14842
148432009-10-22  Razya Ladelsky  <razya@il.ibm.com>
14844
14845          * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
14846
148472009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14848
14849          PR libgomp/41418
14850          * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
14851          or a hyphen (happens with fortran language disabled).
14852          * configure: Regenerate.
14853
148542009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14855
14856          * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
14857          use sed script portable to Solaris /bin/sed for extracting ld
14858          version.
14859          * configure: Regenerate.
14860
148612009-09-17  Alexander Monakov  <amonakov@ispras.ru>
14862
14863          * testsuite/libgomp.graphite/bounds.c: New test.
14864
148652009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14866
14867          * Makefile.am (libgomp_la_LINK): New.
14868          * Makefile.in: Regenerate.
14869
148702009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14871
14872          * configure.ac (AC_PREREQ): Bump to 2.64.
14873
148742009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14875
14876          * Makefile.am (install-html, install-pdf): Remove.
14877          * Makefile.in: Regenerate.
14878
14879          * Makefile.in: Regenerate.
14880          * aclocal.m4: Regenerate.
14881          * config.h.in: Regenerate.
14882          * configure: Regenerate.
14883          * testsuite/Makefile.in: Regenerate.
14884
148852009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14886
14887          * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
14888          * Makefile.in: Regenerate.
14889
148902009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
14891
14892          * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
14893          * Makefile.in: Regenerate.
14894
148952009-08-19  Tobias Burnus  <burnus@net-b.de>
14896
14897          PR fortran/41102
14898          omp_lib.h.in: Fix -std=f95 errors.
14899
149002009-08-14  David Edelsohn  <edelsohn@gnu.org>
14901
14902          * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
14903          * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
14904          * testsuite/libgomp.graphite/graphite.exp: New.
14905
149062009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
14907
14908          * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
14909          only build.
14910
149112009-08-04  David Daney  <ddaney@caviumnetworks.com>
14912
14913          * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
14914          needed memory barrier semantics.
14915          * config/linux/mips/mutex.h: New file.
14916
149172009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14918
14919          * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
14920
149212009-07-16  Joseph Myers  <joseph@codesourcery.com>
14922
14923          * configure: Regenerate.
14924
149252009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
14926
14927          PR testsuite/40699
14928          PR testsuite/40707
14929          PR testsuite/40709
14930          * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
14931          * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
14932          testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
14933
149342009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
14935
14936          * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
14937          options when choosing a multilib.
14938
149392009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
14940
14941          * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
14942          ld_library_path.  Use add_path.  Add just find_libgcc_s to
14943          ld_library_path, not every libgcc multilib directory.
14944          * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
14945          gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
14946          * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
14947          Use add_path.
14948          * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
14949
149502009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
14951
14952          * Makefile.am (LTLDFLAGS): Define.
14953          (LINK): Define.
14954          * Makefile.in: Regenerate.
14955
149562009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
14957
14958          PR fortran/39718
14959          * testsuite/libgomp.fortran/fortran.exp: Don't link with
14960          libgfortranbegin, check existence of libgfortran.a instead of
14961          libgfortranbegin.a.
14962
149632009-05-20  Jakub Jelinek  <jakub@redhat.com>
14964
14965          PR libgomp/40174
14966          * team.c (gomp_thread_start): Destroy thr->release semaphore.
14967          (gomp_free_pool_helper): Likewise.
14968
149692009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
14970              Jakub Jelinek  <jakub@redhat.com>
14971
14972          PR fortran/35423
14973          * testsuite/libgomp.fortran/workshare2.f90: New test.
14974
149752009-04-09  Nick Clifton  <nickc@redhat.com>
14976
14977          * iter.c: Change copyright header to refer to version 3 of the
14978          GNU General Public License with version 3.1 of the GCC Runtime
14979          Library Exception and to point readers at the COPYING3 and
14980          COPYING3.RUNTIME files and the FSF's license web page.
14981          * alloc.c: Likewise.
14982          * barrier.c: Likewise.
14983          * config/bsd/proc.c: Likewise.
14984          * config/linux/affinity.c: Likewise.
14985          * config/linux/alpha/futex.h: Likewise.
14986          * config/linux/bar.c: Likewise.
14987          * config/linux/bar.h: Likewise.
14988          * config/linux/ia64/futex.h: Likewise.
14989          * config/linux/ia64/mutex.h: Likewise.
14990          * config/linux/lock.c: Likewise.
14991          * config/linux/mips/futex.h: Likewise.
14992          * config/linux/mutex.c: Likewise.
14993          * config/linux/mutex.h: Likewise.
14994          * config/linux/powerpc/futex.h: Likewise.
14995          * config/linux/proc.c: Likewise.
14996          * config/linux/ptrlock.c: Likewise.
14997          * config/linux/ptrlock.h: Likewise.
14998          * config/linux/s390/futex.h: Likewise.
14999          * config/linux/sem.c: Likewise.
15000          * config/linux/sem.h: Likewise.
15001          * config/linux/sparc/futex.h: Likewise.
15002          * config/linux/wait.h: Likewise.
15003          * config/linux/x86/futex.h: Likewise.
15004          * config/mingw32/proc.c: Likewise.
15005          * config/mingw32/time.c: Likewise.
15006          * config/posix/affinity.c: Likewise.
15007          * config/posix/bar.c: Likewise.
15008          * config/posix/bar.h: Likewise.
15009          * config/posix/lock.c: Likewise.
15010          * config/posix/mutex.h: Likewise.
15011          * config/posix/proc.c: Likewise.
15012          * config/posix/ptrlock.h: Likewise.
15013          * config/posix/sem.c: Likewise.
15014          * config/posix/sem.h: Likewise.
15015          * config/posix/time.c: Likewise.
15016          * config/posix95/lock.c: Likewise.
15017          * critical.c: Likewise.
15018          * env.c: Likewise.
15019          * error.c: Likewise.
15020          * fortran.c: Likewise.
15021          * iter_ull.c: Likewise.
15022          * libgomp.h: Likewise.
15023          * libgomp_f.h.in: Likewise.
15024          * libgomp_g.h: Likewise.
15025          * loop.c: Likewise.
15026          * loop_ull.c: Likewise.
15027          * omp.h.in: Likewise.
15028          * omp_lib.f90.in: Likewise.
15029          * omp_lib.h.in: Likewise.
15030          * ordered.c: Likewise.
15031          * parallel.c: Likewise.
15032          * sections.c: Likewise.
15033          * single.c: Likewise.
15034          * task.c: Likewise.
15035          * team.c: Likewise.
15036          * work.c: Likewise.
15037
150382009-04-09  Jakub Jelinek  <jakub@redhat.com>
15039
15040          * testsuite/config/default.exp: Change copyright header to refer to
15041          version 3 of the GNU General Public License and to point readers
15042          at the COPYING3 file and the FSF's license web page.
15043
150442009-04-08  Jakub Jelinek  <jakub@redhat.com>
15045
15046          PR middle-end/39573
15047          * libgomp.c++/pr39573.C: New test.
15048
150492009-04-01  Jakub Jelinek  <jakub@redhat.com>
15050
15051          PR other/39591
15052          * testsuite/libgomp.c/pr39591-1.c: New test.
15053          * testsuite/libgomp.c/pr39591-2.c: New test.
15054          * testsuite/libgomp.c/pr39591-3.c: New test.
15055
150562009-03-25  Uros Bizjak  <ubizjak@gmail.com>
15057
15058          * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
15059          * testsuite/libgomp.c/atomic-6.c: Ditto.
15060
150612009-03-23  Jakub Jelinek  <jakub@redhat.com>
15062
15063          PR c/39495
15064          * testsuite/libgomp.c/loop-12.c: New test.
15065          * testsuite/libgomp.c/loop-11.c: New test.
15066          * testsuite/libgomp.c++/loop-11.C: New test.
15067          * testsuite/libgomp.c++/loop-12.C: New test.
15068          * testsuite/libgomp.c++/for-8.C: New test.
15069
150702009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15071
15072          * configure: Regenerate.
15073
150742009-02-11  Jakub Jelinek  <jakub@redhat.com>
15075
15076          PR middle-end/39154
15077          * testsuite/libgomp.c/pr39154.c: New test.
15078
150792009-01-30  Ian Lance Taylor  <iant@google.com>
15080
15081          * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
15082          libgomp_ld_is_gold.  Get gold version number.
15083          (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
15084          * configure: Rebuild.
15085
150862009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
15087
15088          * testsuite/lib/libgomp.exp: Add -B option for targets that
15089          use libgfortran.a%s in their specs.
15090
150912009-01-07  Jakub Jelinek  <jakub@redhat.com>
15092
15093          PR libgomp/38086
15094          * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
15095          * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
15096          HAVE_AS_SYMVER_DIRECTIVE is not defined.
15097          * configure: Regenerated.
15098          * config.h.in: Likewise.
15099
151002008-12-28  Jakub Jelinek  <jakub@redhat.com>
15101
15102          PR c++/38650
15103          * testsuite/libgomp.c/pr38650.c: New test.
15104          * testsuite/libgomp.c++/pr38650.C: New test.
15105
151062008-12-27  Jakub Jelinek  <jakub@redhat.com>
15107
15108          * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15109
151102008-12-26  Uros Bizjak  <ubizjak@gmail.com>
15111
15112          * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15113
151142008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15115
15116          * configure: Regenerate.
15117
151182008-12-08  Jakub Jelinek  <jakub@redhat.com>
15119
15120          PR middle-end/36802
15121          * testsuite/libgomp.c/pr36802-1.c: New test.
15122          * testsuite/libgomp.c/pr36802-2.c: New test.
15123          * testsuite/libgomp.c/pr36802-3.c: New test.
15124
151252008-12-01  Janis Johnson  <janis187@us.ibm.com>
15126
15127          PR libgomp/38270
15128          * config/linux/powerpc/mutex.h: New.
15129
151302008-12-01  Jakub Jelinek  <jakub@redhat.com>
15131
15132          PR c++/38257
15133          * testsuite/libgomp.c++/for-7.C: New test.
15134
15135          PR c++/38348
15136          * testsuite/libgomp.c++/for-6.C: New test.
15137
151382008-11-26  Janis Johnson  <janis187@us.ibm.com>
15139
15140          PR testsuite/28870
15141          * testsuite/lib/libgomp.exp: Include new timeout library files.
15142          (libgomp_target_compile): Set timeout value from new proc.
15143
151442008-11-13  Steve Ellcey  <sje@cup.hp.com>
15145
15146          PR libgomp/37938
15147          * config/linux/ia64/mutex.h: New.
15148
151492008-11-04  Tobias Burnus  <burnus@net-b.de>
15150
15151          PR libgomp/37935
15152          * libgomp.texi (Runtime library routines, environment variables):
15153          Update for OpenMP version 3.0.
15154
151552008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
15156              Steve Ellcey  <sje@cup.hp.com>
15157
15158          * configure: Regenerate for new libtool.
15159          * Makefile.in: Ditto.
15160          * testsuite/Makefile.in: Ditto.
15161
151622008-09-19  Jakub Jelinek  <jakub@redhat.com>
15163              Andreas Tobler  <a.tobler@schweiz.org>
15164
15165          * config/bsd/proc.c: New file.
15166          * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
15167          * configure.ac: Check for header <sys/sysctl.h>
15168          * configure: Regenerate.
15169          * config.h.in: Likewise.
15170
151712008-09-05  Janis Johnson  <janis187@us.ibm.com>
15172
15173          * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15174
151752008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
15176
15177          * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15178          * Makefile.in: Regenerated.
15179          * testsuite/Makefile.in: Regenerated.
15180
151812008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
15182
15183          * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
15184          depend on blddir if blddir exists.
15185          (libgomp_target_compile): Likewise.
15186          * testsuite/libgomp.c++/c++.exp: Likewise.
15187          * testsuite/libgomp.fortran/fortran.exp: Likewise.
15188
151892008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15190
15191          * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
15192          Do not list GPL as Invariant Section.
15193
151942008-07-28  Ilie Garbacea  <ilie@mips.com>
15195              Chao-ying Fu  <fu@mips.com>
15196
15197          * configure.tgt: Enable futex for MIPS.
15198          * config/linux/mips/futex.h: New file.
15199
152002008-07-16  Jakub Jelinek  <jakub@redhat.com>
15201
15202          * team.c (gomp_team_end): Free team immediately if it has
15203          just one thread.
15204
152052008-07-08  David Edelsohn  <edelsohn@gnu.org>
15206
15207          * testsuite/libgomp.c++/c++.exp: Append multilib library path.
15208          * testsuite/libgomp.fortran/fortran.exp: Same.
15209          * testsuite/libgomp.c/c.exp: Same.
15210          * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15211          directory to library path first.
15212
152132008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
15214
15215          * env.c (parse_stacksize): Add cast to avoid warning.
15216          (parse_spincount): Likewise.
15217
152182008-06-27  Jakub Jelinek  <jakub@redhat.com>
15219
15220          * testsuite/libgomp.c/loop-10.c: New test.
15221          * libgomp.c/loop-3.c (main): Add lastprivate clause.
15222          * libgomp.c++/loop-6.C (main): Likewise.
15223
15224          PR debug/36617
15225          * testsuite/libgomp.c/debug-1.c: New test.
15226
152272008-06-19  Jakub Jelinek  <jakub@redhat.com>
15228
15229          * testsuite/libgomp.c/nqueens-1.c: New test.
15230
15231          PR c++/36523
15232          * testsuite/libgomp.c++/task-7.C: New function.
15233
152342008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15235
15236          * configure: Regenerate.
15237
152382008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
15239
15240          * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15241          mutex when HAVE_SYNC_BUILTINS isn't defined.
15242
152432008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15244
15245          * libgomp.texi (omp_test_lock): Fix typo.
15246
152472008-06-12  Tobias Burnus  <burnus@net-b.de>
15248
15249          * omp_lib.f90.in: Add "implicit none".
15250
152512008-06-12  Jakub Jelinek  <jakub@redhat.com>
15252
15253          PR middle-end/36506
15254          * testsuite/libgomp.c/reduction-5.c: New test.
15255
152562008-06-11  Jakub Jelinek  <jakub@redhat.com>
15257
15258          * libgomp.h (struct gomp_task): Add in_tied_task field.
15259          * task.c (gomp_init_task): Initialize it.
15260          (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
15261          unconditionally.  Don't call gomp_team_barrier_wake if
15262          current task is implicit or if(0) from implicit and number of
15263          running tasks is equal to nthreads - 1.
15264
15265          PR libgomp/36471
15266          * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15267          omp_get_team_size_8): Fix pastos.
15268
15269          PR libgomp/36469
15270          * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15271          * configure: Regenerated.
15272          * config.h.in: Regenerated.
15273          * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15274          defined.
15275
152762008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
15277
15278          PR bootstrap/36452
15279          * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15280          (GOMP_loop_ull_dynamic_start): Likewise.
15281          (GOMP_loop_ull_guided_start): Likewise.
15282          (GOMP_loop_ull_ordered_static_start): Likewise.
15283          (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15284          (GOMP_loop_ull_ordered_guided_start): Likewise.
15285
152862008-06-06  Jakub Jelinek  <jakub@redhat.com>
15287              Richard Henderson  <rth@redhat.com>
15288              Ulrich Drepper  <drepper@redhat.com>
15289              Jakob Blomer  <jakob.blomer@ira.uka.de>
15290
15291          * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15292          Substitute also OMP_*LOCK_25*.
15293          * configure: Regenerated.
15294          * config.h.in: Regenerated.
15295          * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15296          ptrlock.c and task.c.
15297          * Makefile.in: Regenerated.
15298          * testsuite/Makefile.in: Regenerated.
15299          * task.c: New file.
15300          * loop_ull.c: New file.
15301          * iter_ull.c: New file.
15302          * libgomp.h: Include ptrlock.h.
15303          (enum gomp_task_kind): New type.
15304          (struct gomp_team): Add task_lock, task_queue, task_count,
15305          task_running_count, single_count fields.  Add
15306          work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15307          Remove work_share_lock, generation_mask,
15308          oldest_live_gen, num_live_gen and init_work_shares fields, add
15309          work work_share_list_alloc, work_share_list_free and work_share_chunk
15310          fields.  Change work_shares from pointer to pointers into an array.
15311          Change ordered_release field into gomp_sem_t ** from flexible array
15312          member.  Add implicit_task and initial_work_shares fields.
15313          Move close to the end of the struct.
15314          (struct gomp_team_state): Add single_count, last_work_share,
15315          active_level and level fields, remove work_share_generation.
15316          (gomp_barrier_handle_tasks): New prototype.
15317          (gomp_finish_task): New inline function.
15318          (struct gomp_work_share): Move chunk_size, end, incr into
15319          transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15320          next_ll fields.  Reshuffle fields.  Add next_alloc,
15321          next_ws, next_free and inline_ordered_team_ids fields, change
15322          ordered_team_ids into pointer from flexible array member.
15323          Add mode field.  Put lock and next into a different cache line
15324          from most of the write-once fields.
15325          (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15326          gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15327          gomp_iter_ull_guided_next): New prototypes.
15328          (gomp_new_icv): New prototype.
15329          (struct gomp_thread): Add thread_pool and task fields.
15330          (struct gomp_thread_pool): New type.
15331          (gomp_new_team): New prototype.
15332          (gomp_team_start): Change type of last argument.
15333          (gomp_new_work_share): Removed.
15334          (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15335          (gomp_work_share_init_done): New static inline.
15336          (gomp_throttled_spin_count_var, gomp_available_cpus,
15337          gomp_managed_threads): New extern decls.
15338          (gomp_init_task): New prototype.
15339          (gomp_spin_count_var): New extern var decl.
15340          (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15341          or no alias support, or if not PIC.
15342          (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15343          gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15344          gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15345          gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15346          gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15347          gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15348          gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15349          gomp_test_nest_lock_25): New prototypes.
15350          (omp_lock_symver, strong_alias): Define.
15351          (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15352          decls.
15353          (gomp_end_task): New.
15354          (struct gomp_task_icv, gomp_global_icv): New.
15355          (gomp_thread_limit_var, gomp_max_active_levels_var): New.
15356          (struct gomp_task): New.
15357          (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15358          gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15359          (gomp_icv): New.
15360          (gomp_schedule_type): Reorder enum to match
15361          omp_sched_t.
15362          * team.c (struct gomp_thread_start_data): Add thread_pool and task
15363          fields.
15364          (gomp_thread_start): Add gomp_team_barrier_wait call.
15365          For non-nested case remove clearing of docked thread thr fields.
15366          Use pool fields instead of global gomp_* variables.  Use
15367          gomp_barrier_wait_last when needed.  Initialize ts.active_level.
15368          Create tasks for each member thread.
15369          (free_team): Only destroy team barrier, task_lock here and free it.
15370          (gomp_free_thread): Free last_team if non-NULL.
15371          (gomp_team_end): Call gomp_team_barrier_wait instead of
15372          gomp_barrier_wait.  For nested case call one extra
15373          gomp_barrier_wait.  Move here some destruction from free_team.
15374          Call free_team on pool->last_team if any, rather than freeing
15375          current team.  Destroy work_share_list_free_lock ifndef
15376          HAVE_SYNC_BUILTINS.
15377          (gomp_new_icv): New function.
15378          (gomp_threads, gomp_threads_size, gomp_threads_used,
15379          gomp_threads_dock): Removed.
15380          (gomp_thread_destructor): New variable.
15381          (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15382          functions.
15383          (gomp_team_start): Create new pool if current thread doesn't have
15384          one.  Use pool fields instead of global gomp_* variables.
15385          Initialize thread_pool field for new threads.  Clear single_count.
15386          Change last argument from ws to team, don't create
15387          new team, set ts.work_share to &team->work_shares[0] and clear
15388          ts.last_work_share.  Don't clear ts.work_share_generation.
15389          If number of threads changed, adjust atomically gomp_managed_threads.
15390          Use gomp_init_task instead of gomp_new_task,
15391          set thr->task to the corresponding implicit_task array entry.
15392          Create tasks for each member thread.  Initialize ts.level.
15393          (initialize_team): Call pthread_key_create on
15394          gomp_thread_destructor.
15395          (team_destructor): New function.
15396          (new_team): Removed.
15397          (gomp_new_team): New function.
15398          (free_team): Free gomp_work_share blocks chained through next_alloc,
15399          instead of freeing work_shares and destroying work_share_lock.
15400          (gomp_team_end): Call gomp_fini_work_share.  If number of threads
15401          changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
15402          * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
15403          of gomp_barrier_wait.
15404          * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
15405          instead of gomp_barrier_wait.  Call gomp_work_share_init_done
15406          if gomp_work_share_start returned true.  Don't unlock ws->lock.
15407          (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
15408          of gomp_barrier_wait.
15409          (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
15410          gomp_work_share_init_done if gomp_work_share_start returned true.
15411          Don't unlock ws->lock.
15412          * work.c: Include stddef.h.
15413          (free_work_share): Use work_share_list_free_lock instead
15414          of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
15415          Call gomp_fini_work_share and then either free ws if orphaned, or
15416          put it into work_share_list_free list of the current team.
15417          (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
15418          functions.
15419          (gomp_work_share_start, gomp_work_share_end,
15420          gomp_work_share_end_nowait): Rewritten.
15421          * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
15422          (openmp_version): Set to 200805.
15423          (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15424          omp_sched_guided, omp_sched_auto): New parameters.
15425          (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15426          omp_set_max_active_levels, omp_get_max_active_levels,
15427          omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15428          omp_get_active_level): New interfaces.
15429          * omp_lib.h.in (openmp_version): Set to 200805.
15430          (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15431          omp_sched_guided, omp_sched_auto): New parameters.
15432          (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15433          omp_set_max_active_levels, omp_get_max_active_levels,
15434          omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15435          omp_get_active_level): New externals.
15436          * loop.c: Include limits.h.
15437          (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
15438          GFS_AUTO.
15439          (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
15440          Likewise.  Use gomp_icv.
15441          (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
15442          ts.static_trip here.
15443          (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
15444          gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
15445          (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
15446          gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
15447          don't unlock ws->lock, otherwise lock it.
15448          (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
15449          gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
15450          (gomp_parallel_loop_start): Call gomp_new_team instead of
15451          gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
15452          Adjust gomp_team_start caller.  Pass 0 as second argument to
15453          gomp_resolve_num_threads.
15454          (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
15455          If adding ws->chunk_size nthreads + 1 times after end won't
15456          overflow, set ws->mode to 1.
15457          * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
15458          GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
15459          GOMP_loop_ull_ordered_static_start,
15460          GOMP_loop_ull_ordered_dynamic_start,
15461          GOMP_loop_ull_ordered_guided_start,
15462          GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
15463          GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
15464          GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
15465          GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
15466          GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
15467          prototypes.
15468          * libgomp.map: Export lock routines also @@OMP_2.0.
15469          (GOMP_loop_ordered_dynamic_first,
15470          GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
15471          GOMP_loop_ordered_static_first): Remove.
15472          (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
15473          GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
15474          GOMP_loop_ull_ordered_dynamic_next,
15475          GOMP_loop_ull_ordered_dynamic_start,
15476          GOMP_loop_ull_ordered_guided_next,
15477          GOMP_loop_ull_ordered_guided_start,
15478          GOMP_loop_ull_ordered_runtime_next,
15479          GOMP_loop_ull_ordered_runtime_start,
15480          GOMP_loop_ull_ordered_static_next,
15481          GOMP_loop_ull_ordered_static_start,
15482          GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
15483          GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
15484          GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
15485          (omp_set_schedule, omp_get_schedule,
15486          omp_get_thread_limit, omp_set_max_active_levels,
15487          omp_get_max_active_levels, omp_get_level,
15488          omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
15489          omp_set_schedule_, omp_set_schedule_8_,
15490          omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15491          omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15492          omp_get_max_active_levels_, omp_get_level_,
15493          omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15494          omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15495          New exports @@OMP_3.0.
15496          * omp.h.in (omp_sched_t): New type.
15497          (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15498          omp_set_max_active_levels, omp_get_max_active_levels,
15499          omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15500          omp_get_active_level): New prototypes.
15501          * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
15502          gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
15503          gomp_thread_limit_var, gomp_remaining_threads_count,
15504          gomp_remaining_threads_lock): New variables.
15505          (parse_spincount): New function.
15506          (initialize_env): Call gomp_init_num_threads unconditionally.
15507          Initialize gomp_available_cpus.  Call parse_spincount,
15508          initialize gomp_{,throttled_}spin_count_var
15509          depending on presence and value of OMP_WAIT_POLICY and
15510          GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
15511          Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
15512          OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
15513          for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
15514          gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
15515          (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15516          gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15517          (gomp_global_icv): New.
15518          (parse_schedule): Use it.  Parse "auto".
15519          (omp_set_num_threads): Use gomp_icv.
15520          (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
15521          Likewise.
15522          (omp_get_max_threads): Move from parallel.c.
15523          (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15524          omp_set_max_active_levels, omp_get_max_active_levels): New functions,
15525          add ialias.
15526          (parse_stacksize, parse_wait_policy): New functions.
15527          * fortran.c: Rewrite lock wrappers, if symbol versioning provide
15528          both wrappers for compatibility and new locks.
15529          (omp_set_schedule, omp_get_schedule,
15530          omp_get_thread_limit, omp_set_max_active_levels,
15531          omp_get_max_active_levels, omp_get_level,
15532          omp_get_ancestor_thread_num, omp_get_team_size,
15533          omp_get_active_level): New ialias_redirect.
15534          (omp_set_schedule_, omp_set_schedule_8_,
15535          omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15536          omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15537          omp_get_max_active_levels_, omp_get_level_,
15538          omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15539          omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15540          New functions.
15541          * parallel.c: Include limits.h.
15542          (gomp_resolve_num_threads): Add count argument.  Rewritten.
15543          (GOMP_parallel_start): Call gomp_new_team and pass that as last
15544          argument to gomp_team_start.  Pass 0 as second argument to
15545          gomp_resolve_num_threads.
15546          (GOMP_parallel_end): Decrease gomp_remaining_threads_count
15547          if gomp_thread_limit_var != ULONG_MAX.
15548          (omp_in_parallel): Implement using ts.active_level.
15549          (omp_get_max_threads): Move to env.c.
15550          (omp_get_level, omp_get_ancestor_thread_num,
15551          omp_get_team_size, omp_get_active_level): New functions,
15552          add ialias.
15553          * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
15554          after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
15555          gomp_iter_dynamic_next instead of the _locked variant and don't take
15556          lock around it, otherwise acquire it before calling
15557          gomp_iter_dynamic_next_locked.
15558          (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
15559          gomp_iter_dynamic_next instead of the _locked variant and don't take
15560          lock around it.
15561          (GOMP_parallel_sections_start): Call gomp_new_team instead of
15562          gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
15563          Adjust gomp_team_start caller.  Pass count as second argument to
15564          gomp_resolve_num_threads, don't adjust num_threads after the call.
15565          Use gomp_icv.
15566          * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
15567          ws->chunk_size by incr.
15568          (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
15569          code.
15570          * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
15571          types.
15572          (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
15573          (omp_check_defines): Check even the compat defines.
15574          * config/linux/ptrlock.c: New file.
15575          * config/linux/ptrlock.h: New file.
15576          * config/linux/wait.h: New file.
15577          * config/posix/ptrlock.c: New file.
15578          * config/posix/ptrlock.h: New file.
15579          * config/linux/bar.h (gomp_team_barrier_wait,
15580          gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15581          (gomp_team_barrier_set_task_pending,
15582          gomp_team_barrier_clear_task_pending,
15583          gomp_team_barrier_set_waiting_for_tasks,
15584          gomp_team_barrier_waiting_for_tasks,
15585          gomp_team_barrier_done): New inlines.
15586          (gomp_barrier_t): Rewritten.
15587          (gomp_barrier_state_t): New typedef.
15588          (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
15589          gomp_barrier_wait_start): Rewritten.
15590          (gomp_barrier_wait_end): Change second argument to
15591          gomp_barrier_state_t.
15592          (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15593          inlines.
15594          * config/linux/bar.c: Include wait.h instead of libgomp.h and
15595          futex.h.
15596          (gomp_barrier_wait_end): Rewritten.
15597          (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15598          gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
15599          * config/posix/bar.h (gomp_barrier_t): Add generation field.
15600          (gomp_barrier_state_t): New typedef.
15601          (gomp_team_barrier_wait,
15602          gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15603          (gomp_barrier_wait_start): Or all but low 2 bits from generation
15604          into the return value.  Return gomp_barrier_state_t.
15605          (gomp_team_barrier_set_task_pending,
15606          gomp_team_barrier_clear_task_pending,
15607          gomp_team_barrier_set_waiting_for_tasks,
15608          gomp_team_barrier_waiting_for_tasks,
15609          gomp_team_barrier_done): New inlines.
15610          (gomp_barrier_wait_end): Change second argument to
15611          gomp_barrier_state_t.
15612          (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15613          inlines.
15614          * config/posix/bar.c (gomp_barrier_init): Clear generation field.
15615          (gomp_barrier_wait_end): Change second argument to
15616          gomp_barrier_state_t.
15617          (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15618          gomp_team_barrier_wake): New functions.
15619          * config/linux/mutex.c: Include wait.h instead of libgomp.h and
15620          futex.h.
15621          (gomp_futex_wake, gomp_futex_wait): New variables.
15622          (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
15623          * config/linux/lock.c: Rewrite to make locks task owned,
15624          for backwards compatibility provide the old entrypoints
15625          if symbol versioning.  Include wait.h instead of libgomp.h and
15626          futex.h.
15627          (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
15628          * config/posix95/lock.c: Rewrite to make locks task owned,
15629          for backwards compatibility provide the old entrypoints
15630          if symbol versioning.
15631          * config/posix/lock.c: Rewrite to make locks task owned,
15632          for backwards compatibility provide the old entrypoints
15633          if symbol versioning.
15634          * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
15635          (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
15636          * config/posix/proc.c, config/mingw32/proc.c: Similarly.
15637          * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15638          (sys_futex0): Return error code.
15639          (futex_wake, futex_wait): If ENOSYS was returned, clear
15640          FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15641          (cpu_relax, atomic_write_barrier): New static inlines.
15642          * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15643          (futex_wake, futex_wait): If ENOSYS was returned, clear
15644          FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15645          (cpu_relax, atomic_write_barrier): New static inlines.
15646          * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15647          (sys_futex0): Return error code.
15648          (futex_wake, futex_wait): If ENOSYS was returned, clear
15649          FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15650          (cpu_relax, atomic_write_barrier): New static inlines.
15651          * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15652          (sys_futex0): Return error code.
15653          (futex_wake, futex_wait): If ENOSYS was returned, clear
15654          FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15655          (cpu_relax, atomic_write_barrier): New static inlines.
15656          * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15657          (sys_futex0): Return error code.
15658          (futex_wake, futex_wait): If ENOSYS was returned, clear
15659          FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15660          (cpu_relax, atomic_write_barrier): New static inlines.
15661          * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15662          (sys_futex0): Return error code.
15663          (futex_wake, futex_wait): If ENOSYS was returned, clear
15664          FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15665          (cpu_relax, atomic_write_barrier): New static inlines.
15666          * config/linux/sem.c: Include wait.h instead of libgomp.h and
15667          futex.h.
15668          (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
15669          * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
15670          * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
15671          types.
15672          (omp_nest_lock_t): Change owner into void *, add lock field.
15673          * config/posix95/omp-lock.h: Include semaphore.h.
15674          (omp_lock_25_t, omp_nest_lock_25_t): New types.
15675          (omp_lock_t): Use sem_t instead of mutex if semaphores
15676          aren't broken.
15677          (omp_nest_lock_t): Likewise.  Change owner to void *.
15678          * config/posix/omp-lock.h: Include semaphore.h.
15679          (omp_lock_25_t, omp_nest_lock_25_t): New types.
15680          (omp_lock_t): Use sem_t instead of mutex if semaphores
15681          aren't broken.
15682          (omp_nest_lock_t): Likewise.  Add owner field.
15683
156842008-06-06  Jakub Jelinek  <jakub@redhat.com>
15685
15686          * testsuite/libgomp.c/collapse-1.c: New test.
15687          * testsuite/libgomp.c/collapse-2.c: New test.
15688          * testsuite/libgomp.c/collapse-3.c: New test.
15689          * testsuite/libgomp.c/icv-1.c: New test.
15690          * testsuite/libgomp.c/icv-2.c: New test.
15691          * testsuite/libgomp.c/lib-2.c: New test.
15692          * testsuite/libgomp.c/lock-1.c: New test.
15693          * testsuite/libgomp.c/lock-2.c: New test.
15694          * testsuite/libgomp.c/lock-3.c: New test.
15695          * testsuite/libgomp.c/loop-4.c: New test.
15696          * testsuite/libgomp.c/loop-5.c: New test.
15697          * testsuite/libgomp.c/loop-6.c: New test.
15698          * testsuite/libgomp.c/loop-7.c: New test.
15699          * testsuite/libgomp.c/loop-8.c: New test.
15700          * testsuite/libgomp.c/loop-9.c: New test.
15701          * testsuite/libgomp.c/nested-3.c: New test.
15702          * testsuite/libgomp.c/nestedfn-6.c: New test.
15703          * testsuite/libgomp.c/sort-1.c: New test.
15704          * testsuite/libgomp.c/task-1.c: New test.
15705          * testsuite/libgomp.c/task-2.c: New test.
15706          * testsuite/libgomp.c/task-3.c: New test.
15707          * testsuite/libgomp.c/task-4.c: New test.
15708          * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
15709          to C++ testsuite default compiler options.
15710          * testsuite/libgomp.c++/collapse-1.C: New test.
15711          * testsuite/libgomp.c++/collapse-2.C: New test.
15712          * testsuite/libgomp.c++/ctor-10.C: New test.
15713          * testsuite/libgomp.c++/for-1.C: New test.
15714          * testsuite/libgomp.c++/for-2.C: New test.
15715          * testsuite/libgomp.c++/for-3.C: New test.
15716          * testsuite/libgomp.c++/for-4.C: New test.
15717          * testsuite/libgomp.c++/for-5.C: New test.
15718          * testsuite/libgomp.c++/loop-8.C: New test.
15719          * testsuite/libgomp.c++/loop-9.C: New test.
15720          * testsuite/libgomp.c++/loop-10.C: New test.
15721          * testsuite/libgomp.c++/task-1.C: New test.
15722          * testsuite/libgomp.c++/task-2.C: New test.
15723          * testsuite/libgomp.c++/task-3.C: New test.
15724          * testsuite/libgomp.c++/task-4.C: New test.
15725          * testsuite/libgomp.c++/task-5.C: New test.
15726          * testsuite/libgomp.c++/task-6.C: New test.
15727          * testsuite/libgomp.fortran/allocatable1.f90: New test.
15728          * testsuite/libgomp.fortran/allocatable2.f90: New test.
15729          * testsuite/libgomp.fortran/allocatable3.f90: New test.
15730          * testsuite/libgomp.fortran/allocatable4.f90: New test.
15731          * testsuite/libgomp.fortran/collapse1.f90: New test.
15732          * testsuite/libgomp.fortran/collapse2.f90: New test.
15733          * testsuite/libgomp.fortran/collapse3.f90: New test.
15734          * testsuite/libgomp.fortran/collapse4.f90: New test.
15735          * testsuite/libgomp.fortran/lastprivate1.f90: New test.
15736          * testsuite/libgomp.fortran/lastprivate2.f90: New test.
15737          * testsuite/libgomp.fortran/lib4.f90: New test.
15738          * testsuite/libgomp.fortran/lock-1.f90: New test.
15739          * testsuite/libgomp.fortran/lock-2.f90: New test.
15740          * testsuite/libgomp.fortran/nested1.f90: New test.
15741          * testsuite/libgomp.fortran/nestedfn4.f90: New test.
15742          * testsuite/libgomp.fortran/strassen.f90: New test.
15743          * testsuite/libgomp.fortran/tabs1.f90: New test.
15744          * testsuite/libgomp.fortran/tabs2.f: New test.
15745          * testsuite/libgomp.fortran/task1.f90: New test.
15746          * testsuite/libgomp.fortran/task2.f90: New test.
15747          * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
15748          * testsuite/libgomp.fortran/vla5.f90: Likewise.
15749          * testsuite/libgomp.c/pr26943-2.c: Likewise.
15750          * testsuite/libgomp.c/pr26943-3.c: Likewise.
15751          * testsuite/libgomp.c/pr26943-4.c: Likewise.
15752
157532008-05-23  Jakub Jelinek  <jakub@redhat.com>
15754
15755          PR c++/36308
15756          * testsuite/libgomp.c++/ctor-11.C: New test.
15757          * testsuite/libgomp.c++/ctor-12.C: New test.
15758
157592008-05-15  Janis Johnson  <janis187@us.ibm.com>
15760
15761          * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
15762
157632008-05-07  Jakub Jelinek  <jakub@redhat.com>
15764
15765          PR middle-end/36106
15766          * testsuite/libgomp.c/atomic-5.c: New test.
15767          * testsuite/libgomp.c/atomic-6.c: New test.
15768          * testsuite/libgomp.c/autopar-1.c: New test.
15769
157702008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15771
15772          * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
15773          (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
15774          (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
15775          (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
15776          * configure: Regenerate.
15777          * Makefile.in, testsuite/Makefile.in: Likewise.
15778
157792008-04-18  Paolo Bonzini  <bonzini@gnu.org>
15780
15781          PR bootstrap/35457
15782          * aclocal.m4: Regenerate.
15783          * configure: Regenerate.
15784
157852008-03-18  Jakub Jelinek  <jakub@redhat.com>
15786
15787          PR middle-end/35611
15788          * testsuite/libgomp.c/atomic-4.c: New test.
15789
15790          PR libgomp/35625
15791          * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
15792          (gomp_iter_guided_next): Likewise.
15793          * testsuite/libgomp.c/pr35625.c: New test.
15794
157952008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15796
15797          * aclocal.m4: Regenerate.
15798          * configure: Likewise.
15799          * Makefile.in: Likewise.
15800          * testsuite/Makefile.in: Likewise.
15801
158022008-03-13  Jakub Jelinek  <jakub@redhat.com>
15803
15804          PR middle-end/35185
15805          * testsuite/libgomp.c++/pr35185.C: New test.
15806
158072008-03-12  Jakub Jelinek  <jakub@redhat.com>
15808
15809          PR middle-end/35549
15810          * testsuite/libgomp.c/pr35549.c: New test.
15811
158122008-03-06  Jakub Jelinek  <jakub@redhat.com>
15813
15814          * testsuite/libgomp.c/atomic-3.c: New test.
15815
158162008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
15817
15818          PR fortran/33197
15819          * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
15820          .F08 file suffixes.
15821
158222008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
15823
15824          PR libgomp/33131
15825          * configure.ac: Add ACX_HEADER_STRING.
15826          * env.c: Include strings.h.
15827          * aclocal.m4: Regenerate.
15828          * config.h.in: Regenerate.
15829          * configure: Regenerate.
15830          * Makefile.in: Regenerate.
15831          * testsuite/Makefile.in: Regenerate.
15832
158332008-02-15  Jakub Jelinek  <jakub@redhat.com>
15834
15835          PR middle-end/35196
15836          * testsuite/libgomp.c/pr35196.c: New test.
15837
15838          PR middle-end/35130
15839          * testsuite/libgomp.fortran/pr35130.f90: New test.
15840          * testsuite/libgomp.c/pr35130.c: New test.
15841
158422008-01-25  Jakub Jelinek  <jakub@redhat.com>
15843
15844          PR middle-end/33880
15845          * testsuite/libgomp.c/pr33880.c: New test.
15846          * testsuite/libgomp.fortran/pr33880.f90: New test.
15847
158482008-01-24  David Edelsohn  <edelsohn@gnu.org>
15849
15850          * configure: Regenerate.
15851
158522008-01-08  Jakub Jelinek  <jakub@redhat.com>
15853
15854          * configure.ac: Move futex checking into ../config/futex.m4.
15855          * configure: Rebuilt.
15856          * aclocal.m4: Rebuilt.
15857          * Makefile.in: Rebuilt.
15858
15859          * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
15860          2007-10-15 ../config/tls.m4 change.
15861
158622007-12-19  Jakub Jelinek  <jakub@redhat.com>
15863
15864          PR c++/34513
15865          * testsuite/libgomp.c/pr34513.c: New test.
15866          * testsuite/libgomp.c++/pr34513.C: New test.
15867
158682007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
15869
15870          PR target/32765
15871          * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
15872
158732007-12-04  Jakub Jelinek  <jakub@redhat.com>
15874
15875          * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
15876
158772007-12-03  Jakub Jelinek  <jakub@redhat.com>
15878
15879          * testsuite/libgomp.c/private-1.c: New test.
15880
158812007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
15882              Paolo Bonzini  <bonzini@gnu.org>
15883
15884          * Makefile.am: Use space as vpath separator.  Use 'vpath %'
15885          instead of 'VPATH ='.
15886          * Makefile.in: Regenerate.
15887
158882007-11-23  Matthias Klose  <doko@ubuntu.com>
15889
15890          * configure.ac: Adjust makeinfo version check.
15891          * configure: Regenerate.
15892
158932007-11-10  Jakub Jelinek  <jakub@redhat.com>
15894
15895          PR fortran/34020
15896          * testsuite/libgomp.fortran/pr34020.f90: New test.
15897
158982007-11-06  Jakub Jelinek  <jakub@redhat.com>
15899
15900          PR c++/33894
15901          * testsuite/libgomp.c++/atomic-1.C: New test.
15902
159032007-10-25  Jakub Jelinek  <jakub@redhat.com>
15904
15905          PR libgomp/33275
15906          * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
15907          Make x and y integers rather than (implicit) reals.  Add private (j)
15908          clause to the last omp parallel.
15909
159102007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
15911
15912          * configure: Regenerate following changes to ../config/tls.m4.
15913
159142007-09-28  Jakub Jelinek  <jakub@redhat.com>
15915
15916          * testsuite/libgomp.fortran/stack.f90: New test.
15917
159182007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
15919
15920          * config/mingw32/proc.c: New file.
15921
159222007-09-05  Uros Bizjak  <ubizjak@gmail.com>
15923
15924          * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
15925          (main): Use __get_cpuid to get i386 target fetaures.
15926          * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
15927          (main): Use __get_cpuid to get x86_64 target fetaures.
15928
159292007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
15930
15931          PR target/32765
15932          * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
15933          * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
15934
159352007-07-12  Jakub Jelinek  <jakub@redhat.com>
15936
15937          PR fortran/32550
15938          * testsuite/libgomp.fortran/pr32550.f90: New test.
15939          * testsuite/libgomp.fortran/crayptr2.f90: New test.
15940
159412007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
15942
15943          * aclocal.m4: Regenerated.
15944
159452007-07-05  Tobias Burnus  <burnus@net-b.de>
15946
15947          PR fortran/32359
15948          * testsuite/libgomp.fortran/pr32359.f90: New.
15949
159502007-07-02  Jakub Jelinek  <jakub@redhat.com>
15951
15952          PR libgomp/32468
15953          * sections.c (GOMP_parallel_sections_start): Only decrease
15954          number of threads to COUNT if dyn_var is true.
15955          * testsuite/libgomp.c/pr32468.c: New test.
15956
159572007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15958
15959          PR libgomp/26308
15960          * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
15961
159622007-06-21  Jakub Jelinek  <jakub@redhat.com>
15963
15964          PR middle-end/32362
15965          * testsuite/libgomp.c/pr32362-1.c: New test.
15966          * testsuite/libgomp.c/pr32362-2.c: New test.
15967          * testsuite/libgomp.c/pr32362-3.c: New test.
15968
159692007-06-07  Jakub Jelinek  <jakub@redhat.com>
15970
15971          * team.c (gomp_team_start): Fix setting up thread_attr
15972          stack size.
15973
159742007-06-02  Paolo Bonzini  <bonzini@gnu.org>
15975
15976          * configure: Regenerate.
15977
159782007-05-23  Steve Ellcey  <sje@cup.hp.com>
15979
15980          * Makefile.in: Regenerate.
15981          * configure: Regenerate.
15982          * aclocal.m4: Regenerate.
15983          * testsuite/Makefile.in: Regenerate.
15984
159852007-05-04  Jakub Jelinek  <jakub@redhat.com>
15986
15987          * config/linux/proc.c: New file.
15988
15989          PR libgomp/28482
15990          * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
15991
159922007-04-19  Daniel Franke  <franke.daniel@gmail.com>
15993
15994          * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
15995
159962007-04-16  Matthias Klose  <doko@debian.org>
15997
15998          * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
15999          flags if not building with -m64.
16000          * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
16001          flag for i?86-*-* targets, if current target matches -m64.
16002
160032007-04-14  Steve Ellcey  <sje@cup.hp.com>
16004
16005          * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
16006          * Makefile.in: Regenerate.
16007
160082007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
16009
16010          PR testsuite/31369
16011          * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
16012          ld_library_path.
16013          * testsuite/libgomp.fortran/fortran.exp: Likewise.
16014
160152007-04-04  Jakub Jelinek  <jakub@redhat.com>
16016
16017          * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
16018          decls.
16019          (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
16020          * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
16021          (parse_affinity): New function.
16022          (initialize_env): Call it and gomp_init_affinity.
16023          * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
16024          create new pthread_attr_t and call gomp_init_thread_affinity
16025          on it for each thread before passing the attribute to pthread_create.
16026          * config/linux/affinity.c: New file.
16027          * config/posix/affinity.c: New file.
16028          * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
16029          * configure: Rebuilt.
16030          * config.h.in: Rebuilt.
16031          * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
16032          * Makefile.in: Rebuilt.
16033
160342007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
16035
16036          * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
16037          *-*-darwin*.
16038          * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
16039          and use it if found.
16040
160412007-03-18  Uros Bizjak  <ubizjak@gmail.com>
16042
16043          * testsuite/config/default.exp: New file.
16044          * testsuite/lib/libgomp.exp: New file.
16045          * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
16046          libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
16047          load_lib *, load_gcc_lib *): Move to libgomp.exp.
16048          (libgomp_load): Remove.
16049          * testsuite/lib/libgomp.exp (libgomp_init): Compute
16050          always_ld_library_path, not ld_library_path.  Set additional_flags
16051          to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
16052          (target_compile): Do not call libgomp_init.  Append lang_library_path
16053          and lang_link_flags to options.
16054          * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
16055          ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
16056          here.
16057          * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
16058          always_ld_library_path.  Set LD_LIBRARY_PATH here.
16059          * testsuite/libgomp.fortran/fortran.exp: Ditto.
16060          * testsuite/libgomp.c/atomic-1.c: Set dg-options to
16061          "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
16062          CX8 flag.
16063          * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
16064          lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
16065          * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
16066          * testsuite/libgomp.c/pr29947-1.c: Ditto.
16067          * testsuite/libgomp.c/atomic-10.c: Ditto.
16068
160692007-03-21  Jakub Jelinek  <jakub@redhat.com>
16070
16071          * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
16072          dg-final cleanup-modules line.
16073          * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
16074          * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
16075          * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
16076          * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
16077          * testsuite/libgomp.fortran/reduction5.f90: Likewise.
16078          * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
16079          * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
16080
160812007-03-18  Andreas Schwab  <schwab@suse.de>
16082
16083          * acinclude.m4: Adjust regular expression for ld version
16084          extraction.
16085          * configure: Regenerate.
16086
160872007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
16088
16089          * Makefile.am: Add install-pdf target as copied from
16090          automake v1.10 rules.
16091          * Makefile.in: Regenerate
16092
160932007-02-07  Jakub Jelinek  <jakub@redhat.com>
16094
16095          PR libgomp/28486
16096          * configure: Regenerate.
16097
16098          PR c++/30703
16099          * testsuite/libgomp.c++/pr30703.C: New test.
16100
161012007-02-02  Jakub Jelinek  <jakub@redhat.com>
16102
16103          Revert:
16104          2006-07-05  Eric Christopher  <echristo@apple.com>
16105          * configure.ac: Depend addition of -pthread on host OS.
16106          * configure: Regenerate.
16107
161082007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16109
16110          * libgomp.texi: Fix spacing after abbreviations.
16111
161122007-01-31  Daniel Franke <franke.daniel@gmail.com>
16113
16114          PR libgomp/30546
16115          * configure.ac: Add check for makeinfo
16116          * Makefile.am: Redefined target libgomp.info, build libgomp.info only
16117          if an appropriate version of makeinfo is found.
16118          * aclocal.m4: Regenerated.
16119          * configure: Regenerated.
16120          * Makefile.in: Regenerated.
16121          * testsuite/Makefile.in: Regenerated.
16122
161232007-01-29  Daniel Franke <franke.daniel@gmail.com>
16124
16125          PR libgomp/30540
16126          * libgomp.texi: More about implementation-dependent settings.
16127
161282007-01-26  Tobias Burnus  <burnus@net-b.de>
16129
16130          * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16131
161322007-01-24  Jakub Jelinek  <jakub@redhat.com>
16133
16134          PR middle-end/30494
16135          * testsuite/libgomp.c/pr30494.c: New test.
16136
161372007-01-15  Tom Tromey  <tromey@redhat.com>
16138
16139          * configure: Rebuilt.
16140          * configure.ac: Fixed comment.
16141
161422007-01-14  Daniel Franke  <franke.daniel@gmail.com>
16143
16144          * libgomp.texi: Document implementation specific default values of
16145          environment variables.
16146
161472006-12-21  Daniel Franke  <franke.daniel@gmail.com>
16148
16149          PR libgomp/28209
16150          * libgomp.texi: New file.
16151          * configure.ac: Add --enable-generated-files-in-srcdir option.
16152          * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16153          files to srcdir.
16154          * Makefile.in: Regenerated.
16155          * config.h.in: Regenerated.
16156          * testsuite/Makefile.in: Regenerated.
16157          * NOTES: Removed.
16158
161592006-12-04  Daniel Franke  <franke.daniel@gmail.com>
16160
16161          PR libgomp/29949
16162          * env.c (omp_set_num_threads): Set illegal thread count to 1.
16163
161642006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
16165
16166          * configure: Regenerate.
16167
161682006-12-04  Jakub Jelinek  <jakub@redhat.com>
16169
16170          PR libgomp/29947
16171          * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
16172          start if there shouldn't be any loop iterations.
16173          (gomp_loop_ordered_static_start): Remove start == end test.
16174          * testsuite/libgomp.c/pr29947-1.c: New test.
16175          * testsuite/libgomp.c/pr29947-2.c: New test.
16176
161772006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
16178
16179          * configure.tgt: Force initial-exec TLS model on Linux only.
16180
161812006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
16182
16183          * configure: Regenerated.
16184
161852006-11-09  Uros Bizjak  <ubizjak@gmail.com>
16186
16187          * env.c (parse_schedule): Reject out of range values.
16188          (parse_unsigned_long): Reject out of range, negative or zero values.
16189
161902006-10-29  Jakub Jelinek  <jakub@redhat.com>
16191
16192          PR fortran/29629
16193          * testsuite/libgomp.fortran/pr29629.f90: New test.
16194
161952006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
16196
16197          PR libgomp/29494
16198          * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16199          * config/posix95: New directory.
16200          * config/posix95/omp-lock.h: New file.
16201          * config/posix95/lock.c: Likewise.
16202
162032006-10-14  Geoffrey Keating  <geoffk@apple.com>
16204
16205          * aclocal.m4: Regenerate.
16206          * configure: Regenerate.
16207
162082006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
16209
16210          * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16211          '<' to '<='.
16212
162132006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
16214
16215          * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16216          test.
16217          * configure: Regenerate.
16218          * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16219
162202006-09-26  Jakub Jelinek  <jakub@redhat.com>
16221
16222          PR middle-end/25261
16223          PR middle-end/28790
16224          * testsuite/libgomp.c/nestedfn-4.c: New test.
16225          * testsuite/libgomp.c/nestedfn-5.c: New test.
16226          * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16227
16228          PR fortran/29097
16229          * testsuite/libgomp.fortran/condinc1.f: New test.
16230          * testsuite/libgomp.fortran/condinc2.f: New test.
16231          * testsuite/libgomp.fortran/condinc3.f90: New test.
16232          * testsuite/libgomp.fortran/condinc4.f90: New test.
16233          * testsuite/libgomp.fortran/condinc1.inc: New file.
16234
162352006-09-18  Tom Tromey  <tromey@redhat.com>
16236
16237          * configure: Rebuilt.
16238
162392006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
16240
16241          PR c/28768
16242          PR preprocessor/14634
16243          * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16244          to AC_DEFINE.
16245          * configure: Regenerate.
16246
162472006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
16248
16249          * testsuite/libgomp.fortran/reduction3.f90: Change
16250          -2147483648 to -huge(i)-1 to avoid overflow.
16251          * testsuite/libgomp.fortran/reduction4.f90: Change
16252          Z'ffffffff' to not(0) to avoid overflow.
16253
162542006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
16255
16256          PR libgomp/25938
16257          * Makefile.am (libsubincludedir): New.
16258          (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16259          * Makefile.in: Regenerate.
16260
162612006-08-17  Jakub Jelinek  <jakub@redhat.com>
16262
16263          PR libgomp/28725
16264          * env.c: Include ctype.h.
16265          (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16266          leading and/or trailing whitespace and compare strings case
16267          insensitively.
16268
162692006-07-16  Jakub Jelinek  <jakub@redhat.com>
16270
16271          PR fortran/28390
16272          * testsuite/libgomp.fortran/pr28390.f: New test.
16273
162742006-07-05  Eric Christopher  <echristo@apple.com>
16275
16276          * configure.ac: Depend addition of -pthread on host OS.
16277          * configure: Regenerate.
16278
162792006-06-21  Jakub Jelinek  <jakub@redhat.com>
16280
16281          * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16282          when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16283          defined.
16284
162852006-06-20  Jakub Jelinek  <jakub@redhat.com>
16286
16287          PR libgomp/26175
16288          PR libgomp/26477
16289          * configure.ac: If neither --enable-linux-futex nor
16290          --disable-linux-futex is passed, determine the default by checking
16291          for compiling and/or running against NPTL.  With --enable-linux-futex,
16292          check if SYS_gettid and SYS_futex are defined.
16293          * configure: Rebuilt.
16294
162952006-06-14  Richard Henderson  <rth@redhat.com>
16296
16297          PR libgomp/28008
16298          * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16299          undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16300
163012006-06-09  Richard Henderson  <rth@redhat.com>
16302
16303          * env.c (gomp_nthreads_var): Change to unsigned long.
16304          (gomp_run_sched_chunk): Likewise.
16305          (parse_unsigned_long): Rename from parse_num_threads and generalize.
16306          (initialize_env): Initialize gomp_thread_attr.
16307          * libgomp.h (gomp_nthreads_var): Update decl.
16308          (gomp_run_sched_chunk): Likewise.
16309          (gomp_thread_attr): Declare.
16310          * team.c (gomp_thread_attr): Export.
16311          (initialize_team): Don't initialize it.
16312
163132006-06-09  Jakub Jelinek  <jakub@redhat.com>
16314
16315          PR fortran/27916
16316          * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16317          * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16318
163192006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
16320
16321          * config/mingw32/time.c: New file.
16322          * configure.tgt: Use it.
16323
163242006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
16325
16326          * Makefile.am: Add install-html target. Add install-html to .PHONY
16327          * Makefile.in: Regenerate.
16328
163292006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
16330
16331          PR libgomp/27612
16332          * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16333          * testsuite/libgomp.c/critical-1.c: Likewise.
16334          * testsuite/libgomp.c/loop-1.c: Likewise.
16335          * testsuite/libgomp.c/loop-2.c: Likewise.
16336          * testsuite/libgomp.c/single-1.c: Likewise.
16337          * testsuite/libgomp.c/ordered-1.c: Likewise.
16338          * testsuite/libgomp.c/ordered-2.c: Likewise.
16339
163402006-05-15  Jakub Jelinek  <jakub@redhat.com>
16341
16342          PR middle-end/27416
16343          * libgomp.fortran/pr27416-1.f90: New test.
16344
163452006-05-03  Jakub Jelinek  <jakub@redhat.com>
16346
16347          PR fortran/27395
16348          * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16349          * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16350
163512006-05-02  Jakub Jelinek  <jakub@redhat.com>
16352
16353          PR c++/26943
16354          * testsuite/libgomp.c/pr26943-1.c: New test.
16355          * testsuite/libgomp.c/pr26943-2.c: New test.
16356          * testsuite/libgomp.c/pr26943-3.c: New test.
16357          * testsuite/libgomp.c/pr26943-4.c: New test.
16358          * testsuite/libgomp.c++/pr27337.C: Remove barrier.
16359          * testsuite/libgomp.c++/pr26943.C: New test.
16360
163612006-05-02  Jakub Jelinek  <jakub@redhat.com>
16362
16363          PR middle-end/27337
16364          * testsuite/libgomp.c++/pr27337.C: New test.
16365
163662006-04-26  Jakub Jelinek  <jakub@redhat.com>
16367
16368          PR c/26171
16369          * testsuite/libgomp.c/pr26171.c: New test.
16370
163712006-04-25  Richard Henderson  <rth@redhat.com>
16372
16373          PR libgomp/25865
16374          * configure.ac: Use GCC_CHECK_TLS.
16375          * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16376          * Makefile.in, aclocal.m4, configure: Regenerate.
16377
163782006-04-10  Matthias Klose  <doko@debian.org>
16379
16380          * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16381          directory names containing underscores.
16382
163832006-03-21  Jakub Jelinek  <jakub@redhat.com>
16384
16385          PR c++/26691
16386          * testsuite/libgomp.c++/pr26691.C: New test.
16387
163882006-03-13  Jakub Jelinek  <jakub@redhat.com>
16389
16390          * testsuite/libgomp.fortran/retval2.f90: New test.
16391
163922006-03-09  Diego Novillo  <dnovillo@redhat.com>
16393
16394          * testsuite/libgomp.c++: New directory.
16395
163962006-02-25  Shantonu Sen  <ssen@opendarwin.org>
16397
16398          * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16399          * config/posix/sem.c: Implement the above.
16400
164012006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
16402
16403          * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
16404          define HAVE_BROKEN_POSIX_SEMAPHORES.
16405          * configure: Rebuilt.
16406          * config.h.in: Rebuilt.
16407
164082006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
16409
16410          PR bootstrap/26161
16411          * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
16412          for the other pthread check.
16413          * configure: Regenerate.
16414          * config.h.in: Regenerate.
16415
164162006-02-15  Jakub Jelinek  <jakub@redhat.com>
16417
16418          PR libgomp/25938
16419          PR libgomp/25984
16420          * Makefile.am (fincludedir): New variable.
16421          (nodist_include_HEADERS): Remove Fortran files.
16422          (nodist_finclude_HEADERS): New variable.
16423          * Makefile.in: Regenerated.
16424
164252006-02-13  Jakub Jelinek  <jakub@redhat.com>
16426
16427          * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
16428          Remove tests for returning assumed character length arrays.
16429
164302006-02-12  Roger Sayle  <roger@eyesopen.com>
16431              John David Anglin  <dave@hiauly1.hia.nrc.ca>
16432
16433          PR libgomp/25936
16434          * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
16435
164362006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
16437
16438          * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
16439
164402006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
16441
16442          * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
16443          part of LD_LIBRARY_PATH manually.
16444
164452006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
16446
16447          PR libgomp/25852
16448          * testsuite/lib/libgomp-dg.exp (blddir): Set it in
16449          libgomp_init.
16450
164512005-01-25  Paolo Bonzini  <bonzini@gnu.org>
16452
16453          PR libgomp/25884
16454          * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
16455          * configure.ac (PERL): Don't set.
16456          (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
16457          (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
16458          OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
16459          * omp.h.in: Wrap the new configure substitutions with @ characters.
16460          * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
16461          * aclocal.m4, configure, Makefile.in: Regenerate.
16462          * mkomp_h.pl: Delete.
16463
164642005-01-24  Paolo Bonzini  <bonzini@gnu.org>
16465
16466          PR libgomp/25259
16467          * configure.ac: Use GCC_HEADER_STDINT.
16468          * libgomp.h: Include gstdint.h.
16469          * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
16470          * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
16471
164722006-01-24  Richard Henderson  <rth@redhat.com>
16473
16474          PR libgomp/25942
16475          * configure.ac: Add AM_MAINTAINER_MODE.
16476          * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
16477
164782006-01-24  Diego Novillo  <dnovillo@redhat.com>
16479
16480          * Makefile.in: Regenerate.
16481          * testsuite/Makefile.in: Regenerate.
16482          * aclocal.m4: Regenerate.
16483
164842006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
16485
16486          * config/posix/proc.c: Conditional include of sys/loadavg.h for
16487          Solaris.
16488          * configure.ac: Add check for loadavg.h.
16489          (link_gomp): Adjust comment.
16490          * configure: Regenerate.
16491          * config.h.in: Regenerate.
16492
164932006-01-21  Steve Ellcey  <sje@cup.hp.com>
16494
16495          PR libgomp/25877
16496          * configure.ac: Remove check for alloca.h.
16497          * configure: Regenerate.
16498          * config.h.in: Regenerate.
16499          * libgomp.h: define gomp_alloca to be __builtin_alloca.
16500          * team.c: Remove use of alloca.h.
16501          Call gomp_alloca instead of alloca.
16502
165032006-01-20  Steve Ellcey  <sje@cup.hp.com>
16504
16505          PR libgomp/25877
16506          * team.c: Add include of alloca.h.
16507          * configure.ac: Add check for alloca.h.
16508          * configure: Regenerate.
16509          * config.h.in: Regenerate.
16510
165112006-01-17  Jakub Jelinek  <jakub@redhat.com>
16512
16513          PR fortran/25219
16514          * testsuite/libgomp.fortran/pr25219.f90: New test.
16515
165162005-12-05  Uros Bizjak  <uros@kss-loka.si>
16517
16518          * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
16519          testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
16520          testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16521          testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16522          testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
16523          testsuite/libgomp.fortran/threadprivate1.f90,
16524          testsuite/libgomp.fortran/threadprivate2.f90,
16525          testsuite/libgomp.fortran/threadprivate3.f90,
16526          testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16527          testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16528          testsuite/libgomp.fortran/omp_parse3.f90: Change required
16529          effective-target to TLS runtime.
16530
16531          * testsuite/libgomp.fortran/pr25162.f: Require
16532          effective-target TLS runtime.
16533
165342005-12-01  Jakub Jelinek  <jakub@redhat.com>
16535
16536          * testsuite/libgomp.fortran/nestedfn2.f90: New test.
16537          * testsuite/libgomp.c/nestedfn-3.c: New test.
16538
165392005-11-30  Jakub Jelinek  <jakub@redhat.com>
16540
16541          PR fortran/25162
16542          * testsuite/libgomp.fortran/pr25162.f: New test.
16543
165442005-11-28  Jakub Jelinek  <jakub@redhat.com>
16545
16546          * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
16547          CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
16548
165492005-11-25  Jakub Jelinek  <jakub@redhat.com>
16550
16551          * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
16552          libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
16553          omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
16554          single.c, team.c, work.c, config/linux/alpha/futex.h,
16555          config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
16556          config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
16557          config/linux/powerpc/futex.h, config/linux/s390/futex.h,
16558          config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
16559          config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
16560          config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
16561          config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
16562          FSF address.
16563
165642005-11-18  Jakub Jelinek  <jakub@redhat.com>
16565
16566          * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
16567          to nodist_noinst_HEADERS.
16568          * Makefile.in: Rebuilt.
16569
16570          * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
16571          add integer count field.
16572          * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
16573          omp_nest_lock_t type change.
16574          (omp_init_nest_lock): Likewise.  Initialize count to 0.
16575          (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
16576          Increment count.
16577          (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
16578          Decrement count.
16579          (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
16580          Increment count if successful and return the new nesting level.
16581          * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
16582          * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
16583          * testsuite/libgomp.c/lib-1.c: New test.
16584          * testsuite/libgomp.fortran/lib1.f90: New test.
16585          * testsuite/libgomp.fortran/lib2.f: New test.
16586          * testsuite/libgomp.fortran/lib3.f: New test.
16587
165882005-11-17  Richard Henderson  <rth@redhat.com>
16589
16590          PR 24845
16591          * Makefile.am (nodist_toolexeclib_HEADERS): New.
16592          * configure.ac (link_gomp): New.  Substitute it.
16593          (AC_CONFIG_FILES): Add libgomp.spec.
16594          * libgomp.spec.in: New file.
16595          * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
16596          * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
16597
165982005-11-18  Jakub Jelinek  <jakub@redhat.com>
16599
16600          * testsuite/libgomp.fortran/reduction1.f90: Adjust for
16601          reduction(-:var) behaving the same as reduction(+:var).
16602          * testsuite/libgomp.c/reduction-4.c: New test.
16603
166042005-11-15  Uros Bizjak  <uros@kss-loka.si>
16605
16606          * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
16607          testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
16608          testsuite/libgomp.c/copyin-3.c,
16609          testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16610          testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16611          testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
16612          testsuite/libgomp.c++/pr24455.C,
16613          testsuite/libgomp.fortran/threadprivate1.f90,
16614          testsuite/libgomp.fortran/threadprivate2.f90,
16615          testsuite/libgomp.fortran/threadprivate3.f90,
16616          testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16617          testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16618          testsuite/libgomp.fortran/omp_parse3.f90: Require
16619          effective-target TLS.
16620
166212005-11-14  Diego Novillo  <dnovillo@redhat.com>
16622
16623          * HEADER: Remove.
16624
166252005-11-13  Jakub Jelinek  <jakub@redhat.com>
16626
16627          PR libgomp/24797
16628          * team.c (initialize_team): Pass NULL rather than free as
16629          pthread_key_create destructor.  Initialize thread specific data
16630          pointer in initial thread to a static local variable rather than
16631          malloced memory.
16632
166332005-11-11  Uros Bizjak  <uros@kss-loka.si>
16634
16635          * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
16636          its location to ld_library_path.
16637
166382005-11-10  Diego Novillo  <dnovillo@redhat.com>
16639
16640          * testsuite/libgomp.c/c.exp: Rename from dg.exp.
16641
166422005-11-10  Diego Novillo  <dnovillo@redhat.com>
16643
16644          * testsuite/libgomp.c: Rename from libgomp.dg.
16645
166462005-11-09  Diego Novillo  <dnovillo@redhat.com>
16647
16648          * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
16649          threadprivate variable 'i'.
16650
166512005-11-09  Jakub Jelinek  <jakub@redhat.com>
16652
16653          * config/linux/s390/futex.h: New file.
16654          * configure.tgt: Use it.
16655
16656          * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
16657          before the parallel.
16658
166592005-11-08  Jakub Jelinek  <jakub@redhat.com>
16660
16661          PR c++/24734
16662          * testsuite/libgomp.c++/master-1.C: New test.
16663
166642005-11-07  Jakub Jelinek  <jakub@redhat.com>
16665
16666          * testsuite/libgomp.dg/copyin-3.c: New test.
16667
166682005-11-07  Jakub Jelinek  <jakub@redhat.com>
16669
16670          * testsuite/libgomp.fortran/retval1.f90: New test.
16671          * testsuite/libgomp.fortran/vla7.f90: New test.
16672
166732005-11-06  Jakub Jelinek  <jakub@redhat.com>
16674
16675          * testsuite/libgomp.fortran/vla2.f90: New test.
16676          * testsuite/libgomp.fortran/vla3.f90: New test.
16677          * testsuite/libgomp.fortran/vla4.f90: New test.
16678          * testsuite/libgomp.fortran/vla5.f90: New test.
16679          * testsuite/libgomp.fortran/vla6.f90: New test.
16680
166812005-11-01  Jakub Jelinek  <jakub@redhat.com>
16682
16683          * config/linux/sparc/futex.h: New file.
16684          * configure.tgt: Use it.
16685          * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
16686
16687          * critical.c: Include stdlib.h.
16688          * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
16689          ignoring return value.
16690          * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
16691          LIBGOMP_CHECK_SYNC_BUILTINS check.
16692          * configure: Rebuilt.
16693
166942005-10-31  Jakub Jelinek  <jakub@redhat.com>
16695
16696          * testsuite/libgomp.fortran/vla1.f90: New test.
16697
166982005-10-31  Richard Henderson  <rth@redhat.com>
16699
16700          * testsuite/libgomp.fortran/character2.f90: Fix race condition
16701          setting 's' in different threads.
16702
167032005-10-31  Jakub Jelinek  <jakub@redhat.com>
16704
16705          * libgomp.h (attribute_hidden, ialias): Define.
16706          * config/posix/proc.c (omp_get_num_procs): Add ialias.
16707          * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
16708          * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
16709          omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16710          omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16711          omp_test_lock, omp_test_nest_lock): Likewise.
16712          * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
16713          omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16714          omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16715          omp_test_lock, omp_test_nest_lock): Likewise.
16716          * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
16717          omp_get_dynamic, omp_get_nested): Likewise.
16718          * parallel.c (omp_get_num_threads, omp_get_max_threads,
16719          omp_get_thread_num, omp_in_parallel): Likewise.
16720          * fortran.c (ialias_redirect): Define.
16721          (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
16722          omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
16723          omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
16724          omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
16725          omp_set_num_threads, omp_get_dynamic, omp_get_nested,
16726          omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
16727          omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
16728          omp_get_wtime): Add ialias_redirect.
16729
167302005-10-30  Jakub Jelinek  <jakub@redhat.com>
16731
16732          * fortran.c: Include stdlib.h.
16733
167342005-10-29  Jakub Jelinek  <jakub@redhat.com>
16735
16736          * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
16737          * Makefile.in: Regenerated.
16738
167392005-10-28  Jakub Jelinek  <jakub@redhat.com>
16740
16741          * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
16742          * libgomp_f.h.in (omp_check_defines): New function.
16743          * env.c: Include libgomp_f.h.
16744          (initialize_env): Call omp_check_defines.
16745
16746          * testsuite/libgomp.dg/copyin-2.c: New test.
16747          * testsuite/libgomp.c++/copyin-2.C: New test.
16748          * testsuite/libgomp.fortran/threadprivate3.f90: New test.
16749
16750          * testsuite/libgomp.fortran/threadprivate2.f90: New test.
16751          * testsuite/libgomp.fortran/sharing2.f90: New test.
16752
16753          * testsuite/libgomp.dg/copyin-1.c: New test.
16754          * testsuite/libgomp.c++/copyin-1.C: New test.
16755
167562005-10-26  Jakub Jelinek  <jakub@redhat.com>
16757
16758          * testsuite/libgomp.fortran/crayptr1.f90: New test.
16759
16760          * testsuite/libgomp.fortran/workshare1.f90: New test.
16761
16762          * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
16763          only test.
16764          * libgomp.fortran/sharing1.f90: New test.
16765
167662005-10-24  Jakub Jelinek  <jakub@redhat.com>
16767
16768          PR c++/24502
16769          * testsuite/libgomp.c++/loop-7.C: New test.
16770
16771          * testsuite/libgomp.dg/nestedfn-2.c: New test.
16772
16773          * testsuite/libgomp.dg/nestedfn-1.c: New test.
16774          * testsuite/libgomp.fortran/reduction6.f90: New test.
16775          * testsuite/libgomp.fortran/nestedfn1.f90: New test.
16776
167772005-10-23  Richard Henderson  <rth@redhat.com>
16778
16779          * testsuite/libgomp.c++/ctor-1.C: New.
16780          * testsuite/libgomp.c++/ctor-2.C: New.
16781          * testsuite/libgomp.c++/ctor-3.C: New.
16782          * testsuite/libgomp.c++/ctor-4.C: New.
16783          * testsuite/libgomp.c++/ctor-5.C: New.
16784          * testsuite/libgomp.c++/ctor-6.C: New.
16785          * testsuite/libgomp.c++/ctor-7.C: New.
16786          * testsuite/libgomp.c++/ctor-8.C: New.
16787          * testsuite/libgomp.c++/ctor-9.C: New.
16788
167892005-10-21  Diego Novillo  <dnovillo@redhat.com>
16790
16791          PR 24455
16792          * testsuite/libgomp.c++/pr24455-1.C: New test.
16793          * testsuite/libgomp.c++/pr24455.C: New test.
16794          * testsuite/libgomp.dg/pr24455-1.c: New test.
16795          * testsuite/libgomp.dg/pr24455.c: New test.
16796
167972005-10-20  Richard Henderson  <rth@redhat.com>
16798
16799          * testsuite/libgomp.c++/loop-6.C: New.
16800          * testsuite/libgomp.dg/loop-3.c: New.
16801
168022005-10-20  Jakub Jelinek  <jakub@redhat.com>
16803
16804          * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
16805          explicitly private.
16806          * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
16807          explicitly shared.
16808
168092005-10-19  Diego Novillo  <dnovillo@redhat.com>
16810
16811          * testsuite/libgomp.fortran/jacobi.f: New test.
16812
168132005-10-19  Richard Henderson  <rth@redhat.com>
16814
16815          * configure.tgt (i?86-linux): Default to with_arch instead of
16816          CFLAGS.  Add -mtune to match target_cpu.
16817          (x86_64-linux): Tune to i686.
16818
16819          * fortran.c (omp_test_nest_lock_): Fix typo.
16820
168212005-10-19  Jakub Jelinek  <jakub@redhat.com>
16822
16823          * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16824          gomp_ordered_sync): Do nothing if team->nthreads == 1.
16825          * testsuite/libgomp.dg/ordered-3.c: New test.
16826
16827          * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
16828          Remove volatile keyword.
16829
16830          * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
16831          in COMMON block to avoid warnings on 64-bit targets.
16832
168332005-10-18  Diego Novillo  <dnovillo@redhat.com>
16834
16835          * testsuite/libgomp.dg/shared-3.c: New test.
16836
168372005-10-18  Jakub Jelinek  <jakub@redhat.com>
16838
16839          * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
16840          * testsuite/libgomp.fortran/reduction5.f90: New test.
16841
168422005-10-18  Jakub Jelinek  <jakub@redhat.com>
16843
16844          * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
16845          dg-options.
16846          * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
16847          flush loop now that __sync_synchronize has proper memory barrier.
16848          * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
16849          Add -ffixed-form to dg-options.
16850
168512005-10-17  Diego Novillo  <dnovillo@redhat.com>
16852
16853          * testsuite/libgomp.fortran/fortran.exp: Also gather tests
16854          from subdirectories.
16855          * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
16856          * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
16857          * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
16858          * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
16859          * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
16860          * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
16861          * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
16862          * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
16863          * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
16864          * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
16865          * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
16866          * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
16867          * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
16868          * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
16869          * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
16870          * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
16871          * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
16872          * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
16873          * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
16874          * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
16875          * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
16876          * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
16877          * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
16878          * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
16879          * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
16880
168812005-10-17  Jakub Jelinek  <jakub@redhat.com>
16882
16883          * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
16884          lang_library_path exists.  Use find instead of glob to gather tests.
16885          * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
16886
168872005-10-17  Diego Novillo  <dnovillo@redhat.com>
16888
16889          * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
16890          * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
16891          * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
16892          * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
16893          * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
16894          * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
16895          * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
16896          * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
16897          * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
16898          * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
16899          * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
16900          * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
16901          * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
16902
169032005-10-15  Jakub Jelinek  <jakub@redhat.com>
16904
16905          * testsuite/libgomp.dg/vla-1.c: New test.
16906
16907          * testsuite/libgomp.fortran/reference2.f90: New test.
16908
16909          * testsuite/libgomp.fortran/character2.f90: Remove explicit
16910          declaration of omp_get_thread_num.
16911          * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
16912          use omp_lib.
16913
16914          * testsuite/libgomp.fortran/reduction1.f90: New test.
16915          * testsuite/libgomp.fortran/reduction2.f90: New test.
16916          * testsuite/libgomp.fortran/reduction3.f90: New test.
16917          * testsuite/libgomp.fortran/reduction4.f90: New test.
16918
169192005-10-13  Richard Henderson  <rth@redhat.com>
16920
16921          * Makefile.am (libgomp_la_SOURCES): Add bar.c.
16922          * Makefile.in: Regenerate.
16923          * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
16924          * libgomp.h: Include bar.h.
16925          (struct gomp_barrier): Remove.
16926          (struct gomp_team): Add barrier.  Replace master_barrier with
16927          master_release.  Replace threads with ordered_release.
16928          (struct gomp_thread): Replace barrier with release.
16929          * ordered.c (gomp_ordered_first): Update for ordered_release change.
16930          (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
16931          gomp_ordered_static_next, gomp_ordered_sync): Likewise.
16932          * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
16933          (GOMP_single_copy_end): Likewise.
16934          * team.c (gomp_threads_dock): New.
16935          (gomp_barrier_init, gomp_barrier_destroy): Remove.
16936          (gomp_thread_start): Use gomp_barrier_wait.
16937          (new_team, free_team): Update for gomp_team changes.
16938          (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
16939          (gomp_team_end): Use gomp_barrier_wait.
16940          (initialize_team): Update for gomp_thread changes.
16941          * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
16942          (gomp_work_share_end_nowait): Use atomic ops when available.
16943          * config/linux/bar.c, config/linux/bar.h: New files.
16944          * config/posix/bar.c, config/posix/bar.h: New files.
16945
169462005-10-13  Jakub Jelinek  <jakub@redhat.com>
16947
16948          * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
16949          * testsuite/libgomp.dg/single-2.c: New test.
16950
16951          * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
16952          lang_link_flags): Unset, so that they aren't inherited from previously
16953          sourced *.exp.
16954
16955          * testsuite/libgomp.fortran/threadprivate1.f90: New test.
16956
169572005-10-12  Richard Henderson  <rth@redhat.com>
16958
16959          * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
16960          (libgomp_init): Use lang_test_file, lang_library_path, and
16961          lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
16962
16963          * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
16964          (lang_test_file, lang_link_flags): New.
16965          (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
16966
16967          * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
16968          testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
16969          testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
16970          testsuite/libgomp.c++/parallel-1.C,
16971          testsuite/libgomp.c++/reduction-1.C,
16972          testsuite/libgomp.c++/reduction-2.C,
16973          testsuite/libgomp.c++/reduction-3.C,
16974          testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
16975          testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
16976          testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
16977          New files, largely cribbed from the C testsuite.
16978
169792005-10-12  Jakub Jelinek  <jakub@redhat.com>
16980
16981          * testsuite/libgomp.fortran/character1.f90: New test.
16982          * testsuite/libgomp.fortran/character2.f90: New test.
16983
16984          * testsuite/libgomp.dg/nested-1.c: New test.
16985          * testsuite/libgomp.dg/nested-2.c: New test.
16986          * testsuite/libgomp.fortran/do1.f90: New test.
16987          * testsuite/libgomp.fortran/do2.f90: New test.
16988
16989          * testsuite/libgomp.fortran/reference1.f90: New test.
16990
169912005-10-11  Jakub Jelinek  <jakub@redhat.com>
16992
16993          * testsuite/libgomp.dg/reduction-1.c: New test.
16994          * testsuite/libgomp.dg/reduction-2.c: New test.
16995          * testsuite/libgomp.dg/reduction-3.c: New test.
16996
169972005-10-10  Jakub Jelinek  <jakub@redhat.com>
16998
16999          * testsuite/libgomp.dg/atomic-1.c: New test.
17000          * testsuite/libgomp.dg/atomic-2.c: New test.
17001
170022005-10-09  Richard Henderson  <rth@redhat.com>
17003
17004          * critical.c (atomic_lock): New.
17005          (initialize_critical): Initialize it.
17006          (GOMP_atomic_start, GOMP_atomic_end): New.
17007          * libgomp.map: Export them.
17008          * libgomp_g.h: Declare them.
17009
17010          * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
17011
170122005-10-02  Richard Henderson  <rth@redhat.com>
17013
17014          * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
17015          to XCFLAGS instead of CFLAGS.
17016
170172005-09-30  Richard Henderson  <rth@redhat.com>
17018
17019          * configure.ac: Determine whether -pthread or -lpthread is needed.
17020          * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
17021          * Makefile.in, configure: Rebuild.
17022
170232005-09-28  Richard Henderson  <rth@redhat.com>
17024
17025          * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
17026          * testsuite/libgomp.dg/omp-single-3.c: New test.
17027
170282005-09-28  Diego Novillo  <dnovillo@redhat.com>
17029
17030          * testsuite/libgomp.dg/omp-single-2.c: New test.
17031          * testsuite/libgomp.dg/shared-2.c: Fix return code.
17032
170332005-09-27  Richard Henderson  <rth@redhat.com>
17034
17035          * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
17036          * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
17037
170382005-09-27  Jakub Jelinek  <jakub@redhat.com>
17039
17040          * testsuite/libgomp.dg/omp-loop03.c: New test.
17041
170422005-09-27  Diego Novillo  <dnovillo@redhat.com>
17043
17044          * testsuite/libgomp.dg/omp-parallel-for.c: New test.
17045
170462005-09-27  Diego Novillo  <dnovillo@redhat.com>
17047
17048          * testsuite/libgomp.dg/omp-single-1.c: New test.
17049          * testsuite/libgomp.dg/shared-1.c: Return 0.
17050          Add prototype for abort.
17051          * testsuite/libgomp.dg/shared-2.c: Likewise.
17052
170532005-09-26  Jakub Jelinek  <jakub@redhat.com>
17054
17055          * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
17056          constructs.
17057
170582005-09-26  Diego Novillo  <dnovillo@redhat.com>
17059
17060          * testsuite/libgomp.dg/shared-1.c: New test.
17061          * testsuite/libgomp.dg/shared-2.c: New test.
17062
170632005-09-24  Richard Henderson  <rth@redhat.com>
17064
17065          * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
17066
170672005-09-24  Richard Henderson  <rth@redhat.com>
17068
17069          * iter.c (gomp_iter_static_next): Round up when computing number
17070          of iterations.  Don't bother distributing a remainder equally.
17071
17072          * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
17073          Don't call srand.  Zero b before testing.
17074          (main): New.
17075
170762005-09-24  Jakub Jelinek  <jakub@redhat.com>
17077
17078          * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
17079          * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
17080
170812005-09-23  Jakub Jelinek  <jakub@redhat.com>
17082
17083          * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
17084          without !$omp end do, followed immediately by subroutine end.
17085
170862005-09-23  Diego Novillo  <dnovillo@redhat.com>
17087
17088          * testsuite/libgomp.dg/omp-parallel-if.c: New test.
17089
170902005-09-22  Richard Henderson  <rth@redhat.com>
17091
17092          * critical.c (GOMP_critical_name_start): Change argument to void**.
17093          Reuse the pointer space if the mutex fits.
17094          (GOMP_critical_name_end): Likewise.
17095          (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
17096          * libgomp_g.h (GOMP_critical_name_start): Update decl.
17097          (GOMP_critical_name_end): Likewise.
17098          * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
17099          * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
17100
171012005-09-20  Richard Henderson  <rth@redhat.com>
17102
17103          * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
17104          (create_lock_lock): New.
17105          (initialize_critical): Initialize it.
17106          * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17107          * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17108
171092005-09-20  Diego Novillo  <dnovillo@redhat.com>
17110
17111          * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17112
171132005-09-20  Diego Novillo  <dnovillo@redhat.com>
17114
17115          * testsuite/libgomp.dg/omp-loop01.c: New test.
17116          * testsuite/libgomp.dg/omp-loop02.c: New test.
17117
171182005-09-20  Jakub Jelinek  <jakub@redhat.com>
17119
17120          * configure.ac (AC_PROG_FC): Add.
17121          (USE_FORTRAN): New automake conditional.
17122          * configure: Rebuilt.
17123          * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17124          (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17125          If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17126          Add rules to build them.
17127          * Makefile.in: Rebuilt.
17128          * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17129          OMP_NEST_LOCK_KIND.
17130          * libgomp.map: Add Fortran wrappers.
17131          * libgomp_f.h.in: New file.
17132          * omp_lib.h.in: New file.
17133          * omp_lib.f90.in: New file.
17134          * fortran.c: New file.
17135          * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17136          Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17137          Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17138          libgfortran has been built.
17139          * testsuite/libgomp.fortran/fortran.exp: New file.
17140          * testsuite/libgomp.fortran/omp_cond1.f: New test.
17141          * testsuite/libgomp.fortran/omp_cond2.f: New test.
17142          * testsuite/libgomp.fortran/omp_cond3.F90: New test.
17143          * testsuite/libgomp.fortran/omp_cond4.F90: New test.
17144          * testsuite/libgomp.fortran/omp_hello.f: New test.
17145          * testsuite/libgomp.fortran/omp_orphan.f: New test.
17146          * testsuite/libgomp.fortran/omp_parse1.f90: New test.
17147          * testsuite/libgomp.fortran/omp_parse2.f90: New test.
17148          * testsuite/libgomp.fortran/omp_parse3.f90: New test.
17149          * testsuite/libgomp.fortran/omp_parse4.f90: New test.
17150          * testsuite/libgomp.fortran/omp_reduction.f: New test.
17151          * testsuite/libgomp.fortran/omp_workshare1.f: New test.
17152          * testsuite/libgomp.fortran/omp_workshare2.f: New test.
17153
171542005-08-30  Richard Henderson  <rth@redhat.com>
17155
17156          * loop.c (GOMP_loop_static_start): Provide fallback wrapper
17157          function for when aliases are not usable.
17158          (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17159          GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17160          GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17161          GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17162          GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17163          GOMP_loop_ordered_guided_next): Likewise.
17164          * ordered.c (GOMP_ordered_start): Likewise.
17165
171662005-08-01  Diego Novillo  <dnovillo@redhat.com>
17167
17168          * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17169          * testsuite/libgomp.dg/omp_hello.c: Fix return code
17170          * testsuite/libgomp.dg/omp_matvec.c: Likewise.
17171          * testsuite/libgomp.dg/omp_orphan.c: Likewise
17172          * testsuite/libgomp.dg/omp_reduction.c: Likewise
17173          * testsuite/libgomp.dg/omp_workshare1.c: Likewise
17174          * testsuite/libgomp.dg/omp_workshare2.c: Likewise
17175          * testsuite/libgomp.dg/omp_workshare3.c: Likewise
17176          * testsuite/libgomp.dg/omp_workshare4.c: Likewise
17177
171782005-07-07  Eric Christopher  <echristo@redhat.com>
17179              Diego Novillo  <dnovillo@redhat.com>
17180
17181          * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17182          * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17183          up code.
17184          * testsuite/libgomp.dg/omp_matvec.c: Ditto.
17185          * testsuite/libgomp.dg/omp_orphan.c: Ditto.
17186          * testsuite/libgomp.dg/omp_reduction.c: Ditto.
17187          * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17188          * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17189          * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17190          * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17191
171922005-06-13  Diego Novillo  <dnovillo@redhat.com>
17193
17194          * TOPLEVEL.patch: Remove.
17195
171962005-05-16  Richard Henderson  <rth@redhat.com>
17197
17198          * configure.ac: Test for clock_gettime.
17199          * config.h.in, configure: Rebuild.
17200          * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17201          (omp_get_wtime): Use clock_gettime if available.
17202          (omp_get_wtick): Use clock_getres if available.
17203
172042005-05-11  Richard Henderson  <rth@redhat.com>
17205
17206          * config/linux/ia64/futex.h: New file.
17207          * configure.tgt: Use it.
17208
17209          * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17210
172112005-05-07  Richard Henderson  <rth@redhat.com>
17212
17213          * config/linux/powerpc/futex.h: New file.
17214          * configure.tgt: Use it.
17215
17216          * config/linux/i486/futex.h: Merge ...
17217          * config/linux/x86_64/futex.h: ... into ...
17218          * config/linux/x86/futex.h: ... here.
17219          * configure.tgt: Update to match.
17220
172212005-05-06  Richard Henderson  <rth@redhat.com>
17222
17223          * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17224          * config/linux/i486/futex.h: Likewise.
17225          * config/linux/x86_64/futex.h: Likewise.
17226
17227          * config/linux/lock.c: New file.
17228          * config/linux/omp-lock.h: New file.
17229
17230          * critical.c, env.h: Don't include omp.h
17231          * config/posix/lock.c: Include libgomp.h instead of omp.h.
17232          * config/posix/time.c: Likewise.
17233          * config/posix/omp-lock.h: New file.
17234          * libgomp.h: Include omp-lock.h and omp.h.
17235          * Makefile.am (nodist_include_HEADERS): New.
17236          (omp.h): New rule.
17237          * configure.ac (PERL): New.
17238          * mkomp_h.pl: New file.
17239          * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17240          with templates.
17241          * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17242
17243          * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17244          build directory.  Re-add -march=i486 hack.
17245
17246          * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17247          (libgomp_link_flags): Remove.
17248          (libgomp_initialized): Remove.
17249          (libgomp_init): Don't protect from reinitialization.  Copy code
17250          from libstdc++ for getting the multilib set correctly.
17251
172522005-05-05  Richard Henderson  <rth@redhat.com>
17253
17254          * config/linux/alpha/futex.h: New file.
17255          * configure.tgt (alpha*-*-linux*): Use it.
17256
17257          * config/posix/mutex.c: New file.
17258          * config/posix/sem.c: Use libgomp.h.
17259
17260          * configure.tgt (x86_64-linux): Also test CC for -m32.
17261          * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17262
17263          * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
17264          after $gccpath.
17265
17266          * Makefile.am (SUBDIRS): New.
17267          (libgomp_la_LDFLAGS): Add -lpthread.
17268          * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17269          * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17270
17271          * libgomp_g.h: New file.
17272          * libgomp.h: Split out all public declarations to libgomp_g.h.
17273          Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17274          * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17275          * config/linux/sem.h: Likewise.
17276          * config/posix/sem.h: Likewise.
17277
17278          * Makefile.am (AM_LDFLAGS): New.
17279          (libgomp_version_script): Split out from ...
17280          (libgomp_la_LDFLAGS): ... here.
17281          (libgomp_version_info): New.
17282          * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17283          (LIBGOMP_ENABLE): New.
17284          (LIBGOMP_CHECK_LINKER_FEATURES): New.
17285          (LIBGOMP_ENABLE_SYMVERS): New.
17286          * configure.ac (AC_INIT): Version 1.0.
17287          (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17288          (enable-linux-futex): Likewise.  Rename from enable-futex.
17289          (libtool_VERSION): New.
17290          (LIBGOMP_ENABLE_SYMVERS): Use it.
17291          * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17292          * Makefile.in, aclocal.m4, configure: Rebuild.
17293
17294          * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17295          (gomp_mutex_unlock_slow): Fix typo.
17296          * config/linux/sem.c: Similarly.
17297          (gomp_sem_post_slow): Fix typo.
17298          * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17299          * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17300          [__PIC__] (sys_futex0): Don't use tmp output in asm.
17301
17302          * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17303          (libgomp_la_LDFLAGS): Add top_srcdir to path.
17304          * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17305          * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
17306          XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17307          * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17308          LDFLAGS.  Pull enable_futex check to top-level.
17309          * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
17310          * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17311
17312          First attempt at real configury.
17313          * Makefile, config.h: Remove file.
17314          * Makefile.am, Makefile.in: New file.
17315          * acinclude.m4 aclocal.m4: New file.
17316          * configure.ac, configure.tgt, configure: New file.
17317
17318          * config/posix/lock.c: Rename from sys-lock.c.
17319          * config/posix/mutex.h: Rename from sys-mutex.h.
17320          * config/posix/sem.c: Rename from sys-sem.c.
17321          * config/posix/sem.h: Rename from sys-sem.h.
17322          * config/posix/proc.c: Rename from sys-proc.c.
17323          * config/posix/time.c: Rename from sys-proc.c.
17324
17325          * config/linux/mutex.c: New file.
17326          * config/linux/mutex.h: New file.
17327          * config/linux/sem.c: New file.
17328          * config/linux/sem.h: New file.
17329          * config/linux/i486/futex.h: New file.
17330          * config/linux/x86_64/futex.h: New file.
17331
173322005-05-04  Richard Henderson  <rth@redhat.com>
17333
17334          * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17335          * libgomp.h: Declare them.
17336          * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17337          gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17338
173392005-05-04  Richard Henderson  <rth@redhat.com>
17340
17341          * libgomp-1 code drop
17342
173432005-05-04  Richard Henderson  <rth@redhat.com>
17344
17345          * iter.c (gomp_iter_static_next): Return tri-state on 0.
17346          * ordered.c (gomp_ordered_static_next): Remove not_last argument.
17347          * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17348          (gomp_iter_static_next): Update.
17349          (gomp_ordered_static_next): Update.
17350          * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17351          (gomp_loop_ordered_static_start): Likewise.  Exit early for a
17352          totally empty range.
17353          (gomp_loop_ordered_static_next): Refine test for calling
17354          gomp_ordered_static_next.
17355          * testsuite/ordered-1.c: Add case for more threads than iterations.
17356
17357          * iter.c (gomp_iter_runtime_next_locked): Remove.
17358          * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
17359          gomp_loop_guided_start, gomp_loop_ordered_static_start,
17360          gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17361          gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17362          gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17363          gomp_loop_ordered_guided_next): Downcase name, make static, add
17364          an external alias with the old name.
17365          (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17366          GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17367          switch and call one of the above static functions.
17368          * libgomp.h: Update.
17369
17370          * work.c (gomp_work_share_start): Lock the mutex for !first too.
17371          * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17372          GOMP_loop_guided_start, GOMP_loop_runtime_start,
17373          GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17374          GOMP_loop_ordered_guided_start): Update to match.
17375          * sections.c (GOMP_sections_start): Likewise.
17376          * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17377
17378          * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17379          gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17380          Use bounds check instead of modulus.
17381          (gomp_ordered_sync): Split out of GOMP_ordered_start.
17382          (gomp_ordered_last): Don't sync with ordered_owner here.
17383          (gomp_ordered_next): Likewise.
17384          (gomp_ordered_static_loop_next): Likewise.
17385          * loop.c, libgomp.h: Update to match.
17386
17387          * libgomp.h (GOMP_barrier): Declare.
17388
17389          * testsuite/barrier-1.c: New file.
17390          * testsuite/critical-1.c: New file.
17391          * testsuite/ordered-2.c: New file.
17392          * testsuite/ordered-1.c: New file.
17393          * testsuite/sections-1.c: New file.
17394          * testsuite/single-1.c: New file.
17395          * testsuite/Makefile (TESTS): Add them.
17396
173972005-05-04  Richard Henderson  <rth@redhat.com>
17398
17399          * libgomp.h (struct gomp_work_share): Add ordered_owner.
17400          * loop.c (GOMP_loop_static_start): If not the startup thread,
17401          acquire the mutex to wait for initialization complete.
17402          (GOMP_loop_ordered_static_start): Likewise.
17403          (GOMP_loop_ordered_runtime_start): Likewise.
17404          (GOMP_loop_ordered_static_first): Remove.
17405          (GOMP_loop_ordered_dynamic_first): Remove.
17406          (GOMP_loop_ordered_guided_first): Remove.
17407          (GOMP_loop_ordered_runtime_first): Remove.
17408          * ordered.c (gomp_ordered_loop_first): Post to own release when
17409          we're the first thread.
17410          (gomp_ordered_loop_last): Wait on release if not owner.
17411          (gomp_ordered_loop_next): Likewise.
17412          (gomp_ordered_static_loop_init): New.
17413          (gomp_ordered_static_loop_next): Use ordered_owner.
17414          (GOMP_ordered_start): Likewise.
17415          * work.c (gomp_new_work_share): Initialize ordered_owner.
17416
174172005-05-03  Richard Henderson  <rth@redhat.com>
17418
17419          * Makefile (OPT): New.
17420          (CFLAGS): Use it.
17421
17422          * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
17423          * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
17424          * libgomp.h, libgomp.map, NOTES: Update to match.
17425
17426          * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
17427          Add initialized and thr members.
17428          (gomp_thread_start): Pause when initially spawned to wait for
17429          the whole team to be created.
17430          (gomp_team_start): Release team members at the end.
17431
17432          * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
17433          (f_foo_1): Use GOMP_loop_end.
17434          (f_foo_2): Use GOMP_loop_end_nowait.
17435
17436          * testsuite/loop-2.c: New file.
17437          * testsuite/Makefile (TESTS): Add it.
17438
174392005-05-03  Richard Henderson  <rth@redhat.com>
17440
17441          * iter.c (gomp_iter_static_next): Fix overflow check typo.
17442          (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
17443          * team.c (new_team): Initialize oldest_live_gen to 1 if no
17444          initial work_share.
17445
17446          * testsuite/Makefile: New file.
17447          * testsuite/loop-1.c: New file.
17448
174492005-05-03  Richard Henderson  <rth@redhat.com>
17450
17451          Initial implementation and checkin.
17452
17453Copyright (C) 2005-2022 Free Software Foundation, Inc.
17454
17455Copying and distribution of this file, with or without modification,
17456are permitted in any medium without royalty provided the copyright
17457notice and this notice are preserved.
17458