compiler: load LHS subexpressions of op= assignment only once
[official-gcc.git] / libgomp / ChangeLog
blob344f79598c394ac253ea2c190ec832686d15f18e
1 2022-05-16  Marcel Vollweiler  <marcel@codesourcery.com>
3         * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
4         * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
5         * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
7 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
9         * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
11 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
13         * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
15 2022-05-13  Thomas Schwinge  <thomas@codesourcery.com>
17         * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
18         [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
19         (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
20         append '$(PLUGIN_NVPTX_LDFLAGS)'.
21         * Makefile.in: Regenerate.
23 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
25         * Makefile.am (libgomp_la_LIBADD): Initialize.
26         * plugin/configfrag.ac (DL_LIBS): New.
27         (PLUGIN_GCN_LIBS): Remove.
28         (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
29         * plugin/Makefrag.am (libgomp_la_LIBADD)
30         (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
31         (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
32         * Makefile.in: Regenerate.
33         * config.h.in: Likewise.
34         * configure: Likewise.
35         * testsuite/Makefile.in: Likewise.
37 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
39         * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
40         * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
41         'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
42         * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
43         'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
44         'PLUGIN_NVPTX_LINK_LIBCUDA'.
45         * Makefile.in: Regenerate.
46         * config.h.in: Likewise.
47         * configure: Likewise.
49 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
51         * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
52         for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
53         * Makefile.in: Regenerate.
54         * config.h.in: Likewise.
55         * configure: Likewise.
56         * testsuite/Makefile.in: Likewise.
58 2022-05-12  Jakub Jelinek  <jakub@redhat.com>
60         * libgomp.h (struct gomp_task): Add depend_all_memory member.
61         * task.c (gomp_init_task): Initialize depend_all_memory.
62         (gomp_task_handle_depend): Handle omp_all_memory.
63         (gomp_task_run_post_handle_depend_hash): Clear
64         parent->depend_all_memory if equal to current task.
65         (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
66         * testsuite/libgomp.c-c++-common/depend-1.c: New test.
67         * testsuite/libgomp.c-c++-common/depend-2.c: New test.
68         * testsuite/libgomp.c-c++-common/depend-3.c: New test.
70 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
72         * plugin/configfrag.ac: Remove '--with-hsa-runtime',
73         '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
74         * Makefile.in: Regenerate.
75         * configure: Likewise.
76         * testsuite/Makefile.in: Likewise.
78 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
80         * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
81         consider 'PLUGIN_GCN_CPPFLAGS'.
82         (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
83         'PLUGIN_GCN_LDFLAGS'.
84         * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
85         Remove.
86         * Makefile.in: Regenerate.
87         * configure: Likewise.
88         * testsuite/Makefile.in: Likewise.
90 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
92         * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
93         (HSA_RUNTIME_LDFLAGS): Remove.
94         * configure: Regenerate.
96 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
98         * testsuite/lib/libgomp.exp (libgomp_init): Don't
99         'append always_ld_library_path ":$hsa_runtime_lib"'.
100         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
102 2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
104         * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
105         multi-device testing.
107 2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
109         * libgomp.map: Added omp_target_is_accessible.
110         * libgomp.texi: Tagged omp_target_is_accessible as supported.
111         * omp.h.in: Added omp_target_is_accessible.
112         * omp_lib.f90.in: Added interface for omp_target_is_accessible.
113         * omp_lib.h.in: Likewise.
114         * target.c (omp_target_is_accessible): Added implementation of
115         omp_target_is_accessible.
116         * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
117         * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
119 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
121         * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
123 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
125         * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
127 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
129         * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
131 2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
133         * libgomp.map: Added omp_get_mapped_ptr.
134         * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
135         * omp.h.in: Added omp_get_mapped_ptr.
136         * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
137         * omp_lib.h.in: Likewise.
138         * target.c (omp_get_mapped_ptr): Added implementation of
139         omp_get_mapped_ptr.
140         * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
141         * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
142         * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
143         * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
144         * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
145         * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
146         * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
147         * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
149 2022-04-28  Thomas Schwinge  <thomas@codesourcery.com>
151         PR fortran/104717
152         * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
153         privatization scanning.  For GCN offloading compilation, raise
154         '-mgang-private-size'.
156 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
158         PR libgomp/105358
159         * work.c (gomp_init_work_share): Don't mask of adjustment for
160         dynamic long long realignment if struct gomp_work_share has smaller
161         alignof than long long.
162         * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
163         struct gomp_work_share has smaller alignof than long long or if
164         sizeof (struct gomp_work_share) is smaller than
165         INLINE_ORDERED_TEAM_IDS_OFF.
166         * loop_ull.c (GOMP_loop_ull_start): Likewise.
167         * sections.c (GOMP_sections2_start): Likewise.
169 2022-04-25  Jakub Jelinek  <jakub@redhat.com>
170             Thomas Schwinge  <thomas@codesourcery.com>
172         PR fortran/104717
173         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
175 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
177         * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
179 2022-04-06  Thomas Schwinge  <thomas@codesourcery.com>
181         * plugin/cuda/cuda.h: Remove file.
182         * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
183         "cuda/cuda.h" instead of <cuda.h>.
184         * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
185         'PLUGIN_NVPTX_CPPFLAGS'.
186         * configure: Regenerate.
188 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
190         * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
192 2022-04-04  Tom de Vries  <tdevries@suse.de>
194         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
195         on_device_arch_nvptx instead of offload_target_nvptx.
196         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
198 2022-04-01  Tom de Vries  <tdevries@suse.de>
200         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
201         and use REC_DEPTH.
202         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
204 2022-04-01  Tom de Vries  <tdevries@suse.de>
206         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
207         num_workers check.
209 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
210             Lulu Cheng  <chenglulu@loongson.cn>
212         * configure.tgt: Add LoongArch triplet.
214 2022-03-28  Tom de Vries  <tdevries@suse.de>
216         * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
217         instead of /libexec/.
218         * configure: Regenerate.
220 2022-03-25  Tom de Vries  <tdevries@suse.de>
222         PR libgomp/105042
223         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
224         execution time.
225         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
226         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
228 2022-03-23  Tobias Burnus  <tobias@codesourcery.com>
230         PR middle-end/104285
231         * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
232         * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
233         * testsuite/libgomp.c++/target-same-name-2.C: New test.
234         * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
235         * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
236         * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
238 2022-03-22  Tom de Vries  <tdevries@suse.de>
240         PR target/104916
241         PR target/104783
242         * testsuite/libgomp.c/pr104783-2.c: New test.
244 2022-03-18  Tobias Burnus  <tobias@codesourcery.com>
246         PR fortran/103039
247         * testsuite/libgomp.fortran/associate4.f90: New test.
249 2022-03-18  Tom de Vries  <tdevries@suse.de>
251         PR target/104952
252         * testsuite/libgomp.c/pr104952-1.c: New test.
253         * testsuite/libgomp.c/pr104952-2.c: New test.
255 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
257         * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
258         variable next to pl variable.
260 2022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
262         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
263         Enhance.
264         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
265         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
267 2022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
269         PR middle-end/90115
270         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
271         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
273 2022-03-16  Marcel Vollweiler  <marcel@codesourcery.com>
275         * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
276         omp_set_max_active_levels.
277         * testsuite/libgomp.fortran/icv-8.f90: New test.
279 2022-03-16  Thomas Schwinge  <thomas@codesourcery.com>
281         PR testsuite/102841
282         * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
284 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
286         * libgomp.texi: Fix typo.
288 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
290         PR middle-end/100280
291         PR middle-end/104892
292         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
293         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
294         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
295         Likewise.
296         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
297         Likewise.
298         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
299         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
300         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
301         Likewise.
303 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
305         PR middle-end/104892
306         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
307         to PR104892.
308         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
309         enable '--param=openacc-kernels=decompose' and adjust.
310         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
311         Likewise.
312         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
313         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
314         Likewise.
316 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
318         PR middle-end/90115
319         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
320         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
321         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
322         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
324 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
326         PR middle-end/100280
327         PR middle-end/104086
328         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
329         Merge this...
330         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
331         ..., and this...
332         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
333         this, and adjust.
334         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
335         Extend.
337 2022-03-10  Hafiz Abid Qadeer  <abidh@codesourcery.com>
339         * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
340         trait.  Test last index in w and v array.  Remove redundant
341         assignment to V(1).  Move alignment checks at the end of
342         parallel region.
344 2022-03-10  Tom de Vries  <tdevries@suse.de>
346         * testsuite/libgomp.c/pr104783.c: New test.
348 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
350         PR middle-end/90115
351         PR middle-end/102330
352         PR middle-end/104774
353         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
354         Enhance.
355         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
356         Adjust.
357         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
358         Likewise.
359         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
360         Likewise.
361         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
362         Likewise.
363         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
364         Likewise.
365         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
366         Likewise.
367         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
368         Likewise.
369         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
370         Likewise.
371         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
372         Likewise.
373         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
374         Likewise.
375         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
376         Likewise.
377         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
378         Likewise.
379         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
380         Likewise.
381         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
382         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
383         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
385 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
387         PR middle-end/90115
388         * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
389         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
390         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
391         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
393 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
395         PR testsuite/104791
396         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
397         expected diagnostics.
399 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
401         PR middle-end/104784
402         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
403         Test with '--param=openacc-kernels=decompose'.
404         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
405         Likewise.
406         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
407         Likewise.
408         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
409         Likewise.
410         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
411         Likewise.
412         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
413         Likewise.
414         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
415         Likewise.
416         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
417         Likewise.
418         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
419         Likewise.
420         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
421         Likewise.
422         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
423         Likewise.
424         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
425         Likewise.
426         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
427         Likewise.
428         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
429         Likewise.
430         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
431         Likewise.
432         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
433         Likewise.
434         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
435         Likewise.
436         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
437         Likewise.
438         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
439         Likewise.
440         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
441         Likewise.
442         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
443         Likewise.
444         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
445         Likewise.
446         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
447         Likewise.
448         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
449         Likewise.
450         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
451         Likewise.
452         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
453         Likewise.
454         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
455         Likewise.
456         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
457         Likewise.
458         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
459         Likewise.
460         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
461         Likewise.
462         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
463         Likewise.
464         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
465         Likewise.
466         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
467         Likewise.
469 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
471         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
472         Test '-fopt-info-omp-all'.
473         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
474         Likewise.
475         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
476         Likewise.
477         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
478         Likewise.
479         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
480         Likewise.
481         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
482         Likewise.
483         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
484         Likewise.
485         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
486         Likewise.
487         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
488         Likewise.
489         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
490         Likewise.
491         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
492         Likewise.
493         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
494         Likewise.
495         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
496         Likewise.
497         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
498         Likewise.
499         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
500         Likewise.
501         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
502         Likewise.
503         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
504         Likewise.
505         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
506         Likewise.
507         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
508         Likewise.
509         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
510         Likewise.
511         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
512         Likewise.
513         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
514         Likewise.
515         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
516         Likewise.
517         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
518         Likewise.
519         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
520         Likewise.
521         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
522         Likewise.
523         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
524         Likewise.
525         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
526         Likewise.
527         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
528         Likewise.
529         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
530         Likewise.
531         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
532         Likewise.
533         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
534         Likewise.
535         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
536         Likewise.
538 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
540         PR middle-end/100280
541         PR middle-end/104132
542         PR middle-end/104133
543         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
544         Extend.
546 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
548         PR middle-end/100280
549         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
550         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
551         Likewise.
553 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
555         PR middle-end/100280
556         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
557         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
558         Likewise.
560 2022-02-28  Tom de Vries  <tdevries@suse.de>
562         * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
563         * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
564         * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
565         * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
566         * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
567         * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
569 2022-02-24  Tom de Vries  <tdevries@suse.de>
571         * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
572         * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
573         * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
574         * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
575         * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
576         * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
577         * testsuite/libgomp.c/declare-variant-3.h: New header file.
579 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
581         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
582         gang-redundant execution.
584 2022-02-22  Tom de Vries  <tdevries@suse.de>
586         PR target/99555
587         * config/nvptx/bar.c (generation_to_barrier): New function, copied
588         from config/rtems/bar.c.
589         (futex_wait, futex_wake): New function.
590         (do_spin, do_wait): New function, copied from config/linux/wait.h.
591         (gomp_barrier_wait_end, gomp_barrier_wait_last)
592         (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
593         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
594         and replace with include of config/linux/bar.c.
595         * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
596         (gomp_barrier_init): Init new fields.
597         * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
598         workarounds.
599         * testsuite/libgomp.c/pr99555-1.c: Same.
600         * testsuite/libgomp.fortran/task-detach-6.f90: Same.
602 2022-02-22  Tom de Vries  <tdevries@suse.de>
604         PR testsuite/104146
605         * testsuite/libgomp.c++/pr96390.C: Add additional-option
606         -foffload=-Wa,--verify for nvptx.
607         * testsuite/libgomp.c-c++-common/pr96390.c: Same.
609 2022-02-15  Tobias Burnus  <tobias@codesourcery.com>
611         * testsuite/libgomp.fortran/depend-4.f90: New test.
613 2022-02-10  Tobias Burnus  <tobias@codesourcery.com>
615         PR c++/102204
616         * testsuite/libgomp.c++/target-virtual-1.C: New test.
618 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
620         * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
621         * target.c (copy_firstprivate_data): Copy only if host address is not
622         NULL.
623         * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
624         * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
625         * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
626         * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
627         * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
628         * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
629         * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
630         * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
631         * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
632         * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
634 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
636         PR libgomp/104385
637         * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
638         clear task->parent.
639         * testsuite/libgomp.c/pr104385.c: New test.
641 2022-02-04  Tobias Burnus  <tobias@codesourcery.com>
643         * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
644         STOP of previous commit.
646 2022-02-04  Tobias Burnus  <tobias@codesourcery.com>
648         * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
649         from is_64bit_aligned_.
650         * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
651         and use it, more implicit none, remove unused argument.
653 2022-02-03  David Seifert  <soap@gentoo.org>
654             Jakub Jelinek  <jakub@redhat.com>
656         * configure.ac: Support --disable-werror.
657         * configure: Regenerate.
659 2022-02-01  Tom de Vries  <tdevries@suse.de>
661         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
662         PR83812 workaround.
663         * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
664         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
666 2022-02-01  Tom de Vries  <tdevries@suse.de>
668         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
669         num_workers for nvidia accelerator to fix libgomp error 'insufficient
670         resources'.
671         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
672         Same.
673         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
675 2022-02-01  Tom de Vries  <tdevries@suse.de>
677         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
678         recursion depth.
679         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
681 2022-01-31  Martin Liska  <mliska@suse.cz>
683         * acinclude.m4: Detect *_ld_is_mold and use it.
684         * configure: Regenerate.
686 2022-01-27  Tobias Burnus  <tobias@codesourcery.com>
688         * libgomp.texi (OpenMP 5.0): Update implementation status.
690 2022-01-21  Thomas Schwinge  <thomas@codesourcery.com>
692         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
693         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
694         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
695         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
696         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
697         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
698         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
699         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
700         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
701         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
702         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
703         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
704         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
705         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
706         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
708 2022-01-19  Marcel Vollweiler  <marcel@codesourcery.com>
710         * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
711         "static") to make the device num available in the offload image.
713 2022-01-19  Martin Liska  <mliska@suse.cz>
714             Thomas Schwinge  <thomas@codesourcery.com>
716         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
717         patterns.
718         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
719         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
720         Likewise.
721         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
722         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
723         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
724         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
725         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
726         Likewise.
727         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
728         Likewise.
729         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
730         Likewise.
731         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
732         Likewise.
733         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
734         Likewise.
735         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
736         Likewise.
737         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
738         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
739         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
741 2022-01-18  Martin Liska  <mliska@suse.cz>
743         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
744         in dg-warning.
745         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
746         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
747         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
748         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
749         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
750         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
751         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
752         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
753         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
754         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
755         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
756         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
757         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
758         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
759         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
761 2022-01-17  Thomas Schwinge  <thomas@codesourcery.com>
763         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
764         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
765         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
767 2022-01-17  Julian Brown  <julian@codesourcery.com>
768             Thomas Schwinge  <thomas@codesourcery.com>
770         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
771         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
772         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
774 2022-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
775             Andrew Stubbs   <ams@codesourcery.com>
777         * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
778         the number of teams and threads if necessary.
779         (gcn_exec): Automatically set the number of gangs and workers if
780         necessary.
782 2022-01-13  Hafiz Abid Qadeer  <abidh@codesourcery.com>
784         * testsuite/libgomp.fortran/allocate-1.c: New test.
785         * testsuite/libgomp.fortran/allocate-1.f90: New test.
786         * libgomp.texi: Remove string that says that allocate clause
787         support is for C/C++ only.
789 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
791         * testsuite/libgomp.c-c++-common/on_device_arch.h
792         (any_device_arch, any_device_arch_intel_mic): New.
793         * testsuite/lib/libgomp.exp
794         (check_effective_target_offload_device_any_intel_mic): New.
795         * testsuite/libgomp.c-c++-common/target-45.c: Use it.
796         * testsuite/libgomp.fortran/target10.f90: Likewise.
798 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
800         PR tree-optimization/102192
801         * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
802         '-Wuninitialized' diagnostics.
804 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
806         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
807         current '-Wuninitialized' diagnostics.
808         * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
809         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
810         * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
811         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
812         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
813         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
814         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
815         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
816         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
817         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
818         * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
819         Likewise.
821 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
823         * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
824         for 'offload_device_intel_mic'.
826 2022-01-13  Julian Brown  <julian@codesourcery.com>
827             Thomas Schwinge  <thomas@codesourcery.com>
829         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
830         offloading execution XFAIL.
832 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
834         PR middle-end/100280
835         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
836         Update.
837         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
838         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
839         Likewise.
841 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
843         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
844         Enhance.
845         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
846         Likewise.
847         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
848         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
849         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
850         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
851         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
852         Likewise.
853         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
854         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
855         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
856         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
858 2022-01-04  Tobias Burnus  <tobias@codesourcery.com>
860         * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
861         * testsuite/libgomp.fortran/target10.f90: Likewise.
863 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
865         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
866         into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
867         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
869 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
871         * libgomp.texi: Bump @copying's copyright year.
873 2021-12-13  Tobias Burnus  <tobias@codesourcery.com>
875         * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
876         * testsuite/libgomp.fortran/atomic-19.f90: New test.
878 2021-12-10  Andrew Stubbs  <ams@codesourcery.com>
880         * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
881         (GOMP_OFFLOAD_load_image): Locate the offload variables via the
882         table, not individual symbols.
884 2021-12-09  Chung-Lin Tang  <cltang@codesourcery.com>
886         * testsuite/libgomp.c++/target-lambda-1.C: Only run under
887         "target offload_device_nonshared_as"
888         * testsuite/libgomp.c++/target-this-3.C: Likewise.
889         * testsuite/libgomp.c++/target-this-4.C: Likewise.
891 2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
893         * target.c (gomp_map_vars_existing): Make sure attached pointer is
894         not overwritten during cross-host/device copying.
895         (gomp_update): Likewise.
896         (gomp_exit_data): Likewise.
897         * testsuite/libgomp.c++/target-11.C: Adjust testcase.
898         * testsuite/libgomp.c++/target-12.C: Likewise.
899         * testsuite/libgomp.c++/target-15.C: Likewise.
900         * testsuite/libgomp.c++/target-16.C: Likewise.
901         * testsuite/libgomp.c++/target-17.C: Likewise.
902         * testsuite/libgomp.c++/target-21.C: Likewise.
903         * testsuite/libgomp.c++/target-23.C: Likewise.
904         * testsuite/libgomp.c/target-23.c: Likewise.
905         * testsuite/libgomp.c/target-29.c: Likewise.
906         * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
908 2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
910         PR middle-end/92120
911         * libgomp.h (gomp_attach_pointer): Add bool parameter.
912         * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
913         (goacc_enter_data_internal): Likewise.
914         * target.c (gomp_map_vars_existing): Update assert condition to
915         include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
916         (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
917         parameter, add support for mapping a pointer with NULL target.
918         (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
919         parameter, add support for attaching a pointer with NULL target.
920         (gomp_map_vars_internal): Update calls to gomp_map_pointer and
921         gomp_attach_pointer, add handling for
922         GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
923         GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
924         * testsuite/libgomp.c++/target-23.C: New testcase.
925         * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
926         * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
927         * testsuite/libgomp.c++/target-this-1.C: New testcase.
928         * testsuite/libgomp.c++/target-this-2.C: New testcase.
929         * testsuite/libgomp.c++/target-this-3.C: New testcase.
930         * testsuite/libgomp.c++/target-this-4.C: New testcase.
931         * testsuite/libgomp.c++/target-this-5.C: New testcase.
933 2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
935         * libgomp.texi (OpenMP 5.1): Update status.
937 2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
939         * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
941 2021-12-02  Chung-Lin Tang  <cltang@codesourcery.com>
943         PR fortran/90030
944         * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
945         * testsuite/libgomp.fortran/pr90030.f90: New test.
947 2021-11-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
948             Thomas Schwinge  <thomas@codesourcery.com>
950         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
951         temporary skip.
953 2021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
954             Thomas Schwinge  <thomas@codesourcery.com>
956         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
957         skip.
959 2021-11-29  Richard Biener  <rguenther@suse.de>
961         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
962         return.
964 2021-11-24  Jakub Jelinek  <jakub@redhat.com>
966         PR middle-end/103384
967         * testsuite/libgomp.c/declare-variant-2.c: New test.
969 2021-11-18  David Edelsohn  <dje.gcc@gmail.com>
971         * alloc.c (gomp_aligned_alloc): Fix typo.
973 2021-11-18  Jakub Jelinek  <jakub@redhat.com>
975         PR libgomp/102838
976         * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
977         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
978         (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
979         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
980         * work.c (alloc_work_share, gomp_work_share_start): Likewise.
981         * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
982         gomp_aligned_alloc instead of team_malloc.
984 2021-11-18  Jakub Jelinek  <jakub@redhat.com>
986         PR libgomp/102838
987         * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
988         memalign over posix_memalign over aligned_alloc over fallback
989         with malloc instead of aligned_alloc over _aligned_alloc over
990         posix_memalign over memalign over fallback with malloc.  For
991         aligned_alloc, round up size up to multiple of al.
993 2021-11-16  Jakub Jelinek  <jakub@redhat.com>
995         * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
996         construct as implemented.
998 2021-11-15  Tobias Burnus  <tobias@codesourcery.com>
1000         * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1002 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
1004         * task.c (gomp_create_target_task): Copy args array as well.
1005         * target.c (gomp_target_fallback): Add args argument.
1006         Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1007         (GOMP_target): Adjust gomp_target_fallback caller.
1008         (GOMP_target_ext): Likewise.
1009         (gomp_target_task_fn): Likewise.
1010         * config/nvptx/team.c (gomp_nvptx_main): Set
1011         gomp_global_icv.thread_limit_var.
1012         * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1014 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
1016         * config/nvptx/team.c (__gomp_team_num): Define as
1017         __attribute__((shared)) var.
1018         (gomp_nvptx_main): Initialize __gomp_team_num to 0.
1019         * config/nvptx/target.c (__gomp_team_num): Declare as
1020         extern __attribute__((shared)) var.
1021         (GOMP_teams4): Use __gomp_team_num as the team number instead of
1022         %ctaid.x.  If first, initialize it to %ctaid.x.  If num_teams_lower
1023         is bigger than num_blocks, use num_teams_lower teams and arrange for
1024         bumping of __gomp_team_num if !first and returning false once we run
1025         out of teams.
1026         * config/nvptx/teams.c (__gomp_team_num): Declare as
1027         extern __attribute__((shared)) var.
1028         (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1030 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
1032         * testsuite/libgomp.c/teams-5.c: New test.
1034 2021-11-12  Jakub Jelinek  <jakub@redhat.com>
1036         PR target/103201
1037         * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1038         to ...
1039         * config/gcn/teams.c: ... here.  New file.
1041 2021-11-12  Chung-Lin Tang  <cltang@codesourcery.com>
1043         * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1044         implicit map handling to allow a "superset" existing map as valid case.
1045         (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1046         (get_implicit): New function to extract implicit status.
1047         (gomp_map_fields_existing): Adjust arguments in calls to
1048         gomp_map_vars_existing, and add uses of get_implicit.
1049         (gomp_map_vars_internal): Likewise.
1050         * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1052 2021-11-12  Jakub Jelinek  <jakub@redhat.com>
1054         * libgomp_g.h (GOMP_teams4): Declare.
1055         * libgomp.map (GOMP_5.1): Export GOMP_teams4.
1056         * target.c (GOMP_teams4): New function.
1057         * config/nvptx/target.c (GOMP_teams): Remove.
1058         (GOMP_teams4): New function.
1059         * config/gcn/target.c (GOMP_teams): Remove.
1060         (GOMP_teams4): New function.
1061         * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1062         teams instead of <= 2.
1063         * testsuite/libgomp.c-c++-common/teams-2.c: New test.
1065 2021-11-11  Tobias Burnus  <tobias@codesourcery.com>
1067         * testsuite/libgomp.fortran/teams-1.f90: New test.
1069 2021-11-11  Jakub Jelinek  <jakub@redhat.com>
1071         * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1072         * team.c (struct gomp_thread_start_data): Likewise.
1073         (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1074         (gomp_team_start): Initialize start_data->num_teams and
1075         start_data->team_num.  Update nthr->num_teams and nthr->team_num.
1076         * teams.c (gomp_num_teams, gomp_team_num): Remove.
1077         (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1078         instead of gomp_num_teams and gomp_team_num.
1079         (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1080         (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1081         * testsuite/libgomp.c/teams-4.c: New test.
1083 2021-11-11  Jakub Jelinek  <jakub@redhat.com>
1085         * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1087 2021-11-09  Thomas Schwinge  <thomas@codesourcery.com>
1089         * env.c (parse_gomp_openacc_dim): Restore parsing.
1091 2021-10-30  Tobias Burnus  <tobias@codesourcery.com>
1093         PR middle-end/102972
1094         * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1095         parallel construct.
1096         * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1097         * testsuite/libgomp.c/target-3.c: Likewise.
1098         * testsuite/libgomp.c/target-5.c: Likewise.
1099         * testsuite/libgomp.c/target-6.c: Likewise.
1100         * testsuite/libgomp.c/target-teams-1.c: Likewise.
1101         * testsuite/libgomp.c/teams-1.c: Likewise.
1102         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1103         * testsuite/libgomp.c/thread-limit-3.c: Likewise.
1104         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1105         * testsuite/libgomp.c/thread-limit-5.c: Likewise.
1106         * testsuite/libgomp.fortran/icv-3.f90: Likewise.
1107         * testsuite/libgomp.fortran/icv-4.f90: Likewise.
1108         * testsuite/libgomp.fortran/teams1.f90: Likewise.
1110 2021-10-29  Aldy Hernandez  <aldyh@redhat.com>
1112         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1113         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1115 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
1117         * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1118         aren't implemented for Fortran yet.
1120 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
1122         * testsuite/libgomp.c/loop-26.c: New test.
1123         * testsuite/libgomp.c/loop-27.c: New test.
1125 2021-10-25  Tobias Burnus  <tobias@codesourcery.com>
1127         PR testsuite/102910
1128         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1129         instead of #include <alloca.h> + alloca.
1131 2021-10-21  Chung-Lin Tang  <cltang@codesourcery.com>
1133         * libgomp.texi (Support of strictly structured blocks in Fortran):
1134         Adjust to 'Y'.
1135         * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1137 2021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
1139         * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1140         * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1142 2021-10-20  Jakub Jelinek  <jakub@redhat.com>
1144         PR libgomp/102838
1145         * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1146         (struct gomp_work_share): Only use aligned(64) attribute if
1147         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1148         add padding before lock to ensure lock is at offset 64 bytes
1149         into the structure.
1150         (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1151         New poor man's static assertions.
1152         * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1153         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1155 2021-10-20  Aldy Hernandez  <aldyh@redhat.com>
1156             Richard Biener  <rguenther@suse.de>
1158         * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1160 2021-10-18  Jakub Jelinek  <jakub@redhat.com>
1162         * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1163         && gomp_places_list_len < count after nfirst <= nlast loop condition.
1165 2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
1167         PR fortran/102086
1168         PR fortran/92189
1169         PR fortran/92621
1170         PR fortran/101308
1171         PR fortran/101309
1172         PR fortran/101635
1173         PR fortran/92482
1174         * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1176 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
1178         * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1179         type from char [50] to const char *.
1180         (places_array): Add a testcase for simplified syntax place followed
1181         by length or length and stride.
1183 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
1185         * env.c (parse_one_place): Handle non-negative-number the same
1186         as { non-negative-number }.  Reject even !number:1 and
1187         !number:1:stride or !place:1 or !place:1:stride instead of just
1188         length other than 1.
1189         * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1190         and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1191         omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1192         as implemented.
1193         * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1194         simplified syntax.
1196 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
1198         * env.c (parse_schedule): For strtoul or strtoull calls which don't
1199         clearly reject return value 0 as invalid handle the case where end
1200         pointer is the same as first argument as invalid.
1201         (parse_unsigned_long_1): Likewise.
1202         (parse_one_place): Likewise.
1203         (parse_places_var): Likewise.
1204         (parse_stacksize): Likewise.
1205         (parse_spincount): Likewise.
1206         (parse_affinity): Likewise.
1207         (parse_gomp_openacc_dim): Likewise.  Avoid strict aliasing violation.
1208         Make code valid C89.
1209         * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1210         For strtoul calls which don't clearly reject return value 0 as
1211         invalid handle the case where end pointer is the same as first
1212         argument as invalid.
1213         (gomp_affinity_init_level_1): Likewise.
1214         (gomp_affinity_init_numa_domains): Likewise.
1215         * config/rtems/proc.c (parse_thread_pools): Likewise.
1217 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
1219         * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1220         after creating count places clean up and return immediately.
1221         * testsuite/libgomp.c/places-6.c: New test.
1222         * testsuite/libgomp.c/places-7.c: New test.
1223         * testsuite/libgomp.c/places-8.c: New test.
1224         * testsuite/libgomp.c/places-9.c: New test.
1225         * testsuite/libgomp.c/places-10.c: New test.
1227 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
1229         * env.c (parse_places_var): Handle numa_domains as level 5.
1230         * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1231         function.
1232         (gomp_affinity_init_level): Use it instead of
1233         gomp_affinity_init_level_1 for level == 5.
1234         * testsuite/libgomp.c/places-5.c: New test.
1236 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
1238         * env.c (parse_places_var): Handle ll_caches as level 4.
1239         * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1240         function.
1241         (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1242         last level cache.
1243         (gomp_affinity_init_level): Likewise.
1244         * testsuite/libgomp.c/places-1.c: New test.
1245         * testsuite/libgomp.c/places-2.c: New test.
1246         * testsuite/libgomp.c/places-3.c: New test.
1247         * testsuite/libgomp.c/places-4.c: New test.
1249 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
1251         * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1252         directive.
1254 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
1256         * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1258 2021-10-12  Julian Brown  <julian@codesourcery.com>
1260         * target.c (gomp_copy_host2dev): Release device lock on cbuf
1261         error path.
1263 2021-10-12  Tobias Burnus  <tobias@codesourcery.com>
1265         * testsuite/libgomp.fortran/icv-3.f90: New.
1266         * testsuite/libgomp.fortran/icv-4.f90: New.
1268 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
1270         * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1271         omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1272         OMP_TEAMS_THREAD_LIMIT): Document.
1274 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
1276         * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1277         to avoid makeinfo warnings.
1279 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
1281         * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1282         * testsuite/libgomp.c-c++-common/icv-4.c: New test.
1284 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
1286         PR libgomp/102628
1287         PR libgomp/102668
1288         * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
1289         allocation sizes from 420 to 320 and from 768 to 568.
1290         * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1291         * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
1292         for cr from 16 to 4.
1294 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
1296         * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
1297         * testsuite/libgomp.c/scan-12.c: Likewise.
1298         * testsuite/libgomp.c/scan-13.c: Likewise.
1299         * testsuite/libgomp.c/scan-14.c: Likewise.
1300         * testsuite/libgomp.c/scan-15.c: Likewise.
1301         * testsuite/libgomp.c/scan-16.c: Likewise.
1302         * testsuite/libgomp.c/scan-17.c: Likewise.
1303         * testsuite/libgomp.c/scan-18.c: Likewise.
1304         * testsuite/libgomp.c/scan-19.c: Likewise.
1305         * testsuite/libgomp.c/scan-20.c: Likewise.
1306         * testsuite/libgomp.c/scan-21.c: Likewise.
1307         * testsuite/libgomp.c/scan-22.c: Likewise.
1308         * testsuite/libgomp.c++/scan-9.C: Likewise.
1309         * testsuite/libgomp.c++/scan-10.C: Likewise.
1310         * testsuite/libgomp.c++/scan-11.C: Likewise.
1311         * testsuite/libgomp.c++/scan-12.C: Likewise.
1312         * testsuite/libgomp.c++/scan-13.C: Likewise.
1313         * testsuite/libgomp.c++/scan-14.C: Likewise.
1314         * testsuite/libgomp.c++/scan-15.C: Likewise.
1315         * testsuite/libgomp.c++/scan-16.C: Likewise.
1317 2021-10-12  Kewen Lin  <linkw@linux.ibm.com>
1319         * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
1321 2021-10-11  Marcel Vollweiler  <marcel@codesourcery.com>
1323         * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
1324         omp_atv_serialized.
1325         * omp.h.in: Add deprecated flag for omp_atv_sequential.
1326         * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
1327         * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
1328         * testsuite/libgomp.fortran/alloc-12.f90: New test.
1330 2021-10-11  Jakub Jelinek  <jakub@redhat.com>
1332         * omp.h.in (omp_set_num_teams, omp_get_max_teams,
1333         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1334         * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
1335         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1336         * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
1337         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1338         * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
1339         * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
1340         omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
1341         omp_set_teams_thread_limit{,_,_8_}.
1342         * icv.c (omp_set_num_teams, omp_get_max_teams,
1343         omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
1344         functions.
1345         * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
1346         (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
1347         (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
1348         vars.
1349         * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
1350         gomp_teams_thread_limit_var as fallback if not zero.  If num_teams
1351         is not specified, use gomp_nteams_var.
1352         * fortran.c (omp_set_num_teams, omp_get_max_teams,
1353         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
1354         ialias_redirect.
1355         (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
1356         omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
1357         omp_get_teams_thread_limit_): New functions.
1359 2021-10-09  liuhongt  <hongtao.liu@intel.com>
1361         * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
1362         * testsuite/libgomp.c++/scan-11.C: Ditto.
1363         * testsuite/libgomp.c++/scan-12.C: Ditto.
1364         * testsuite/libgomp.c++/scan-13.C: Ditto.
1365         * testsuite/libgomp.c++/scan-14.C: Ditto.
1366         * testsuite/libgomp.c++/scan-15.C: Ditto.
1367         * testsuite/libgomp.c++/scan-16.C: Ditto.
1368         * testsuite/libgomp.c++/scan-9.C: Ditto.
1369         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
1370         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
1371         * testsuite/libgomp.c/scan-11.c: Ditto.
1372         * testsuite/libgomp.c/scan-12.c: Ditto.
1373         * testsuite/libgomp.c/scan-13.c: Ditto.
1374         * testsuite/libgomp.c/scan-14.c: Ditto.
1375         * testsuite/libgomp.c/scan-15.c: Ditto.
1376         * testsuite/libgomp.c/scan-16.c: Ditto.
1377         * testsuite/libgomp.c/scan-17.c: Ditto.
1378         * testsuite/libgomp.c/scan-18.c: Ditto.
1379         * testsuite/libgomp.c/scan-19.c: Ditto.
1380         * testsuite/libgomp.c/scan-20.c: Ditto.
1381         * testsuite/libgomp.c/scan-21.c: Ditto.
1382         * testsuite/libgomp.c/scan-22.c: Ditto.
1384 2021-10-09  Jakub Jelinek  <jakub@redhat.com>
1386         * libgomp.texi (OpenMP 5.1): Mention implemented support for
1387         structured block sequences in C/C++.  Mention support for
1388         unconstrained/reproducible modifiers on order clause.
1389         Mention partial (C/C++ only) support of extentensions to atomics
1390         construct.  Mention partial (C/C++ on clause only) support of
1391         align/allocator modifiers on allocate clause.
1393 2021-10-02  Tobias Burnus  <tobias@codesourcery.com>
1395         * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
1396         based on libgomp.c-c++-common/order-reproducible-1.c.
1397         * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1398         * testsuite/libgomp.fortran/my-usleep.c: New test.
1400 2021-10-01  Tobias Burnus  <tobias@codesourcery.com>
1402         * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
1403         * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
1404         * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
1405         * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
1406         based on libgomp.c-c++-common/alloc-9.c.
1408 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
1410         * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
1411         * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
1413 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
1415         * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
1416         ialias_redirect.
1417         * env.c (handle_omp_display_env): Use ialias_call.
1418         * icv-device.c: Move ialias right below each function.
1419         (omp_get_device_num): Use ialias_call.
1420         * fortran.c (omp_fulfill_event): Add ialias_redirect.
1421         * icv.c (omp_get_active_level): Add ialias_redirect.
1423 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
1425         * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
1426         __alloc_align__ (1) attribute.
1427         * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
1429 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
1431         * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
1432         for -fintrinsic-modules-path= warning of the C compiler.
1433         * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1434         * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
1436 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
1438         * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
1439         omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
1440         * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1441         omp_realloc): Add.
1442         * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1443         omp_realloc): Add.
1444         * testsuite/libgomp.fortran/alloc-10.f90: New test.
1445         * testsuite/libgomp.fortran/alloc-6.f90: New test.
1446         * testsuite/libgomp.fortran/alloc-7.c: New test.
1447         * testsuite/libgomp.fortran/alloc-7.f90: New test.
1448         * testsuite/libgomp.fortran/alloc-8.f90: New test.
1449         * testsuite/libgomp.fortran/alloc-9.f90: New test.
1451 2021-09-30  Jakub Jelinek  <jakub@redhat.com>
1453         * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
1454         omp_realloc): New prototypes.
1455         (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
1456         attribute.
1457         * allocator.c: Include string.h.
1458         (omp_aligned_alloc): No longer static, add ialias.  Add new_alignment
1459         variable and use it instead of alignment so that when retrying the old
1460         alignment is used again.  Don't retry if new alignment is the same
1461         as old alignment, unless allocator had pool size.
1462         (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
1463         (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
1464         * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
1465         omp_aligned_calloc and omp_realloc.
1466         * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
1467         omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
1468         * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
1469         * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
1470         * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
1471         * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
1473 2021-09-28  Tobias Burnus  <tobias@codesourcery.com>
1475         PR libgomp/96661
1476         * configure.ac: Only check for int-type = 2*size_t support when
1477         building with Fortran support.
1478         * configure: Regenerate.
1480 2021-09-28  Thomas Schwinge  <thomas@codesourcery.com>
1482         * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
1483         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1485 2021-09-27  Aldy Hernandez  <aldyh@redhat.com>
1487         * team.c: Initialize start_data.
1488         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1489         * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
1491 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
1493         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
1494         dg-message back to dg-note.
1496 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
1498         PR fortran/94070
1499         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
1500         expected dg-note output.
1502 2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
1504         PR fortran/55534
1505         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
1506         r12-3722 by removing -Wno-missing-include-dirs.
1507         * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1509 2021-09-22  Jakub Jelinek  <jakub@redhat.com>
1511         * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
1512         * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
1514 2021-09-21  Tobias Burnus  <tobias@codesourcery.com>
1516         PR fortran/55534
1517         * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
1518         to ALWAYS_CFLAGS.
1519         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1521 2021-09-18  Jakub Jelinek  <jakub@redhat.com>
1523         * testsuite/libgomp.c++/default-1.C: New test.
1524         * testsuite/libgomp.c-c++-common/default-1.c: New test.
1525         * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
1526         to default clause in C and C++" as implemented.
1528 2021-09-17  Julian Brown  <julian@codesourcery.com>
1530         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
1532 2021-09-17  Julian Brown  <julian@codesourcery.com>
1534         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
1536 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
1538         * libgomp.texi (OpenMP 5.1): Spelling fix,
1539         declare variante -> declare variant.
1541 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
1543         * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
1544         Use /* */ comments instead of //.
1545         * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
1546         * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
1547         * testsuite/libgomp.c++/atomic-16.C: New test.
1548         * testsuite/libgomp.c++/atomic-17.C: New test.
1550 2021-09-10  Jakub Jelinek  <jakub@redhat.com>
1552         * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
1553         * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
1554         * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
1556 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
1558         * libgomp.texi (OpenMP Implementation Status): Extend
1559         OpenMP 5.0 section.
1560         (OpenACC Profiling Interface): Fix typo.
1562 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
1564         * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
1565         not to 4.5; link to new section.
1566         (OpenMP Implementation Status): New.
1568 2021-09-06  Thomas Schwinge  <thomas@codesourcery.com>
1570         * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
1572 2021-09-03  Tobias Burnus  <tobias@codesourcery.com>
1574         * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
1575         dg-output.
1576         * testsuite/libgomp.fortran/error-1.f90: Likewise.
1578 2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
1579             Jakub Jelinek  <jakub@redhat.com>
1581         * testsuite/libgomp.c/address-space-1.c: New file.
1583 2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
1585         * testsuite/lib/libgomp.exp
1586         (check_effective_target_offload_target_intelmic): Remove 'proc'.
1587         (check_effective_target_offload_device_intel_mic): New 'proc'.
1588         * testsuite/libgomp.c-c++-common/on_device_arch.h
1589         (device_arch_intel_mic, on_device_arch_intel_mic): New.
1590         * testsuite/libgomp.c-c++-common/target-45.c: Use that for
1591         'dg-xfail-run-if'.
1592         * testsuite/libgomp.fortran/target10.f90: Likewise.
1594 2021-08-23  Tobias Burnus  <tobias@codesourcery.com>
1596         * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
1597         * testsuite/libgomp.fortran/taskloop-4.f90: New test.
1598         * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
1599         * testsuite/libgomp.fortran/taskloop-5.f90: New test.
1601 2021-08-23  Jakub Jelinek  <jakub@redhat.com>
1603         * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
1604         * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
1605         * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
1607 2021-08-22  Thomas Schwinge  <thomas@codesourcery.com>
1609         * config/nvptx/error.c (fwrite, exit): Override, too.
1610         * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
1611         of offloading testing.
1612         * testsuite/libgomp.fortran/error-1.f90: Likewise.
1614 2021-08-20  Tobias Burnus  <tobias@codesourcery.com>
1616         * testsuite/libgomp.fortran/error-1.f90: New test.
1618 2021-08-20  Jakub Jelinek  <jakub@redhat.com>
1620         * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
1621         * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
1622         * error.c (GOMP_warning, GOMP_error): New functions.
1623         * testsuite/libgomp.c-c++-common/error-1.c: New test.
1625 2021-08-18  Tobias Burnus  <tobias@codesourcery.com>
1627         * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
1628         omp_target_free. omp_target_is_present, omp_target_memcpy,
1629         omp_target_memcpy_rect, omp_target_associate_ptr,
1630         omp_target_disassociate_ptr): Add interface.
1631         * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
1632         omp_target_free. omp_target_is_present, omp_target_memcpy,
1633         omp_target_memcpy_rect, omp_target_associate_ptr,
1634         omp_target_disassociate_ptr): Add interface.
1635         * testsuite/libgomp.fortran/alloc-1.F90: Remove local
1636         interface block for omp_alloc + omp_free.
1637         * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
1638         * testsuite/libgomp.fortran/refcount-1.f90: New test.
1639         * testsuite/libgomp.fortran/target-12.f90: New test.
1641 2021-08-18  Jakub Jelinek  <jakub@redhat.com>
1643         * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
1645 2021-08-17  Tobias Burnus  <tobias@codesourcery.com>
1647         * testsuite/libgomp.fortran/scope-1.f90: New test.
1648         * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
1650 2021-08-17  Jakub Jelinek  <jakub@redhat.com>
1652         * Makefile.am (libgomp_la_SOURCES): Add scope.c
1653         * Makefile.in: Regenerated.
1654         * libgomp_g.h (GOMP_scope_start): Declare.
1655         * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
1656         * scope.c: New file.
1657         * testsuite/libgomp.c-c++-common/scope-1.c: New test.
1658         * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
1660 2021-08-16  Thomas Schwinge  <thomas@codesourcery.com>
1662         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
1663         '?:' issues.
1665 2021-08-16  Tobias Burnus  <tobias@codesourcery.com>
1667         * testsuite/libgomp.fortran/masked-1.f90: New test.
1669 2021-08-13  Thomas Schwinge  <thomas@codesourcery.com>
1671         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
1673 2021-08-12  Jakub Jelinek  <jakub@redhat.com>
1675         * testsuite/libgomp.c-c++-common/masked-1.c: New test.
1677 2021-08-12  Tobias Burnus  <tobias@codesourcery.com>
1679         * env.c (parse_bind_var): Accept 'primary' as alias for
1680         'master'.
1681         (omp_display_env): Add TODO comment to
1682         change 'master' to 'primary' in proc_bind for OpenMP 5.1.
1683         * libgomp.texi: Change 'master thread' to 'primary thread'
1684         in line with OpenMP 5.1.
1685         (omp_get_proc_bind): Add omp_proc_bind_primary and note that
1686         omp_proc_bind_master is an alias of it.
1687         (OMP_PROC_BIND): Mention 'PRIMARY'.
1688         * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
1689         (omp_proc_bind_primary): Add.
1690         (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1691         * omp_lib.f90.in (omp_proc_bind_primary): Add.
1692         (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1693         * omp_lib.h.in (omp_proc_bind_primary): Add.
1694         * testsuite/libgomp.c/affinity-1.c: Check that
1695         'primary' works and is identical to 'master'.
1697 2021-08-09  Julian Brown  <julian@codesourcery.com>
1698             Kwok Cheung Yeung  <kcy@codesourcery.com>
1699             Thomas Schwinge  <thomas@codesourcery.com>
1701         * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
1702         16.
1703         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1704         [acc_device_radeon]: Update.
1705         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
1706         [ACC_DEVICE_TYPE_radeon]: Likewise.
1707         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1708         [acc_device_radeon]: Likewise.
1709         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
1710         [ACC_DEVICE_TYPE_radeon]: Likewise.
1711         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
1712         'openacc_radeon_accel_selected' and '-O0'.
1713         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1715 2021-08-05  Chung-Lin Tang  <cltang@codesourcery.com>
1717         * icv-device.c (omp_get_device_num): New API function, host side.
1718         * fortran.c (omp_get_device_num_): New interface function.
1719         * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
1720         * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
1721         omp_get_device_num_.
1722         * libgomp.texi (omp_get_device_num): Add documentation for new API
1723         function.
1724         * omp.h.in (omp_get_device_num): Add declaration.
1725         * omp_lib.f90.in (omp_get_device_num): Likewise.
1726         * omp_lib.h.in (omp_get_device_num): Likewise.
1727         * target.c (gomp_load_image_to_device): If additional entry for device
1728         number exists at end of returned entries from 'load_image_func' hook,
1729         copy the assigned device number over to the device variable.
1730         * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1731         (omp_get_device_num): New API function, device side.
1732         * plugin/plugin-gcn.c ("symcat.h"): Add include.
1733         (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1734         at end of returned 'target_table' entries.
1735         * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1736         (omp_get_device_num): New API function, device side.
1737         * plugin/plugin-nvptx.c ("symcat.h"): Add include.
1738         (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1739         at end of returned 'target_table' entries.
1740         * testsuite/lib/libgomp.exp
1741         (check_effective_target_offload_target_intelmic): New function for
1742         testing for intelmic offloading.
1743         * testsuite/libgomp.c-c++-common/target-45.c: New test.
1744         * testsuite/libgomp.fortran/target10.f90: New test.
1746 2021-07-30  Thomas Schwinge  <thomas@codesourcery.com>
1747             Ulrich Drepper  <drepper@redhat.com>
1749         * fortran.c (omp_display_env_, omp_display_env_8_): Only
1750         '#ifndef LIBGOMP_OFFLOADED_ONLY'.
1752 2021-07-29  Thomas Schwinge  <thomas@codesourcery.com>
1753             Julian Brown  <julian@codesourcery.com>
1754             Kwok Cheung Yeung  <kcy@codesourcery.com>
1756         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
1757         's%oaccdevlow%oaccloops%g'.
1758         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
1759         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1760         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
1761         Likewise.
1762         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
1763         Likewise.
1764         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
1765         Likewise.
1766         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
1767         Likewise.
1768         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
1769         Likewise.
1770         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
1771         Likewise.
1772         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
1773         Likewise.
1774         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
1775         Likewise.
1776         * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1778 2021-07-29  Aldy Hernandez  <aldyh@redhat.com>
1780         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
1781         threader.
1782         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1784 2021-07-27  Ulrich Drepper  <drepper@gmail.com>
1786         * env.c (wait_policy, stacksize): New static variables,
1787         move out of handle_omp_display_env.
1788         (omp_display_env): New function.  The meat of the old
1789         handle_omp_display_env function.
1790         (handle_omp_display_env): Change to not take parameters
1791         and instead use the global variables.  Only perform
1792         parsing, defer to omp_display_env for the implementation.
1793         (initialize_env): Remove local variables wait_policy and
1794         stacksize.  Don't pass parameters to handle_omp_display_env.
1795         * fortran.c: Add ialias_redirect for omp_display_env.
1796         (omp_display_env_, omp_display_env_8_): New functions.
1797         * libgomp.map (OMP_5.1): New version.  Add omp_display_env,
1798         omp_display_env_, and omp_display_env_8_.
1799         * omp.h.in: Declare omp_display_env.
1800         * omp_lib.f90.in: Likewise.
1801         * omp_lib.h.in: Likewise.
1803 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1804             Julian Brown  <julian@codesourcery.com>
1806         * target.c (gomp_coalesce_buf_add): Update comment.
1807         (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
1808         'aq && cbuf'.
1809         (gomp_map_vars_internal): Only 'if (!aq)', do
1810         'gomp_coalesce_buf_add'.
1811         * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
1812         XFAIL.
1814 2021-07-27  Julian Brown  <julian@codesourcery.com>
1815             Thomas Schwinge  <thomas@codesourcery.com>
1817         * libgomp.h (gomp_copy_host2dev): Update prototype.
1818         * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
1819         argument to gomp_copy_host2dev (false).
1820         * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
1821         (copy_data): Don't free src.
1822         (queue_push_copy): Remove free_src handling.
1823         (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
1824         (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
1825         snapshotting.
1826         (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
1827         queue_push_copy.
1828         * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
1829         (gomp_copy_host2dev): Add EPHEMERAL parameter.  Snapshot source
1830         data when true, and set up deferred freeing of temporary buffer.
1831         (gomp_copy_dev2host): Update call to goacc_device_copy_async.
1832         (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
1833         (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
1834         calls to gomp_copy_host2dev with appropriate ephemeral argument.
1835         * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
1836         XFAIL.
1838 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1839             Tom de Vries  <tom@codesourcery.com>
1841         * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
1842         * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
1844 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1846         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
1847         sequencing of 'async' data copying vs. profiling events.
1848         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1849         Likewise.
1851 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
1852             Julian Brown  <julian@codesourcery.com>
1854         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
1855         'async'/'wait' issue.
1856         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
1857         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
1858         * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
1860 2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
1861             Joseph Myers  <joseph@codesourcery.com>
1862             Cesar Philippidis  <cesar@codesourcery.com>
1864         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
1865         file.
1866         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1867         Likewise.
1868         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
1869         Likewise.
1870         * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1872 2021-07-20  Thomas Schwinge  <thomas@codesourcery.com>
1874         PR target/101484
1875         * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
1876         '-Wno-error=array-bounds'.
1877         * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
1878         * libgomp.h [__AMDGCN__]: Likewise.
1880 2021-07-19  Thomas Schwinge  <thomas@codesourcery.com>
1882         PR target/101484
1883         * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
1884         * libgomp.h [__AMDGCN__]: Likewise.
1886 2021-07-13  Jakub Jelinek  <jakub@redhat.com>
1887             Florian Weimer  <fweimer@redhat.com>
1889         * config/linux/sem.h: Don't include limits.h.
1890         (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
1891         * config/linux/affinity.c: Include limits.h.
1893 2021-07-01  Jakub Jelinek  <jakub@redhat.com>
1895         PR middle-end/94366
1896         * testsuite/libgomp.c-c++-common/pr94366.c: New test.
1898 2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
1900         PR other/67300
1901         * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
1902         -foffload=nvptx-none= by -foffload-options=nvptx-none= to
1903         avoid disabling other offload targets.
1904         * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
1905         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1906         * testsuite/libgomp.c/target-44.c: Likewise.
1908 2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
1910         * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
1911         target has shared memory and disable some scalar pointer/allocatable
1912         checks if not as firstprivate does not work.
1914 2021-06-25  Chung-Lin Tang  <cltang@codesourcery.com>
1916         PR testsuite/101114
1917         * testsuite/libgomp.c-c++-common/struct-elem-5.c:
1918         Add "target offload_device_nonshared_as" condition for enabling test.
1920 2021-06-24  Jakub Jelinek  <jakub@redhat.com>
1922         * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
1923         * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
1924         * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
1925         * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
1927 2021-06-23  Jakub Jelinek  <jakub@redhat.com>
1929         PR middle-end/101167
1930         * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
1932 2021-06-17  Chung-Lin Tang  <cltang@codesourcery.com>
1934         * hashtab.h (htab_clear): New function with initialization code
1935         factored out from...
1936         (htab_create): ...here, adjust to use htab_clear function.
1937         * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
1938         special refcount values, add comments.
1939         (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
1940         (REFCOUNT_LINK): Likewise.
1941         (REFCOUNT_STRUCTELEM): New special refcount range for structure
1942         element siblings.
1943         (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
1944         sibling maps.
1945         (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
1946         (REFCOUNT_STRUCTELEM_FLAG_LAST):  Flag to indicate last sibling.
1947         (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
1948         (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
1949         (struct splay_tree_key_s): Add structelem_refcount and
1950         structelem_refcount_ptr fields into a union with dynamic_refcount.
1951         Add comments.
1952         (gomp_map_vars): Delete declaration.
1953         (gomp_map_vars_async): Likewise.
1954         (gomp_unmap_vars): Likewise.
1955         (gomp_unmap_vars_async): Likewise.
1956         (goacc_map_vars): New declaration.
1957         (goacc_unmap_vars): Likewise.
1958         * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
1959         (goacc_enter_datum): Likewise.
1960         (goacc_enter_data_internal): Likewise.
1961         * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
1962         and goacc_unmap_vars.
1963         (GOACC_data_start): Adjust to use goacc_map_vars.
1964         (GOACC_data_end): Adjust to use goacc_unmap_vars.
1965         * target.c (hash_entry_type): New typedef.
1966         (htab_alloc): New function hook for hashtab.h.
1967         (htab_free): Likewise.
1968         (htab_hash): Likewise.
1969         (htab_eq): Likewise.
1970         (hashtab.h): Add file include.
1971         (gomp_increment_refcount): New function.
1972         (gomp_decrement_refcount): Likewise.
1973         (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
1974         gomp_increment_refcount.
1975         (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
1976         to gomp_map_vars_existing.
1977         (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
1978         variable to guard OpenMP specific paths, adjust calls to
1979         gomp_map_vars_existing, add structure element sibling splay_tree_key
1980         sequence creation code, adjust Fortran map case to avoid increment
1981         under OpenMP.
1982         (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
1983         local refcount_set if caller passed in NULL, adjust call to
1984         gomp_map_vars_internal.
1985         (gomp_map_vars_async): Adjust and rename into...
1986         (goacc_map_vars): ...this new function, adjust call to
1987         gomp_map_vars_internal.
1988         (gomp_remove_splay_tree_key): New function with code factored out from
1989         gomp_remove_var_internal.
1990         (gomp_remove_var_internal): Add code to handle removing multiple
1991         splay_tree_key sequence for structure elements, adjust code to use
1992         gomp_remove_splay_tree_key for splay-tree key removal.
1993         (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
1994         gomp_decrement_refcount.
1995         (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
1996         local refcount_set if caller passed in NULL, adjust call to
1997         gomp_unmap_vars_internal.
1998         (gomp_unmap_vars_async): Adjust and rename into...
1999         (goacc_unmap_vars): ...this new function, adjust call to
2000         gomp_unmap_vars_internal.
2001         (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2002         gomp_unmap_vars.
2003         (GOMP_target_ext): Likewise.
2004         (gomp_target_data_fallback): Adjust call to gomp_map_vars.
2005         (GOMP_target_data): Likewise.
2006         (GOMP_target_data_ext): Likewise.
2007         (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2008         (gomp_exit_data): Add refcount_set parameter, adjust to use
2009         gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2010         after main loop.
2011         (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2012         gomp_map_vars and gomp_exit_data.
2013         (gomp_target_task_fn): Likewise.
2014         * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2015         * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2016         * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2017         * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2018         * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2019         * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2021 2021-06-15  Tobias Burnus  <tobias@codesourcery.com>
2023         PR fortran/92568
2024         * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2026 2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
2027             Thomas Schwinge  <thomas@codesourcery.com>
2029         * libgomp.map (GOACC_2.0.2): New symbol version.
2030         * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2031         * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2033 2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
2034             Andrew Stubbs  <ams@codesourcery.com>
2036         * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2037         extracted from...
2038         (GOACC_enter_exit_data): ... here.
2039         (GOACC_declare): Use it.
2041 2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
2043         * oacc-parallel.c (GOACC_declare): Move...
2044         * oacc-mem.c: ... here.
2045         * libgomp_g.h: Adjust.
2047 2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
2048             Thomas Schwinge  <thomas@codesourcery.com>
2050         * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2051         handling.
2053 2021-06-10  Jakub Jelinek  <jakub@redhat.com>
2055         PR tree-optimization/100981
2056         * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2057         dsdotr and dsdoti to 0.
2059 2021-06-09  H.J. Lu  <hjl.tools@gmail.com>
2061         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2062         if atomic compare-and-swap is supported on 'int'.
2064 2021-06-09  Richard Biener  <rguenther@suse.de>
2066         PR tree-optimization/100981
2067         * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2069 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2071         * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2072         unconditionally.
2073         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2074         Update.
2075         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2076         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2078 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2080         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2081         '-DACC_MEM_SHARED=0'.
2082         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2083         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2084         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2085         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2086         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2087         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2088         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2089         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2090         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2091         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2092         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2093         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2094         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2095         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2096         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2097         'acc_device_radeon' testing.
2098         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2099         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2100         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2101         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2102         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2103         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2104         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2105         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2106         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2107         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2108         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2109         for non-'openacc_nvidia_accel_selected'.
2110         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2111         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2112         all implement this checking".
2113         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2114         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2115         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2116         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2117         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2119 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2121         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2122         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2124 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2126         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2127         for 'acc_device_radeon'.
2129 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2131         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2132         for non-'acc_device_nvidia'.
2134 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2136         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2137         'acc_device_radeon' testing.
2138         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2139         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2140         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2142 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2144         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2145         require 'openacc_nvidia_accel_selected'.  Fix up for
2146         'ACC_DEVICE_TYPE_radeon'.
2148 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2150         * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2151         'openacc_nvidia_accel_selected'.
2152         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2154 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2156         * testsuite/lib/libgomp.exp
2157         (check_effective_target_openacc_radeon_accel_selected):
2158         Streamline.
2160 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2162         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2163         PR80547 workaround.
2165 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
2167         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2168         <acc_device_nvidia>: Update comment.
2170 2021-05-28  Tobias Burnus  <tobias@codesourcery.com>
2172         * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2174 2021-05-27  Jakub Jelinek  <jakub@redhat.com>
2176         * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2177         check_effective_target_openacc_cublas,
2178         check_effective_target_openacc_cudart): New.
2179         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2180         target openacc_cublas.
2181         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2182         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2183         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2184         target openacc_cuda.
2185         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2186         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2187         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2188         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2189         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2190         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2191         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2192         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2193         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2194         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2195         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2196         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2197         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2198         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2199         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2200         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2201         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2202         targets openacc_cublas and openacc_cudart.
2203         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2204         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2205         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2206         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2207         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2208         Require effective target openacc_cudart.
2209         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2210         for effective target openacc_cuda and add && defined USE_CUDA_H to
2211         preprocessor conditionals.  Guard -lcuda also on openacc_cuda
2212         effective target.
2214 2021-05-26  Jakub Jelinek  <jakub@redhat.com>
2216         PR libgomp/100573
2217         * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2218         GOMP_target_end_data, GOMP_target_update_ext,
2219         GOMP_target_enter_exit_data): New dummy entrypoints.
2220         * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2221         GOMP_target_end_data, GOMP_target_update_ext,
2222         GOMP_target_enter_exit_data): Likewise.
2223         * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2224         OMPFROM, OMPTO): Define.
2225         (main): Remove #pragma omp target teams around all the tests.
2226         * testsuite/libgomp.c-c++-common/target-41.c: New test.
2227         * testsuite/libgomp.c-c++-common/target-42.c: New test.
2229 2021-05-25  Jakub Jelinek  <jakub@redhat.com>
2231         PR middle-end/99928
2232         * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2234 2021-05-24  Tobias Burnus  <tobias@codesourcery.com>
2236         PR fortran/86470
2237         * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2238         * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2239         * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2241 2021-05-22  Thomas Schwinge  <thomas@codesourcery.com>
2243         PR testsuite/90115
2244         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2245         uninteresting/varying diagnostics.
2247 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
2249         PR middle-end/90115
2250         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2251         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2253 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
2255         PR middle-end/90115
2256         * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2257         file.
2258         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2259         * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2260         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2261         Likewise.
2262         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2263         Likewise.
2264         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2265         Likewise.
2266         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2267         Likewise.
2268         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2269         Likewise.
2270         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2271         Likewise.
2272         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2273         Likewise.
2274         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2275         Likewise.
2276         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2277         Likewise.
2278         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2279         Likewise.
2280         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2281         Likewise.
2282         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2283         Likewise.
2284         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2285         Likewise.
2286         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2287         Likewise.
2288         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2289         Likewise.
2290         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2291         Likewise.
2292         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2293         Likewise.
2294         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2295         Likewise.
2296         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2297         Likewise.
2298         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2299         Likewise.
2300         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2301         Likewise.
2302         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2303         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2304         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2305         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
2306         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2307         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2308         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2309         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2310         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2311         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2312         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2313         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2314         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2315         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2316         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2317         Likewise.
2318         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
2319         Likewise.
2320         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
2321         Likewise.
2322         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2323         Likewise.
2324         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
2325         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2326         Likewise.
2327         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2328         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2329         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2330         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2331         * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2332         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2333         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2334         Likewise.
2335         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2336         Likewise.
2337         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2338         Likewise.
2339         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2340         Likewise.
2341         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2342         Likewise.
2343         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2344         Likewise.
2345         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2346         Likewise.
2347         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2348         Likewise.
2349         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2350         Likewise.
2351         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2352         Likewise.
2353         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2354         Likewise.
2355         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2356         Likewise.
2357         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2358         Likewise.
2359         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2360         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2361         * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2362         Likewise.
2363         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2364         Likewise.
2365         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2366         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2367         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2369 2021-05-21  Julian Brown  <julian@codesourcery.com>
2370             Chung-Lin Tang  <cltang@codesourcery.com>
2371             Thomas Schwinge  <thomas@codesourcery.com>
2373         PR middle-end/90115
2374         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
2375         test.
2376         * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2377         Likewise.
2378         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2379         Likewise.
2381 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
2383         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
2384         for nvptx offloading.
2386 2021-05-21  Tobias Burnus  <tobias@codesourcery.com>
2388         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
2390 2021-05-19  Thomas Schwinge  <thomas@codesourcery.com>
2392         PR target/83812
2393         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
2395 2021-05-19  Julian Brown  <julian@codesourcery.com>
2397         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
2399 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
2401         * testsuite/lib/libgomp.exp
2402         (check_effective_target_offload_target_nvptx): Don't shadow global
2403         'offload_targets' variable.
2405 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
2407         * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
2408         '-latomic' to nvptx offloading compilation.
2409         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2411 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
2413         * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
2414         offloading compilation.
2416 2021-05-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
2418         * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
2419         if new tasks generated.
2420         * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
2422 2021-05-14  Tobias Burnus  <tobias@codesourcery.com>
2424         * testsuite/libgomp.fortran/parallel-master.f90: New test.
2426 2021-05-13  Martin Liska  <mliska@suse.cz>
2428         PR testsuite/100569
2429         * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
2430         * testsuite/libgomp.c/pr46032-2.c: Likewise.
2431         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
2432         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
2434 2021-05-12  Tobias Burnus  <tobias@codesourcery.com>
2436         * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
2437         * testsuite/libgomp.fortran/task-detach-12.f90: New test.
2439 2021-05-11  Jakub Jelinek  <jakub@redhat.com>
2441         PR middle-end/100471
2442         * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
2443         GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
2444         reduction pointer.
2445         * testsuite/libgomp.c/task-reduction-4.c: New test.
2447 2021-05-07  Tobias Burnus  <tobias@codesourcery.com>
2448             Tom de Vries  <tdevries@suse.de>
2450         * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
2451         complex/floating-point || + && reduction with 'omp target'.
2452         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2454 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
2456         * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
2457         * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
2458         * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
2459         * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
2461 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
2463         PR testsuite/100397
2464         * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
2465         declaration to scope of non-'depend'-guarded assignment to avoid races.
2467 2021-05-03  Tom de Vries  <tdevries@suse.de>
2469         PR target/100321
2470         * testsuite/libgomp.c/target-44.c: New test.
2472 2021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
2474         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
2476 2021-04-29  Tom de Vries  <tdevries@suse.de>
2478         * testsuite/libgomp.c/pr81778.c: New test.
2480 2021-04-29  Tom de Vries  <tdevries@suse.de>
2482         PR target/100232
2483         * testsuite/libgomp.c/target-43.c: New file.
2485 2021-04-28  Jakub Jelinek  <jakub@redhat.com>
2486             Tobias Burnus  <tobias@codesourcery.com>
2488         * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
2489         * target.c (gomp_load_plugin_for_device): If set and if a plugin
2490         can't be dlopened, silently assume it has no devices.
2491         * Makefile.in: Regenerate.
2492         * config.h.in: Regenerate.
2493         * configure: Regenerate.
2495 2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
2497         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2498         Use [Ww]arning in dg-bogus as FE diagnostic and default
2499         diagnostic differ and the result depends on ENABLE_OFFLOAD.
2500         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2501         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2502         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2504 2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
2506         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2507         Correct spelling in dg-bogus to match -Wopenacc-parallelism.
2508         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2509         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2510         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2512 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
2513             Nathan Sidwell  <nathan@codesourcery.com>
2514             Tom de Vries  <vries@codesourcery.com>
2515             Julian Brown  <julian@codesourcery.com>
2516             Kwok Cheung Yeung  <kcy@codesourcery.com>
2518         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
2519         '-Wopenacc-parallelism', and match diagnostics, as appropriate.
2520         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2521         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2522         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2523         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2524         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
2525         Likewise.
2526         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2527         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2528         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2529         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2530         Likewise.
2531         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2532         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2533         Likewise.
2534         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2535         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2536         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2537         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2538         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2539         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2540         Likewise.
2541         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2542         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2543         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2544         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2545         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2546         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2547         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2548         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2549         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2550         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2551         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2553 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
2555         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
2556         compile with '-w'.
2557         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2558         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2559         Likewise.
2560         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2561         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
2562         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2563         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2564         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2565         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2566         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2568 2021-04-22  Richard Biener  <rguenther@suse.de>
2570         * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
2571         only on nvptx-none.
2573 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
2575         * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
2576         omp_depend_kind instead of defining it as 16.
2578 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
2580         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2581         New, based on check_effective_target_offload_target_nvptx.
2582         (check_effective_target_offload_target_nvptx): Call it.
2583         (check_effective_target_offload_target_amdgcn): New.
2584         * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
2585         Require target offload_target_nvptx || offload_target_amdgcn.
2586         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
2587         * testsuite/libgomp.c/pr86416-1.c: Likewise.
2588         * testsuite/libgomp.c/pr86416-2.c: Likewise.
2590 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
2592         * testsuite/libgomp.fortran/depobj-1.f90: New test.
2594 2021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
2596         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2597         '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
2598         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2599         Likewise.
2600         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2601         Likewise.
2602         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2604 2021-04-15  Thomas Schwinge  <thomas@codesourcery.com>
2606         PR target/99555
2607         * testsuite/lib/libgomp.exp
2608         (check_effective_target_offload_device_nvptx): New.
2609         * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
2610         resolved, make sure that we exit quickly, with error status,
2611         XFAILed.
2612         * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
2613         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2615 2021-04-14  Jakub Jelinek  <jakub@redhat.com>
2617         PR testsuite/100071
2618         * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
2619         cp = omp_alloc with cp, p arguments instead of cq, q and call
2620         c_f_pointer after last cq = omp_alloc with cq, q.
2622 2021-04-11  Hafiz Abid Qadeer  <abidh@codesourcery.com>
2624         PR middle-end/98088
2625         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
2626         for loop with GT/GE condition.
2627         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
2629 2021-04-09  Thomas Schwinge  <thomas@codesourcery.com>
2631         PR middle-end/84991
2632         PR middle-end/84992
2633         PR middle-end/90779
2634         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
2636 2021-04-09  Jakub Jelinek  <jakub@redhat.com>
2638         PR libgomp/99984
2639         * team.c (gomp_thread_start): Call pthread_setspecific for
2640         !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
2641         has been initialized to avoid false positive warning.
2643 2021-03-29  Tobias Burnus  <tobias@codesourcery.com>
2645         PR target/99555
2646         * testsuite/lib/on_device_arch.c: Move to ...
2647         * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
2648         * testsuite/libgomp.fortran/on_device_arch.c: New file;
2649         #include on_device_arch.h.
2650         * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
2651         on_device_arch.h instead of using dg-additional-source.
2652         * testsuite/libgomp.c/pr99555-1.c: Likewise.
2653         * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
2654         on_device_arch.c without relative paths.
2656 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
2658         * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
2659         the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
2660         * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
2661         * config.h.in: Regenerate.
2662         * configure: Likewise.
2664 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
2666         PR target/99555
2667         * testsuite/lib/on_device_arch.c: New file.
2668         * testsuite/libgomp.c/pr99555-1.c: Likewise.
2669         * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
2670         skip for nvptx offloading, with error status.
2671         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2673 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
2675         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
2676         OpenACC 'serial' construct diagnostic for nvptx offloading.
2678 2021-03-15  Tobias Burnus  <tobias@codesourcery.com>
2680         PR c++/99509
2681         * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
2683 2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
2685         PR fortran/98858
2686         * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
2688 2021-03-04  Jakub Jelinek  <jakub@redhat.com>
2690         * configure.ac: Add AC_CHECK_SIZEOF([void *]).
2691         * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
2692         checking of -m32 or -mx32 options on the command line.
2693         * config.h.in: Regenerated.
2694         * configure: Regenerated.
2696 2021-02-27  Iain Sandoe  <iain@sandoe.co.uk>
2698         * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
2699         support from the target.
2701 2021-02-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
2702             Jakub Jelinek  <jakub@redhat.com>
2704         PR libgomp/98738
2705         * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
2706         (struct gomp_task): Replace detach and completion_sem fields with
2707         union containing completion_sem and detach_team.  Add deferred_p
2708         field.
2709         (struct gomp_team): Remove task_detach_queue.
2710         * task.c: Include assert.h.
2711         (gomp_init_task): Initialize deferred_p and completion_sem fields.
2712         Rearrange initialization order of fields.
2713         (task_fulfilled_p): Delete.
2714         (GOMP_task): Use address of task as the event handle.  Remove
2715         initialization of detach field.  Initialize deferred_p field.
2716         Use automatic local for completion_sem.  Initialize detach_team field
2717         for deferred tasks.
2718         (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
2719         Set kind of suspended detach task to GOMP_TASK_DETACHED and
2720         decrement task_running_count.  Move finish_cancelled block out of
2721         else branch.  Relocate call to gomp_team_barrier_done.
2722         (GOMP_taskwait): Handle tasks with completion events that have not
2723         been fulfilled.
2724         (GOMP_taskgroup_end): Likewise.
2725         (omp_fulfill_event): Use address of task as event handle.  Post to
2726         completion_sem for undeferred tasks.  Clear detach_team if task
2727         has not finished.  For finished tasks, handle post-execution tasks,
2728         call gomp_team_barrier_wake if necessary, and free task.
2729         * team.c (gomp_new_team): Remove initialization of task_detach_queue.
2730         (free_team): Remove free of task_detach_queue.
2731         * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
2732         * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
2733         * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
2734         * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
2735         * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
2736         Change data-sharing of detach events on enclosing parallel to private.
2737         * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.  Remove
2738         taskwait directive.
2739         * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
2740         * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
2741         * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
2742         * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
2743         * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
2744         * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
2745         * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
2746         * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
2747         * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
2748         * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
2749         Change data-sharing of detach events on enclosing parallel to private.
2750         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.  Remove
2751         taskwait directive.
2752         * testsuite/libgomp.fortran/task-detach-7.f90: New.
2753         * testsuite/libgomp.fortran/task-detach-8.f90: New.
2754         * testsuite/libgomp.fortran/task-detach-9.f90: New.
2755         * testsuite/libgomp.fortran/task-detach-10.f90: New.
2756         * testsuite/libgomp.fortran/task-detach-11.f90: New.
2758 2021-02-22  Tobias Burnus  <tobias@codesourcery.com>
2760         PR fortran/99171
2761         * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
2763 2021-02-17  Julian Brown  <julian@codesourcery.com>
2765         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
2766         expected errors.
2768 2021-02-17  Julian Brown  <julian@codesourcery.com>
2770         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
2771         * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
2773 2021-02-11  UroÅ¡ Bizjak  <ubizjak@gmail.com>
2775         * config/linux/x86/futex.h (__futex_wait):
2776         Revert output type back to long.
2777         (__futex_wake): Ditto.
2778         (futex_wait): Update for revert.
2779         (futex_wake): Ditto.
2781 2021-02-11  UroÅ¡ Bizjak  <ubizjak@gmail.com>
2783         * config/linux/x86/futex.h (__futex_wait): New static inline
2784         wrapper function.  Correct output type to int and
2785         timeout type to void *.
2786         (__futex_wake): New static inline wrapper function.
2787         Correct output type to int.
2788         (futex_wait): Use __futex_wait.
2789         (futex_wake): Use __futex_wake.
2791 2021-02-10  Julian Brown  <julian@codesourcery.com>
2793         PR fortran/98979
2794         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
2795         errors.
2797 2021-02-04  Julian Brown  <julian@codesourcery.com>
2799         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
2801 2021-02-03  Andrew Stubbs  <ams@codesourcery.com>
2803         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2804         EF_AMDGPU_MACH_AMDGCN_GFX908.
2805         (gcn_gfx908_s): New constant string.
2806         (isa_hsa_name): Add gfx908.
2807         (isa_code): Add gfx908.
2809 2021-01-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
2811         * libgomp.texi (omp_fulfill_event): New entry.
2813 2021-01-20  Jakub Jelinek  <jakub@redhat.com>
2815         * task.c (GOMP_task): Rename priority argument to priority_arg,
2816         add priority automatic variable and modify that variable.  Instead of
2817         clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
2818         check flags for that bit.
2820 2021-01-19  Tobias Burnus  <tobias@codesourcery.com>
2822         PR fortran/98476
2823         * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
2825 2021-01-18  Andreas Schwab  <schwab@suse.de>
2827         * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
2829 2021-01-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
2831         * config/rtems/sem.h (gomp_sem_getcount): New function.
2833 2021-01-18  Jakub Jelinek  <jakub@redhat.com>
2835         * config/linux/sem.h (gomp_sem_getcount): New function.
2836         * config/posix/sem.h (gomp_sem_getcount): New function.
2837         * config/posix/sem.c (gomp_sem_getcount): New function.
2838         * config/accel/sem.h (gomp_sem_getcount): New function.
2839         * task.c (task_fulfilled_p): Use gomp_sem_getcount.
2840         (omp_fulfill_event): Likewise.
2842 2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
2844         * fortran.c (omp_fulfill_event_): New.
2845         * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
2846         (struct gomp_team): Add task_detach_queue and task_detach_count
2847         fields.
2848         * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
2849         * libgomp_g.h (GOMP_task): Add extra argument.
2850         * omp.h.in (enum omp_event_handle_t): New.
2851         (omp_fulfill_event): New.
2852         * omp_lib.f90.in (omp_event_handle_kind): New.
2853         (omp_fulfill_event): New.
2854         * omp_lib.h.in (omp_event_handle_kind): New.
2855         (omp_fulfill_event): Declare.
2856         * priority_queue.c (priority_tree_find): New.
2857         (priority_list_find): New.
2858         (priority_queue_find): New.
2859         * priority_queue.h (priority_queue_predicate): New.
2860         (priority_queue_find): New.
2861         * task.c (gomp_init_task): Initialize detach field.
2862         (task_fulfilled_p): New.
2863         (GOMP_task): Add detach argument.  Ignore detach argument if
2864         GOMP_TASK_FLAG_DETACH not set in flags.  Initialize completion_sem
2865         field.  Copy address of completion_sem into detach argument and
2866         into the start of the data record.  Wait for detach event if task
2867         not deferred.
2868         (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
2869         Remove completed tasks and requeue dependent tasks.
2870         (omp_fulfill_event): New.
2871         * team.c (gomp_new_team): Initialize task_detach_queue and
2872         task_detach_count fields.
2873         (free_team): Free task_detach_queue field.
2874         * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
2875         * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
2876         * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
2877         * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
2878         * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
2879         * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
2880         * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
2881         * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
2882         * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
2883         * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
2884         * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
2885         * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
2887 2021-01-15  Jakub Jelinek  <jakub@redhat.com>
2889         PR target/70454
2890         * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
2891         be added through preprocessor check on
2892         __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
2894 2021-01-14  Thomas Schwinge  <thomas@codesourcery.com>
2896         PR libgomp/65099
2897         * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
2898         configurations.
2899         * configure: Regenerate.
2900         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
2901         check.
2903 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
2905         * configure: Re-generate.
2907 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
2909         * configure: Re-generate.
2911 2021-01-05  Julian Brown  <julian@codesourcery.com>
2913         * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
2914         (struct ptx_device): Add omp_stacks struct.
2915         (nvptx_open_device): Initialise cached-stacks housekeeping info.
2916         (nvptx_close_device): Free cached stacks block and mutex.
2917         (nvptx_stacks_free): New function.
2918         (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
2919         (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
2920         (nvptx_stacks_alloc): Rename to...
2921         (nvptx_stacks_acquire): This.  Cache stacks block between runs if same
2922         size or smaller is required.
2923         (nvptx_stacks_free): Remove.
2924         (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
2925         during kernel execution.
2927 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
2929         * libgomp.texi: Bump @copying's copyright year.
2931 2020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
2933         * libgomp.texi (Top): Avoid bad "up" link.
2935 2020-12-18  Jakub Jelinek  <jakub@redhat.com>
2937         * testsuite/libgomp.c/task-6.c: New test.
2939 2020-12-09  Andrew Stubbs  <ams@codesourcery.com>
2941         * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
2942         (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
2944 2020-12-08  Tobias Burnus  <tobias@codesourcery.com>
2946         * testsuite/libgomp.fortran/scan-1.f90: New test.
2948 2020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
2950         PR target/97865
2951         * configure: Regenerate.
2953 2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
2955         * configure: Regenerate.
2957 2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
2959         * testsuite/libgomp.oacc-c++/cache-1.C: New.
2960         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
2962 2020-11-25  Andrew Stubbs  <ams@codesourcery.com>
2964         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
2965         expected results.
2967 2020-11-24  Andrew Stubbs  <ams@codesourcery.com>
2969         * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
2970         (reserved): Delete unused define.
2972 2020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
2974         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
2975         Tcl 8.5-specific behavior.
2976         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2978 2020-11-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
2980         * env.c (gomp_global_icv): Remove nest_var field.  Add
2981         max_active_levels_var field.
2982         (gomp_max_active_levels_var): Remove.
2983         (parse_boolean): Return true on success.
2984         (handle_omp_display_env): Express OMP_NESTED in terms of
2985         max_active_levels_var.  Change format specifier for
2986         max_active_levels_var.
2987         (initialize_env): Set max_active_levels_var from
2988         OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
2989         OMP_PROC_BIND.
2990         * icv.c (omp_set_nested): Express in terms of
2991         max_active_levels_var.
2992         (omp_get_nested): Likewise.
2993         (omp_set_max_active_levels): Use max_active_levels_var field instead
2994         of gomp_max_active_levels_var.
2995         (omp_get_max_active_levels): Likewise.
2996         * libgomp.h (struct gomp_task_icv): Remove nest_var field.  Add
2997         max_active_levels_var field.
2998         (gomp_supported_active_levels): Set to UCHAR_MAX.
2999         (gomp_max_active_levels_var): Delete.
3000         * libgomp.texi (omp_get_nested): Update documentation.
3001         (omp_set_nested): Likewise.
3002         (OMP_MAX_ACTIVE_LEVELS): Likewise.
3003         (OMP_NESTED): Likewise.
3004         (OMP_NUM_THREADS): Likewise.
3005         (OMP_PROC_BIND): Likewise.
3006         * parallel.c (gomp_resolve_num_threads): Replace reference
3007         to nest_var with max_active_levels_var.  Use max_active_levels_var
3008         field instead of gomp_max_active_levels_var.
3010 2020-11-18  Tobias Burnus  <tobias@codesourcery.com>
3012         * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3013         nvptx_usleep; use also for device={arch(gcn)}.
3015 2020-11-14  Jakub Jelinek  <jakub@redhat.com>
3017         * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3018         (foo): Add tests for non-VLA private and firstprivate clauses on
3019         omp task.
3020         (bar): Likewise.  Remove taking of address from private/firstprivate
3021         variables.
3022         * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3023         (foo): Add p, q, px and s arguments.  Add tests for array reductions
3024         and for non-VLA private and firstprivate clauses on omp task.
3025         (bar): Removed.
3026         (main): Adjust foo caller.  Don't call bar.
3028 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
3029             Thomas Schwinge  <thomas@codesourcery.com>
3031         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3032         New.
3033         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3034         Likewise.
3035         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3036         Likewise.
3037         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3038         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3040 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
3041             Thomas Schwinge  <thomas@codesourcery.com>
3043         PR fortran/94358
3044         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3046 2020-11-13  Jakub Jelinek  <jakub@redhat.com>
3048         * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3049         for array reductions.
3050         (main): Adjust foo callers.
3052 2020-11-12  Jakub Jelinek  <jakub@redhat.com>
3054         * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3055         * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3056         * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3057         * allocator.c (omp_aligned_alloc): New for now static function,
3058         add alignment argument and handle it.
3059         (omp_alloc): Reimplement using omp_aligned_alloc.
3060         (GOMP_alloc, GOMP_free): New functions.
3061         (omp_free): Add ialias.
3062         * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3063         * testsuite/libgomp.c++/allocate-1.C: New test.
3065 2020-11-12  Thomas Schwinge  <thomas@codesourcery.com>
3067         PR fortran/97782
3068         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3070 2020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
3072         * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3073         usable.
3074         * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3075         'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3076         (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3077         (goacc_enter_data_internal): Likewise.
3078         * target.c (gomp_map_vars_internal):
3079         Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3080         of gomp_attach_pointer for OpenMP cases.
3081         (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3082         (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3083         * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3085 2020-11-05  Ulrich Drepper  <drepper@redhat.com>
3086             Kwok Cheung Yeung  <kcy@codesourcery.com>
3088         * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3089         * Makefile.in: Regenerate.
3090         * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3091         pragmas to ignore -Wdeprecated-declarations warnings.
3092         * icv.c: Likewise.
3093         * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3094         Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3095         and omp_get_nested with __GOMP_DEPRECATED_5_0.
3096         * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3097         deprecated.
3098         * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3099         to test options.
3100         * testsuite/libgomp.c/affinity-1.c: Likewise.
3101         * testsuite/libgomp.c/affinity-2.c: Likewise.
3102         * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3103         * testsuite/libgomp.c/lib-1.c: Likewise.
3104         * testsuite/libgomp.c/nested-1.c: Likewise.
3105         * testsuite/libgomp.c/nested-2.c: Likewise.
3106         * testsuite/libgomp.c/nested-3.c: Likewise.
3107         * testsuite/libgomp.c/pr32362-1.c: Likewise.
3108         * testsuite/libgomp.c/pr32362-2.c: Likewise.
3109         * testsuite/libgomp.c/pr32362-3.c: Likewise.
3110         * testsuite/libgomp.c/pr35549.c: Likewise.
3111         * testsuite/libgomp.c/pr42942.c: Likewise.
3112         * testsuite/libgomp.c/pr61200.c: Likewise.
3113         * testsuite/libgomp.c/sort-1.c: Likewise.
3114         * testsuite/libgomp.c/target-5.c: Likewise.
3115         * testsuite/libgomp.c/target-6.c: Likewise.
3116         * testsuite/libgomp.c/teams-1.c: Likewise.
3117         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3118         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3119         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3120         * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3121         * testsuite/libgomp.fortran/lib1.f90: Likewise.
3122         * testsuite/libgomp.fortran/lib2.f: Likewise.
3123         * testsuite/libgomp.fortran/nested1.f90: Likewise.
3124         * testsuite/libgomp.fortran/teams1.f90: Likewise.
3126 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
3128         PR target/85486
3129         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3130         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3131         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3133 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
3135         PR testsuite/80219
3136         PR testsuite/85303
3137         * testsuite/lib/libgomp.exp (libgomp_init): Set
3138         'gcc_warning_prefix', 'gcc_error_prefix'.
3140 2020-10-30  Jakub Jelinek  <jakub@redhat.com>
3142         * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3143         even in field_tgt_clear initializer.
3145 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
3147         * testsuite/libgomp.c/target-42.c: New test.
3149 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
3150             Tom de Vries  <tdevries@suse.de>
3152         PR testsuite/81690
3153         * testsuite/libgomp.c/usleep.h: New file.
3154         * testsuite/libgomp.c/target-32.c: Include usleep.h.
3155         (main): Use tgt_usleep instead of usleep.
3156         * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3157         (main): Use tgt_usleep instead of usleep.
3159 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
3161         PR lto/96680
3162         * testsuite/libgomp.c/declare-variant-1.c: New test.
3164 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
3166         * testsuite/libgomp.c/target-41.c: New test.
3168 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
3170         * icv.c (omp_get_initial_device): Remove including corresponding
3171         ialias.
3172         * icv-device.c (omp_get_initial_device): New function.  Return
3173         gomp_get_num_devices ().  Add ialias.
3174         * target.c (resolve_device): Don't fail with
3175         OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3176         gomp_get_num_devices ().
3177         (omp_target_alloc, omp_target_free, omp_target_is_present,
3178         omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3179         omp_target_disassociate_ptr, omp_pause_resource): Use
3180         gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3181         first use in the functions, in uses dominated by the
3182         gomp_get_num_devices call use num_devices_openmp instead.
3183         * libgomp.texi (omp_get_initial_device): Document.
3184         * config/gcn/icv-device.c (omp_get_initial_device): New function.
3185         Add ialias.
3186         * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3187         * testsuite/libgomp.c/target-40.c: New test.
3189 2020-10-21  Jakub Jelinek  <jakub@redhat.com>
3191         * env.c (parse_target_offload): Change new_offload var type to int,
3192         preinitialize to -1, remove found var and test new_offload != -1
3193         instead of found.
3195 2020-10-20  Jakub Jelinek  <jakub@redhat.com>
3197         * target.c (gomp_target_init): Inside of the function, use automatic
3198         variables corresponding to num_devices, num_devices_openmp and devices
3199         global variables and update the globals only at the end of the
3200         function.
3202 2020-10-20  Kwok Cheung Yeung  <kcy@codesourcery.com>
3204         * env.c (gomp_target_offload_var): New.
3205         (parse_target_offload): New.
3206         (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3207         (initialize_env): Parse OMP_TARGET_OFFLOAD.
3208         * libgomp.h (gomp_target_offload_t): New.
3209         (gomp_target_offload_var): New.
3210         * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3211         * target.c (resolve_device): Generate error if device not found and
3212         offloading is mandatory.
3213         (gomp_target_fallback): Generate error if offloading is mandatory.
3214         (GOMP_target): Add argument in call to gomp_target_fallback.
3215         (GOMP_target_ext): Likewise.
3216         (gomp_target_data_fallback): Generate error if offloading is mandatory.
3217         (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3218         (GOMP_target_data_ext): Likewise.
3219         (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3220         (gomp_target_init): Return early if offloading is disabled.
3222 2020-10-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
3224         * libgomp.texi (omp_get_max_active_levels): Modify description.
3225         (omp_get_supported_active_levels): Make descriptions consistent.
3227 2020-10-14  Jakub Jelinek  <jakub@redhat.com>
3229         * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3231 2020-10-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
3233         * env.c (gomp_max_active_levels_var): Initialize to
3234         gomp_supported_active_levels.
3235         (initialize_env): Limit gomp_max_active_levels_var to be at most
3236         equal to gomp_supported_active_levels.
3237         * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3238         (omp_get_supported_active_levels_): New.
3239         * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3240         to at most equal to gomp_supported_active_levels.
3241         (omp_get_supported_active_levels): New.
3242         * libgomp.h (gomp_supported_active_levels): New.
3243         * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3244         omp_get_supported_active_levels_.
3245         * libgomp.texi (omp_get_supported_active_levels): New.
3246         (omp_set_max_active_levels): Update.  Add reference to
3247         omp_get_supported_active_levels.
3248         * omp.h.in (omp_get_supported_active_levels): New.
3249         * omp_lib.f90.in (omp_get_supported_active_levels): New.
3250         * omp_lib.h.in (omp_get_supported_active_levels): New.
3251         * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3252         against omp_get_supported_active_levels.
3253         * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3255 2020-10-11  Clement Chigot  <clement.chigot@atos.net>
3257         * config/t-aix: Delete and recreate libgomp before creating
3258         FAT library.
3260 2020-10-08  Tom de Vries  <tdevries@suse.de>
3262         PR libgomp/81802
3263         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3264         dimensions.
3266 2020-10-06  Tom de Vries  <tdevries@suse.de>
3268         * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3270 2020-10-06  Tom de Vries  <tdevries@suse.de>
3272         PR middle-end/90861
3273         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3275 2020-10-05  Tom de Vries  <tdevries@suse.de>
3277         PR fortran/95654
3278         * testsuite/libgomp.fortran/pr95654.f90: New test.
3280 2020-10-02  Tobias Burnus  <tobias@codesourcery.com>
3282         * Makefile.in: Regenerate with automake 1.15.1.
3283         * aclocal.m4: Likewise.
3284         * configure: Likewise.
3285         * testsuite/Makefile.in: Likewise.
3287 2020-09-30  Andrew Stubbs  <ams@codesourcery.com>
3289         * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3290         and amdgcn targets.
3292 2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
3294         * testsuite/libgomp.fortran/declare-target-3.f90: New test.
3296 2020-09-29  Andrew Stubbs  <ams@codesourcery.com>
3298         * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
3299         total number of threads is one.
3300         (gomp_team_barrier_wake): Likewise.
3301         (gomp_team_barrier_wait_end): Likewise.
3302         (gomp_team_barrier_wait_cancel_end): Likewise.
3303         * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
3304         (gomp_team_barrier_wake): Likewise.
3305         (gomp_team_barrier_wait_end): Likewise.
3306         (gomp_team_barrier_wait_cancel_end): Likewise.
3307         * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
3309 2020-09-28  Tobias Burnus  <tobias@codesourcery.com>
3311         PR middle-end/96390
3312         * testsuite/libgomp.c++/pr96390.C: New test.
3313         * testsuite/libgomp.c-c++-common/pr96390.c: New test.
3315 2020-09-27  Clement Chigot  <clement.chigot@atos.net>
3317         * config/t-aix: Use $(AR) without -X32_64.
3319 2020-09-25  Jakub Jelinek  <jakub@redhat.com>
3321         * testsuite/libgomp.c/loop-25.c: New test.
3323 2020-09-22  Tobias Burnus  <tobias@codesourcery.com>
3325         PR fortran/95654
3326         * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
3328 2020-09-22  Tom de Vries  <tdevries@suse.de>
3330         * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
3331         fails.
3333 2020-09-16  Nathan Sidwell  <nathan@acm.org>
3335         * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
3337 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
3339         PR fortran/96668
3340         * target.c (gomp_map_vars_internal): Initialize has_nullptr.
3342 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
3344         PR fortran/96668
3345         * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
3346         * target.c (gomp_map_vars_existing): Add always_to_flag flag.
3347         (gomp_map_vars_existing): Update call to it.
3348         (gomp_map_fields_existing): Likewise
3349         (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
3350         now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
3351         remapped.
3352         (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
3353         GOMP_MAP_POINTER.
3354         * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
3355         * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
3357 2020-09-14  Tom de Vries  <tdevries@suse.de>
3359         * config/nvptx/atomic.c: New file.  Add
3360         __sync_val_compare_and_swap_16.
3361         * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
3362         target offload_target_nvptx.
3364 2020-09-08  Julian Brown  <julian@codesourcery.com>
3366         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
3367         iteration-ordering assumptions.
3369 2020-09-08  Julian Brown  <julian@codesourcery.com>
3371         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
3372         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3374 2020-08-20  Chung-Lin Tang  <cltang@codesourcery.com>
3376         * plugin/plugin-nvptx.c (nvptx_free):
3377         Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
3378         CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
3379         comments.
3381 2020-08-20  Tobias Burnus  <tobias@codesourcery.com>
3383         * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
3385 2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
3387         * testsuite/libgomp.c-c++-common/reduction-16.c: New.
3389 2020-08-13  Jakub Jelinek  <jakub@redhat.com>
3391         * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
3392         * testsuite/libgomp.c/loop-23.c (main): Likewise.
3393         * testsuite/libgomp.c/loop-24.c: New test.
3395 2020-08-08  Jakub Jelinek  <jakub@redhat.com>
3396             Tobias Burnus  <tobias@codesourcery.com>
3398         PR fortran/93553
3399         * testsuite/libgomp.fortran/pr93553.f90: New test.
3401 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
3403         * testsuite/libgomp.c/loop-22.c: New test.
3404         * testsuite/libgomp.c/loop-23.c: New test.
3406 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
3408         PR middle-end/96459
3409         * testsuite/libgomp.c/teams-3.c: New test.
3410         * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
3411         if not defined yet.
3412         (N(test)): Use it before all N(f*) calls.
3413         * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
3414         (main): Don't call all test_* functions from within
3415         #pragma omp teams reduction(|:err), call them directly.
3417 2020-08-04  Tom de Vries  <tdevries@suse.de>
3419         PR target/96428
3420         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
3421         * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
3423 2020-08-03  Julian Brown  <julian@codesourcery.com>
3424             Thomas Schwinge  <thomas@codesourcery.com>
3426         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
3427         shared-memory devices.  Extend with further checking.
3429 2020-08-03  Martin Jambor  <mjambor@suse.cz>
3431         * plugin/Makefrag.am: Remove configuration of HSA plugin.
3432         * aclocal.m4: Regenerated.
3433         * Makefile.in: Regenerated.
3434         * config.h.in: Regenerated.
3435         * configure: Regenerated.
3436         * plugin/configfrag.ac: Likewise.
3437         * plugin/hsa_ext_finalize.h: Removed.
3438         * plugin/plugin-hsa.c: Likewise.
3439         * testsuite/Makefile.in: Regenerated.
3440         * testsuite/lib/libgomp.exp
3441         (offload_target_to_openacc_device_type): Remove hsa case.
3442         (check_effective_target_hsa_offloading_selected_nocache): Removed
3443         (check_effective_target_hsa_offloading_selected): Likewise.
3444         (libgomp_init): Do not add -Wno-hsa to additional_flags.
3445         * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
3446         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3447         * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
3448         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3449         * testsuite/libgomp.hsa.c/c.exp: Likewise.
3450         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3451         * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
3452         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3453         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3454         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3455         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3456         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3457         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3458         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3459         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3460         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3461         * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
3462         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3463         * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
3464         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3465         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3466         * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
3467         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3468         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3470 2020-07-27  Julian Brown  <julian@codesourcery.com>
3471             Thomas Schwinge  <thomas@codesourcery.com>
3473         * libgomp.h (struct target_var_desc): Rename do_detach field to
3474         is_attach.
3475         * oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
3476         GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
3477         (goacc_enter_data_internal): Don't affect reference counts
3478         for attach mappings.
3479         (goacc_exit_data_internal): Don't affect reference counts for detach
3480         mappings.
3481         * target.c (gomp_map_vars_existing): Don't affect reference counts for
3482         attach mappings.
3483         (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
3484         mark attach mappings.
3485         (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
3486         reference count for attach mappings.
3487         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
3488         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3489         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3490         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
3491         test as shouldfail.
3492         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
3493         gracefully in no-finalize mode.
3494         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
3496 2020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
3498         * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
3499         use.
3500         * testsuite/libgomp.oacc-c/c.exp: Likewise.
3501         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3503 2020-07-23  Julian Brown  <julian@codesourcery.com>
3504             Thomas Schwinge  <thomas@codesourcery.com>
3506         * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
3507         finalization for detach operation.
3508         * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
3509         New test.
3511 2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
3513         * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
3514         * libgomp_f.h.in (omp_check_defines): Check whether
3515         sizeof of determined Fortran kind and C typedef match.
3516         * omp_lib.f90.in: Add omp_depened_kind.
3517         * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
3518         * configure: Regenerate.
3519         * Makefile.in: Regenerate.
3520         * testsuite/Makefile.in: Regenerate.
3522 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
3524         * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
3525         gcc/testsuite/c-c++-common/gomp/.
3526         * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
3527         * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
3528         from gcc/testsuite/gfortran.dg/gomp/.
3529         * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
3531 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
3533         * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
3534         * omp_lib.h.in: Likewise.
3536 2020-07-18  H.J. Lu  <hjl.tools@gmail.com>
3538         PR target/95620
3539         * testsuite/libgomp.c/pr95620.c: New test.
3541 2020-07-16  Julian Brown  <julian@codesourcery.com>
3542             Thomas Schwinge  <thomas@codesourcery.com>
3544         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
3545         * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
3547 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
3549         * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
3550         avoid conversion on 32bit systems from 32bit to 64bit due
3551         to -fdefault-integer-8.
3553 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
3555         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
3556         variables; add character(kind=4) tests; update TODO comment.
3558 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
3560         * allocator.c: Add ialias for omp_init_allocator and
3561         omp_destroy_allocator.
3562         * configure.ac: Set INTPTR_T_KIND.
3563         * configure: Regenerate.
3564         * Makefile.in: Regenerate.
3565         * testsuite/Makefile.in: Regenerate.
3566         * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
3567         omp_set_default_allocator_, omp_get_default_allocator_): New
3568         functions and ialias_redirect.
3569         * icv.c: Add ialias for omp_set_default_allocator and
3570         omp_get_default_allocator.
3571         * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
3572         omp_destroy_allocator_, omp_set_default_allocator_ and
3573         omp_get_default_allocator_.
3574         * omp_lib.f90.in: Add allocator traits parameters, declare
3575         allocator routines and add related kind parameters.
3576         * omp_lib.h.in: Likewise.
3577         * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
3578         * testsuite/libgomp.fortran/alloc-1.F90: New test.
3579         * testsuite/libgomp.fortran/alloc-2.F90: New test.
3580         * testsuite/libgomp.fortran/alloc-3.F: New test.
3581         * testsuite/libgomp.fortran/alloc-4.f90: New test.
3582         * testsuite/libgomp.fortran/alloc-5.f90: New test.
3584 2020-07-14  Tom de Vries  <tom@codesourcery.com>
3585             Cesar Philippidis  <cesar@codesourcery.com>
3586             Thomas Schwinge  <thomas@codesourcery.com>
3587             Kwok Cheung Yeung  <kcy@codesourcery.com>
3589         * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
3590         New variable.
3591         (acc_init_1): Set acc_init_thread to pthread_self ().  Set
3592         acc_init_state to initializing at the start, and to initialized at the
3593         end.
3594         (self_initializing_p): New function.
3595         (acc_get_device_type): Return acc_device_none if called by thread that
3596         is currently executing acc_init_1.
3597         * libgomp.texi (acc_get_device_type): Update documentation.
3598         (Implementation Status and Implementation-Defined Behavior): Likewise.
3599         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
3601 2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
3603         * config/t-aix: Set BITS from compiler cpp macro.
3605 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
3607         * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
3609 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
3611         PR fortran/67311
3612         * testsuite/libgomp.fortran/target-map-1.f90: New test.
3614 2020-07-14  Jakub Jelinek  <jakub@redhat.com>
3616         * testsuite/libgomp.c/loop-21.c: New test.
3618 2020-07-13  Julian Brown  <julian@codesourcery.com>
3619             Thomas Schwinge  <thomas@codesourcery.com>
3621         * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
3623 2020-07-10  Julian Brown  <julian@codesourcery.com>
3624             Thomas Schwinge  <thomas@codesourcery.com>
3626         * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
3627         dynamic_refcount.
3628         (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3629         * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
3630         dynamic_refcount.
3631         (acc_unmap_data): Update comment.
3632         (goacc_map_var_existing, goacc_enter_datum): Adjust for
3633         dynamic_refcount semantics.
3634         (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
3635         Adjust for dynamic_refcount semantics.
3636         (goacc_enter_data_internal): Implement "present" case of dynamic
3637         memory-map handling here.  Update "non-present" case for
3638         dynamic_refcount semantics.
3639         (goacc_exit_data_internal): Use goacc_exit_datum_1.
3640         * target.c (gomp_map_vars_internal): Remove
3641         GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
3642         handling.
3643         (gomp_unmap_vars_internal): Remove virtual_refcount handling.
3644         (gomp_load_image_to_device): Substitute dynamic_refcount for
3645         virtual_refcount.
3646         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
3647         * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
3648         * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
3649         * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
3650         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
3651         trace output.
3652         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
3653         trace output.
3654         * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
3655         test.
3656         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3657         Remove stale comment.
3658         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
3659         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3660         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3661         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3662         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3663         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
3665 2020-07-10  Julian Brown  <julian@codesourcery.com>
3666             Thomas Schwinge  <thomas@codesourcery.com>
3668         * oacc-mem.c (goacc_map_var_existing): New function.
3669         (goacc_enter_datum): Use above function.
3670         (goacc_exit_datum_1): New function.
3671         (goacc_exit_datum): Use above function.
3673 2020-07-09  Julian Brown  <julian@codesourcery.com>
3674             Thomas Schwinge  <thomas@codesourcery.com>
3676         PR middle-end/95270
3677         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
3678         * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
3680 2020-07-09  Julian Brown  <julian@codesourcery.com>
3682         * oacc-mem.c (find_group_last): Group data-movement clauses
3683         (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
3684         GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
3686 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
3688         * testsuite/libgomp.c/loop-19.c: New test.
3689         * testsuite/libgomp.c/loop-20.c: New test.
3691 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
3693         * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
3694         2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
3695         it.  Remove __omp_alloctrait_value_max__.
3696         * allocator.c (omp_init_allocator): Handle omp_atv_default for
3697         omp_atk_alignment and omp_atk_pool_size.
3699 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
3701         * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
3702         behavior for 'GOMP_MAP_FORCE_FROM'.
3703         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
3705 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
3707         * oacc-mem.c (goacc_exit_data_internal): Remove
3708         'GOMP_MAP_ALWAYS_FROM' handling.
3710 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
3712         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
3713         'scan-assembler' with 'scan-offload-rtl'.
3714         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3715         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3716         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
3717         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
3719 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
3721         * target.c (gomp_map_vars_existing): Assert 'kind !=
3722         GOMP_MAP_ATTACH'.
3723         (gomp_map_vars_internal): Clean up.
3725 2020-06-27  Jakub Jelinek  <jakub@redhat.com>
3727         * testsuite/libgomp.c/loop-17.c: New test.
3728         * testsuite/libgomp.c/loop-18.c: New test.
3730 2020-06-26  Marek Polacek  <polacek@redhat.com>
3732         * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
3734 2020-06-23  Alexandre Oliva  <oliva@adacore.com>
3736         * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
3737         * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
3739 2020-06-22  David Edelsohn  <dje.gcc@gmail.com>
3741         * Makefile.am: Use -include.
3742         * Makefile.in: Regenerate.
3744 2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
3746         * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
3747         * Makefile.in: Regenerate
3748         * configure.ac (tmake_file): Substitute.
3749         * configure: Regenerate.
3750         * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
3751         * config/t-aix: New file.
3753 2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
3755         PR lto/94848
3756         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
3757         'dg-do run'.
3759 2020-06-17  Andrew Stubbs  <ams@codesourcery.com>
3761         * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
3762         variant for HSA_RUNTIME_LIB name.
3763         (find_executable_symbol_1): Delete.
3764         (find_executable_symbol): Delete.
3765         (init_kernel_properties): Add ".kd" suffix to symbol names.
3766         (find_load_offset): Delete.
3767         (create_and_finalize_hsa_program): Remove relocation handling.
3769 2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
3771         * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
3773 2020-06-08  Tobias Burnus  <tobias@codesourcery.com>
3775         PR lto/94848
3776         PR middle-end/95551
3777         * testsuite/libgomp.fortran/target-var.f90: New test.
3779 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
3780             Julian Brown  <julian@codesourcery.com>
3782         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
3783         special handling.
3785 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
3786             Julian Brown  <julian@codesourcery.com>
3788         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3789         Simplify.
3791 2020-06-05  Julian Brown  <julian@codesourcery.com>
3793         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
3794         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
3796 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3798         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3799         Evaluate 'copyfrom' individually for each entry.
3800         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
3802 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3804         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3805         Evaluate 'finalize' individually for each entry.
3806         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
3807         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
3808         file.
3810 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3812         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
3813         usage.
3814         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
3816 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3817             Julian Brown  <julian@codesourcery.com>
3819         * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
3820         checking.
3821         (acc_unmap_data, goacc_exit_data_internal): Restore
3822         'is_tgt_unmapped' checking.
3823         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
3824         file.
3825         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
3826         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3827         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3828         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3829         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3830         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3832 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3833             Julian Brown  <julian@codesourcery.com>
3835         * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
3837 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3839         PR libgomp/92854
3840         * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
3842 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3844         PR libgomp/92854
3845         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
3846         more.
3848 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3849             Julian Brown  <julian@codesourcery.com>
3851         * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
3852         'gomp_map_vars'.
3853          (acc_map_data): Clean up accordingly.
3855 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3857         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
3858         of over-eager 'finalize' clause.
3859         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
3860         file.
3861         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3862         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3863         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3864         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3865         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3866         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
3867         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3868         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
3870 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3872         * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
3874 2020-06-04  Julian Brown  <julian@codesourcery.com>
3876         * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
3877         error path.
3878         (goacc_detach_internal): Likewise.
3880 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
3882         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
3883         the checkpoint.
3884         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3885         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3886         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3887         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3888         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3890 2020-06-02  Jakub Jelinek  <jakub@redhat.com>
3892         * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
3893         defined.
3895 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
3897         * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
3899 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
3901         * allocator.c (omp_alloc): For size == 0, return NULL early.
3903 2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
3905         PR bootstrap/95413
3906         * configure: Regenerated.
3908 2020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
3910         PR libfortran/95191
3911         * testsuite/libgomp.fortran/async_io_9.f90: New test.
3913 2020-05-19  Jakub Jelinek  <jakub@redhat.com>
3915         * omp.h.in (omp_uintptr_t): New typedef.
3916         (__GOMP_UINTPTR_T_ENUM): Define.
3917         (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
3918         omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
3919         (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
3920         (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
3921         omp_get_default_allocator, omp_alloc, omp_free): Declare.
3922         * libgomp.h (struct gomp_team_state): Add def_allocator field.
3923         (gomp_def_allocator): Declare.
3924         * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
3925         omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
3926         omp_alloc and omp_free.
3927         * team.c (gomp_team_start): Copy over ts.def_allocator.
3928         * env.c (gomp_def_allocator): New variable.
3929         (parse_wait_policy): Adjust function comment.
3930         (parse_allocator): New function.
3931         (handle_omp_display_env): Print OMP_ALLOCATOR.
3932         (initialize_env): Call parse_allocator.
3933         * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
3934         * allocator.c: New file.
3935         * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
3936         functions.
3937         * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
3938         * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
3939         * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
3940         * Makefile.in: Regenerated.
3942 2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
3944         PR bootstrap/95147
3945         * configure: Regenerated.
3947 2020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
3949         PR libfortran/95119
3950         * testsuite/libgomp.fortran/close_errors_1.f90: New test.
3952 2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
3954         * configure: Regenerated.
3956 2020-05-14  Jakub Jelinek  <jakub@redhat.com>
3958         * testsuite/libgomp.c-c++-common/target-40.c: New test.
3960 2020-05-13  Tobias Burnus  <tobias@codesourcery.com>
3962         PR fortran/94690
3963         * testsuite/libgomp.fortran/pr66199-3.f90: New.
3964         * testsuite/libgomp.fortran/pr66199-4.f90: New.
3965         * testsuite/libgomp.fortran/pr66199-5.f90: New.
3966         * testsuite/libgomp.fortran/pr66199-6.f90: New.
3967         * testsuite/libgomp.fortran/pr66199-7.f90: New.
3968         * testsuite/libgomp.fortran/pr66199-8.f90: New.
3969         * testsuite/libgomp.fortran/pr66199-9.f90: New.
3971 2020-05-12  Jakub Jelinek  <jakub@redhat.com>
3973         * testsuite/libgomp.c/target-39.c: New test.
3975 2020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
3977         * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
3978         * openacc.f90 (acc_device_current): Likewise.
3979         * openacc.h (acc_device_current): Likewise.
3980         * openacc_lib.h (acc_device_current): Likewise.
3982         PR target/94282
3983         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
3984         'dg-allow-blank-lines-in-output'.
3986         * oacc-init.c (get_openacc_name): Handle 'gcn'.
3987         * testsuite/lib/libgomp.exp
3988         (offload_target_to_openacc_device_type) [amdgcn*]: Return
3989         'radeon'.  Adjust all users.
3990         (check_effective_target_openacc_amdgcn_accel_present): Rename
3991         to...
3992         (check_effective_target_openacc_radeon_accel_present): ... this.
3993         Adjust all users.
3994         (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
3995         (check_effective_target_openacc_radeon_accel_selected): ... this.
3996         Adjust all users.
3998         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
3999         'dg-do run'.
4001 2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
4003         PR other/94629
4005         * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4006         hsa_iterate_agents.
4007         (GOMP_OFFLOAD_init_device): Check return values from both calls to
4008         hsa_agent_iterate_regions.
4010 2020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
4012         PR middle-end/94635
4013         * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4014         run'.
4016 2020-04-20  Tobias Burnus  <tobias@codesourcery.com>
4018         PR middle-end/94120
4019         * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4020         test case.
4022 2020-04-17  Tobias Burnus  <tobias@codesourcery.com>
4024         PR middle-end/94635
4025         * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4027 2020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
4029         PR libgomp/92843
4030         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4031         Rename to...
4032         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4033         ... this.
4034         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4035         Rename to...
4036         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4037         ... this.
4038         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4039         Rename to...
4040         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4041         ... this.
4042         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4043         Rename to...
4044         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4045         ... this.
4046         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4047         Rename to...
4048         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4049         ... this.
4050         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4051         Rename to...
4052         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4053         ... this.
4054         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4055         Rename to...
4056         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4057         ... this.
4058         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4059         Rename to...
4060         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4061         ... this.
4062         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4063         Rename to...
4064         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4065         ... this.
4066         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4067         Rename to...
4068         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4069         ... this.
4070         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4071         Rename to...
4072         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4073         ... this.
4074         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4075         Rename to...
4076         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4077         ... this.
4078         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4079         Rename to...
4080         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4081         ... this.
4082         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4083         Rename to...
4084         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4085         ... this.
4086         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4087         Rename to...
4088         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4089         ... this.
4090         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4091         Rename to...
4092         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4093         ... this.
4095 2020-04-10  Julian Brown  <julian@codesourcery.com>
4096             Thomas Schwinge  <thomas@codesourcery.com>
4098         PR libgomp/92843
4099         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4100         New file.
4101         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4102         Likewise.
4103         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4104         Likewise.
4105         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4106         Likewise.
4107         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4108         Likewise.
4109         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4110         Likewise.
4111         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4112         Likewise.
4113         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4114         Likewise.
4115         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4116         Likewise.
4117         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4118         Likewise.
4119         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4120         Likewise.
4121         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4122         Likewise.
4123         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4124         Likewise.
4125         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4126         Likewise.
4127         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4128         Likewise.
4129         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4130         Likewise.
4132 2020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
4134         * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4135         run'.
4137 2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
4139         PR middle-end/94120
4140         * libgomp.oacc-c++/declare-pr94120.C: New.
4142 2020-04-06  Maciej W. Rozycki  <macro@wdc.com>
4144         * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4145         files.
4146         * configure: Regenerate.
4147         * testsuite/libgomp-site-extra.exp.in: New file.
4148         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4149         variable.
4150         * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4151         variable.
4152         * testsuite/Makefile.in: Regenerate.
4154 2020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
4156         PR tree-optimization/89713
4157         PR c/94392
4158         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4159         'bar.sync'.
4160         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4162 2020-03-31  Tobias Burnus  <tobias@codesourcery.com>
4164         * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4165         * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4167 2020-03-24  Tobias Burnus  <tobias@codesourcery.com>
4169         PR libgomp/81689
4170         * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4172 2020-03-20  Tobias Burnus  <tobias@codesourcery.com>
4174         PR libgomp/94251
4175         * target.c (gomp_load_image_to_device): Fix link
4176         variable handling.
4178 2020-03-19  Jakub Jelinek  <jakub@redhat.com>
4180         PR c++/93931
4181         * testsuite/libgomp.c++/pr93931.C: New test.
4183 2020-03-19  Tobias Burnus  <tobias@codesourcery.com>
4185         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4186         dg-allow-blank-lines-in-output.
4188 2020-03-18  Julian Brown <julian@codesourcery.com>
4189             Tobias Burnus  <tobias@codesourcery.com>
4191         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4192         it work concurrently.
4194 2020-03-18  Tobias Burnus  <tobias@codesourcery.com>
4196         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4197         #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4198         * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4200 2020-03-14  Jakub Jelinek  <jakub@redhat.com>
4202         PR middle-end/93566
4203         * testsuite/libgomp.c/pr93566.c: New test.
4205 2020-02-21  Frederik Harwath  <frederik@codesourcery.com>
4207         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4208         changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4209         integer(acc_device_property) for the type of the return value of
4210         acc_get_property.
4212 2020-02-19  Tobias Burnus  <tobias@codesourcery.com>
4214         * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4215         * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4216         (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4217         * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4218         (acc_set_device_num): Fix Fortran argument name, use same name for C.
4219         (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4220         corrections; add note about the previous interface and named constant.
4221         (OpenACC library and environment variables): Fix two typos.
4222         * openacc.f90: Use for all procedures the argument names from the spec
4223         as for â€¦_h they are user visible.
4224         (openacc_kinds): Rename acc_device_property to
4225         acc_device_property_kinds and change value to int32 ; and update users.
4226         Re-add acc_device_property for for backward compatibility.
4227         (acc_get_property_string_h): Clean up as acc_device_property_kind
4228         changed.
4229         (acc_get_property_h): Likewise and return c_size_t instead of
4230         acc_device_property.
4231         (openacc): Also export acc_device_property_kinds.
4232         (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4233         acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4234         handling; check against /= 0 instead of == 1 to match C.
4235         * openacc_lib.h: Use for all procedures the argument names from the spec
4236         as for â€¦_h they are user visible. Place !GCC$ into the first column to
4237         be active also for fixed-form souce form.
4238         (acc_device_current, acc_device_property_kind, acc_device_property,
4239         acc_property_memory, acc_property_free_memory, acc_property_name,
4240         acc_property_vendor, acc_property_driver): New named constants.
4241         (acc_get_property, acc_get_property_string): New generic interface.
4243 2020-02-13  Frederik Harwath  <frederik@codesourcery.com>
4245         PR libgomp/93481
4246         * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4247         * target.c (gomp_load_plugin_for_device): Make "async_run" loading
4248         optional.
4249         (gomp_target_task_fn): Assert "devicep->async_run_func".
4250         (clear_unsupported_flags): New function to remove unsupported flags
4251         (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4252         (GOMP_target_ext): Apply clear_unsupported_flags to flags.
4253         * testsuite/libgomp.c/target-33.c:
4254         Remove xfail for offload_target_nvptx.
4255         * testsuite/libgomp.c/target-34.c: Likewise.
4257 2020-02-10  Frederik Harwath  <frederik@codesourcery.com>
4259         * testsuite/libgomp.c/target-33.c: Add xfail for execution on
4260         offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4261         * testsuite/libgomp.c/target-34.c: Likewise.
4262         * testsuite/libgomp.c/target-link-1.c: Add xfail for
4263         offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4265 2020-02-09  Jakub Jelinek  <jakub@redhat.com>
4267         * testsuite/libgomp.c/target-38.c: New test.
4269 2020-02-06  Jakub Jelinek  <jakub@redhat.com>
4271         PR libgomp/93515
4272         * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4274 2020-02-05  Tobias Burnus  <tobias@codesourcery.com>
4276         * testsuite/lib/libgomp.exp
4277         (check_effective_target_offload_target_nvptx): Pass flags as 'options'
4278         and not as 'source' argument to libgomp_target_compile.
4280 2020-02-03  Andrew Stubbs  <ams@codesourcery.com>
4282         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
4283         (gcn_gfx801_s): Remove.
4284         (isa_hsa_name): Remove gfx801.
4285         (isa_gcc_name): Remove gfx801/carizzo.
4286         (isa_code): Remove gfx801.
4288 2020-02-03  Julian Brown  <julian@codesourcery.com>
4289             Tobias Burnus  <tobias@codesourcery.com>
4291         * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
4292         and *_finalize variants; document acc_attach and acc_detach; update
4293         references from OpenACC 2.0 to 2.6.
4294         * openacc.f90 (openacc_version): Update to 201711.
4295         * openacc_lib.h (openacc_version): Update to 201711.
4296         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
4297         openacc_version to 201711.
4298         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4300 2020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
4302         * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
4303         and vgpr_count fields.
4304         (struct kernel_info): Add a field for a hsa_kernel_description.
4305         (run_kernel): Reduce the number of threads/workers if the requested
4306         number would require too many VGPRs.
4307         (init_basic_kernel_info): Initialize description field with
4308         the hsa_kernel_description entry for the kernel.
4310 2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
4312         PR bootstrap/93409
4313         * plugin/configfrag.ac (enable_offload_targets): Skip
4314         HSA and GCN plugin besides -m32 also for -mx32.
4315         * configure: Regenerate.
4317 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
4319         * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
4321 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
4323         * plugin-gcn.c (struct agent_info): Add fields "name" and
4324         "vendor_name" ...
4325         (GOMP_OFFLOAD_init_device): ... and init from here.
4326         (struct hsa_context_info): Add field "driver_version_s" ...
4327         (init_hsa_contest): ... and init from here.
4328         (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
4329         implementation.
4330         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4331         Enable test execution for amdgcn and host offloading targets.
4332         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
4333         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4334         (expect_device_properties): Split function into ...
4335         (expect_device_string_properties): ... this new function ...
4336         (expect_device_memory): ... and this new function.
4337         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
4338         Add test.
4340 2020-01-28  Julian Brown  <julian@codesourcery.com>
4342         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
4343         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
4344         component/non-component variable refs in a single directive.
4345         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
4347 2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
4349         * configure.ac: Handle `--with-toolexeclibdir='.
4350         * Makefile.in: Regenerate.
4351         * aclocal.m4: Regenerate.
4352         * configure: Regenerate.
4353         * testsuite/Makefile.in: Regenerate.
4355 2020-01-24  Frederik Harwath  <frederik@codesourcery.com>
4357         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4358         (expect_device_properties): Remove "expected_free_mem" argument,
4359         change "expected_total_mem" argument type to size_t;
4360         change types of acc_get_property results to size_t,
4361         adapt format strings.
4362         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4363         Use %zu instead of %zd to print size_t values.
4364         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
4365         rename to ...
4366         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
4367         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
4368         rename to ...
4369         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
4371 2020-01-23  Andrew Stubbs  <ams@codesourcery.com>
4373         * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
4374         the device id.
4376 2020-01-20  Andrew Stubbs  <ams@codesourcery.com>
4378         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
4379         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
4380         Adjust test dimensions for amdgcn.
4381         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
4382         gang/worker/vector expectations dynamically.
4383         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
4384         (main): Likewise.
4385         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
4386         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
4387         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
4388         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
4389         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
4390         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
4391         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
4392         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
4393         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4394         (acc_gang): Recognise acc_device_radeon.
4395         (acc_worker): Likewise.
4396         (acc_vector): Likewise.
4397         (main): Set expectations for amdgcn.
4398         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
4399         (main): Adjust gang/worker/vector expectations dynamically.
4400         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
4401         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
4402         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
4403         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
4404         for amdgcn.
4406 2020-01-17  Andrew Stubbs  <ams@codesourcery.com>
4408         * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
4409         acc_device_radeon.
4410         (openacc): Likewise.
4411         * openacc.f90 (openacc_kinds): Likewise.
4412         (openacc): Likewise.
4413         * openacc.h (acc_device_t): Likewise.
4414         * openacc_lib.h: Likewise.
4415         * testsuite/lib/libgomp.exp
4416         (check_effective_target_openacc_amdgcn_accel_present): Likewise.
4417         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
4418         (cb_compute_construct_end): Likewise.
4419         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4420         (cb_enqueue_launch_start): Likewise.
4421         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
4422         (cb_enter_data_end): Likewise.
4423         (cb_exit_data_start): Likewise.
4424         (cb_exit_data_end): Likewise.
4425         (cb_compute_construct_end): Likewise.
4426         (cb_enqueue_launch_start): Likewise.
4427         (cb_enqueue_launch_end): Likewise.
4428         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
4429         (main): Likewise.
4431 2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
4433         * libgomp-plugin.h (enum goacc_property): New.  Adjust all users
4434         to use this instead of 'enum gomp_device_property'.
4435         (GOMP_OFFLOAD_get_property): Rename to...
4436         (GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
4437         * libgomp.h (struct gomp_device_descr): Move
4438         'GOMP_OFFLOAD_openacc_get_property'...
4439         (struct acc_dispatch_t): ... here.  Adjust all users.
4440         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
4442         * target.c (gomp_map_vars_internal)
4443         <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
4444         paths.
4446 2020-01-10  Jakub Jelinek  <jakub@redhat.com>
4448         PR libgomp/93219
4449         * libgomp.h (gomp_print_string): Change return type from void to int.
4450         * affinity-fmt.c (gomp_print_string): Likewise.  Return true if
4451         not all characters have been written.
4453 2020-01-08  Tobias Burnus  <tobias@codesourcery.com>
4455         * libgomp.texi: Fix typos, use https.
4457 2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
4459         * testsuite/libgomp.fortran/optional-map.f90: Add test for
4460         unallocated/disassociated actual arguments to nonallocatable/nonpointer
4461         dummy arguments; those are/shall be regarded as absent arguments.
4462         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4463         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
4465 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
4467         Update copyright years.
4469         * libgomp.texi: Bump @copying's copyright year.
4471 2019-12-31  Ayush Mittal  <ayush.m@samsung.com>
4473         PR libgomp/93065
4474         * oacc-init.c (goacc_runtime_deinitialize): New function.
4476 2019-12-28  Jakub Jelinek  <jakub@redhat.com>
4478         PR bootstrap/93074
4479         * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
4480         (cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
4482 2019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
4483             Frederik Harwath  <frederik@codesourcery.com>
4484             Thomas Schwinge  <tschwinge@codesourcery.com>
4486         * libgomp.h (gomp_device_descr): Add `get_property_func' member.
4487         * libgomp-plugin.h (gomp_device_property_value): New union.
4488         (gomp_device_property_value): New prototype.
4489         * openacc.h (acc_device_t): Add `acc_device_current' enumeration
4490         constant.
4491         (acc_device_property_t): New enum.
4492         (acc_get_property, acc_get_property_string): New prototypes.
4493         * oacc-init.c (acc_get_device_type): Also assert that result
4494         is not `acc_device_current'.
4495         (get_property_any, acc_get_property, acc_get_property_string):
4496         New functions.
4497         * openacc.f90 (openacc_kinds): Add `acc_device_current' and
4498         `acc_property_memory', `acc_property_free_memory',
4499         `acc_property_name', `acc_property_vendor' and
4500         `acc_property_driver' constants.  Add `acc_device_property' data
4501         type.
4502         (openacc_internal): Add `acc_get_property' and
4503         `acc_get_property_string' interfaces.  Add `acc_get_property_h',
4504         `acc_get_property_string_h', `acc_get_property_l' and
4505         `acc_get_property_string_l'.
4506         * oacc-host.c (host_get_property): New function.
4507         (host_dispatch): Wire it.
4508         * target.c (gomp_load_plugin_for_device): Handle `get_property'.
4509         * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
4510         `acc_get_property_string' and `acc_get_property_string_h_' symbols.
4511         * libgomp.texi (OpenACC Runtime Library Routines): Add
4512         `acc_get_property'.
4513         (acc_get_property): New node.
4514         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
4515         function (stub).
4516         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
4517         * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
4518         `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
4519         calls.
4520         (GOMP_OFFLOAD_get_property): New function.
4521         (struct ptx_device): Add new field "name".
4522         (cuda_driver_version_s): Add new static variable ...
4523         (nvptx_init): ... and init from here.
4525         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
4526         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
4527         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
4528         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
4529         with test helper functions.
4531         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
4533 2019-12-22  Maciej W. Rozycki  <macro@wdc.com>
4535         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
4536         variable.
4538 2019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
4540         * target.c (gomp_map_vars_internal): Restore 'omp declare target
4541         link' handling.
4543 2019-12-19  Julian Brown  <julian@codesourcery.com>
4545         * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
4546         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
4547         * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
4549 2019-12-19  Julian Brown  <julian@codesourcery.com>
4550             Cesar Philippidis  <cesar@codesourcery.com>
4552         * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
4553         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
4554         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
4555         * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
4556         * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
4557         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
4558         * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
4559         * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
4560         * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
4561         * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
4562         * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
4563         * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
4564         * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
4566 2019-12-19  Julian Brown  <julian@codesourcery.com>
4568         * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
4569         * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
4570         * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
4571         * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
4572         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
4573         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
4574         * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
4575         * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
4576         * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
4577         * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
4578         * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
4579         * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
4581 2019-12-19  Julian Brown  <julian@codesourcery.com>
4583         * libgomp.h (struct target_var_desc): Add do_detach flag.
4584         * oacc-init.c (acc_shutdown_1): Free aux block if present.
4585         * oacc-mem.c (find_group_last): Add SIZES parameter. Support
4586         struct components.  Tidy up and add some new checks.
4587         (goacc_enter_data_internal): Update call to find_group_last.
4588         (goacc_exit_data_internal): Support detach operations and
4589         GOMP_MAP_STRUCT.
4590         (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
4591         GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
4592         attach/detach in enter/exit data detection code.
4593         * target.c (gomp_map_vars_existing): Initialise do_detach field of
4594         tgt_var_desc.
4595         (gomp_map_vars_internal): Support attach.
4596         (gomp_unmap_vars_internal): Support detach.
4598 2019-12-19  Julian Brown  <julian@codesourcery.com>
4599             Thomas Schwinge  <thomas@codesourcery.com>
4601         * libgomp.h (struct splay_tree_aux): Add attach_count field.
4602         (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
4603         * libgomp.map (OACC_2.6): New section. Add acc_attach,
4604         acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
4605         acc_detach_finalize_async.
4606         * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
4607         acc_detach, acc_detach_async, acc_detach_finalize,
4608         acc_detach_finalize_async): New functions.
4609         * openacc.h (acc_attach, acc_attach_async, acc_detach,
4610         (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
4611         prototypes.
4612         * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
4613         (gomp_remove_var_internal): Free attachment counts if present.
4614         * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
4615         * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
4617 2019-12-19  Julian Brown  <julian@codesourcery.com>
4618             Cesar Philippidis  <cesar@codesourcery.com>
4620         * libgomp.h (gomp_map_val): Add prototype.
4621         * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
4622         open-coding device-address calculation.
4623         * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
4624         non-present case.
4626 2019-12-19  Julian Brown  <julian@codesourcery.com>
4628         * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
4629         field for virtual_refcount.
4630         (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4631         (gomp_free_memmap): Remove prototype.
4632         * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
4633         instead of calling gomp_free_memmap.
4634         * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
4635         dynamic_refcount.
4636         (acc_unmap_data): Open code instead of forcing target_mem_desc's
4637         to_free field to NULL then calling gomp_unmap_vars.  Handle
4638         REFCOUNT_INFINITY on target blocks.
4639         (goacc_enter_data): Rename to...
4640         (goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
4641         handling for mapping groups.  Use virtual_refcount instead of
4642         dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
4643         map_map_vars_async call.  Re-do lookup for target pointer return value.
4644         (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
4645         renamed goacc_enter_datum function.
4646         (goacc_exit_data): Rename to...
4647         (goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
4648         (acc_delete, acc_delete_async, acc_delete_finalize,
4649         acc_delete_finalize_async, acc_copyout, acc_copyout_async,
4650         acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
4651         goacc_exit_datum function.
4652         (gomp_acc_remove_pointer, find_pointer): Remove functions.
4653         (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
4654         New functions.
4655         (GOACC_enter_exit_data): Use goacc_enter_data_internal and
4656         goacc_exit_data_internal helper functions.
4657         * target.c (gomp_map_vars_internal): Handle
4658         GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
4659         semantics.
4660         (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
4661         (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
4662         virtual_refcount field instead of dynamic_refcount.
4663         (gomp_free_memmap): Remove function.
4664         * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
4665         * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
4666         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
4668 2019-12-19  Julian Brown  <julian@codesourcery.com>
4669             Thomas Schwinge  <thomas@codesourcery.com>
4671         * libgomp.h (struct splay_tree_aux): New.
4672         (struct splay_tree_key_s): Replace link_key field with aux pointer.
4673         * target.c (gomp_map_vars_internal): Adjust for link_key being moved
4674         to aux struct.
4675         (gomp_remove_var_internal): Free aux block if present.
4676         (gomp_load_image_to_device): Zero-initialise aux field instead of
4677         link_key field.
4678         (omp_target_associate_pointer): Zero-initialise aux field.
4680 2019-12-18  Jakub Jelinek  <jakub@redhat.com>
4682         PR middle-end/86416
4683         * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
4684         q or none.
4685         * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
4686         L or none.
4688 2019-12-19  Julian Brown  <julian@codesourcery.com>
4689             Maciej W. Rozycki  <macro@codesourcery.com>
4690             Tobias Burnus  <tobias@codesourcery.com>
4691             Thomas Schwinge  <thomas@codesourcery.com>
4693         * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
4694         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
4695         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
4696         * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
4697         * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
4698         * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
4699         * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
4700         * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
4701         * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
4703 2019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
4705         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4706         called...
4707         (goacc_insert_pointer): ... from here, "present" case.
4708         (goacc_insert_pointer): Inline function into...
4709         (GOACC_enter_exit_data): ... here, and simplify.
4711         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4712         called...
4713         (goacc_insert_pointer): ... from here, "not present" case.
4715         * oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
4716         all users.
4718         * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
4719         'goacc_enter_data', 'goacc_exit_data'.
4721         * oacc-mem.c (delete_copyout): Refactor into...
4722         (goacc_exit_data): ... this.  Adjust all users.
4724         * oacc-mem.c (present_create_copy): Refactor into...
4725         (goacc_enter_data): ... this.  Adjust all users.
4727         * target.c (gomp_unmap_vars_internal): Add a safeguard to
4728         'gomp_remove_var'.
4730         * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
4731         like 'GOMP_MAP_FROM'.
4733         PR libgomp/92726
4734         PR libgomp/92970
4735         PR libgomp/92984
4736         * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
4737         fails.
4738         (GOACC_enter_exit_data): Simplify accordingly.
4739         * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
4740         subsuming...
4741         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
4742         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
4743         file.
4744         * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
4745         subsuming...
4746         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
4747         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
4748         file.
4749         * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
4750         subsuming...
4751         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
4753         * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
4754         'finalize' handling.
4756         PR libgomp/92848
4757         * oacc-mem.c (acc_map_data, present_create_copy)
4758         (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
4759         (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
4760         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
4761         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
4762         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
4763         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
4764         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
4765         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4766         Remove "XFAIL"s.
4768         * target.c (gomp_unmap_tgt): Make it 'static'.
4769         * libgomp.h (gomp_unmap_tgt): Remove.
4771 2019-12-18  Tobias Burnus  <tobias@codesourcery.com>
4773         PR middle-end/86416
4774         * testsuite/libgomp.c/pr86416-1.c: New.
4775         * testsuite/libgomp.c/pr86416-2.c: New.
4777 2019-12-17  Tobias Burnus  <tobias@codesourcery.com>
4779         * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
4780         all symbols as public except for the 'use â€¦, only' imported symbol,
4781         which is private.
4782         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4783         all symbols from module openacc_kinds as PUBLIC
4784         * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
4785         fix comment typo.
4786         * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
4788 2019-12-13  Julian Brown  <julian@codesourcery.com>
4790         PR libgomp/92881
4792         * libgomp.h (gomp_remove_var_async): Add prototype.
4793         * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
4794         gomp_remove_var.
4795         * target.c (gomp_unref_tgt): Change return type to bool, indicating
4796         whether target_mem_desc was unmapped.
4797         (gomp_unref_tgt_void): New.
4798         (gomp_remove_var): Reimplement in terms of...
4799         (gomp_remove_var_internal): ...this new helper function.
4800         (gomp_remove_var_async): New, implemented using above helper function.
4801         (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
4802         gomp_unref_tgt.
4804 2019-12-13  Andrew Stubbs  <ams@codesourcery.com>
4806         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
4807         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4808         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
4809         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
4810         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
4811         Likewise.
4812         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
4813         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
4815 2019-12-13  Tobias Burnus  <tobias@codesourcery.com>
4817         * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
4818         as public except for the 'use â€¦, only' imported symbol, which is
4819         private.
4820         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4821         all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
4822         attributes for acc_copyout_finalize and acc_delete_finalize.
4824 2019-12-11  Jakub Jelinek  <jakub@redhat.com>
4826         PR fortran/92899
4827         * testsuite/libgomp.fortran/atomic1.f90: New test.
4829 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
4831         PR libgomp/92843
4832         * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
4833         reference counting for structured 'REFCOUNT_INFINITY'.  Add some
4834         assertions.
4835         (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
4836         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
4837         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
4838         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4839         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4841         * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
4842         * oacc-mem.c: ... here.
4843         (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
4844         'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
4845         * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4846         Remove.
4847         * libgomp_g.h: Update.
4849         * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
4850         * oacc-async.c: ... here.
4851         * oacc-int.h (goacc_wait): Declare.
4852         * libgomp_g.h: Update
4854         PR libgomp/92854
4855         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
4856         New file.
4857         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
4858         Likewise.
4859         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
4860         Likewise.
4861         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
4862         Likewise.
4863         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
4864         Likewise.
4865         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
4866         Likewise.
4868 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
4869             Julian Brown  <julian@codesourcery.com>
4871         * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
4872         Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
4874 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
4876         * omp_lib.h.in: Fix spelling of function declaration
4877         omp_get_cancell(l)ation.
4878         * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
4879         Fix typos.
4880         * env.c: Fix comment typos.
4881         * oacc-host.c: Likewise.
4882         * ordered.c: Likewise.
4883         * task.c: Likewise.
4884         * team.c: Likewise.
4885         * config/gcn/task.c: Likewise.
4886         * config/gcn/team.c: Likewise.
4887         * config/nvptx/task.c: Likewise.
4888         * config/nvptx/team.c: Likewise.
4889         * plugin/plugin-gcn.c: Likewise.
4890         * testsuite/libgomp.fortran/jacobi.f: Likewise.
4891         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4892         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
4894 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
4896         * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
4897         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
4898         unnecessary 'dg-additional-options "-w"'.
4900 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
4901             Julian Brown  <julian@codesourcery.com>
4903         PR libgomp/92116
4904         PR libgomp/92877
4906         * oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
4907         * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
4908         Adjust all users.
4909         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4910         Remove XFAIL.
4911         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4912         Likewise.
4913         * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
4915 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
4917         PR libgomp/92503
4918         * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
4919         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
4920         file.
4921         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
4922         Likewise.
4923         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
4924         Likewise.
4925         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
4926         Likewise.
4927         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4928         Likewise.
4929         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4930         Likewise.
4931         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4932         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4933         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4934         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4935         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4936         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4937         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4938         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4939         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4940         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4942         PR libgomp/92840
4943         * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
4944         (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
4945         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
4946         New file.
4947         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
4948         Likewise.
4949         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
4950         Likewise.
4951         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4952         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
4954         PR libgomp/92511
4955         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
4956         this file...
4957         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
4958         this file...
4959         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
4960         file...
4961         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
4962         file...
4963         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4964         ... with their content moved into, and extended in this new file.
4965         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
4966         New file.
4967         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
4968         Likewise.
4969         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
4970         Likewise.
4971         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
4972         Likewise.
4974         * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
4976         PR libgomp/92854
4977         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
4979         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
4981         * target.c (gomp_exit_data): Use 'gomp_remove_var'.
4983 2019-12-09  Tobias Burnus  <tobias@codesourcery.com>
4985         * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
4986         unique.
4987         * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
4988         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4989         * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
4990         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
4991         Ditto.
4992         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
4993         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
4995 2019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
4997         * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
4999 2019-12-06  Tobias Burnus  <tobias@codesourcery.com>
5000             Kwok Cheung Yeung <kcy@codesourcery.com>
5002         * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5003         if input it a NULL pointer.
5004         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5005         diagnostic of NULL pointer.
5006         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5007         * testsuite/libgomp.fortran/optional-map.f90: New.
5008         * testsuite/libgomp.fortran/use_device_addr-1.f90
5009         (test_dummy_opt_callee_1_absent): New.
5010         (test_dummy_opt_call_1): Call it.
5011         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5012         * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5013         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5014         * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5015         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5016         * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5017         * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5018         * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5019         * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5020         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5021         * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5022         * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5023         * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5024         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5025         * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5026         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5028 2019-12-05  Tobias Burnus  <tobias@codesourcery.com>
5030         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5031         expect dg-output of 'Error termination.' for GCN.
5032         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5033         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5035 2019-12-04  Jakub Jelinek  <jakub@redhat.com>
5037         PR fortran/92756
5038         * testsuite/libgomp.fortran/teams1.f90: New test.
5039         * testsuite/libgomp.fortran/teams2.f90: New test.
5041 2019-12-03  Frederik Harwath  <frederik@codesourcery.com>
5043         * oacc-init.c (acc_known_device_type): Add function.
5044         (unknown_device_type_error): Add function.
5045         (name_of_acc_device_t): Change to call unknown_device_type_error
5046         on unknown type.
5047         (resolve_device): Use acc_known_device_type.
5048         (acc_init): Fail if acc_device_t argument is not valid.
5049         (acc_shutdown): Likewise.
5050         (acc_get_num_devices): Likewise.
5051         (acc_set_device_type): Likewise.
5052         (acc_get_device_num): Likewise.
5053         (acc_set_device_num): Likewise.
5054         (acc_on_device): Add comment that argument validity is not checked.
5056 2019-12-03  Andrew Stubbs  <ams@codesourcery.com>
5058         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5059         Recognize amdgcn.
5060         (check_effective_target_openacc_amdgcn_accel_present): New proc.
5061         (check_effective_target_openacc_amdgcn_accel_selected): New proc.
5062         * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5063         * testsuite/libgomp.oacc-c/c.exp: Likewise.
5064         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5066 2019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
5068         PR libgomp/91938
5069         * configure.tgt: Avoid IE tls on *-*-musl*.
5071 2019-11-29  Tobias Burnus  <tobias@codesourcery.com>
5073         * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5074         adding a common-block test case.
5076 2019-11-29  Jakub Jelinek  <jakub@redhat.com>
5078         PR c++/60228
5079         * testsuite/libgomp.c++/udr-20.C: New test.
5080         * testsuite/libgomp.c++/udr-21.C: New test.
5082 2019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
5084         * testsuite/lib/libgomp.exp
5085         (check_effective_target_offload_target_nvptx): New proc.
5086         * testsuite/libgomp.fortran/target-print-1.f90: Use it with
5087         'dg-skip-if'.
5088         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5089         * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5090         * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5092 2019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5094         * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5095         * testsuite/libgomp.c/pr39591-2.c: Likewise.
5096         * testsuite/libgomp.c/pr39591-3.c: Likewise.
5097         * testsuite/libgomp.c/private-1.c: Likewise.
5098         * testsuite/libgomp.c/task-1.c: Likewise.
5099         * testsuite/libgomp.c/task-5.c: Renamed err to serr.
5101 2019-11-20  Julian Brown  <julian@codesourcery.com>
5103         * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5104         aq->mutex here.
5105         (queue_push_launch): Lock aq->mutex before calling
5106         wait_for_queue_nonfull.
5107         (queue_push_callback): Likewise.
5108         (queue_push_asyncwait): Likewise.
5109         (queue_push_placeholder): Likewise.
5111 2019-11-20  Julian Brown  <julian@codesourcery.com>
5113         * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5114         (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5115         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5116         return code.
5118 2019-11-20  Julian Brown  <julian@codesourcery.com>
5120         PR libgomp/92511
5122         * oacc-mem.c (present_create_copy): Fix device pointer return value in
5123         case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
5124         in non-present/create case.
5125         (delete_copyout): Change error condition to fail only on copies outside
5126         of mapped block.  Adjust error message accordingly.
5127         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5128         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5129         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5130         message.
5131         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5132         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5133         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5135 2019-11-20  Maciej W. Rozycki  <macro@wdc.com>
5137         * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5138         libatomic in build-tree testing.
5140 2019-11-18  Maciej W. Rozycki  <macro@wdc.com>
5142         * testsuite/Makefile.in: Regenerate.
5144 2019-11-15  Andrew Stubbs  <ams@codesourcery.com>
5146         * testsuite/libgomp.c/target-print-1.c: New file.
5147         * testsuite/libgomp.fortran/target-print-1.f90: New file.
5148         * testsuite/libgomp.oacc-c/print-1.c: New file.
5149         * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5151 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5152             Kwok Cheung Yeung  <kcy@codesourcery.com>
5153             Julian Brown  <julian@codesourcery.com>
5154             Tom de Vries  <tom@codesourcery.com>
5156         * plugin/Makefrag.am: Add amdgcn plugin support.
5157         * plugin/configfrag.ac: Likewise.
5158         * plugin/plugin-gcn.c: New file.
5159         * configure: Regenerate.
5160         * Makefile.in: Regenerate.
5161         * testsuite/Makefile.in: Regenerate.
5163 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5165         * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5166         and use team_malloc variants.
5167         (gomp_gcn_exit_kernel): Use team_free.
5168         * libgomp.h (TEAM_ARENA_SIZE): Define.
5169         (TEAM_ARENA_START): Define.
5170         (TEAM_ARENA_FREE): Define.
5171         (TEAM_ARENA_END): Define.
5172         (team_malloc): New function.
5173         (team_malloc_cleared): New function.
5174         (team_free): New function.
5175         * team.c (gomp_new_team): Initialize and use team_malloc.
5176         (free_team): Use team_free.
5177         (gomp_free_thread): Use team_free.
5178         (gomp_pause_host): Use team_free.
5179         * work.c (gomp_init_work_share): Use team_malloc.
5180         (gomp_fini_work_share): Use team_free.
5182 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5183             Kwok Cheung Yeung  <kcy@codesourcery.com>
5184             Julian Brown  <julian@codesourcery.com>
5185             Tom de Vries  <tom@codesourcery.com>
5187         * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5188         * Makefile.in: Regenerate.
5189         * config.h.in (PLUGIN_GCN): Add new undef.
5190         * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5191         * config/gcn/affinity-fmt.c: New file.
5192         * config/gcn/bar.c: New file.
5193         * config/gcn/bar.h: New file.
5194         * config/gcn/doacross.h: New file.
5195         * config/gcn/icv-device.c: New file.
5196         * config/gcn/oacc-target.c: New file.
5197         * config/gcn/simple-bar.h: New file.
5198         * config/gcn/target.c: New file.
5199         * config/gcn/task.c: New file.
5200         * config/gcn/team.c: New file.
5201         * config/gcn/time.c: New file.
5202         * configure.ac: Add amdgcn*-*-*.
5203         * configure: Regenerate.
5204         * configure.tgt: Add amdgcn*-*-*.
5205         * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5206         * libgomp.h (gcn_thrs): Add amdgcn variant.
5207         (set_gcn_thrs): Likewise.
5208         (gomp_thread): Likewise.
5209         * oacc-int.h (goacc_thread): Likewise.
5210         * oacc-target.c: New file.
5211         * openacc.f90 (acc_device_gcn): New parameter.
5212         * openacc.h (acc_device_t): Add acc_device_gcn.
5213         * team.c (gomp_free_pool_helper): Add amdgcn support.
5215 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5216             Julian Brown  <julian@codesourcery.com>
5218         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5219         parameter.
5220         * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5221         queue constructor.
5222         * oacc-host.c (host_openacc_async_construct): Add device parameter.
5223         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5224         device parameter.
5226 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
5228         * configure.tgt (nvptx*-*-*): Add "accel" directory.
5229         * config/nvptx/libgomp-plugin.c: Move ...
5230         * config/accel/libgomp-plugin.c: ... to here.
5231         * config/nvptx/lock.c: Move ...
5232         * config/accel/lock.c: ... to here.
5233         * config/nvptx/mutex.c: Move ...
5234         * config/accel/mutex.c: ... to here.
5235         * config/nvptx/mutex.h: Move ...
5236         * config/accel/mutex.h: ... to here.
5237         * config/nvptx/oacc-async.c: Move ...
5238         * config/accel/oacc-async.c: ... to here.
5239         * config/nvptx/oacc-cuda.c: Move ...
5240         * config/accel/oacc-cuda.c: ... to here.
5241         * config/nvptx/oacc-host.c: Move ...
5242         * config/accel/oacc-host.c: ... to here.
5243         * config/nvptx/oacc-init.c: Move ...
5244         * config/accel/oacc-init.c: ... to here.
5245         * config/nvptx/oacc-mem.c: Move ...
5246         * config/accel/oacc-mem.c: ... to here.
5247         * config/nvptx/oacc-plugin.c: Move ...
5248         * config/accel/oacc-plugin.c: ... to here.
5249         * config/nvptx/omp-lock.h: Move ...
5250         * config/accel/omp-lock.h: ... to here.
5251         * config/nvptx/openacc.f90: Move ...
5252         * config/accel/openacc.f90: ... to here.
5253         * config/nvptx/pool.h: Move ...
5254         * config/accel/pool.h: ... to here.
5255         * config/nvptx/proc.c: Move ...
5256         * config/accel/proc.c: ... to here.
5257         * config/nvptx/ptrlock.c: Move ...
5258         * config/accel/ptrlock.c: ... to here.
5259         * config/nvptx/ptrlock.h: Move ...
5260         * config/accel/ptrlock.h: ... to here.
5261         * config/nvptx/sem.c: Move ...
5262         * config/accel/sem.c: ... to here.
5263         * config/nvptx/sem.h: Move ...
5264         * config/accel/sem.h: ... to here.
5265         * config/nvptx/thread-stacksize.h: Move ...
5266         * config/accel/thread-stacksize.h: ... to here.
5268 2019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
5269             Tobias Burnus  <tobias@codesourcery.com>
5270             Frederik Harwath  <frederik@codesourcery.com>
5271             Thomas Schwinge  <thomas@codesourcery.com>
5273         libgomp/
5274         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5275         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5276         * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5278 2019-11-11  Tobias Burnus  <tobias@codesourcery.com>
5279             Kwok Cheung Yeung  <kcy@codesourcery.com>
5281         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5282         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5284 2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
5286         * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5288         * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5289         run'.
5290         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5291         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5293 2019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
5295         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
5296         Add expected warnings about missing reduction clauses.
5297         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5298         Likewise.
5299         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5300         Likewise.
5301         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5302         Likewise.
5304 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
5306         * testsuite/libgomp.fortran/pr66199-1.f90: Remove
5307         'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
5308         * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
5309         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5310         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5311         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5313 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
5315         PR fortran/92305
5316         * testsuite/libgomp.fortran/allocatable2.f90: Use
5317         unique numbers with 'stop'.
5318         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5319         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5320         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
5321         * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
5322         * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
5324 2019-11-01  Tobias Burnus  <tobias@codesourcery.com>
5326         * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
5327         test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
5328         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5329         * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
5330         * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
5331         * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
5333 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
5335         * testsuite/libgomp.fortran/target9.f90: New.
5337 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
5339         * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
5340         * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
5341         * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
5342         * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
5343         * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
5344         * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
5345         * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
5346         * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
5347         * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
5348         * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
5349         * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
5350         * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
5351         * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
5352         * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
5353         * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
5354         * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
5355         * testsuite/libgomp.fortran/associate1.f90: Ditto.
5356         * testsuite/libgomp.fortran/associate2.f90: Ditto.
5357         * testsuite/libgomp.fortran/associate3.f90: Ditto.
5358         * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
5359         * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
5360         * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
5361         * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
5362         * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
5363         * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
5364         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
5365         * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
5366         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
5367         * testsuite/libgomp.fortran/character1.f90: Ditto.
5368         * testsuite/libgomp.fortran/character2.f90: Ditto.
5369         * testsuite/libgomp.fortran/collapse1.f90: Ditto.
5370         * testsuite/libgomp.fortran/collapse2.f90: Ditto.
5371         * testsuite/libgomp.fortran/collapse3.f90: Ditto.
5372         * testsuite/libgomp.fortran/collapse4.f90: Ditto.
5373         * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
5374         * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
5375         * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
5376         * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
5377         * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
5378         * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
5379         * testsuite/libgomp.fortran/depend-1.f90: Ditto.
5380         * testsuite/libgomp.fortran/depend-2.f90: Ditto.
5381         * testsuite/libgomp.fortran/depend-3.f90: Ditto.
5382         * testsuite/libgomp.fortran/do1.f90: Ditto.
5383         * testsuite/libgomp.fortran/do2.f90: Ditto.
5384         * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
5385         * testsuite/libgomp.fortran/doacross1.f90: Ditto.
5386         * testsuite/libgomp.fortran/doacross2.f90: Ditto.
5387         * testsuite/libgomp.fortran/doacross3.f90: Ditto.
5388         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
5389         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
5390         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
5391         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
5392         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
5393         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
5394         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
5395         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
5396         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
5397         * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
5398         * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
5399         * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
5400         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
5401         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
5402         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
5403         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
5404         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
5405         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
5406         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
5407         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
5408         * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
5409         * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
5410         * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
5411         * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
5412         * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
5413         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
5414         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
5415         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
5416         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
5417         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
5418         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
5419         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
5420         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
5421         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
5422         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
5423         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
5424         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
5425         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
5426         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
5427         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
5428         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
5429         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
5430         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
5431         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
5432         * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
5433         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5434         * testsuite/libgomp.fortran/lib1.f90: Ditto.
5435         * testsuite/libgomp.fortran/lib4.f90: Ditto.
5436         * testsuite/libgomp.fortran/lock-1.f90: Ditto.
5437         * testsuite/libgomp.fortran/lock-2.f90: Ditto.
5438         * testsuite/libgomp.fortran/nested1.f90: Ditto.
5439         * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
5440         * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
5441         * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
5442         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5443         * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
5444         * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
5445         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5446         * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
5447         * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
5448         * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
5449         * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
5450         * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
5451         * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
5452         * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
5453         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5454         * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
5455         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5456         * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
5457         * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
5458         * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
5459         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
5460         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
5461         * testsuite/libgomp.fortran/pointer1.f90: Ditto.
5462         * testsuite/libgomp.fortran/pointer2.f90: Ditto.
5463         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5464         * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
5465         * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
5466         * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
5467         * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
5468         * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
5469         * testsuite/libgomp.fortran/pr28390.f: Ditto.
5470         * testsuite/libgomp.fortran/pr29629.f90: Ditto.
5471         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
5472         * testsuite/libgomp.fortran/pr33880.f90: Ditto.
5473         * testsuite/libgomp.fortran/pr34020.f90: Ditto.
5474         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5475         * testsuite/libgomp.fortran/pr42162.f90: Ditto.
5476         * testsuite/libgomp.fortran/pr46753.f90: Ditto.
5477         * testsuite/libgomp.fortran/pr48894.f90: Ditto.
5478         * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
5479         * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
5480         * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
5481         * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
5482         * testsuite/libgomp.fortran/pr65597.f90: Ditto.
5483         * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
5484         * testsuite/libgomp.fortran/pr71014.f90: Ditto.
5485         * testsuite/libgomp.fortran/pr81304.f90: Ditto.
5486         * testsuite/libgomp.fortran/pr81841.f90: Ditto.
5487         * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
5488         * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
5489         * testsuite/libgomp.fortran/procptr1.f90: Ditto.
5490         * testsuite/libgomp.fortran/recursion1.f90: Ditto.
5491         * testsuite/libgomp.fortran/reduction1.f90: Ditto.
5492         * testsuite/libgomp.fortran/reduction2.f90: Ditto.
5493         * testsuite/libgomp.fortran/reduction3.f90: Ditto.
5494         * testsuite/libgomp.fortran/reduction4.f90: Ditto.
5495         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5496         * testsuite/libgomp.fortran/reduction6.f90: Ditto.
5497         * testsuite/libgomp.fortran/reference1.f90: Ditto.
5498         * testsuite/libgomp.fortran/reference2.f90: Ditto.
5499         * testsuite/libgomp.fortran/retval1.f90: Ditto.
5500         * testsuite/libgomp.fortran/retval2.f90: Ditto.
5501         * testsuite/libgomp.fortran/sharing1.f90: Ditto.
5502         * testsuite/libgomp.fortran/sharing2.f90: Ditto.
5503         * testsuite/libgomp.fortran/simd1.f90: Ditto.
5504         * testsuite/libgomp.fortran/simd2.f90: Ditto.
5505         * testsuite/libgomp.fortran/simd3.f90: Ditto.
5506         * testsuite/libgomp.fortran/simd4.f90: Ditto.
5507         * testsuite/libgomp.fortran/simd5.f90: Ditto.
5508         * testsuite/libgomp.fortran/simd6.f90: Ditto.
5509         * testsuite/libgomp.fortran/simd7.f90: Ditto.
5510         * testsuite/libgomp.fortran/stack.f90: Ditto.
5511         * testsuite/libgomp.fortran/strassen.f90: Ditto.
5512         * testsuite/libgomp.fortran/tabs1.f90: Ditto.
5513         * testsuite/libgomp.fortran/tabs2.f: Ditto.
5514         * testsuite/libgomp.fortran/target1.f90: Ditto.
5515         * testsuite/libgomp.fortran/target2.f90: Ditto.
5516         * testsuite/libgomp.fortran/target3.f90: Ditto.
5517         * testsuite/libgomp.fortran/target4.f90: Ditto.
5518         * testsuite/libgomp.fortran/target5.f90: Ditto.
5519         * testsuite/libgomp.fortran/target6.f90: Ditto.
5520         * testsuite/libgomp.fortran/target7.f90: Ditto.
5521         * testsuite/libgomp.fortran/target8.f90: Ditto.
5522         * testsuite/libgomp.fortran/task1.f90: Ditto.
5523         * testsuite/libgomp.fortran/task2.f90: Ditto.
5524         * testsuite/libgomp.fortran/task3.f90: Ditto.
5525         * testsuite/libgomp.fortran/task4.f90: Ditto.
5526         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5527         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5528         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5529         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5530         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5531         * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
5532         * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
5533         * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
5534         * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
5535         * testsuite/libgomp.fortran/udr1.f90: Ditto.
5536         * testsuite/libgomp.fortran/udr10.f90: Ditto.
5537         * testsuite/libgomp.fortran/udr11.f90: Ditto.
5538         * testsuite/libgomp.fortran/udr12.f90: Ditto.
5539         * testsuite/libgomp.fortran/udr13.f90: Ditto.
5540         * testsuite/libgomp.fortran/udr14.f90: Ditto.
5541         * testsuite/libgomp.fortran/udr15.f90: Ditto.
5542         * testsuite/libgomp.fortran/udr2.f90: Ditto.
5543         * testsuite/libgomp.fortran/udr3.f90: Ditto.
5544         * testsuite/libgomp.fortran/udr4.f90: Ditto.
5545         * testsuite/libgomp.fortran/udr5.f90: Ditto.
5546         * testsuite/libgomp.fortran/udr6.f90: Ditto.
5547         * testsuite/libgomp.fortran/udr7.f90: Ditto.
5548         * testsuite/libgomp.fortran/udr8.f90: Ditto.
5549         * testsuite/libgomp.fortran/udr9.f90: Ditto.
5550         * testsuite/libgomp.fortran/vla1.f90: Ditto.
5551         * testsuite/libgomp.fortran/vla2.f90: Ditto.
5552         * testsuite/libgomp.fortran/vla3.f90: Ditto.
5553         * testsuite/libgomp.fortran/vla4.f90: Ditto.
5554         * testsuite/libgomp.fortran/vla5.f90: Ditto.
5555         * testsuite/libgomp.fortran/vla6.f90: Ditto.
5556         * testsuite/libgomp.fortran/vla7.f90: Ditto.
5557         * testsuite/libgomp.fortran/vla8.f90: Ditto.
5558         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5559         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5561 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
5563         * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
5564         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
5565         Ditto; add 'dg-do run' for torture testing.
5566         * testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
5567         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5568         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5569         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5570         * testsuite/libgomp.fortran/pr28390.f: Ditto.
5571         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5572         * testsuite/libgomp.fortran/pr90779.f90: Ditto.
5573         * testsuite/libgomp.fortran/task2.f90: Ditto.
5574         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5575         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5576         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5577         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5578         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5579         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5581 2019-10-28  Tobias Burnus  <tobias@codesourcery.com>
5583         * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
5584         * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
5585         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
5586         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
5587         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
5588         * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
5589         * testsuite/libgomp.oacc-fortran/common-block-1.f90:
5590         Use 'stop' not abort().
5591         * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
5592         * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
5593         * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
5594         * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
5595         * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
5596         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
5597         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
5598         * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
5599         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
5600         * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
5601         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
5602         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
5603         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
5604         * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
5605         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
5606         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
5607         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5608         Ditto.
5609         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5610         Ditto.
5611         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5612         Ditto.
5613         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5614         Ditto.
5615         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5616         Ditto.
5617         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
5618         Ditto.
5619         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
5620         Ditto.
5621         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
5622         Ditto.
5623         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
5624         Ditto.
5625         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
5626         Ditto.
5627         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
5628         Ditto.
5629         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
5630         Ditto.
5631         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
5632         Ditto.
5633         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
5634         Ditto.
5635         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
5636         * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
5637         * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
5638         * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
5639         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5640         Likewise and also add 'dg-do run'.
5641         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5642         Ditto.
5644 2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
5645             Tobias Burnus  <tobias@codesourcery.com>
5647         * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
5648         * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
5649         * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
5651 2019-10-14  Jakub Jelinek  <jakub@redhat.com>
5653         PR libgomp/92081
5654         * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
5655         than 0.
5657 2019-10-11  Tobias Burnus  <tobias@codesourcery.com>
5659         * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
5660         * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
5662 2019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
5664         PR middle-end/92036
5665         * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
5666         file.
5668 2019-10-09  Tobias Burnus  <tobias@codesourcery.com>
5670         PR testsuite/91884
5671         * testsuite/libgomp.fortran/fortran.exp: Conditionally
5672         add -lquadmath.
5673         * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
5675 2019-10-09  Jakub Jelinek  <jakub@redhat.com>
5677         PR libgomp/92028
5678         * target.c (gomp_map_vars_internal): Readd the previous
5679         GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
5680         though do that just in the !not_found_cnt case.
5682 2019-10-08  Tobias Burnus  <tobias@codesourcery.com>
5684         * gfortran.dg/gomp/target-simd.f90: New.
5686 2019-10-02  Julian Brown  <julian@codesourcery.com>
5687             Cesar Philippidis  <cesar@codesourcery.com>
5689         * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
5690         * target.c (FIELD_TGT_EMPTY): Define.
5691         (gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
5692         as switch instead of list of ifs.
5693         (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
5695 2019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
5697         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
5698         include. Replace alloca () with __builtin_alloca ().
5699         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
5701 2019-10-01  Jakub Jelinek  <jakub@redhat.com>
5703         * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
5704         * libgomp.h: Include <stdint.h> instead of "gstdint.h".
5705         * oacc-parallel.c: Don't include "libgomp_g.h".
5706         * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
5707         * plugin/plugin-nvptx.c: Don't include "gstdint.h".
5708         * aclocal.m4: Regenerated.
5709         * config.h.in: Regenerated.
5710         * configure: Regenerated.
5711         * Makefile.in: Regenerated.
5713 2019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
5715         * libgomp_g.h: Include stdint.h instead of gstdint.h.
5717 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
5719         * configure: Regenerate.
5721 2019-09-13  Tobias Burnus  <tobias@codesourcery.com>
5723         * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
5724         string is initialized.
5726 2019-09-06  Florian Weimer  <fweimer@redhat.com>
5728         * configure: Regenerate.
5730 2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
5732         PR other/79543
5733         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
5734         scanning to conform to the GNU Coding Standards.
5735         * configure: Regenerate.
5737 2019-08-28  Jakub Jelinek  <jakub@redhat.com>
5739         PR libgomp/91530
5740         * testsuite/libgomp.c/scan-21.c: New test.
5741         * testsuite/libgomp.c/scan-22.c: New test.
5743 2019-08-27  Jakub Jelinek  <jakub@redhat.com>
5745         PR libgomp/91530
5746         * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
5747         targets.
5748         * testsuite/libgomp.c/scan-12.c: Likewise.
5749         * testsuite/libgomp.c/scan-13.c: Likewise.
5750         * testsuite/libgomp.c/scan-14.c: Likewise.
5751         * testsuite/libgomp.c/scan-15.c: Likewise.
5752         * testsuite/libgomp.c/scan-16.c: Likewise.
5753         * testsuite/libgomp.c/scan-17.c: Likewise.
5754         * testsuite/libgomp.c/scan-18.c: Likewise.
5755         * testsuite/libgomp.c/scan-19.c: Likewise.
5756         * testsuite/libgomp.c/scan-20.c: Likewise.
5757         * testsuite/libgomp.c++/scan-9.C: Likewise.
5758         * testsuite/libgomp.c++/scan-10.C: Likewise.
5759         * testsuite/libgomp.c++/scan-11.C: Likewise.
5760         * testsuite/libgomp.c++/scan-12.C: Likewise.
5761         * testsuite/libgomp.c++/scan-14.C: Likewise.
5762         * testsuite/libgomp.c++/scan-15.C: Likewise.
5763         * testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
5764         instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
5765         * testsuite/libgomp.c++/scan-16.C: Likewise.
5767 2019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
5769         PR fortran/91473
5770         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
5771         -std=legacy so invalid code in the test case is accepted.
5773 2019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
5775         PR fortran/91422
5776         * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
5777         dimension.
5779 2019-08-08  Jakub Jelinek  <jakub@redhat.com>
5781         * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
5782         perform the lookup in the first loop only if !not_found_cnt, otherwise
5783         perform lookups for it in the second loop guarded with
5784         if (not_found_cnt || has_firstprivate).
5785         * testsuite/libgomp.c/target-37.c: New test.
5786         * testsuite/libgomp.c++/target-22.C: New test.
5788 2019-08-07  Jakub Jelinek  <jakub@redhat.com>
5790         * testsuite/libgomp.c/target-18.c (struct S): New type.
5791         (foo): Use use_device_addr clause instead of use_device_ptr clause
5792         where required by OpenMP 5.0, add further tests for both use_device_ptr
5793         and use_device_addr clauses.
5794         * testsuite/libgomp.c++/target-9.C (struct S): New type.
5795         (foo): Use use_device_addr clause instead of use_device_ptr clause
5796         where required by OpenMP 5.0, add further tests for both use_device_ptr
5797         and use_device_addr clauses.  Add t and u arguments.
5798         (main): Adjust caller.
5800 2019-08-06  Jakub Jelinek  <jakub@redhat.com>
5802         * testsuite/libgomp.c++/loop-13.C: New test.
5803         * testsuite/libgomp.c++/loop-14.C: New test.
5804         * testsuite/libgomp.c++/loop-15.C: New test.
5806 2019-07-31  Jakub Jelinek  <jakub@redhat.com>
5808         PR middle-end/91301
5809         * testsuite/libgomp.c++/for-27.C: New test.
5811 2019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
5813         * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
5814         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5816 2019-07-20  Jakub Jelinek  <jakub@redhat.com>
5818         * testsuite/libgomp.c-c++-common/loop-1.c: New test.
5820 2019-07-08  Jakub Jelinek  <jakub@redhat.com>
5822         * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
5823         * testsuite/libgomp.c++/scan-16.C: Likewise.
5825 2019-07-06  Jakub Jelinek  <jakub@redhat.com>
5827         * testsuite/libgomp.c/scan-19.c: New test.
5828         * testsuite/libgomp.c/scan-20.c: New test.
5830         * testsuite/libgomp.c/scan-11.c: New test.
5831         * testsuite/libgomp.c/scan-12.c: New test.
5832         * testsuite/libgomp.c/scan-13.c: New test.
5833         * testsuite/libgomp.c/scan-14.c: New test.
5834         * testsuite/libgomp.c/scan-15.c: New test.
5835         * testsuite/libgomp.c/scan-16.c: New test.
5836         * testsuite/libgomp.c/scan-17.c: New test.
5837         * testsuite/libgomp.c/scan-18.c: New test.
5838         * testsuite/libgomp.c++/scan-9.C: New test.
5839         * testsuite/libgomp.c++/scan-10.C: New test.
5840         * testsuite/libgomp.c++/scan-11.C: New test.
5841         * testsuite/libgomp.c++/scan-12.C: New test.
5842         * testsuite/libgomp.c++/scan-13.C: New test.
5843         * testsuite/libgomp.c++/scan-14.C: New test.
5844         * testsuite/libgomp.c++/scan-15.C: New test.
5845         * testsuite/libgomp.c++/scan-16.C: New test.
5847 2019-07-04  Jakub Jelinek  <jakub@redhat.com>
5849         * testsuite/libgomp.c/scan-9.c: New test.
5850         * testsuite/libgomp.c/scan-10.c: New test.
5852 2019-07-03  Jakub Jelinek  <jakub@redhat.com>
5854         * testsuite/libgomp.c++/scan-1.C: New test.
5855         * testsuite/libgomp.c++/scan-2.C: New test.
5856         * testsuite/libgomp.c++/scan-3.C: New test.
5857         * testsuite/libgomp.c++/scan-4.C: New test.
5858         * testsuite/libgomp.c++/scan-5.C: New test.
5859         * testsuite/libgomp.c++/scan-6.C: New test.
5860         * testsuite/libgomp.c++/scan-7.C: New test.
5861         * testsuite/libgomp.c++/scan-8.C: New test.
5862         * testsuite/libgomp.c/scan-1.c: New test.
5863         * testsuite/libgomp.c/scan-2.c: New test.
5864         * testsuite/libgomp.c/scan-3.c: New test.
5865         * testsuite/libgomp.c/scan-4.c: New test.
5866         * testsuite/libgomp.c/scan-5.c: New test.
5867         * testsuite/libgomp.c/scan-6.c: New test.
5868         * testsuite/libgomp.c/scan-7.c: New test.
5869         * testsuite/libgomp.c/scan-8.c: New test.
5871 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
5873         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
5874         * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
5875         Likewise.
5877         * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
5878         check.
5880 2019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
5882         * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
5883         file.
5885 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
5887         PR fortran/90743
5888         * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
5889         case.
5890         * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
5891         * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
5892         * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
5893         * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
5895         PR testsuite/90861
5896         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
5898         PR middle-end/90862
5899         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
5901 2019-06-16  Tom de Vries  <tdevries@suse.de>
5903         PR tree-optimization/89376
5904         * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
5906 2019-06-15  Tom de Vries  <tdevries@suse.de>
5908         PR tree-optimization/89713
5909         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
5910         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
5912 2019-06-15  Jakub Jelinek  <jakub@redhat.com>
5914         PR middle-end/90779
5915         * testsuite/libgomp.c/pr90779.c: New test.
5916         * testsuite/libgomp.fortran/pr90779.f90: New test.
5918 2019-06-15  Tom de Vries  <tdevries@suse.de>
5920         PR tree-optimization/90009
5921         * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
5923 2019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
5925         PR tree-optimization/89713
5926         * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
5928 2019-06-11  Jakub Jelinek  <jakub@redhat.com>
5930         PR target/90811
5931         * testsuite/libgomp.c/pr90811.c: New test.
5933 2019-06-05  Jakub Jelinek  <jakub@redhat.com>
5935         * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
5936         * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
5938 2019-06-04  Jakub Jelinek  <jakub@redhat.com>
5940         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
5941         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
5942         * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
5943         * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
5945 2019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5947         * configure.ac: Call AX_COUNT_CPUS.
5948         Substitute CPU_COUNT.
5949         * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
5950         count fallback.
5951         * aclocal.m4: Regenerate.
5952         * configure: Regenerate.
5953         * Makefile.in, testsuite/Makefile.in: Regenerate.
5955 2019-05-29  Jakub Jelinek  <jakub@redhat.com>
5957         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
5958         to ...
5959         * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
5960         * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
5961         * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
5963 2019-05-27  Jakub Jelinek  <jakub@redhat.com>
5965         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
5967         * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
5969         PR libgomp/90641
5970         * work.c (gomp_init_work_share): Instead of aligning final ordered
5971         value to multiples of long long alignment, align to that the
5972         first part (ordered team ids) and if inline_ordered_team_ids
5973         is not on a long long alignment boundary within the structure,
5974         use __alignof__ (long long) - 1 pad size always.
5975         * loop.c (GOMP_loop_start): Fix *mem computation if
5976         inline_ordered_team_ids is not aligned on long long alignment boundary
5977         within the structure.
5978         * loop-ull.c (GOMP_loop_ull_start): Likewise.
5979         * sections.c (GOMP_sections2_start): Likewise.
5981 2019-05-24  Jakub Jelinek  <jakub@redhat.com>
5983         * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
5984         * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
5986         PR libgomp/90585
5987         * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
5988         HAVE_INTTYPES_H is defined.
5989         (print_uint64_t): New typedef.
5990         (PRIu64): Define if HAVE_INTTYPES_H is not defined.
5991         (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
5992         "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
5993         (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
5994         before casting to void *.
5995         * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
5996         * oacc-mem.c: Don't include config.h nor stdint.h.
5997         * target.c: Don't include config.h.
5998         * oacc-cuda.c: Likewise.
5999         * oacc-host.c: Don't include stdint.h.
6001 2019-05-20  Jakub Jelinek  <jakub@redhat.com>
6003         PR libgomp/90527
6004         * alloc.c (_GNU_SOURCE): Define.
6006 2019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
6008         * acc_prof.h: New file.
6009         * oacc-profiling.c: Likewise.
6010         * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6011         Add these, respectively.
6012         * Makefile.in: Regenerate.
6013         * env.c (initialize_env): Call goacc_profiling_initialize.
6014         * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6015         (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6016         * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6017         (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6018         * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6019         acc_prof_register, acc_prof_unregister, and acc_register_library.
6020         (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6021         GOMP_PLUGIN_goacc_thread.
6022         * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6023         prof_callbacks_enabled members.
6024         (goacc_prof_enabled, goacc_profiling_initialize)
6025         (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6026         (goacc_profiling_dispatch): Declare.
6027         (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6028         (GOACC_PROFILING_SETUP_P): Define.
6029         * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6030         (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6031         OpenACC Profiling Interface.
6032         * oacc-cuda.c (acc_get_current_cuda_device)
6033         (acc_get_current_cuda_context, acc_get_cuda_stream)
6034         (acc_set_cuda_stream): Likewise.
6035         * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6036         (acc_init, acc_set_device_type, acc_get_device_type)
6037         (acc_get_device_num, goacc_lazy_initialize): Likewise.
6038         * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6039         (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6040         (acc_unmap_data, present_create_copy, delete_copyout)
6041         (update_dev_host): Likewise.
6042         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6043         (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6044         Likewise.
6045         * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6046         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6047         Likewise.
6048         * libgomp.texi: Update.
6049         * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6050         file.
6051         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6052         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6053         Likewise.
6054         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6055         Likewise.
6056         * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6057         Likewise.
6058         * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6059         Likewise.
6061 2019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
6063         * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6064         (struct goacc_asyncqueue_list): Likewise.
6065         (goacc_aq): Likewise.
6066         (goacc_aq_list): Likewise.
6067         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6068         (GOMP_OFFLOAD_openacc_async_test): Remove.
6069         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6070         (GOMP_OFFLOAD_openacc_async_wait): Remove.
6071         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6072         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6073         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6074         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6075         (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6076         (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6077         (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6078         (GOMP_OFFLOAD_openacc_async_exec): Declare.
6079         (GOMP_OFFLOAD_openacc_async_construct): Declare.
6080         (GOMP_OFFLOAD_openacc_async_destruct): Declare.
6081         (GOMP_OFFLOAD_openacc_async_test): Declare.
6082         (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6083         (GOMP_OFFLOAD_openacc_async_serialize): Declare.
6084         (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6085         (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6086         (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6088         * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6089         (gomp_acc_insert_pointer): Adjust declaration.
6090         (gomp_copy_host2dev): New declaration.
6091         (gomp_copy_dev2host): Likewise.
6092         (gomp_map_vars_async): Likewise.
6093         (gomp_unmap_tgt): Likewise.
6094         (gomp_unmap_vars_async): Likewise.
6095         (gomp_fini_device): Likewise.
6097         * oacc-async.c (get_goacc_thread): New function.
6098         (get_goacc_thread_device): New function.
6099         (lookup_goacc_asyncqueue): New function.
6100         (get_goacc_asyncqueue): New function.
6101         (acc_async_test): Adjust code to use new async design.
6102         (acc_async_test_all): Likewise.
6103         (acc_wait): Likewise.
6104         (acc_wait_async): Likewise.
6105         (acc_wait_all): Likewise.
6106         (acc_wait_all_async): Likewise.
6107         (goacc_async_free): New function.
6108         (goacc_init_asyncqueues): Likewise.
6109         (goacc_fini_asyncqueues): Likewise.
6110         * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6111         design.
6112         (acc_set_cuda_stream): Likewise.
6113         * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6114         (host_openacc_register_async_cleanup): Remove.
6115         (host_openacc_async_exec): New function.
6116         (host_openacc_async_test): Adjust parameters.
6117         (host_openacc_async_test_all): Remove.
6118         (host_openacc_async_wait): Remove.
6119         (host_openacc_async_wait_async): Remove.
6120         (host_openacc_async_wait_all): Remove.
6121         (host_openacc_async_wait_all_async): Remove.
6122         (host_openacc_async_set_async): Remove.
6123         (host_openacc_async_synchronize): New function.
6124         (host_openacc_async_serialize): New function.
6125         (host_openacc_async_host2dev): New function.
6126         (host_openacc_async_dev2host): New function.
6127         (host_openacc_async_queue_callback): New function.
6128         (host_openacc_async_construct): New function.
6129         (host_openacc_async_destruct): New function.
6130         (struct gomp_device_descr host_dispatch): Remove initialization of old
6131         interface, add initialization of new async sub-struct.
6132         * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6133         (goacc_attach_host_thread_to_device): Remove old async code usage.
6134         * oacc-int.h (goacc_init_asyncqueues): New declaration.
6135         (goacc_fini_asyncqueues): Likewise.
6136         (goacc_async_copyout_unmap_vars): Likewise.
6137         (goacc_async_free): Likewise.
6138         (get_goacc_asyncqueue): Likewise.
6139         (lookup_goacc_asyncqueue): Likewise.
6140         * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6141         design.
6142         (present_create_copy): Adjust code to use new async design.
6143         (delete_copyout): Likewise.
6144         (update_dev_host): Likewise.
6145         (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6146         async design.
6147         (gomp_acc_remove_pointer): Adjust code to use new async design.
6148         * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6149         design.
6150         (GOACC_enter_exit_data): Likewise.
6151         (goacc_wait): Likewise.
6152         (GOACC_update): Likewise.
6153         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6154         when called, warn as obsolete in comment.
6155         * target.c (goacc_device_copy_async): New function.
6156         (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6157         add goacc_device_copy_async case.
6158         (gomp_copy_dev2host): Likewise.
6159         (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6160         (gomp_map_pointer): Likewise.
6161         (gomp_map_fields_existing): Likewise.
6162         (gomp_map_vars_internal): New always_inline function, renamed from
6163         gomp_map_vars.
6164         (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6165         (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6166         passing goacc_asyncqueue argument.
6167         (gomp_unmap_tgt): Remove static, add attribute_hidden.
6168         (gomp_unref_tgt): New function.
6169         (gomp_unmap_vars_internal): New always_inline function, renamed from
6170         gomp_unmap_vars.
6171         (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6172         (gomp_unmap_vars_async): Implement by calling
6173         gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6174         (gomp_fini_device): New function.
6175         (gomp_exit_data): Adjust gomp_copy_dev2host call.
6176         (gomp_load_plugin_for_device): Remove old interface, adjust to load
6177         new async interface.
6178         (gomp_target_fini): Adjust code to call gomp_fini_device.
6180         * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6181         (struct ptx_stream): Remove.
6182         (struct nvptx_thread): Remove current_stream field.
6183         (cuda_map_create): Remove.
6184         (cuda_map_destroy): Remove.
6185         (map_init): Remove.
6186         (map_fini): Remove.
6187         (map_pop): Remove.
6188         (map_push): Remove.
6189         (struct goacc_asyncqueue): Define.
6190         (struct nvptx_callback): Define.
6191         (struct ptx_free_block): Define.
6192         (struct ptx_device): Remove null_stream, active_streams, async_streams,
6193         stream_lock, and next fields.
6194         (enum ptx_event_type): Remove.
6195         (struct ptx_event): Remove.
6196         (ptx_event_lock): Remove.
6197         (ptx_events): Remove.
6198         (init_streams_for_device): Remove.
6199         (fini_streams_for_device): Remove.
6200         (select_stream_for_async): Remove.
6201         (nvptx_init): Remove ptx_events and ptx_event_lock references.
6202         (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6203         case.
6204         (nvptx_open_device): Add free_blocks initialization, remove
6205         init_streams_for_device call.
6206         (nvptx_close_device): Remove fini_streams_for_device call, add
6207         free_blocks destruct code.
6208         (event_gc): Remove.
6209         (event_add): Remove.
6210         (nvptx_exec): Adjust parameters and code.
6211         (nvptx_free): Likewise.
6212         (nvptx_host2dev): Remove.
6213         (nvptx_dev2host): Remove.
6214         (nvptx_set_async): Remove.
6215         (nvptx_async_test): Remove.
6216         (nvptx_async_test_all): Remove.
6217         (nvptx_wait): Remove.
6218         (nvptx_wait_async): Remove.
6219         (nvptx_wait_all): Remove.
6220         (nvptx_wait_all_async): Remove.
6221         (nvptx_get_cuda_stream): Remove.
6222         (nvptx_set_cuda_stream): Remove.
6223         (GOMP_OFFLOAD_alloc): Adjust code.
6224         (GOMP_OFFLOAD_free): Likewise.
6225         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6226         (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6227         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6228         (GOMP_OFFLOAD_openacc_async_wait): Remove.
6229         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6230         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6231         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6232         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6233         (cuda_free_argmem): New function.
6234         (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6235         (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6236         (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6237         (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6238         (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6239         (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6240         (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6241         (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6242         (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6243         (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6244         (cuda_callback_wrapper): New function.
6245         (cuda_memcpy_sanity_check): New function.
6246         (GOMP_OFFLOAD_host2dev): Remove and re-implement.
6247         (GOMP_OFFLOAD_dev2host): Remove and re-implement.
6248         (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6249         (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6251 2019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
6253         PR target/87835
6254         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6256 2019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
6258         * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6260 2019-03-27  Kevin Buettner  <kevinb@redhat.com>
6262         * team.c (gomp_team_start): Initialize pool->threads[0].
6264 2019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
6266         * testsuite/libgomp.oacc-c++/c++.exp: Specify
6267         "-foffload=$offload_target".
6268         * testsuite/libgomp.oacc-c/c.exp: Likewise.
6269         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6270         * testsuite/lib/libgomp.exp
6271         (check_effective_target_openacc_nvidia_accel_configured): Remove,
6272         as (conceptually) merged into
6273         check_effective_target_openacc_nvidia_accel_selected.  Adjust all
6274         users.
6276         * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6277         * testsuite/libgomp-test-support.exp.in: Adjust.
6278         * testsuite/lib/libgomp.exp: Likewise.  Don't populate
6279         openacc_device_types_s.
6280         (offload_target_to_openacc_device_type): New proc.
6281         * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6282         * testsuite/libgomp.oacc-c/c.exp: Likewise.
6283         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6284         * Makefile.in: Regenerate.
6285         * configure: Likewise.
6286         * testsuite/Makefile.in: Likewise.
6288         * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
6289         instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
6290         instead of OFFLOAD_TARGETS.
6291         * target.c (gomp_target_init): Adjust.
6292         * testsuite/libgomp-test-support.exp.in: Likewise.
6293         * testsuite/lib/libgomp.exp: Likewise.  Populate
6294         openacc_device_types_s instead of offload_targets_s_openacc.
6295         (check_effective_target_openacc_nvidia_accel_selected)
6296         (check_effective_target_openacc_host_selected): Adjust.
6297         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6298         * testsuite/libgomp.oacc-c/c.exp: Likewise.
6299         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6300         * Makefile.in: Regenerate.
6301         * config.h.in: Likewise.
6302         * configure: Likewise.
6303         * testsuite/Makefile.in: Likewise.
6305         * testsuite/lib/libgomp.exp: Error out for unknown offload target.
6306         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
6307         "offloading: supported, but hardware not accessible".
6308         * testsuite/libgomp.oacc-c/c.exp: Likewise.
6309         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6311 2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
6313         PR c/87924
6314         * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6315         goacc_wait().
6316         (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6317         and related adjustment.
6319 2019-01-30  Jakub Jelinek  <jakub@redhat.com>
6321         PR c++/88988
6322         * testsuite/libgomp.c++/pr88988.C: New test.
6324 2019-01-28  Jakub Jelinek  <jakub@redhat.com>
6326         PR middle-end/89002
6327         * testsuite/libgomp.c/pr89002.c: New test.
6329 2019-01-28  Richard Biener  <rguenther@suse.de>
6331         PR testsuite/89064
6332         PR tree-optimization/86865
6333         * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
6335 2019-01-24  Tom de Vries  <tdevries@suse.de>
6337         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
6338         once instantiated_devices drops to 0.
6340 2019-01-23  Tom de Vries  <tdevries@suse.de>
6342         PR target/PR88946
6343         * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
6344         cuMemFree.
6345         (nvptx_exec): Don't call map_push if mapnum == 0.
6346         * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
6348 2019-01-23  Tom de Vries  <tdevries@suse.de>
6350         PR target/88941
6351         PR target/88939
6352         * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
6353         (map_fini): Remove "assert (!s->map->active)".
6354         * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
6356 2019-01-23  Tom de Vries  <tdevries@suse.de>
6358         PR target/87835
6359         * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
6360         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
6362 2019-01-15  Tom de Vries  <tdevries@suse.de>
6364         PR target/80547
6365         * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
6366         New test.
6368 2019-01-12  Tom de Vries  <tdevries@suse.de>
6370         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
6371         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
6372         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
6373         * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
6375 2019-01-12  Tom de Vries  <tdevries@suse.de>
6377         * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
6379 2019-01-12  Tom de Vries  <tdevries@suse.de>
6381         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
6382         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
6383         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
6385 2019-01-12  Tom de Vries  <tdevries@suse.de>
6387         PR target/85486
6388         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
6389         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
6391 2019-01-12  Tom de Vries  <tdevries@suse.de>
6393         PR target/85381
6394         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
6395         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
6397 2019-01-12  Tom de Vries  <tdevries@suse.de>
6399         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
6400         * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
6401         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
6403 2019-01-12  Tom de Vries  <tdevries@suse.de>
6405         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
6406         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
6407         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
6409 2019-01-12  Tom de Vries  <tdevries@suse.de>
6411         * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
6412         resources diagnostic.
6414 2019-01-12  Tom de Vries  <tdevries@suse.de>
6416         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
6417         vector length to be 128.
6418         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
6419         length 2097152 to be reduced to 1024 instead of 32.
6421 2019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
6422             James Norris  <jnorris@codesourcery.com>
6424         * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
6425         Library Routines", and "Environment Variables".
6427 2019-01-11  Tom de Vries  <tdevries@suse.de>
6429         * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
6430         num_workers 16.
6432 2019-01-11  Tom de Vries  <tdevries@suse.de>
6434         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
6435         -foffload=-w.
6436         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
6437         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
6438         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
6439         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
6441 2019-01-11  Tom de Vries  <tdevries@suse.de>
6443         * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
6444         test.
6446 2019-01-10  Nathan Sidwell  <nathan@acm.org>
6447             Julian Brown  <julian@codesourcery.com>
6449         PR lto/71959
6450         * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
6451         * testsuite/libgomp.oacc-c++/pr71959.C: New.
6453 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6455         * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
6456         and paste code.
6458 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6460         * config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
6461         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6462         write.
6464 2019-01-09  Tom de Vries  <tdevries@suse.de>
6466         PR target/88756
6467         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
6468         #define instead of "const int".
6469         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
6470         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
6471         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
6472         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
6474 2019-01-09  Tom de Vries  <tdevries@suse.de>
6476         * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
6477         one worker.
6479 2019-01-07  Tom de Vries  <tdevries@suse.de>
6481         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
6482         GOMP_OPENACC_DIM argument.
6484 2019-01-03  Tom de Vries  <tdevries@suse.de>
6486         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
6487         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
6489 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
6491         Update copyright years.
6493 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
6495         * libgomp.texi: Bump @copying's copyright year.
6497 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
6499         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
6500         (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
6501         (GOACC_declare): Redefine the "device" argument to "flags".
6503 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
6504             Cesar Philippidis  <cesar@codesourcery.com>
6506         * target.c (struct gomp_coalesce_chunk): New structure.
6507         (struct gomp_coalesce_buf): Update the chunks member to use that
6508         type.  Adjust all users.
6510 2018-12-19  Tom de Vries  <tdevries@suse.de>
6512         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
6513         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
6514         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
6516 2018-12-19  Tom de Vries  <tdevries@suse.de>
6518         * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
6519         * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
6520         gcc/testsuite/gcc.dg/goacc.
6521         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
6523 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
6524             Chung-Lin Tang  <cltang@codesourcery.com>
6526         * oacc-mem.c (acc_present_or_create): Remove definition and change
6527         to alias of acc_create.
6528         (acc_present_or_copyin): Remove definition and change to alias of
6529         acc_copyin.
6530         * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
6531         of acc_present_or_create.
6532         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
6533         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6534         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6535         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6536         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6537         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6538         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6539         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6540         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6541         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6542         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6543         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6544         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6545         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6546         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6547         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6549 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
6551         PR libgomp/88495
6552         * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
6553         "identical parameters".
6554         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
6555         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
6557         PR libgomp/88484
6558         * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
6559         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
6561         PR libgomp/88407
6562         * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
6563         (nvptx_wait_async): Unseen async-argument is a no-op.
6564         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
6565         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
6566         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6567         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6568         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6569         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
6570         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
6571         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
6572         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
6574         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
6575         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6577 2018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
6579         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
6580         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6581         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6583 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
6585         PR libgomp/88370
6586         * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
6587         (acc_set_cuda_stream): Clarify.
6588         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6589         "async_valid_p".
6590         * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
6591         acc_async_sync".
6592         * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
6593         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
6594         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
6595         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6597 2018-12-14  Tom de Vries  <tdevries@suse.de>
6599         * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
6600         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
6601         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
6602         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
6603         * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
6605 2018-12-13  Tom de Vries  <tdevries@suse.de>
6607         * affinity-fmt.c (gomp_print_string): New function, factored out of ...
6608         (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
6609         * fortran.c (omp_display_affinity_): ... here.
6610         * libgomp.h (gomp_print_string): Declare.
6611         * config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
6612         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6613         write.
6615 2018-12-13  Jakub Jelinek  <jakub@redhat.com>
6617         PR libgomp/88460
6618         * testsuite/libgomp.c++/for-24.C (results): Include it in
6619         omp declare target region.
6620         (main): Use map (always, tofrom: results) instead of
6621         map (tofrom: results).
6623 2018-12-12  Jakub Jelinek  <jakub@redhat.com>
6625         PR fortran/88463
6626         * testsuite/libgomp.fortran/pr88463-1.f90: New test.
6627         * testsuite/libgomp.fortran/pr88463-2.f90: New test.
6629         * testsuite/libgomp.c-c++-common/for-16.c: New test.
6631 2018-12-12  Andreas Schwab  <schwab@suse.de>
6633         * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
6634         clobbered.
6636 2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
6638         PR fortran/88411
6639         * testsuite/libgomp.fortran/async_io_8.f90: New test.
6641 2018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
6642             Jakub Jelinek  <jakub@redhat.com>
6644         * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
6645         devicep->host2dev_func.
6647 2018-12-08  Jakub Jelinek  <jakub@redhat.com>
6649         PR libgomp/87995
6650         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
6651         tls_runtime effective target.
6652         (t): New threadprivate variable.
6653         (main): Set t in threads which execute iterations of the worksharing
6654         loop.  Propagate that to the task after the loop and don't abort
6655         if the current taskgroup hasn't been cancelled.
6657 2018-12-02  Jakub Jelinek  <jakub@redhat.com>
6659         * testsuite/libgomp.c/task-reduction-3.c: New test.
6661         * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
6663 2018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
6665         PR libgomp/88288
6666         * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
6667         * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
6669 2018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
6671         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
6673 2018-10-19  Richard Biener  <rguenther@suse.de>
6675         PR tree-optimization/88182
6676         * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
6678 2018-11-26  Jakub Jelinek  <jakub@redhat.com>
6680         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
6681         (RUNTEST): Don't define.
6682         (RUNTESTDEFAULTFLAGS): Add.
6683         (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
6684         (distclean-am): Depend on distclean-DEJAGNU.
6685         (check-am): If -j% option is present in MFLAGS and if
6686         `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
6687         (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
6688         * testsuite/Makefile.in: Regenerated.
6690 2018-11-26  Richard Biener  <rguenther@suse.de>
6692         PR tree-optimization/88182
6693         * testsuite/libgomp.c++/pr88182.C: New testcase.
6695 2018-11-20  Jakub Jelinek  <jakub@redhat.com>
6697         PR bootstrap/88106
6698         * config/mingw32/affinity-fmt.c: New file.
6700 2018-11-09  Jakub Jelinek  <jakub@redhat.com>
6702         * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
6703         (gomp_display_affinity): Use __builtin_choose_expr to handle
6704         properly handle argument having integral, or pointer or some other
6705         type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
6706         with uint64_t type instead of %llx and unsigned long long.
6708         * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
6709         * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
6711 2018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
6713         * affinity.c: Include <string.h>, <stdio.h>.
6714         (gomp_display_affinity_place): Remove cpusetp.
6715         * teams.c: Include <limits.h>.
6717 2018-11-08  Jakub Jelinek  <jakub@redhat.com>
6719         * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
6720         in_reduction clause for s[0].
6722         * affinity.c (gomp_display_affinity_place): New function.
6723         * affinity-fmt.c: New file.
6724         * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
6725         * config/linux/affinity.c (gomp_display_affinity_place): New function.
6726         * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
6727         Move these functions to ...
6728         * config/nvptx/teams.c: ... here.  New file.
6729         * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
6730         New functions.
6731         * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
6732         functions.
6733         * configure.ac: Check for aligned_alloc, posix_memalign, memalign
6734         and _aligned_malloc.
6735         (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
6736         * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
6737         * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
6738         gomp_affinity_format_len): New variables.
6739         (parse_schedule): Parse monotonic and nonmonotonic modifiers in
6740         OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
6741         (handle_omp_display_env): Display monotonic/nonmonotonic schedule
6742         modifiers.  Display (non-default) chunk sizes.  Print
6743         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
6744         (initialize_env): Don't call pthread_attr_setdetachstate.  Handle
6745         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
6746         * fortran.c: Include stdio.h and string.h.
6747         (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
6748         (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
6749         (omp_set_affinity_format_, omp_get_affinity_format_,
6750         omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
6751         omp_pause_resource_all_): New functions.
6752         * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
6753         switch.
6754         * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
6755         functions to ...
6756         * teams.c: ... here.  New file.
6757         * libgomp_g.h: Include gstdint.h.
6758         (GOMP_loop_nonmonotonic_runtime_start,
6759         GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
6760         GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
6761         GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
6762         GOMP_parallel_loop_nonmonotonic_runtime,
6763         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6764         GOMP_loop_ull_nonmonotonic_runtime_start,
6765         GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
6766         GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
6767         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6768         GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
6769         GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
6770         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6771         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6772         GOMP_teams_reg): Declare.
6773         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
6774         gomp_aligned_alloc uses fallback implementation.
6775         (gomp_aligned_alloc, gomp_aligned_free): Declare.
6776         (enum gomp_schedule_type): Add GFS_MONOTONIC.
6777         (struct gomp_doacross_work_share): Add extra field.
6778         (struct gomp_work_share): Add task_reductions field.
6779         (struct gomp_taskgroup): Add workshare and reductions fields.
6780         (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
6781         (gomp_thread_handle): New typedef.
6782         (gomp_display_affinity_place, gomp_set_affinity_format,
6783         gomp_display_string, gomp_display_affinity,
6784         gomp_display_affinity_thread): Declare.
6785         (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
6786         (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
6787         gomp_workshare_task_reduction_register): Declare.
6788         (gomp_team_start): Add taskgroup argument.
6789         (gomp_pause_host): Declare.
6790         (gomp_init_work_share, gomp_work_share_start): Change bool argument
6791         to size_t.
6792         (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
6793         * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
6794         GOMP_loop_ordered_start, GOMP_loop_doacross_start,
6795         GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6796         GOMP_loop_ull_doacross_start,
6797         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6798         GOMP_loop_maybe_nonmonotonic_runtime_next,
6799         GOMP_loop_maybe_nonmonotonic_runtime_start,
6800         GOMP_loop_nonmonotonic_runtime_next,
6801         GOMP_loop_nonmonotonic_runtime_start,
6802         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6803         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6804         GOMP_loop_ull_nonmonotonic_runtime_next,
6805         GOMP_loop_ull_nonmonotonic_runtime_start,
6806         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6807         GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
6808         GOMP_taskgroup_reduction_register,
6809         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6810         GOMP_teams_reg and GOMP_taskwait_depend.
6811         (OMP_5.0): Export omp_pause_resource{,_all}{,_},
6812         omp_{capture,display}_affinity{,_}, and
6813         omp_[gs]et_affinity_format{,_}.
6814         * loop.c: Include string.h.
6815         (GOMP_loop_runtime_next): Add ialias.
6816         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6817         (gomp_loop_static_start, gomp_loop_dynamic_start,
6818         gomp_loop_guided_start, gomp_loop_ordered_static_start,
6819         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6820         gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6821         gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
6822         or gomp_doacross_init callers.
6823         (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
6824         GOMP_loop_doacross_start): New functions.
6825         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6826         GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
6827         Mask off GFS_MONOTONIC bit.
6828         (GOMP_loop_maybe_nonmonotonic_runtime_next,
6829         GOMP_loop_maybe_nonmonotonic_runtime_start,
6830         GOMP_loop_nonmonotonic_runtime_next,
6831         GOMP_loop_nonmonotonic_runtime_start,
6832         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6833         GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
6834         functions.
6835         (gomp_parallel_loop_start): Pass NULL as taskgroup to
6836         gomp_team_start.
6837         * loop_ull.c: Include string.h.
6838         (GOMP_loop_ull_runtime_next): Add ialias.
6839         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6840         (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
6841         gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
6842         gomp_loop_ull_ordered_dynamic_start,
6843         gomp_loop_ull_ordered_guided_start,
6844         gomp_loop_ull_doacross_static_start,
6845         gomp_loop_ull_doacross_dynamic_start,
6846         gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
6847         and gomp_doacross_ull_init callers.
6848         (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6849         GOMP_loop_ull_doacross_start): New functions.
6850         (GOMP_loop_ull_runtime_start,
6851         GOMP_loop_ull_ordered_runtime_start,
6852         GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
6853         (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6854         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6855         GOMP_loop_ull_nonmonotonic_runtime_next,
6856         GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
6857         * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
6858         * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
6859         (omp_pause_resource_t, omp_depend_t): New typedefs.
6860         (enum omp_lock_hint_t): Renamed to ...
6861         (enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
6862         enumerators using numbers and omp_lock_hint_* as their aliases.
6863         (omp_lock_hint_t): New typedef.  Rename to ...
6864         (omp_sync_hint_t): ... this.
6865         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
6866         omp_sync_hint_t instead of omp_lock_hint_t.
6867         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6868         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6869         Declare.
6870         (omp_target_is_present, omp_target_disassociate_ptr):
6871         Change first argument from void * to const void *.
6872         (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
6873         from void * to const void *.
6874         (omp_target_associate_ptr): Change first and second arguments from
6875         void * to const void *.
6876         * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
6877         omp_pause_hard): New parameters.
6878         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6879         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6880         New interfaces.
6881         * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
6882         omp_pause_hard): New parameters.
6883         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6884         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6885         New externals.
6886         * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
6887         EXTRA argument.  If not needed to prepare array, if extra is 0,
6888         clear ws->doacross, otherwise allocate just doacross structure and
6889         extra payload.  If array is needed, allocate also extra payload.
6890         (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
6891         GOMP_doacross_ull_wait): Handle doacross->array == NULL like
6892         doacross == NULL.
6893         * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
6894         gomp_team_start.
6895         (GOMP_parallel): Likewise.  Formatting fix.
6896         (GOMP_parallel_reductions): New function.
6897         (GOMP_cancellation_point): If taskgroup has workshare
6898         flag set, check cancelled of prev taskgroup if any.
6899         (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
6900         on prev taskgroup if any.
6901         * sections.c: Include string.h.
6902         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6903         (GOMP_sections_start): Adjust gomp_work_share_start caller.
6904         (GOMP_sections2_start): New function.
6905         (GOMP_parallel_sections_start, GOMP_parallel_sections):
6906         Pass NULL as taskgroup to gomp_team_start.
6907         * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
6908         gomp_work_share_start callers.
6909         * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
6910         If taskgroup has workshare flag set, check cancelled on prev
6911         taskgroup if any.  Guard all cancellation tests with
6912         gomp_cancel_var test.
6913         (omp_target_is_present, omp_target_disassociate_ptr):
6914         Change ptr argument from void * to const void *.
6915         (omp_target_memcpy): Change src argument from void * to const void *.
6916         (omp_target_memcpy_rect): Likewise.
6917         (omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
6918         instead of char * where needed.
6919         (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
6920         from void * to const void *.
6921         (omp_pause_resource, omp_pause_resource_all): New functions.
6922         * task.c (gomp_task_handle_depend): Handle new depend array format
6923         in addition to the old.  Handle mutexinoutset kinds the same as
6924         inout for now, handle unspecified kinds.
6925         (gomp_create_target_task): If taskgroup has workshare flag set, check
6926         cancelled on prev taskgroup if any.  Guard all cancellation tests with
6927         gomp_cancel_var test.  Handle new depend array format count in
6928         addition to the old.
6929         (GOMP_task): Likewise.  Adjust function comment.
6930         (gomp_task_run_pre): If taskgroup has workshare flag set, check
6931         cancelled on prev taskgroup if any.  Guard all cancellation tests with
6932         gomp_cancel_var test.
6933         (GOMP_taskwait_depend): New function.
6934         (gomp_task_maybe_wait_for_dependencies): Handle new depend array
6935         format in addition to the old.  Handle mutexinoutset kinds the same as
6936         inout for now, handle unspecified kinds.  Fix a function comment typo.
6937         (gomp_taskgroup_init): New function.
6938         (GOMP_taskgroup_start): Use it.
6939         (gomp_reduction_register, gomp_create_artificial_team,
6940         GOMP_taskgroup_reduction_register,
6941         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6942         gomp_parallel_reduction_register,
6943         gomp_workshare_task_reduction_register,
6944         gomp_workshare_taskgroup_start,
6945         GOMP_workshare_task_reduction_unregister): New functions.
6946         * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
6947         check cancelled on prev taskgroup if any.  Guard all cancellation
6948         tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
6949         by calling GOMP_taskgroup_reduction_register.
6950         * team.c (gomp_thread_attr): Remove comment.
6951         (struct gomp_thread_start_data): Add handle field.
6952         (gomp_thread_start): Call pthread_detach.
6953         (gomp_new_team): Adjust gomp_init_work_share caller.
6954         (gomp_free_pool_helper): Call pthread_detach.
6955         (gomp_team_start): Add taskgroup argument, initialize implicit
6956         tasks' taskgroup field to that.  Don't call
6957         pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
6958         (gomp_team_end): Determine nesting by thr->ts.level != 0
6959         rather than thr->ts.team != NULL.
6960         (gomp_pause_pool_helper, gomp_pause_host): New functions.
6961         * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
6962         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
6963         (gomp_init_work_share): Change ORDERED argument from bool to size_t,
6964         if more than 1 allocate also extra payload at the end of array.  Never
6965         keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
6966         (gomp_work_share_start): Change ORDERED argument from bool to size_t,
6967         return true instead of ws.
6968         * Makefile.in: Regenerated.
6969         * configure: Regenerated.
6970         * config.h.in: Regenerated.
6971         * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
6972         in some cases.
6973         * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
6974         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
6975         * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
6976         * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
6977         * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
6978         * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
6979         * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
6980         * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
6981         * testsuite/libgomp.c-c++-common/for-10.c: New test.
6982         * testsuite/libgomp.c-c++-common/for-11.c: New test.
6983         * testsuite/libgomp.c-c++-common/for-12.c: New test.
6984         * testsuite/libgomp.c-c++-common/for-13.c: New test.
6985         * testsuite/libgomp.c-c++-common/for-14.c: New test.
6986         * testsuite/libgomp.c-c++-common/for-15.c: New test.
6987         * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
6988         define a different N(test), don't define N(f0) to N(f14), but instead
6989         define N(f20) to N(f34) using != comparisons.
6990         * testsuite/libgomp.c-c++-common/for-7.c: New test.
6991         * testsuite/libgomp.c-c++-common/for-8.c: New test.
6992         * testsuite/libgomp.c-c++-common/for-9.c: New test.
6993         * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
6994         * testsuite/libgomp.c-c++-common/pause-1.c: New test.
6995         * testsuite/libgomp.c-c++-common/pause-2.c: New test.
6996         * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
6997         * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
6998         * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
6999         * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7000         * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7001         * testsuite/libgomp.c-c++-common/simd-1.c: New test.
7002         * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7003         * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7004         * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7005         * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7006         * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7007         * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7008         * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7009         * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7010         * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7011         * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7012         * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7013         * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7014         * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7015         * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7016         * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7017         * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7018         * testsuite/libgomp.c++/depend-1.C: New test.
7019         * testsuite/libgomp.c++/depend-iterator-1.C: New test.
7020         * testsuite/libgomp.c++/depobj-1.C: New test.
7021         * testsuite/libgomp.c++/for-16.C: New test.
7022         * testsuite/libgomp.c++/for-21.C: New test.
7023         * testsuite/libgomp.c++/for-22.C: New test.
7024         * testsuite/libgomp.c++/for-23.C: New test.
7025         * testsuite/libgomp.c++/for-24.C: New test.
7026         * testsuite/libgomp.c++/for-25.C: New test.
7027         * testsuite/libgomp.c++/for-26.C: New test.
7028         * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7029         * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7030         * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7031         * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7032         * testsuite/libgomp.c++/task-reduction-10.C: New test.
7033         * testsuite/libgomp.c++/task-reduction-11.C: New test.
7034         * testsuite/libgomp.c++/task-reduction-12.C: New test.
7035         * testsuite/libgomp.c++/task-reduction-13.C: New test.
7036         * testsuite/libgomp.c++/task-reduction-14.C: New test.
7037         * testsuite/libgomp.c++/task-reduction-15.C: New test.
7038         * testsuite/libgomp.c++/task-reduction-16.C: New test.
7039         * testsuite/libgomp.c++/task-reduction-17.C: New test.
7040         * testsuite/libgomp.c++/task-reduction-18.C: New test.
7041         * testsuite/libgomp.c++/task-reduction-19.C: New test.
7042         * testsuite/libgomp.c/task-reduction-1.c: New test.
7043         * testsuite/libgomp.c++/task-reduction-1.C: New test.
7044         * testsuite/libgomp.c/task-reduction-2.c: New test.
7045         * testsuite/libgomp.c++/task-reduction-2.C: New test.
7046         * testsuite/libgomp.c++/task-reduction-3.C: New test.
7047         * testsuite/libgomp.c++/task-reduction-4.C: New test.
7048         * testsuite/libgomp.c++/task-reduction-5.C: New test.
7049         * testsuite/libgomp.c++/task-reduction-6.C: New test.
7050         * testsuite/libgomp.c++/task-reduction-7.C: New test.
7051         * testsuite/libgomp.c++/task-reduction-8.C: New test.
7052         * testsuite/libgomp.c++/task-reduction-9.C: New test.
7053         * testsuite/libgomp.c/teams-1.c: New test.
7054         * testsuite/libgomp.c/teams-2.c: New test.
7055         * testsuite/libgomp.c/thread-limit-4.c: New test.
7056         * testsuite/libgomp.c/thread-limit-5.c: New test.
7057         * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7059 2018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
7061         * oacc-mem.c (memcpy_tofrom_device): New function, combined from
7062         acc_memcpy_to/from_device functions, now with async parameter.
7063         (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7064         (acc_memcpy_from_device): Likewise.
7065         (acc_memcpy_to_device_async): New API function.
7066         (acc_memcpy_from_device_async): Likewise.
7067         (present_create_copy): Add async parameter and async setting/unsetting.
7068         (acc_create): Adjust present_create_copy call.
7069         (acc_copyin): Likewise.
7070         (acc_present_or_create): Likewise.
7071         (acc_present_or_copyin): Likewise.
7072         (acc_create_async): New API function.
7073         (acc_copyin_async): New API function.
7074         (delete_copyout): Add async parameter and async setting/unsetting.
7075         (acc_delete): Adjust delete_copyout call.
7076         (acc_copyout): Likewise.
7077         (acc_delete_async): New API function.
7078         (acc_copyout_async): Likewise.
7079         (update_dev_host): Add async parameter and async setting/unsetting.
7080         (acc_update_device): Adjust update_dev_host call.
7081         (acc_update_self): Likewise.
7082         (acc_update_device_async): New API function.
7083         (acc_update_self_async): Likewise.
7084         * openacc.h (acc_copyin_async): Declare new API function.
7085         (acc_create_async): Likewise.
7086         (acc_copyout_async): Likewise.
7087         (acc_delete_async): Likewise.
7088         (acc_update_device_async): Likewise.
7089         (acc_update_self_async): Likewise.
7090         (acc_memcpy_to_device_async): Likewise.
7091         (acc_memcpy_from_device_async): Likewise.
7092         * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7093         (acc_copyin_async_64_h): New subroutine.
7094         (acc_copyin_async_array_h): New subroutine.
7095         (acc_create_async_32_h): New subroutine.
7096         (acc_create_async_64_h): New subroutine.
7097         (acc_create_async_array_h): New subroutine.
7098         (acc_copyout_async_32_h): New subroutine.
7099         (acc_copyout_async_64_h): New subroutine.
7100         (acc_copyout_async_array_h): New subroutine.
7101         (acc_delete_async_32_h): New subroutine.
7102         (acc_delete_async_64_h): New subroutine.
7103         (acc_delete_async_array_h): New subroutine.
7104         (acc_update_device_async_32_h): New subroutine.
7105         (acc_update_device_async_64_h): New subroutine.
7106         (acc_update_device_async_array_h): New subroutine.
7107         (acc_update_self_async_32_h): New subroutine.
7108         (acc_update_self_async_64_h): New subroutine.
7109         (acc_update_self_async_array_h): New subroutine.
7110         * openacc.f90 (acc_copyin_async_32_h): New subroutine.
7111         (acc_copyin_async_64_h): New subroutine.
7112         (acc_copyin_async_array_h): New subroutine.
7113         (acc_create_async_32_h): New subroutine.
7114         (acc_create_async_64_h): New subroutine.
7115         (acc_create_async_array_h): New subroutine.
7116         (acc_copyout_async_32_h): New subroutine.
7117         (acc_copyout_async_64_h): New subroutine.
7118         (acc_copyout_async_array_h): New subroutine.
7119         (acc_delete_async_32_h): New subroutine.
7120         (acc_delete_async_64_h): New subroutine.
7121         (acc_delete_async_array_h): New subroutine.
7122         (acc_update_device_async_32_h): New subroutine.
7123         (acc_update_device_async_64_h): New subroutine.
7124         (acc_update_device_async_array_h): New subroutine.
7125         (acc_update_self_async_32_h): New subroutine.
7126         (acc_update_self_async_64_h): New subroutine.
7127         (acc_update_self_async_array_h): New subroutine.
7128         * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7129         acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7130         acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7131         acc_memcpy_to_device_async*, acc_update_device_async*, and
7132         acc_update_self_async* entries.
7133         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7134         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7135         * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7137 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
7139         PR bootstrap/82856
7140         * Makefile.am: Include multilib.am
7141         (AUTOMAKE_OPTIONS): Add info-in-builddir.
7142         (CLEANFILES): Remove libgomp.info.
7143         * configure.ac: Remove AC_PREREQ.
7144         * testsuite/Makefile.am (RUNTEST): Remove quotes.
7145         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7146         Regenerate.
7148 2018-10-29  Joseph Myers  <joseph@codesourcery.com>
7149             Julian Brown  <julian@codesourcery.com>
7151         * testsuite/libgomp.oacc-c++/this.C: New.
7153 2018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
7155         * plugin/plugin-nvptx.c (struct cuda_map): New.
7156         (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7157         h_tail with (cuda_map *) map.
7158         (cuda_map_create): New function.
7159         (cuda_map_destroy): New function.
7160         (map_init): Update to use a linked list of cuda_map objects.
7161         (map_fini): Likewise.
7162         (map_pop): Likewise.
7163         (map_push): Likewise.  Return CUdeviceptr instead of void.
7164         (init_streams_for_device): Remove stales references to ptx_stream
7165         members.
7166         (select_stream_for_async): Likewise.
7167         (nvptx_exec): Update call to map_init.
7169 2018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
7170             Julian Brown  <julian@codesourcery.com>
7172         PR middle-end/86336
7173         * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7175 2018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
7176         Thomas Koenig <tkoenig@gcc.gnu.org>
7178         PR fortran/25829
7179         * testsuite/libgomp.fortran/async_io_1.f90: New test.
7180         * testsuite/libgomp.fortran/async_io_2.f90: New test.
7181         * testsuite/libgomp.fortran/async_io_3.f90: New test.
7182         * testsuite/libgomp.fortran/async_io_4.f90: New test.
7183         * testsuite/libgomp.fortran/async_io_5.f90: New test.
7184         * testsuite/libgomp.fortran/async_io_6.f90: New test.
7185         * testsuite/libgomp.fortran/async_io_7.f90: New test.
7187 2018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
7188             Tom de Vries  <tdevries@suse.de>
7190         PR target/85590
7191         * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7192         (cuOccupancyMaxPotentialBlockSize): Declare.
7193         * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7194         CUDA_ONE_CALL_MAYBE_NULL.
7195         * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7196         CUoccupancyB2DSize and declare
7197         cuOccupancyMaxPotentialBlockSize.
7198         (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7199         default num_gangs and num_workers when the driver supports it.
7201 2018-08-08  Tom de Vries  <tdevries@suse.de>
7203         * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7204         CUDA_ONE_CALL_MAYBE_NULL.
7205         * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7206         (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7207         (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7208         are not found.
7210 2018-08-08  Tom de Vries  <tdevries@suse.de>
7212         * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7213         * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7214         present.
7216 2018-08-08  Tom de Vries  <tdevries@suse.de>
7218         * plugin/plugin-nvptx.c
7219         (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7220         (nvptx_open_device): Use
7221         CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7223 2018-08-08  Tom de Vries  <tdevries@suse.de>
7225         * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7226         (cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
7228 2018-08-07  Tom de Vries  <tdevries@suse.de>
7230         * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7231         (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7232         (init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
7233         corresponding call in CUDA_ONE_CALL.  Add def/undef of
7234         CUDA_ONE_CALL_MAYBE_NULL.
7235         (CUDA_CALL_EXISTS): Define.
7237 2018-08-07  Tom de Vries  <tdevries@suse.de>
7239         * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7240         CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7241         corresponding undefs right after.
7243 2018-08-04  Tom de Vries  <tdevries@suse.de>
7245         * plugin/configfrag.ac: For --without-cuda-driver, set
7246         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
7247         CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7248         * configure: Regenerate.
7250 2018-08-02  Tom de Vries  <tdevries@suse.de>
7252         PR target/86660
7253         * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7254         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7255         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7256         Same.
7257         * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7258         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7259         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7261 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
7262             Thomas Schwinge <thomas@codesourcery.com>
7264         * config/nvptx/oacc-parallel.c: Truncate.
7266 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
7267             James Norris <jnorris@codesourcery.com>
7269         * plugin/plugin-nvptx.c (struct map): Removed.
7270         (map_init, map_pop): Remove use of struct map.
7271         (map_push): Likewise and change argument list.
7272         * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7274 2018-08-01  Tom de Vries  <tdevries@suse.de>
7276         * plugin/cuda-lib.def: New file.  Factor out of ...
7277         * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7278         (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7279         using CUDA_CALLS.
7281 2018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
7283         Revert 'AsyncI/O patch committed'.
7284         2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
7285                 Thomas Koenig <tkoenig@gcc.gnu.org>
7287         PR fortran/25829
7288         * testsuite/libgomp.fortran/async_io_1.f90: New test.
7289         * testsuite/libgomp.fortran/async_io_2.f90: New test.
7290         * testsuite/libgomp.fortran/async_io_3.f90: New test.
7291         * testsuite/libgomp.fortran/async_io_4.f90: New test.
7292         * testsuite/libgomp.fortran/async_io_5.f90: New test.
7293         * testsuite/libgomp.fortran/async_io_6.f90: New test.
7294         * testsuite/libgomp.fortran/async_io_7.f90: New test.
7296 2018-07-30  Tom de Vries  <tdevries@suse.de>
7298         * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
7299         (nvptx_exec): Ensure worker and vector default dims don't exceed
7300         targ_fn->max_threads_per_block.
7302 2018-07-30  Tom de Vries  <tdevries@suse.de>
7304         * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
7305         (nvptx_open_device): Init default_dims for device.
7306         (nvptx_exec): Use default_dims from device.
7308 2018-07-26  Jakub Jelinek  <jakub@redhat.com>
7310         PR testsuite/86660
7311         * testsuite/libgomp.c++/for-15.C (results): Include it in
7312         omp declare target region.
7313         (main): Use map (always, tofrom: results) instead of
7314         map (tofrom: results).
7316         PR middle-end/86660
7317         * testsuite/libgomp.c/pr86660.c: New test.
7319 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
7320             Tom de Vries  <tdevries@suse.de>
7322         * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
7323         sufficient resources to launch a kernel, and give a hint on how to fix
7324         it.
7326 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
7327             Tom de Vries  <tdevries@suse.de>
7329         * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
7330         max_threads_per_block and max_threads_per_multiprocessor fields.
7331         (nvptx_open_device): Initialize new fields.
7332         (nvptx_exec): Use num_sms, and new fields.
7334 2018-07-26  Tom de Vries  <tdevries@suse.de>
7336         * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
7337         to correct locations.  Remove xfail.
7339 2018-07-26  Tom de Vries  <tdevries@suse.de>
7341         * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
7342         acc_wait.  Move acc_async_test calls to correct locations.  Remove
7343         xfail.
7345 2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
7346         Thomas Koenig <tkoenig@gcc.gnu.org>
7348         PR fortran/25829
7349         * testsuite/libgomp.fortran/async_io_1.f90: New test.
7350         * testsuite/libgomp.fortran/async_io_2.f90: New test.
7351         * testsuite/libgomp.fortran/async_io_3.f90: New test.
7352         * testsuite/libgomp.fortran/async_io_4.f90: New test.
7353         * testsuite/libgomp.fortran/async_io_5.f90: New test.
7354         * testsuite/libgomp.fortran/async_io_6.f90: New test.
7355         * testsuite/libgomp.fortran/async_io_7.f90: New test.
7357 2018-07-17  Jakub Jelinek  <jakub@redhat.com>
7359         PR middle-end/86542
7360         * testsuite/libgomp.c++/pr86542.C: New test.
7362         PR middle-end/86539
7363         * testsuite/libgomp.c++/pr86539.C: New test.
7365 2018-07-11  Jakub Jelinek  <jakub@redhat.com>
7367         PR c++/86443
7368         * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
7369         (results): Make sure the variable is not inside declare target region.
7370         (qux): Remove unused function.
7372 2018-07-10  Jakub Jelinek  <jakub@redhat.com>
7374         PR c++/86443
7375         * testsuite/libgomp.c++/for-15.C: New test.
7377 2018-06-26  Jakub Jelinek  <jakub@redhat.com>
7379         PR c++/86291
7380         * testsuite/libgomp.c++/pr86291.C: New test.
7382 2018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
7384         * libgomp.texi (Top): Move www.openmp.org to https.
7385         (Enabling OpenMP): Ditto.
7386         (omp_get_active_level): Ditto.
7387         (omp_get_ancestor_thread_num): Ditto.
7388         (omp_get_cancellation): Ditto.
7389         (omp_get_default_device): Ditto.
7390         (omp_get_dynamic): Ditto.
7391         (omp_get_level): Ditto.
7392         (omp_get_max_active_levels): Ditto.
7393         (omp_get_max_task_priority): Ditto.
7394         (omp_get_max_threads): Ditto.
7395         (omp_get_nested): Ditto.
7396         (omp_get_num_devices): Ditto.
7397         (omp_get_num_procs): Ditto.
7398         (omp_get_num_teams): Ditto.
7399         (omp_get_num_threads): Ditto.
7400         (omp_get_proc_bind): Ditto.
7401         (omp_get_schedule): Ditto.
7402         (omp_get_team_num): Ditto.
7403         (omp_get_team_size): Ditto.
7404         (omp_get_thread_limit): Ditto.
7405         (omp_get_thread_num): Ditto.
7406         (omp_in_parallel): Ditto.
7407         (omp_in_final): Ditto.
7408         (omp_is_initial_device): Ditto.
7409         (omp_set_default_device): Ditto.
7410         (omp_set_dynamic): Ditto.
7411         (omp_set_max_active_levels): Ditto.
7412         (omp_set_nested): Ditto.
7413         (omp_set_num_threads): Ditto.
7414         (omp_set_schedule): Ditto.
7415         (omp_init_lock): Ditto.
7416         (omp_set_lock): Ditto.
7417         (omp_test_lock): Ditto.
7418         (omp_unset_lock): Ditto.
7419         (omp_destroy_lock): Ditto.
7420         (omp_init_nest_lock): Ditto.
7421         (omp_set_nest_lock): Ditto.
7422         (omp_test_nest_lock): Ditto.
7423         (omp_unset_nest_lock): Ditto.
7424         (omp_destroy_nest_lock): Ditto.
7425         (omp_get_wtick): Ditto.
7426         (omp_get_wtime): Ditto.
7427         (OMP_CANCELLATION): Ditto.
7428         (OMP_DISPLAY_ENV): Ditto.
7429         (OMP_DEFAULT_DEVICE): Ditto.
7430         (OMP_DYNAMIC): Ditto.
7431         (OMP_MAX_ACTIVE_LEVELS): Ditto.
7432         (OMP_MAX_TASK_PRIORITY): Ditto.
7433         (OMP_NESTED): Ditto.
7434         (OMP_NUM_THREADS): Ditto.
7435         (OMP_PROC_BIND): Ditto.
7436         (OMP_PLACES): Ditto.
7437         (OMP_STACKSIZE): Ditto.
7438         (OMP_SCHEDULE): Ditto.
7439         (OMP_THREAD_LIMIT): Ditto.
7440         (OMP_WAIT_POLICY): Ditto.
7442 2018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
7443             James Norris  <jnorris@codesourcery.com>
7444             Julian Brown  <julian@codesourcery.com>
7445             Thomas Schwinge  <thomas@codesourcery.com>
7446             Tom de Vries  <tom@codesourcery.com>
7448         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
7449         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
7450         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
7451         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
7452         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7453         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7454         * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
7455         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
7456         * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
7457         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
7458         Likewise.
7459         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7460         Likewise.
7461         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7462         Likewise.
7463         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
7464         Likewise.
7465         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
7466         Likewise.
7467         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7468         Likewise.
7469         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
7470         Likewise.
7471         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
7472         Likewise.
7473         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
7474         Likewise.
7475         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
7476         Likewise.
7477         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
7478         Likewise.
7479         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
7480         Likewise.
7481         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
7482         Likewise.
7483         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
7484         Likewise.
7485         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
7486         Likewise.
7487         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
7488         Likewise.
7489         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
7490         Likewise.
7491         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
7492         Likewise.
7493         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
7494         Likewise.
7495         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
7496         Likewise.
7497         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
7498         Likewise.
7499         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
7500         Likewise.
7501         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
7502         Likewise.
7503         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
7504         Likewise.
7505         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
7506         Likewise.
7507         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
7508         Likewise.
7509         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
7510         Likewise.
7511         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
7512         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
7513         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
7514         * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
7515         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
7516         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
7517         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
7518         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
7519         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
7520         Likewise.
7521         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
7522         Likewise.
7523         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
7524         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
7525         * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
7526         Likewise.
7527         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
7528         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
7529         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
7530         Likewise.
7531         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
7532         Likewise.
7533         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
7534         Likewise.
7535         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
7536         Likewise.
7537         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
7538         Likewise.
7539         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
7540         Likewise.
7541         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
7542         Likewise.
7543         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
7544         Likewise.
7545         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
7546         Likewise.
7547         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
7548         Likewise.
7549         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
7550         Likewise.
7551         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
7552         Likewise.
7553         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
7554         Likewise.
7555         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
7556         Likewise.
7557         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
7558         Likewise.
7559         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7560         * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
7561         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
7562         * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
7563         * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
7564         * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
7565         * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
7567 2018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
7568             Thomas Schwinge <thomas@codesourcery.com>
7569             Cesar Philippidis  <cesar@codesourcery.com>
7571         * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
7572         (gomp_acc_remove_pointer): Update declaration.
7573         (gomp_acc_declare_allocate): Declare.
7574         (gomp_remove_var): Declare.
7575         * libgomp.map (OACC_2.5): Define.
7576         * oacc-mem.c (acc_map_data): Update refcount.
7577         (acc_unmap_data): Likewise.
7578         (present_create_copy): Likewise.
7579         (acc_create): Add FLAG_PRESENT when calling present_create_copy.
7580         (acc_copyin): Likewise.
7581         (FLAG_FINALIZE): Define.
7582         (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
7583         (acc_delete_finalize): New function.
7584         (acc_delete_finalize_async): New function.
7585         (acc_copyout_finalize): New function.
7586         (acc_copyout_finalize_async): New function.
7587         (gomp_acc_insert_pointer): Update refcounts.
7588         (gomp_acc_remove_pointer): Return if data is not present on the
7589         accelerator.
7590         * oacc-parallel.c (find_pset): Rename to find_pointer.
7591         (find_pointer): Add support for GOMP_MAP_POINTER.
7592         (handle_ftn_pointers): New function.
7593         (GOACC_parallel_keyed): Update refcounts of variables.
7594         (GOACC_enter_exit_data): Add support for finalized data mappings.
7595         Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
7596         of fortran arrays.
7597         (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
7598         (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
7599         for GOMP_MAP_FORCE_FROM.
7600         * openacc.f90 (module openacc_internal): Add
7601         acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
7602         acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
7603         acc_copyout_finalize and acc_delete_finalize.
7604         (acc_copyout_finalize_32_h): New subroutine.
7605         (acc_copyout_finalize_64_h): New subroutine.
7606         (acc_copyout_finalize_array_h): New subroutine.
7607         (acc_delete_finalize_32_h): New subroutine.
7608         (acc_delete_finalize_64_h): New subroutine.
7609         (acc_delete_finalize_array_h): New subroutine.
7610         * openacc.h (acc_copyout_finalize): Declare.
7611         (acc_copyout_finalize_async): Declare.
7612         (acc_delete_finalize): Declare.
7613         (acc_delete_finalize_async): Declare.
7614         * openacc_lib.h (acc_copyout_finalize): New interface.
7615         (acc_delete_finalize): New interface.
7616         * target.c (gomp_map_vars): Update dynamic_refcount.
7617         (gomp_remove_var): New function.
7618         (gomp_unmap_vars): Use it.
7619         (gomp_unload_image_from_device): Likewise.
7620         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
7621         case to utilize OpenACC 2.5 data clause semantics.
7622         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7623         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7624         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7625         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7626         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7627         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7628         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7629         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7630         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7631         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7632         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7633         * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
7634         * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
7635         utilize OpenACC 2.5 data clause semantics.
7636         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7637         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7638         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7639         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7640         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7641         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7642         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7643         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7644         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7646 2018-05-21  Janus Weil  <janus@gcc.gnu.org>
7648         PR fortran/85841
7649         PR testsuite/85865
7650         * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
7651         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7652         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7653         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7654         * testsuite/libgomp.fortran/task2.f90: Ditto.
7655         * testsuite/libgomp.fortran/vla1.f90: Ditto.
7656         * testsuite/libgomp.fortran/vla2.f90: Ditto.
7657         * testsuite/libgomp.fortran/vla3.f90: Ditto.
7658         * testsuite/libgomp.fortran/vla4.f90: Ditto.
7659         * testsuite/libgomp.fortran/vla5.f90: Ditto.
7660         * testsuite/libgomp.fortran/vla6.f90: Ditto.
7661         * testsuite/libgomp.fortran/vla8.f90: Ditto.
7662         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
7663         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
7665 2018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
7667         PR c++/85782
7668         * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
7670 2018-05-09  Tom de Vries  <tom@codesourcery.com>
7672         PR libgomp/82901
7673         * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
7674         to GOACC_enter_exit_data.
7676 2018-05-09  Tom de Vries  <tom@codesourcery.com>
7678         PR libgomp/83792
7679         * oacc-int.h (async_valid_stream_id_p, async_valid_p)
7680         (async_synchronous_p): New function.
7681         * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
7682         async_valid_p.
7683         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7684         async_valid_stream_id_p.
7685         * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
7686         * oacc-parallel.c (GOACC_parallel_keyed): Same.
7688 2018-05-07  Tom de Vries  <tom@codesourcery.com>
7690         PR testsuite/85677
7691         * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
7692         include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
7694 2018-05-03  Tom de Vries  <tom@codesourcery.com>
7696         PR testsuite/85106
7697         * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
7698         extra_tool_flags if it contains an -foffload=-fdump-* flag.
7699         * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
7700         * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
7702 2018-05-02  Tom de Vries  <tom@codesourcery.com>
7704         PR libgomp/85411
7705         * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
7706         GOMP_OPENACC_DIM ...
7707         * env.c (parse_gomp_openacc_dim): ... here.  New function.
7708         (initialize_env): Call parse_gomp_openacc_dim.
7709         (goacc_default_dims): Define.
7710         * libgomp.h (goacc_default_dims): Declare.
7711         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
7712         * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
7713         * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
7714         GOMP_PLUGIN_acc_default_dim.
7715         * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
7716         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
7718 2018-05-02  Tom de Vries  <tom@codesourcery.com>
7720         PR testsuite/83791
7721         * testsuite/libgomp.c++/udr-9.C: Update.
7722         * testsuite/libgomp.c++/atomic-16.C: Remove.
7723         * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
7724         * testsuite/libgomp.c++/loop-13.C: Remove.
7725         * testsuite/libgomp.c++/loop-14.C: Remove.
7726         * testsuite/libgomp.c++/loop-15.C: Remove.
7727         * testsuite/libgomp.c++/monotonic-1.C: Remove.
7728         * testsuite/libgomp.c++/monotonic-2.C: Remove.
7729         * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
7730         * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
7731         * testsuite/libgomp.c++/ordered-1.C: Remove.
7732         * testsuite/libgomp.c++/pr45784.C: Remove.
7733         * testsuite/libgomp.c++/pr64824.C: Remove.
7734         * testsuite/libgomp.c++/pr64868.C: Remove.
7735         * testsuite/libgomp.c++/pr66199-1.C: Remove.
7736         * testsuite/libgomp.c++/pr66199-2.C: Remove.
7737         * testsuite/libgomp.c++/pr66199-3.C: Remove.
7738         * testsuite/libgomp.c++/pr66199-4.C: Remove.
7739         * testsuite/libgomp.c++/pr66199-5.C: Remove.
7740         * testsuite/libgomp.c++/pr66199-6.C: Remove.
7741         * testsuite/libgomp.c++/pr66199-7.C: Remove.
7742         * testsuite/libgomp.c++/pr66199-8.C: Remove.
7743         * testsuite/libgomp.c++/pr66199-9.C: Remove.
7744         * testsuite/libgomp.c++/pr69389.C: Remove.
7745         * testsuite/libgomp.c++/simd10.C: Remove.
7746         * testsuite/libgomp.c++/simd11.C: Remove.
7747         * testsuite/libgomp.c++/simd12.C: Remove.
7748         * testsuite/libgomp.c++/simd13.C: Remove.
7749         * testsuite/libgomp.c++/target-1.C: Remove.
7750         * testsuite/libgomp.c++/target-3.C: Remove.
7751         * testsuite/libgomp.c++/target-4.C: Remove.
7752         * testsuite/libgomp.c++/target-5.C: Remove.
7753         * testsuite/libgomp.c++/taskgroup-1.C: Remove.
7754         * testsuite/libgomp.c++/taskloop-1.C: Remove.
7755         * testsuite/libgomp.c++/taskloop-2.C: Remove.
7756         * testsuite/libgomp.c++/taskloop-3.C: Remove.
7757         * testsuite/libgomp.c++/taskloop-4.C: Remove.
7758         * testsuite/libgomp.c++/udr-9.C: Remove.
7759         * testsuite/libgomp.c++/for-10.C: Remove.
7760         * testsuite/libgomp.c++/for-11.C: Remove.
7761         * testsuite/libgomp.c++/for-12.C: Remove.
7762         * testsuite/libgomp.c++/for-13.C: Remove.
7763         * testsuite/libgomp.c++/for-14.C: Remove.
7764         * testsuite/libgomp.c++/for-9.C: Remove.
7765         * testsuite/libgomp.c/atomic-18.c: Move ...
7766         * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
7767         * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
7768         * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
7769         * testsuite/libgomp.c/loop-13.c: Move ...
7770         * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
7771         * testsuite/libgomp.c/loop-14.c: Move ...
7772         * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
7773         * testsuite/libgomp.c/loop-15.c: Remove.
7774         * testsuite/libgomp.c-c++-common/loop-15.c: New test.
7775         * testsuite/libgomp.c/monotonic-1.c: Move ...
7776         * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
7777         * testsuite/libgomp.c/monotonic-2.c: Move ...
7778         * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
7779         * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
7780         * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
7781         * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
7782         * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
7783         * testsuite/libgomp.c/ordered-4.c: Move ...
7784         * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
7785         * testsuite/libgomp.c/pr45784.c: Move ...
7786         * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
7787         * testsuite/libgomp.c/pr64824.c: Move ...
7788         * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
7789         * testsuite/libgomp.c/pr64868.c: Move ...
7790         * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
7791         * testsuite/libgomp.c/pr66199-1.c: Move ...
7792         * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
7793         * testsuite/libgomp.c/pr66199-2.c: Move ...
7794         * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
7795         * testsuite/libgomp.c/pr66199-3.c: Move ...
7796         * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
7797         * testsuite/libgomp.c/pr66199-4.c: Move ...
7798         * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
7799         * testsuite/libgomp.c/pr66199-5.c: Move ...
7800         * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
7801         * testsuite/libgomp.c/pr66199-6.c: Move ...
7802         * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
7803         * testsuite/libgomp.c/pr66199-7.c: Move ...
7804         * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
7805         * testsuite/libgomp.c/pr66199-8.c: Move ...
7806         * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
7807         * testsuite/libgomp.c/pr66199-9.c: Move ...
7808         * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
7809         * testsuite/libgomp.c/pr69389.c: Move ...
7810         * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
7811         * testsuite/libgomp.c/simd-14.c: Move ...
7812         * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
7813         * testsuite/libgomp.c/simd-15.c: Move ...
7814         * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
7815         * testsuite/libgomp.c/simd-16.c: Move ...
7816         * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
7817         * testsuite/libgomp.c/simd-17.c: Move ...
7818         * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
7819         * testsuite/libgomp.c/target-1.c: Move ...
7820         * testsuite/libgomp.c-c++-common/target-1.c: ... here.
7821         * testsuite/libgomp.c/target-10.c: Move ...
7822         * testsuite/libgomp.c-c++-common/target-10.c: ... here.
7823         * testsuite/libgomp.c/target-13.c: Move ...
7824         * testsuite/libgomp.c-c++-common/target-13.c: ... here.
7825         * testsuite/libgomp.c/target-2.c: Move ...
7826         * testsuite/libgomp.c-c++-common/target-2.c: ... here.
7827         * testsuite/libgomp.c/taskgroup-1.c: Move ...
7828         * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
7829         * testsuite/libgomp.c/taskloop-1.c: Move ...
7830         * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
7831         * testsuite/libgomp.c/taskloop-2.c: Move ...
7832         * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
7833         * testsuite/libgomp.c/taskloop-3.c: Move ...
7834         * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
7835         * testsuite/libgomp.c/taskloop-4.c: Move ...
7836         * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
7837         * testsuite/libgomp.c/udr-1.c: Move ...
7838         * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
7839         * testsuite/libgomp.c/for-1.c: Move ...
7840         * testsuite/libgomp.c-c++-common/for-1.c: ... here.
7841         * testsuite/libgomp.c/for-1.h: Move ...
7842         * testsuite/libgomp.c-c++-common/for-1.h: ... here.
7843         * testsuite/libgomp.c/for-2.c: Move ...
7844         * testsuite/libgomp.c-c++-common/for-2.c: ... here.
7845         * testsuite/libgomp.c/for-2.h: Move ...
7846         * testsuite/libgomp.c-c++-common/for-2.h: ... here.
7847         * testsuite/libgomp.c/for-3.c: Move ...
7848         * testsuite/libgomp.c-c++-common/for-3.c: ... here.
7849         * testsuite/libgomp.c/for-4.c: Move ...
7850         * testsuite/libgomp.c-c++-common/for-4.c: ... here.
7851         * testsuite/libgomp.c/for-5.c: Move ...
7852         * testsuite/libgomp.c-c++-common/for-5.c: ... here.
7853         * testsuite/libgomp.c/for-6.c: Move ...
7854         * testsuite/libgomp.c-c++-common/for-6.c: ... here.
7856 2018-05-02  Tom de Vries  <tom@codesourcery.com>
7858         PR libgomp/82428
7859         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
7860         __builtin_goacc_parlevel_{id,size}.
7861         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
7862         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
7863         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
7864         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
7865         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
7866         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
7867         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
7868         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
7869         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
7870         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
7871         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
7872         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
7873         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
7874         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
7875         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
7876         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
7877         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
7878         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
7879         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
7880         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
7881         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
7882         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
7883         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
7885 2018-05-02  Tom de Vries  <tom@codesourcery.com>
7887         PR testsuite/85106
7888         * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
7890 2018-05-02  Tom de Vries  <tom@codesourcery.com>
7892         PR testsuite/85106
7893         * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
7895 2018-04-29  Julian Brown  <julian@codesourcery.com>
7896             Tom de Vries  <tom@codesourcery.com>
7898         PR testsuite/85527
7899         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
7900         arbitrary order for iterations of atomic subtract check.
7902 2018-04-28  Tom de Vries  <tom@codesourcery.com>
7904         PR testsuite/85527
7905         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
7906         atomic capture results obtained in parallel loop to an array, instead of
7907         to a scalar.
7909 2018-04-26  Tom de Vries  <tom@codesourcery.com>
7911         PR libgomp/84020
7912         * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
7913         * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
7914         (process_GOMP_NVPTX_JIT): New function.
7915         (link_ptx): Use process_GOMP_NVPTX_JIT.
7917 2018-04-26  Richard Biener <rguenther@suse.de>
7918             Tom de Vries  <tom@codesourcery.com>
7920         PR lto/85422
7921         * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
7923 2018-04-26  Tom de Vries  <tom@codesourcery.com>
7925         PR target/85519
7926         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
7927         recursion depth from 25 to 23.
7928         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
7930 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
7932         * configure: Regenerated.
7934 2018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
7935             Tom de Vries  <tom@codesourcery.com>
7937         PR target/85445
7938         * testsuite/libgomp.oacc-c++/ref-1.C: New.
7940 2018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
7942         PR libgomp/85463
7943         * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
7944         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7945         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7946         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7947         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7948         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7950         PR libfortran/85166
7951         * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
7952         abort".
7953         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7955 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
7957         * configure: Regenerated.
7959 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
7961         PR jit/85384
7962         * configure: Regenerate.
7964 2018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
7965             Tom de Vries  <tom@codesourcery.com>
7967         PR middle-end/84955
7968         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7969         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7971 2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
7973         PR fortran/83064
7974         PR testsuite/85346
7975         * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
7976         test from gfortran.dg to here.
7978 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
7980         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
7981         * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
7983 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
7985         PR middle-end/84955
7986         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7987         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7989 2018-04-05  Tom de Vries  <tom@codesourcery.com>
7991         PR target/85204
7992         * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
7994 2018-03-26  Tom de Vries  <tom@codesourcery.com>
7996         PR tree-optimization/85063
7997         * testsuite/libgomp.c/switch-conversion-2.c: New test.
7998         * testsuite/libgomp.c/switch-conversion.c: New test.
7999         * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8000         * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8002 2018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
8004         PR fortran/84381
8005         * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8006         call abort by STOP n.
8007         * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8008         * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8009         * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8010         * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8011         * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8012         * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8013         * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8014         * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8015         * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8016         * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8017         * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8018         * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8019         * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8020         * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8021         * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8022         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8023         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8024         * testsuite/libgomp.fortran/associate1.f90: Likewise.
8025         * testsuite/libgomp.fortran/associate2.f90: Likewise.
8026         * testsuite/libgomp.fortran/associate3.f90: Likewise.
8027         * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8028         * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8029         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8030         * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8031         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8032         * testsuite/libgomp.fortran/character1.f90: Likewise.
8033         * testsuite/libgomp.fortran/character2.f90: Likewise.
8034         * testsuite/libgomp.fortran/collapse1.f90: Likewise.
8035         * testsuite/libgomp.fortran/collapse2.f90: Likewise.
8036         * testsuite/libgomp.fortran/collapse3.f90: Likewise.
8037         * testsuite/libgomp.fortran/collapse4.f90: Likewise.
8038         * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8039         * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8040         * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8041         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8042         * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8043         * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8044         * testsuite/libgomp.fortran/depend-1.f90: Likewise.
8045         * testsuite/libgomp.fortran/depend-2.f90: Likewise.
8046         * testsuite/libgomp.fortran/depend-3.f90: Likewise.
8047         * testsuite/libgomp.fortran/do1.f90: Likewise.
8048         * testsuite/libgomp.fortran/do2.f90: Likewise.
8049         * testsuite/libgomp.fortran/doacross1.f90: Likewise.
8050         * testsuite/libgomp.fortran/doacross2.f90: Likewise.
8051         * testsuite/libgomp.fortran/doacross3.f90: Likewise.
8052         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8053         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8054         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8055         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8056         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8057         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8058         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8059         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8060         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8061         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8062         * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8063         * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8064         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8065         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8066         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8067         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8068         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8069         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8070         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8071         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8072         * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8073         * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8074         * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8075         * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8076         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8077         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8078         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8079         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8080         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8081         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8082         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8083         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8084         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8085         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8086         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8087         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8088         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8089         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8090         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8091         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8092         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8093         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8094         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8095         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8096         * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8097         * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8098         * testsuite/libgomp.fortran/lib1.f90: Likewise.
8099         * testsuite/libgomp.fortran/lib2.f: Likewise.
8100         * testsuite/libgomp.fortran/lib3.f: Likewise.
8101         * testsuite/libgomp.fortran/lib4.f90: Likewise.
8102         * testsuite/libgomp.fortran/lock-1.f90: Likewise.
8103         * testsuite/libgomp.fortran/lock-2.f90: Likewise.
8104         * testsuite/libgomp.fortran/nested1.f90: Likewise.
8105         * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8106         * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8107         * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8108         * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8109         * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8110         * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8111         * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8112         * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8113         * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8114         * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8115         * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8116         * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8117         * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8118         * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8119         * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8120         * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8121         * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8122         * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8123         * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8124         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8125         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8126         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8127         * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8128         * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8129         * testsuite/libgomp.fortran/pr25162.f: Likewise.
8130         * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8131         * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8132         * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8133         * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8134         * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8135         * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8136         * testsuite/libgomp.fortran/pr28390.f: Likewise.
8137         * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8138         * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8139         * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8140         * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8141         * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8142         * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8143         * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8144         * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8145         * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8146         * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8147         * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8148         * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8149         * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8150         * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8151         * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8152         * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8153         * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8154         * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8155         * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8156         * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8157         * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8158         * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8159         * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8160         * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8161         * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8162         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8163         * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8164         * testsuite/libgomp.fortran/reference1.f90: Likewise.
8165         * testsuite/libgomp.fortran/reference2.f90: Likewise.
8166         * testsuite/libgomp.fortran/retval1.f90: Likewise.
8167         * testsuite/libgomp.fortran/retval2.f90: Likewise.
8168         * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8169         * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8170         * testsuite/libgomp.fortran/simd1.f90: Likewise.
8171         * testsuite/libgomp.fortran/simd2.f90: Likewise.
8172         * testsuite/libgomp.fortran/simd3.f90: Likewise.
8173         * testsuite/libgomp.fortran/simd4.f90: Likewise.
8174         * testsuite/libgomp.fortran/simd5.f90: Likewise.
8175         * testsuite/libgomp.fortran/simd6.f90: Likewise.
8176         * testsuite/libgomp.fortran/simd7.f90: Likewise.
8177         * testsuite/libgomp.fortran/stack.f90: Likewise.
8178         * testsuite/libgomp.fortran/strassen.f90: Likewise.
8179         * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8180         * testsuite/libgomp.fortran/tabs2.f: Likewise.
8181         * testsuite/libgomp.fortran/target1.f90: Likewise.
8182         * testsuite/libgomp.fortran/target2.f90: Likewise.
8183         * testsuite/libgomp.fortran/target3.f90: Likewise.
8184         * testsuite/libgomp.fortran/target4.f90: Likewise.
8185         * testsuite/libgomp.fortran/target5.f90: Likewise.
8186         * testsuite/libgomp.fortran/target6.f90: Likewise.
8187         * testsuite/libgomp.fortran/target7.f90: Likewise.
8188         * testsuite/libgomp.fortran/target8.f90: Likewise.
8189         * testsuite/libgomp.fortran/task1.f90: Likewise.
8190         * testsuite/libgomp.fortran/task2.f90: Likewise.
8191         * testsuite/libgomp.fortran/task3.f90: Likewise.
8192         * testsuite/libgomp.fortran/task4.f90: Likewise.
8193         * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8194         * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8195         * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8196         * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8197         * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8198         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8199         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8200         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8201         * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8202         * testsuite/libgomp.fortran/udr1.f90: Likewise.
8203         * testsuite/libgomp.fortran/udr10.f90: Likewise.
8204         * testsuite/libgomp.fortran/udr11.f90: Likewise.
8205         * testsuite/libgomp.fortran/udr12.f90: Likewise.
8206         * testsuite/libgomp.fortran/udr13.f90: Likewise.
8207         * testsuite/libgomp.fortran/udr14.f90: Likewise.
8208         * testsuite/libgomp.fortran/udr15.f90: Likewise.
8209         * testsuite/libgomp.fortran/udr2.f90: Likewise.
8210         * testsuite/libgomp.fortran/udr3.f90: Likewise.
8211         * testsuite/libgomp.fortran/udr4.f90: Likewise.
8212         * testsuite/libgomp.fortran/udr5.f90: Likewise.
8213         * testsuite/libgomp.fortran/udr6.f90: Likewise.
8214         * testsuite/libgomp.fortran/udr7.f90: Likewise.
8215         * testsuite/libgomp.fortran/udr8.f90: Likewise.
8216         * testsuite/libgomp.fortran/udr9.f90: Likewise.
8217         * testsuite/libgomp.fortran/vla1.f90: Likewise.
8218         * testsuite/libgomp.fortran/vla2.f90: Likewise.
8219         * testsuite/libgomp.fortran/vla3.f90: Likewise.
8220         * testsuite/libgomp.fortran/vla4.f90: Likewise.
8221         * testsuite/libgomp.fortran/vla5.f90: Likewise.
8222         * testsuite/libgomp.fortran/vla6.f90: Likewise.
8223         * testsuite/libgomp.fortran/vla7.f90: Likewise.
8224         * testsuite/libgomp.fortran/vla8.f90: Likewise.
8225         * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8226         * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8227         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8228         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8229         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8230         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8231         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8232         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8233         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8234         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8235         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8236         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8237         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8238         * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8239         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8240         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8241         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8242         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8243         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8244         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8245         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8246         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8247         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8248         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8249         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8250         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8251         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8252         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8253         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8254         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8255         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8256         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8257         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8258         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8259         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8260         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8261         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8262         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8263         * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8264         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8265         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8266         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8267         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8268         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8269         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8270         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8271         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8272         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8273         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8274         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8275         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8276         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8277         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8278         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8279         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8280         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8281         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8282         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8283         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8284         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8285         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8286         * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8287         * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8288         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8289         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8290         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8291         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
8292         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8293         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
8294         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8295         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
8296         * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
8297         * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
8298         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
8299         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8300         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8301         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8302         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8303         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8304         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8305         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8306         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8307         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
8308         * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
8309         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8310         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8311         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8312         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8313         * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
8314         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
8315         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
8316         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8317         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8318         * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
8320 2018-03-20  Richard Biener  <rguenther@suse.de>
8322         * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
8323         parallelizable loop.
8325 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
8327         PR target/84148
8328         * configure: Regenerate.
8330 2018-02-16  Jakub Jelinek  <jakub@redhat.com>
8332         PR fortran/84418
8333         * libgomp.fortran/pr84418-1.f90: New test.
8334         * libgomp.fortran/pr84418-2.f90: New test.
8336 2018-02-14  Jakub Jelinek  <jakub@redhat.com>
8338         PR fortran/84313
8339         * testsuite/libgomp.fortran/threadprivate4.f90: Add
8340         -std=f2003 -fall-intrinsics into dg-additional-options.
8342 2018-02-08  Martin Jambor  <mjambor@suse.cz>
8344         * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
8345         clonable.
8347 2018-02-08  Martin Jambor  <mjambor@suse.cz>
8349         * testsuite/libgomp.hsa.c/staticvar.c: New test.
8351 2018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8353         * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
8354         [__cplusplus]: Declare extern "C".
8356 2018-02-07  Tom de Vries  <tom@codesourcery.com>
8358         PR libgomp/84217
8359         * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
8361 2018-01-29  Christoph Spiel  <cspiel@freenet.de>
8362             Jakub Jelinek  <jakub@redhat.com>
8364         PR libgomp/84096
8365         * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
8366         instead of omp_lock_t.
8368 2018-01-25  Tom de Vries  <tom@codesourcery.com>
8370         PR target/84028
8371         * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
8373 2018-01-24  Tom de Vries  <tom@codesourcery.com>
8375         PR target/83589
8376         * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
8378 2018-01-24  Tom de Vries  <tom@codesourcery.com>
8380         PR target/81352
8381         * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
8383 2018-01-19  Tom de Vries  <tom@codesourcery.com>
8384             Cesar Philippidis  <cesar@codesourcery.com>
8386         PR target/83920
8387         * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
8388         * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
8390 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
8392         Update copyright years.
8394         * libgomp.texi: Bump @copying's copyright year.
8396 2017-12-30  Tom de Vries  <tom@codesourcery.com>
8398         PR libgomp/83046
8399         * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
8400         * testsuite/libgomp.c-c++-common/pr83046.c: New test.
8402 2017-12-27  Tom de Vries  <tom@codesourcery.com>
8404         PR c++/83046
8405         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
8406         (test_nonstatic): Fix return type to workaround PR83046.
8408 2017-12-05  Jakub Jelinek  <jakub@redhat.com>
8410         PR testsuite/83281
8411         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
8412         j suffix instead of i.
8413         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
8414         Likewise.
8416 2017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
8418         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
8419         call to acc_wait (1).
8421 2017-11-24  Jakub Jelinek  <jakub@redhat.com>
8423         PR fortran/81304
8424         * testsuite/libgomp.fortran/pr81304.f90: New test.
8426 2017-11-23  Jakub Jelinek  <jakub@redhat.com>
8428         PR fortran/81841
8429         * libgomp.fortran/pr81841.f90: New test.
8431 2017-11-22  Jakub Jelinek  <jakub@redhat.com>
8433         PR libgomp/83106
8434         * target.c (gomp_target_init): Compute lengths just once and
8435         use them in both malloc size and subsequent copying.
8437 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
8439         * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
8440         * acinclude.m4: Add cet.m4.
8441         * configure: Regenerate.
8442         * Makefile.in: Likewise.
8443         * testsuite/Makefile.in: Likewise.
8445 2017-11-15  Tom de Vries  <tom@codesourcery.com>
8447         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
8448         from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
8449         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
8450         from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
8451         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
8452         from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
8454 2017-11-14  Tom de Vries  <tom@codesourcery.com>
8456         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
8457         non-nvidia devices.
8459 2017-11-07  Jakub Jelinek  <jakub@redhat.com>
8461         PR c++/82835
8462         * testsuite/libgomp.c++/pr82835.C: New test.
8464 2017-11-06  Martin Liska  <mliska@suse.cz>
8466         * testsuite/libgomp.c++/loop-2.C: Return a value
8467         for functions with non-void return type, or change type to void,
8468         or add -Wno-return-type for test.
8469         * testsuite/libgomp.c++/loop-4.C: Likewise.
8470         * testsuite/libgomp.c++/parallel-1.C: Likewise.
8471         * testsuite/libgomp.c++/shared-1.C: Likewise.
8472         * testsuite/libgomp.c++/single-1.C: Likewise.
8473         * testsuite/libgomp.c++/single-2.C: Likewise.
8475 2017-10-31  Tom de Vries  <tom@codesourcery.com>
8477         * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
8478         "do {} while (false)".
8479         (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
8480         after HSA_DEBUG call.
8482 2017-10-28  Jakub Jelinek  <jakub@redhat.com>
8484         * target.c (struct gomp_coalesce_buf): New type.
8485         (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
8486         (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
8487         (gomp_copy_host2dev): Add CBUF argument, if copying into
8488         the cached ranges, memcpy into buffer instead of copying
8489         into device.
8490         (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
8491         Add CBUF argument, pass it through to other calls.
8492         (gomp_map_vars): Aggregate copies from host to device if small enough
8493         and with small enough gaps in between into memcpy into a buffer and
8494         fewer host to device copies from the buffer.
8495         (gomp_update): Adjust gomp_copy_host2dev caller.
8497 2017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
8499         * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
8500         run" directive.
8501         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8502         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8503         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8504         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8506 2017-10-16  Tom de Vries  <tom@codesourcery.com>
8508         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
8509         openacc_nvidia_accel_selected.
8510         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
8511         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
8512         * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
8513         * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
8514         * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
8515         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
8516         openacc_nvidia_accel_selected. Skip for shared memory device.
8517         * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
8518         * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
8520 2017-10-09  Martin Jambor  <mjambor@suse.cz>
8522         PR hsa/82416
8523         * testsuite/libgomp.hsa.c/pr82416.c: New test.
8525 2017-10-07  Tom de Vries  <tom@codesourcery.com>
8527         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
8528         Remove acc_device_nvidia references.
8529         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
8530         Same.
8532 2017-10-05  Tom de Vries  <tom@codesourcery.com>
8534         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
8535         vector_length(32) clause from acc parallel directive.
8536         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
8538 2017-10-04  Tom de Vries  <tom@codesourcery.com>
8540         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
8541         (main): Reduce sum of arr elements.  Assert that hres is exactly
8542         representable in 32-bit floating point.
8543         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
8544         (main): Reduce sum of arr elements.  Assert that hres and hmres are
8545         exactly representable in 32-bit floating point.
8546         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
8548 2017-09-28  Tom de Vries  <tom@codesourcery.com>
8550         * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
8551         setting.
8552         * testsuite/libgomp.c++/pr69393.C: Same.
8553         * testsuite/libgomp.c++/taskloop-1.C: Same.
8554         * testsuite/libgomp.c++/taskloop-3.C: Same.
8555         * testsuite/libgomp.c++/taskloop-4.C: Same.
8556         * testsuite/libgomp.c/for-4.c: Same.
8557         * testsuite/libgomp.c/pr66199-3.c: Same.
8558         * testsuite/libgomp.c/pr66199-4.c: Same.
8559         * testsuite/libgomp.c/pr66199-6.c: Same.
8560         * testsuite/libgomp.c/taskloop-1.c: Same.
8561         * testsuite/libgomp.c/taskloop-3.c: Same.
8562         * testsuite/libgomp.c/taskloop-4.c: Same.
8563         * testsuite/libgomp.fortran/aligned1.f03: Same.
8564         * testsuite/libgomp.fortran/condinc1.f: Same.
8565         * testsuite/libgomp.fortran/condinc3.f90: Same.
8566         * testsuite/libgomp.fortran/crayptr1.f90: Same.
8567         * testsuite/libgomp.fortran/crayptr2.f90: Same.
8568         * testsuite/libgomp.fortran/crayptr3.f90: Same.
8569         * testsuite/libgomp.fortran/omp_cond1.f: Same.
8570         * testsuite/libgomp.fortran/omp_cond3.F90: Same.
8571         * testsuite/libgomp.fortran/pr66199-1.f90: Same.
8572         * testsuite/libgomp.fortran/pr66199-2.f90: Same.
8573         * testsuite/libgomp.fortran/recursion1.f90: Same.
8574         * testsuite/libgomp.fortran/target2.f90: Same.
8575         * testsuite/libgomp.fortran/target5.f90: Same.
8576         * testsuite/libgomp.fortran/task3.f90: Same.
8578 2017-09-28  Tom de Vries  <tom@codesourcery.com>
8580         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
8581         vector_length(32) clause from acc parallel directive.
8582         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
8584 2017-09-27  Tom de Vries  <tom@codesourcery.com>
8586         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
8587         Remove acc_device_nvidia references.
8589 2017-09-16  Tom de Vries  <tom@codesourcery.com>
8591         PR c/81875
8592         * testsuite/libgomp.c-c++-common/pr81875.c: New test.
8594 2017-09-14  Tom de Vries  <tom@codesourcery.com>
8596         * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
8597         * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
8598         * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
8599         * testsuite/libgomp.c/c.exp: Include test-cases from
8600         libgomp.c-c++-common.
8601         * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
8602         files.
8604 2017-09-14  Jakub Jelinek  <jakub@redhat.com>
8606         PR c++/81314
8607         * testsuite/libgomp.c++/pr81314.C: New test.
8609 2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
8611         * libgomp.texi (Top): www.openacc.org now uses https.
8612         (Enabling OpenACC): Ditto.
8613         (acc_get_num_devices): Ditto.
8614         (acc_set_device_type): Ditto.
8615         (acc_get_device_type): Ditto.
8616         (acc_set_device_num): Ditto.
8617         (acc_get_device_num): Ditto.
8618         (acc_async_test): Ditto.
8619         (acc_async_test_all): Ditto.
8620         (acc_wait): Ditto.
8621         (acc_wait_all): Ditto.
8622         (acc_wait_all_async): Ditto.
8623         (acc_wait_async): Ditto.
8624         (acc_init): Ditto.
8625         (acc_shutdown): Ditto.
8626         (acc_on_device): Ditto.
8627         (acc_malloc): Ditto.
8628         (acc_free): Ditto.
8629         (acc_copyin): Ditto.
8630         (acc_present_or_copyin): Ditto.
8631         (acc_create): Ditto.
8632         (acc_present_or_create): Ditto.
8633         (acc_copyout): Ditto.
8634         (acc_delete): Ditto.
8635         (acc_update_device): Ditto.
8636         (acc_update_self): Ditto.
8637         (acc_map_data): Ditto.
8638         (acc_unmap_data): Ditto.
8639         (acc_deviceptr): Ditto.
8640         (acc_hostptr): Ditto.
8641         (acc_is_present): Ditto.
8642         (acc_memcpy_to_device): Ditto.
8643         (acc_memcpy_from_device): Ditto.
8644         (acc_get_current_cuda_device): Ditto.
8645         (acc_get_current_cuda_context): Ditto.
8646         (acc_get_cuda_stream): Ditto.
8647         (acc_set_cuda_stream): Ditto.
8648         (ACC_DEVICE_TYPE): Ditto.
8649         (ACC_DEVICE_NUM): Ditto.
8650         (OpenACC Library Interoperability): Ditto.
8652 2017-08-09  Jakub Jelinek  <jakub@redhat.com>
8654         PR c/81687
8655         * testsuite/libgomp.c/pr81687-1.c: New test.
8656         * testsuite/libgomp.c/pr81687-2.c: New test.
8658 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
8660         PR c/69389
8661         * testsuite/libgomp.c/pr69389.c: New test.
8662         * testsuite/libgomp.c++/pr69389.C: New test.
8664 2017-08-07  Tom de Vries  <tom@codesourcery.com>
8666         PR middle-end/78266
8667         * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
8668         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
8670 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
8672         PR c/45784
8673         * testsuite/libgomp.c/pr45784.c: New test.
8674         * testsuite/libgomp.c++/pr45784.C: New test.
8676 2017-07-19  Tom de Vries  <tom@codesourcery.com>
8678         * testsuite/libgomp.oacc-c/vec.c: New test.
8680 2017-07-03  Tom de Vries  <tom@codesourcery.com>
8682         * plugin/plugin-hsa.c: Fix secure_getenv.h include.
8684 2017-06-27  Tom de Vries  <tom@codesourcery.com>
8686         * plugin/plugin-nvptx.c (notify_var): New function.
8687         (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
8689 2017-06-27  Tom de Vries  <tom@codesourcery.com>
8691         * env.c (parse_unsigned_long_1): Factor out of ...
8692         (parse_unsigned_long): ... here.
8693         (parse_int_1): Factor out of ...
8694         (parse_int): ... here.
8695         (parse_int_secure): New function.
8696         (initialize_env): Use parse_int_secure for GOMP_DEBUG.
8697         * secure_getenv.h: Factor out of ...
8698         * plugin/plugin-hsa.c: ... here.
8699         * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
8701 2017-06-21  Jakub Jelinek  <jakub@redhat.com>
8703         PR c++/81130
8704         * testsuite/libgomp.c++/pr81130.C: New test.
8706 2017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8708         * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
8709         default args.
8710         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
8711         dg-xfail-run-if default args.
8713 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
8715         * testsuite/libgomp.c/pr39591-2.c: Fix test case.
8716         * testsuite/libgomp.c/pr39591-3.c: Likewise.
8718 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
8720         PR libgomp/80822
8721         * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
8722         (gomp_affinity_init_level): Use it.  Always analyze the core and thread
8723         sibling lists, depending on level just pick up what CPUs to put
8724         together into a place vs. whether add multiple ordered places.
8726 2017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
8728         * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
8729         * libgomp.map (OACC_2.0.1): Add these.
8730         * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
8731         for "acc_wait", and "acc_wait_all", respectively.
8732         * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
8733         for "acc_wait", and "acc_wait_all", respectively.
8734         * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
8735         * libgomp.texi (acc_wait, acc_wait_all): Update.
8736         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
8737         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
8738         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8740         * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
8741         acc_present_or_copyin and acc_present_or_create procedures,
8742         respectively.
8743         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
8744         generally different variants of OpenACC Runtime Library functions.
8745         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8747         * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
8748         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8750         * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
8751         of preprocessor definitions.
8752         * libgomp.h (strong_alias): Guard by "#ifdef
8753         HAVE_ATTRIBUTE_ALIAS".
8754         * oacc-mem.c: Provide "acc_pcreate" as alias for
8755         "acc_present_or_create", and "acc_pcopyin" as alias for
8756         "acc_present_or_copyin".
8757         * libgomp.map: New version "OACC_2.0.1".
8758         (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
8759         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
8760         its content into...
8761         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
8762         Extend testing.
8764         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
8765         when disabling nvptx offloading.
8767 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
8769         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
8770         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8771         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8773         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
8774         * testsuite/lib/libgomp.exp
8775         (check_effective_target_openacc_nvidia_accel_configured): New
8776         proc.
8777         * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
8778         (check_effective_target_c++): New procs.
8779         * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
8780         (check_effective_target_c++): Likewise.
8782 2017-05-22  Jakub Jelinek  <jakub@redhat.com>
8784         PR middle-end/80809
8785         * testsuite/libgomp.c/pr80809-2.c: New test.
8786         * testsuite/libgomp.c/pr80809-3.c: New test.
8788         PR middle-end/80809
8789         * testsuite/libgomp.c/pr80809-1.c: New test.
8791         PR middle-end/80853
8792         * testsuite/libgomp.c/pr80853.c: New test.
8794 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
8796         * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
8797         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
8798         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8799         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8800         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8802         * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
8803         Debug output for failure.
8805 2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8807         * testsuite/lib/libgomp.exp: Load scanlang.exp.
8809 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
8811         PR bootstrap/80531
8812         * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
8813         bootstrap compare failures.
8815 2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
8817         * testsuite/libgomp.c/target-36.c: New testcase.
8819 2017-04-13  Jakub Jelinek  <jakub@redhat.com>
8821         * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
8822         instead of char.
8824 2017-04-11  Jakub Jelinek  <jakub@redhat.com>
8826         PR libgomp/80394
8827         * testsuite/libgomp.c/pr80394.c: New test.
8829 2017-04-04  Jakub Jelinek  <jakub@redhat.com>
8831         PR libgomp/79876
8832         * config/posix/thread-stacksize.h: New file.
8833         * config/darwin/thread-stacksize.h: New file.
8834         * config/nvptx/thread-stacksize.h: New file.
8835         * env.c: Include thread-stacksize.h.
8836         (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
8837         instead of 0.  Call pthread_attr_setstacksize even if
8838         GOMP_DEFAULT_STACKSIZE is non-zero.
8840 2017-03-30  Jakub Jelinek  <jakub@redhat.com>
8842         * env.c (initialize_env): Initialize stacksize to 0.
8844 2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
8846         PR c++/80029
8847         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
8849 2017-03-08  Jakub Jelinek  <jakub@redhat.com>
8851         PR c/79940
8852         * testsuite/libgomp.c/pr79940.c: New test.
8854 2017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8856         * testsuite/libgomp.c/pr48591.c: Enable on all __float128
8857         targets.
8858         Add __float128 options.
8860 2017-02-11  John David Anglin  <danglin@gcc.gnu.org>
8862         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
8863         hppa*-*-* dg-skip-if directive.
8865 2017-02-09  Jakub Jelinek  <jakub@redhat.com>
8867         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
8868         dg-skip-if directive into a comment.
8870 2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
8871             Chung-Lin Tang  <cltang@codesourcery.com>
8873         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
8874         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
8875         add additional case.
8876         * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
8877         "openacc_nvidia_accel_selected".
8878         * libgomp.oacc-fortran/nested-function-1.f90 (test2):
8879         Add num_workers(8) clause.
8881 2017-02-08  John David Anglin  <danglin@gcc.gnu.org>
8883         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
8884         hppa*-*-*.
8885         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
8886         include complex.h on hppa*-*-hpux*.
8887         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8889 2017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
8891         * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
8893         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
8894         GOMP_OFFLOAD_openacc_exec.  Adjust all users.
8895         (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
8896         GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
8897         (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
8898         GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
8899         (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
8900         GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
8901         (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
8902         GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
8904 2017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
8906         * libgomp-plugin.h: #include <stdbool.h>.
8907         (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
8908         (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
8909         (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
8910         (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
8911         (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
8912         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
8913         (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
8914         (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
8915         (GOMP_OFFLOAD_openacc_register_async_cleanup)
8916         (GOMP_OFFLOAD_openacc_async_test)
8917         (GOMP_OFFLOAD_openacc_async_test_all)
8918         (GOMP_OFFLOAD_openacc_async_wait)
8919         (GOMP_OFFLOAD_openacc_async_wait_async)
8920         (GOMP_OFFLOAD_openacc_async_wait_all)
8921         (GOMP_OFFLOAD_openacc_async_wait_all_async)
8922         (GOMP_OFFLOAD_openacc_async_set_async)
8923         (GOMP_OFFLOAD_openacc_create_thread_data)
8924         (GOMP_OFFLOAD_openacc_destroy_thread_data)
8925         (GOMP_OFFLOAD_openacc_get_current_cuda_device)
8926         (GOMP_OFFLOAD_openacc_get_current_cuda_context)
8927         (GOMP_OFFLOAD_openacc_get_cuda_stream)
8928         (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
8929         * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
8930         these.
8931         * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
8932         (GOMP_OFFLOAD_unload_image): Fix argument types.
8934 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
8936         * testsuite/lib/libgomp.exp
8937         (check_effective_target_hsa_offloading_selected_nocache): Fix up
8938         check_compile invocation.  Fix up removal of executable.  Drop
8939         bogus "2>&1" argument.
8941         * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
8942         directive.
8944 2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
8945             Martin Jambor  <mjambor@suse.cz>
8947         * plugin/hsa.h: Moved to top level include.
8948         * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
8950 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
8952         PR other/79046
8953         * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
8954         of cat to get version from BASE-VER file.
8955         * testsuite/Makefile.in: Regenerated.
8957 2017-01-19  Jakub Jelinek  <jakub@redhat.com>
8959         * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
8960         for _WIN64.
8962 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
8964         * plugin/hsa.h: Add GCC runtime library exception.
8965         * plugin/hsa_ext_finalize.h: Likewise.
8967         * plugin/configfrag.ac: For --without-cuda-driver don't initialize
8968         CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
8969         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
8970         cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
8971         plugin/include/cuda as include dir and -ldl instead of -lcuda as
8972         library to link ptx plugin against.
8973         * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
8974         (CUDA_CALLS): Define.
8975         (cuda_lib, cuda_lib_inited): New variables.
8976         (init_cuda_lib): New function.
8977         (CUDA_CALL_PREFIX): Define.
8978         (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
8979         (CUDA_CALL): Use FN instead of (FN).
8980         (CUDA_CALL_NOCHECK): Define.
8981         (cuda_error, fini_streams_for_device, select_stream_for_async,
8982         nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
8983         event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
8984         nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
8985         nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
8986         CUDA_CALL_NOCHECK.
8987         (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
8988         CUDA_CALL_NOCHECK.
8989         (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
8990         Use CUDA_CALL_NOCHECK.
8991         * plugin/cuda/cuda.h: New file.
8992         * config.h.in: Regenerated.
8993         * configure: Regenerated.
8995         PR other/79046
8996         * configure.ac: Add GCC_BASE_VER.
8997         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
8998         get version from BASE-VER file.
8999         * testsuite/Makefile.in: Regenerated.
9000         * configure: Regenerated.
9001         * Makefile.in: Regenerated.
9003 2017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
9005         PR libgomp/60670
9006         * Makefile.am: Make fincludedir multilib-aware.
9007         * Makefile.in: Regenerate.
9009 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
9011         Update copyright years.
9013         * libgomp.texi: Bump @copying's copyright year.
9015 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9017         * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9018         pthread_spinlock_t instead of gomp_mutex_t lock.
9019         (gomp_get_thread_pool): Likewise.
9020         (gomp_release_thread_pool): Likewise.
9021         * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9022         Likewise.
9024 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9026         * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9027         thread pool in case nthreads == 1.
9029 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
9031         * config/nvptx/env.c: Delete.
9032         * icv.c: Move definitions of ICV variables back ...
9033         * env.c: ...here.  Do not compile environment-related functionality if
9034         LIBGOMP_OFFLOADED_ONLY is set.
9036 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
9038         * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9039         (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9040         * configure: Regenerate.
9041         * config.h.in: Likewise.
9043 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
9045         * Makefile.in: Regenerate with automake-1.11.6.
9046         * aclocal.m4: Likewise.
9047         * configure: Likewise.
9048         * testsuite/Makefile.in: Likewise.
9050 2016-11-28  Alexander Monakov  <amonakov@ispras.ru>
9052         * config/nvptx/critical.c: Delete to use generic implementation.
9054 2016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
9056         * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9057         ../../affinity.c as fallback.
9058         * config/nvptx/affinity.c: Delete to use fallback implementation.
9060 2016-11-23  Alexander Monakov  <amonakov@ispras.ru>
9061             Jakub Jelinek  <jakub@redhat.com>
9062             Dmitry Melnik  <dm@ispras.ru>
9064         * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9065         * Makefile.in. Regenerate.
9066         * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9067         (LIBGOMP_USE_PTHREADS): ...here; new define.
9068         * configure: Regenerate.
9069         * config.h.in: Likewise.
9070         * config/posix/affinity.c: Move to...
9071         * affinity.c: ...here (new file).  Guard use of Pthreads-specific
9072         interface by LIBGOMP_USE_PTHREADS. 
9073         * critical.c: Split out GOMP_atomic_{start,end} into...
9074         * atomic.c: ...here (new file).
9075         * env.c: Split out ICV definitions into...
9076         * icv.c: ...here (new file) and...
9077         * icv-device.c: ...here. New file.
9078         * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9079         (gomp_destroy_lock_30): Ditto.
9080         (gomp_set_lock_30): Ditto.
9081         (gomp_unset_lock_30): Ditto.
9082         (gomp_test_lock_30): Ditto.
9083         (gomp_init_nest_lock_30): Ditto.
9084         (gomp_destroy_nest_lock_30): Ditto.
9085         (gomp_set_nest_lock_30): Ditto.
9086         (gomp_unset_nest_lock_30): Ditto.
9087         (gomp_test_nest_lock_30): Ditto.
9088         * lock.c: New.
9089         * config/nvptx/lock.c: New.
9090         * config/nvptx/bar.c: New.
9091         * config/nvptx/bar.h: New.
9092         * config/nvptx/doacross.h: New.
9093         * config/nvptx/error.c: New.
9094         * config/nvptx/icv-device.c: New.
9095         * config/nvptx/mutex.h: New.
9096         * config/nvptx/pool.h: New.
9097         * config/nvptx/proc.c: New.
9098         * config/nvptx/ptrlock.h: New.
9099         * config/nvptx/sem.h: New.
9100         * config/nvptx/simple-bar.h: New.
9101         * config/nvptx/target.c: New.
9102         * config/nvptx/task.c: New.
9103         * config/nvptx/team.c: New.
9104         * config/nvptx/time.c: New.
9105         * config/posix/simple-bar.h: New.
9106         * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
9107         (gomp_num_teams_var): Declare.
9108         (struct gomp_thread_pool): Change threads_dock member to
9109         gomp_simple_barrier_t.
9110         [__nvptx__] (gomp_thread): New implementation.
9111         (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9112         (gomp_thread_destructor): Ditto.
9113         (gomp_init_thread_affinity): Ditto.
9114         * team.c: Guard uses of Pthreads-specific interfaces by
9115         LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
9116         (gomp_free_thread) [__nvptx__]: Do not call 'free'.
9117         * config/nvptx/alloc.c: Delete.
9118         * config/nvptx/barrier.c: Ditto.
9119         * config/nvptx/fortran.c: Ditto.
9120         * config/nvptx/iter.c: Ditto.
9121         * config/nvptx/iter_ull.c: Ditto.
9122         * config/nvptx/loop.c: Ditto.
9123         * config/nvptx/loop_ull.c: Ditto.
9124         * config/nvptx/ordered.c: Ditto.
9125         * config/nvptx/parallel.c: Ditto.
9126         * config/nvptx/priority_queue.c: Ditto.
9127         * config/nvptx/sections.c: Ditto.
9128         * config/nvptx/single.c: Ditto.
9129         * config/nvptx/splay-tree.c: Ditto.
9130         * config/nvptx/work.c: Ditto.
9131         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9132         -foffload=-lgfortran in addition to -lgfortran.
9133         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9134         * plugin/plugin-nvptx.c: Include <limits.h>.
9135         (struct targ_fn_descriptor): Add new fields.
9136         (struct ptx_device): Ditto.  Set them...
9137         (nvptx_open_device): ...here.
9138         (nvptx_adjust_launch_bounds): New.
9139         (nvptx_host2dev): Allow NULL 'nvthd'.
9140         (nvptx_dev2host): Ditto.
9141         (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9142         (link_ptx): Adjust log sizes.
9143         (nvptx_host2dev): Allow NULL 'nvthd'.
9144         (nvptx_dev2host): Ditto.
9145         (nvptx_set_clocktick): New.  Use it...
9146         (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
9147         fields.
9148         (GOMP_OFFLOAD_dev2dev): New.
9149         (nvptx_adjust_launch_bounds): New.
9150         (nvptx_stacks_size): New.
9151         (nvptx_stacks_alloc): New.
9152         (nvptx_stacks_free): New.
9153         (GOMP_OFFLOAD_run): New.
9154         (GOMP_OFFLOAD_async_run): New (stub).
9156 2016-11-23  Martin Jambor  <mjambor@suse.cz>
9158         * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9159         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9160         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9162 2016-11-23  Martin Liska  <mliska@suse.cz>
9163             Martin Jambor  <mjambor@suse.cz>
9165         * plugin/hsa.h: New file.
9166         * plugin/hsa_ext_finalize.h: New file.
9167         * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
9168         header file unistd.h, and functions secure_getenv, __secure_getenv,
9169         getuid, geteuid, getgid and getegid.
9170         * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9171         -D_GNU_SOURCE.
9172         * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9173         Handle various cases of secure_getenv presence, add an implementation
9174         when we can test effective UID and GID.
9175         (struct hsa_runtime_fn_info): New structure.
9176         (hsa_runtime_fn_info hsa_fns): New variable.
9177         (hsa_runtime_lib): Likewise.
9178         (support_cpu_devices): Likewise.
9179         (init_enviroment_variables): Load newly introduced ENV
9180         variables.
9181         (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9182         (hsa_fatal): Likewise.
9183         (DLSYM_FN): New macro.
9184         (init_hsa_runtime_functions): New function.
9185         (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9186         structure.  Depending on environment, also allow CPU devices.
9187         (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9188         (get_kernarg_memory_region): Likewise.
9189         (GOMP_OFFLOAD_init_device): Likewise.
9190         (destroy_hsa_program): Likewise.
9191         (init_basic_kernel_info): New function.
9192         (GOMP_OFFLOAD_load_image): Use it.
9193         (create_and_finalize_hsa_program): Call hsa run-time functions via
9194         hsa_fns structure.
9195         (create_single_kernel_dispatch): Likewise.
9196         (release_kernel_dispatch): Likewise.
9197         (init_single_kernel): Likewise.
9198         (parse_target_attributes): Allow up multiple HSA grid dimensions.
9199         (get_group_size): New function.
9200         (run_kernel): Likewise.
9201         (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9202         (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9203         structure.
9204         * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9205         * testsuite/libgomp-test-support.exp.in: Likewise.
9206         * Makefile.in: Regenerated.
9207         * aclocal.m4: Likewise.
9208         * config.h.in: Likewise.
9209         * configure: Likewise.
9210         * testsuite/Makefile.in: Likewise.
9212 2016-11-15  Martin Jambor  <mjambor@suse.cz>
9213             Alexander Monakov  <amonakov@ispras.ru>
9215         * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9216         mapping clauses to target constructs.
9217         * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9219 2016-11-15  Matthias Klose  <doko@ubuntu.com>
9221         * configure: Regenerate.
9223 2016-11-10  Jakub Jelinek  <jakub@redhat.com>
9225         * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9226         * omp_lib.h.in (openmp_version): Likewise.
9227         * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9228         of 201307.
9229         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9231         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9232         (fib_wrapper): Add map(from: x) clause.
9233         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9234         (e_53_2): Likewise.
9235         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9236         (accum): Add map(tmp) clause.
9237         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9238         (accum): Add map(tofrom: tmp) clause.
9239         * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9240         (gramSchmidt): Likewise.
9241         * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9242         map(tofrom: sum) clause.
9243         * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9244         map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
9245         * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9246         only allowed on the loop iterator.
9247         * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9248         * testsuite/libgomp.fortran/taskloop2.f90: New test.
9249         * testsuite/libgomp.fortran/taskloop4.f90: New test.
9250         * testsuite/libgomp.fortran/doacross1.f90: New test.
9251         * testsuite/libgomp.fortran/doacross3.f90: New test.
9252         * testsuite/libgomp.fortran/taskloop1.f90: New test.
9253         * testsuite/libgomp.fortran/taskloop3.f90: New test.
9254         * testsuite/libgomp.fortran/doacross2.f90: New test.
9255         * testsuite/libgomp.c/doacross-1.c (main): Add missing
9256         #pragma omp atomic read.
9257         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9258         * testsuite/libgomp.c/doacross-3.c (main): Likewise.
9260 2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
9261             Nathan Sidwell  <nathan@acm.org>
9263         * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9264         to determine default geometry.
9265         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9266         dimension.
9268 2016-11-01  Jakub Jelinek  <jakub@redhat.com>
9270         * hashtab.h: Use standard GPLv3 with runtime exception
9271         boilerplate.
9273 2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
9275         * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9276         size when allocating new thread.
9278 2016-09-14  Marek Polacek  <polacek@redhat.com>
9280         * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9282 2016-08-19  Jakub Jelinek  <jakub@redhat.com>
9284         PR fortran/71014
9285         * testsuite/libgomp.fortran/pr71014.f90: New test.
9287 2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
9289         PR middle-end/70895
9290         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9291         firstprivate clauses.
9292         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
9293         copy clauses.
9294         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9295         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9296         * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
9297         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9298         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9299         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9300         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9301         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9302         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9303         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9304         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9305         * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
9307 2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
9309         PR fortran/70598
9310         * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9312 2016-08-08  Jakub Jelinek  <jakub@redhat.com>
9314         PR c++/58706
9315         * testsuite/libgomp.c++/pr58706.C: New test.
9317 2016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
9319         * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
9320         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
9321         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9322         Likewise.
9323         * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
9324         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
9325         Likewise.
9326         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
9328         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
9329         test, and don't hardcode -O0.
9331 2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
9333         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
9335 2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
9337         * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
9338         test.
9340 2016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
9342         PR middle-end/71734
9343         * testsuite/libgomp.fortran/pr71734-1.f90: New test.
9344         * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
9346 2016-07-01  Jakub Jelinek  <jakub@redhat.com>
9348         PR fortran/71717
9349         * testsuite/libgomp.fortran/associate3.f90: New test.
9351 2016-06-17  Jakub Jelinek  <jakub@redhat.com>
9353         * testsuite/libgomp.c++/target-21.C: New test.
9355 2016-06-16  Jakub Jelinek  <jakub@redhat.com>
9357         * testsuite/libgomp.c++/target-20.C: New test.
9359 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
9360             Cesar Philippidis  <cesar@codesourcery.com>
9362         PR middle-end/71373
9363         * libgomp.oacc-c/nested-function-1.c: New file.
9364         * libgomp.oacc-c/nested-function-2.c: Likewise.
9365         * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9366         * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9367         * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9369 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
9371         PR c/71381
9372         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
9373         "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
9374         * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
9376 2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
9378         * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
9379         * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
9381 2016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
9383         PR c/70688
9384         * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
9386 2016-05-26  Jakub Jelinek  <jakub@redhat.com>
9388         * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
9389         instead of invalid schedule(static, 0).
9390         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9392 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
9394         * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
9395         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
9396         parameter, use to set async stream around call to gomp_unmap_vars,
9397         call gomp_unmap_vars() with 'do_copyfrom' set to true.
9398         * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
9399         (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
9400         events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
9401         (event_add): Add int parameter, initialize 'val' field when
9402         adding new ptx_event struct.
9403         (nvptx_evec): Adjust event_add() call arguments.
9404         (nvptx_host2dev): Likewise.
9405         (nvptx_dev2host): Likewise.
9406         (nvptx_wait_async): Likewise.
9407         (nvptx_wait_all_async): Likewise.
9408         (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
9409         pass to event_add() call.
9410         * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
9411         parameter.
9412         * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
9413         call openacc.register_async_cleanup_func() hook.
9414         * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
9415         * target.c (gomp_copy_from_async): Delete function.
9416         (gomp_map_vars): Remove async_refcount.
9417         (gomp_unmap_vars): Likewise.
9418         (gomp_load_image_to_device): Likewise.
9419         (omp_target_associate_ptr): Likewise.
9420         * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
9421         (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
9422         (gomp_copy_from_async): Remove.
9424 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
9426         * target.c (gomp_device_copy): New function.
9427         (gomp_copy_host2dev): Likewise.
9428         (gomp_copy_dev2host): Likewise.
9429         (gomp_free_device_memory): Likewise.
9430         (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
9431         (gomp_map_pointer): Likewise.
9432         (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
9433         NULL value from alloc_func plugin hook.
9434         (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
9435         (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
9436         (gomp_unmap_vars): Likewise.
9437         (gomp_update): Adjust to call gomp_copy_dev2host and
9438         gomp_copy_host2dev functions.
9439         (gomp_unload_image_from_device): Handle false value from
9440         unload_image_func plugin hook.
9441         (gomp_init_device): Handle false value from init_device_func
9442         plugin hook.
9443         (gomp_exit_data): Adjust to call gomp_copy_dev2host.
9444         (omp_target_free): Adjust to call gomp_free_device_memory.
9445         (omp_target_memcpy): Handle return values from host2dev_func,
9446         dev2host_func, and dev2dev_func plugin hooks.
9447         (omp_target_memcpy_rect_worker): Likewise.
9448         (gomp_target_fini): Handle false value from fini_device_func
9449         plugin hook.
9450         * libgomp.h (struct gomp_device_descr): Adjust return type of
9451         init_device_func, fini_device_func, unload_image_func, free_func,
9452         dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
9453         * oacc-init.c (acc_shutdown_1): Handle false value from
9454         fini_device_func plugin hook.
9455         * oacc-host.c (host_init_device): Change return type to bool.
9456         (host_fini_device): Likewise.
9457         (host_unload_image): Likewise.
9458         (host_free): Likewise.
9459         (host_dev2host): Likewise.
9460         (host_host2dev): Likewise.
9461         * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
9462         (acc_memcpy_to_device): Likewise.
9463         (acc_memcpy_from_device): Likewise.
9464         (delete_copyout): Add libfnname parameter, handle free_func
9465         hook fatal error case.
9466         (acc_delete): Adjust delete_copyout call.
9467         (acc_copyout): Likewise.
9468         (update_dev_host): Move gomp_mutex_unlock to after
9469         host2dev/dev2host hook calls.
9471         * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
9472         to 'hsa_error_msg', for clarity.
9473         (hsa_fatal): Likewise.
9474         (hsa_error): New function.
9475         (init_hsa_context): Change return type to bool, adjust to return
9476         false on error.
9477         (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
9478         return value.
9479         (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
9480         return false on error.
9481         (get_agent_info): Adjust to return NULL on error.
9482         (destroy_hsa_program): Change return type to bool, adjust to
9483         return false on error.
9484         (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
9485         (destroy_module): Change return type to bool, adjust to
9486         return false on error.
9487         (GOMP_OFFLOAD_unload_image): Likewise.
9488         (GOMP_OFFLOAD_fini_device): Likewise.
9489         (GOMP_OFFLOAD_alloc): Change to return NULL when called.
9490         (GOMP_OFFLOAD_free): Change to return false when called.
9491         (GOMP_OFFLOAD_dev2host): Likewise.
9492         (GOMP_OFFLOAD_host2dev): Likewise.
9493         (GOMP_OFFLOAD_dev2dev): Likewise.
9495         * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
9496         (CUDA_CALL): Likewise.
9497         (CUDA_CALL_ASSERT): Likewise.
9498         (map_init): Change return type to bool, use CUDA_CALL* macros.
9499         (map_fini): Likewise.
9500         (init_streams_for_device): Change return type to bool, adjust
9501         call to map_init.
9502         (fini_streams_for_device): Change return type to bool, adjust
9503         call to map_fini.
9504         (select_stream_for_async): Release stream_lock before calls to
9505         GOMP_PLUGIN_fatal, adjust call to map_init.
9506         (nvptx_init): Use CUDA_CALL* macros.
9507         (nvptx_attach_host_thread_to_device): Change return type to bool,
9508         use CUDA_CALL* macros.
9509         (nvptx_open_device): Use CUDA_CALL* macros.
9510         (nvptx_close_device): Change return type to bool, use CUDA_CALL*
9511         macros.
9512         (nvptx_get_num_devices): Use CUDA_CALL* macros.
9513         (link_ptx): Change return type to bool, use CUDA_CALL* macros.
9514         (nvptx_exec): Use CUDA_CALL* macros.
9515         (nvptx_alloc): Use CUDA_CALL* macros.
9516         (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
9517         (nvptx_host2dev): Likewise.
9518         (nvptx_dev2host): Likewise.
9519         (nvptx_wait): Use CUDA_CALL* macros.
9520         (nvptx_wait_async): Likewise.
9521         (nvptx_wait_all): Likewise.
9522         (nvptx_wait_all_async): Likewise.
9523         (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
9524         use CUDA_CALL* macros, adjust call to map_fini.
9525         (GOMP_OFFLOAD_init_device): Change return type to bool,
9526         adjust code accordingly.
9527         (GOMP_OFFLOAD_fini_device): Likewise.
9528         (GOMP_OFFLOAD_load_image): Adjust calls to
9529         nvptx_attach_host_thread_to_device/link_ptx to handle errors,
9530         use CUDA_CALL* macros.
9531         (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
9532         return code.
9533         (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
9534         (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
9535         handle error return.
9536         (GOMP_OFFLOAD_dev2host): Likewise.
9537         (GOMP_OFFLOAD_host2dev): Likewise.
9538         (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
9539         (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
9541 2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
9543         * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
9544         (acc_free): Likewise.
9545         (acc_memcpy_to_device): Likewise.
9546         (acc_memcpy_from_device): Likewise.
9547         (acc_deviceptr): Likewise.
9548         (acc_hostptr): Likewise.
9549         (acc_is_present): Likewise.
9550         (acc_map_data): Likewise.
9551         (acc_unmap_data): Likewise.
9552         (present_create_copy): Likewise.
9553         (delete_copyout): Likewise.
9554         (update_dev_host): Likewise.
9555         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
9556         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
9557         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
9558         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9559         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
9560         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
9561         it only runs on nvptx targets.
9562         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9563         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9564         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9565         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9566         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9567         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9568         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9569         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9570         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9571         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9572         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9573         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9574         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9575         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9576         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9577         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9578         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9579         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9580         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9581         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9582         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9583         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9584         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9586 2016-05-23  Martin Jambor  <mjambor@suse.cz>
9588         * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
9590 2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
9592         * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
9593         to gomp_init_targets_once.
9594         (acc_set_device_type): Remove !cached_base_dev condition on call to
9595         gomp_init_targets_once, move call to before acc_device_lock acquire,
9596         to avoid deadlock.
9597         (acc_get_device_num): Remove !cached_base_dev condition on call to
9598         gomp_init_targets_once.
9599         (acc_set_device_num): Likewise.
9601 2016-05-16  Martin Jambor  <mjambor@suse.cz>
9603         * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
9605 2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
9607         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
9608         expected partitioning.
9610 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
9612         PR middle-end/70626
9613         * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
9614         * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
9615         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
9617 2016-04-21  Alexander Monakov  <amonakov@ispras.ru>
9619         * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
9620         non-fatal.
9622 2016-04-19  Jakub Jelinek  <jakub@redhat.com>
9624         PR middle-end/70680
9625         * testsuite/libgomp.c/pr70680-1.c: New test.
9626         * testsuite/libgomp.c/pr70680-2.c: New test.
9628 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
9630         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
9631         pass parameter variables to subroutines.
9633 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
9635         PR middle-end/70643
9636         * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
9638 2016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
9640         PR testsuite/68242
9641         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
9642         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9644 2016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
9646         * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
9647         GOACC_parallel_keyed, restore GOACC_parallel prototype, new
9648         GOACC_declare prototype.
9650         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
9651         Merge this file, and...
9652         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
9653         ... this file, and...
9654         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
9655         ... this file, and...
9656         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
9657         ... this file, and...
9658         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
9659         ... this file, and...
9660         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
9661         ... this file, and...
9662         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
9663         ... this file, and...
9664         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
9665         ... this file, and...
9666         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
9667         ... this file, and...
9668         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
9669         ... this file, and...
9670         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
9671         ... this file, and...
9672         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
9673         ... this file, and...
9674         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
9675         ... this file into...
9676         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
9677         file.
9679         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9680         Make failure observable.
9682 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
9684         * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
9685         field.
9686         * target.c (gomp_target_fallback_firstprivate,
9687         gomp_target_unshare_firstprivate): Removed.
9688         (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
9689         before waiting for dependencies.
9690         (gomp_target_task_fn): Don't copy firstprivate vars here.
9691         * task.c (GOMP_PLUGIN_target_task_completion): Don't free
9692         firstprivate_copies here.
9693         (gomp_create_target_task): Don't initialize firstprivate_copies field.
9694         * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
9695         explicit/implicit firstprivate.
9697 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
9699         PR lto/70289
9700         PR ipa/70348
9701         PR tree-optimization/70373
9702         PR middle-end/70533
9703         PR middle-end/70534
9704         PR middle-end/70535
9705         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
9706         test.
9707         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
9708         test.
9709         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
9710         test.
9711         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
9712         test.
9713         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
9714         test.
9715         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
9716         test.
9717         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
9718         test.
9719         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
9720         test.
9721         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
9722         test.
9723         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
9724         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
9725         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
9726         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
9727         test.
9728         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
9729         test.
9730         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
9731         test.
9732         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
9733         test.
9734         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
9735         coverage.
9736         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9737         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9738         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
9739         * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
9740         * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
9741         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
9742         coverage.
9743         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9744         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9745         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9746         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9747         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
9748         * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
9749         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
9750         * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
9751         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
9752         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9753         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9754         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9755         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9756         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9757         * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
9759 2016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
9760             James Norris  <jnorris@codesourcery.com>
9761             Nathan Sidwell  <nathan@codesourcery.com>
9762             Julian Brown  <julian@codesourcery.com>
9763             Cesar Philippidis  <cesar@codesourcery.com>
9764             Chung-Lin Tang  <cltang@codesourcery.com>
9765             Tom de Vries  <tom@codesourcery.com>
9767         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
9768         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9769         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9770         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
9771         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9772         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9773         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9774         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
9775         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9776         XFAIL.
9777         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
9778         Incorporate...
9779         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
9780         file.
9781         * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
9782         * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
9783         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
9784         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
9785         Likewise.
9786         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
9787         Likewise.
9788         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9789         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
9790         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
9791         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
9792         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
9793         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9794         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
9795         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
9796         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
9797         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
9798         Likewise.
9799         * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
9800         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9801         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
9802         file...
9803         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
9804         file into...
9805         * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
9806         file.  Update.
9807         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
9808         file.
9809         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
9810         Likewise.
9811         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
9812         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
9813         ... this new file.  Update.
9814         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
9815         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
9816         ... this new file.  Update.
9817         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
9818         file.  Incorporate...
9819         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
9820         file, and...
9821         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
9822         file, and...
9823         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
9824         file.
9825         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
9827 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
9829         * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
9830         set-torture-options.
9832 2016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
9834         * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
9835         gcc-dg-runtest.
9836         * testsuite/libgomp.oacc-c/c.exp: Likewise.
9837         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
9838         -fno-builtin-acc_on_device instead of -O0.
9839         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
9840         -O0.
9841         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9842         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
9843         Likewise.
9844         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9845         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9846         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9847         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9848         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9849         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9850         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9851         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9852         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9853         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9854         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9855         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9856         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9857         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9858         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9859         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9860         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9861         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
9862         Don't specify -O2.
9863         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
9864         Likewise.
9865         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
9866         Likewise.
9868 2016-03-24  Martin Liska  <mliska@suse.cz>
9870         * plugin/plugin-hsa.c (packet_store_release): New function
9871         that is taken from the HSA runtime manual.
9872         (GOMP_OFFLOAD_run): Use the function.
9874 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
9876         PR c++/70376
9877         * testsuite/libgomp.c++/pr70376.C: New test.
9879 2016-03-23  Tom de Vries  <tom@codesourcery.com>
9881         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
9882         initialization of lresult and lvresult.
9883         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
9885 2016-03-23  James Norris  <jnorris@codesourcery.com>
9886             Daichi Fukuoka <dc-fukuoka@sgi.com>
9888         PR libgomp/69414
9889         * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
9890         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
9891         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9892         * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
9894 2016-03-23  Martin Liska  <mliska@suse.cz>
9896         PR hsa/70337
9897         * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
9898         argument just in case a dispatched kernel uses that argument.
9900 2016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
9902         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
9903         -ftree-parallelize-loops/-fopenacc changes.
9904         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
9905         Likewise.
9906         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9907         Likewise.
9908         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
9909         Likewise.
9910         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
9911         Likewise.
9912         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
9913         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
9915 2016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
9917         * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
9918         always_ld_library_path the path to libgcc_s.
9920 2016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
9922         PR testsuite/70009
9923         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
9925 2016-03-09  Tom de Vries  <tom@codesourcery.com>
9927         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
9928         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
9929         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9930         Same.
9931         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
9932         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
9933         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
9934         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
9936 2016-03-07  Martin Jambor  <mjambor@suse.cz>
9938         * testsuite/lib/libgomp.exp
9939         (check_effective_target_hsa_offloading_selected_nocache): New.
9940         (check_effective_target_hsa_offloading_selected): Likewise.
9941         * testsuite/libgomp.hsa.c/c.exp: Likewise.
9942         * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
9943         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
9944         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
9945         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
9946         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
9947         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
9948         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
9949         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
9950         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
9951         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
9952         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
9953         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
9954         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
9955         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
9956         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
9957         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
9959 2016-03-07  Martin Jambor  <mjambor@suse.cz>
9961         * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
9962         non-shared memory accelerators.
9963         * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
9964         * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
9965         * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
9966         * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
9967         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
9968         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
9969         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
9970         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
9971         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
9973 2016-03-07  Martin Jambor  <mjambor@suse.cz>
9975         * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
9976         ALWAYS_CFLAGS.
9978 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
9980         PR libgomp/69555
9981         * testsuite/libgomp.c++/pr69555-1.C: New test.
9982         * testsuite/libgomp.c++/pr69555-2.C: New test.
9984 2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
9985             Martin Jambor  <mjambor@suse.cz>
9987         * testsuite/lib/libgomp.exp
9988         (check_effective_target_offload_device_shared_as): New proc.
9989         * testsuite/libgomp.c++/declare_target-1.C: New test.
9991 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
9993         PR driver/68463
9994         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
9996 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
9998         * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
9999         * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10000         dims.
10001         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10002         -ftree-parallelize-loops/-fopenacc changes.
10003         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10004         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10005         Likewise.
10006         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10007         Likewise.
10008         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10009         Likewise.
10010         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10011         Likewise.
10012         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10013         Likewise.
10014         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10015         Likewise.
10016         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10017         Likewise.
10018         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10019         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10020         Likewise.
10021         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10022         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10023         Likewise.
10024         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10025         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10026         Likewise.
10028 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
10030         * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10032 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
10034         PR driver/69805
10035         * testsuite/libgomp.c/pr69805.c: New test.
10037 2016-02-16  Tom de Vries  <tom@codesourcery.com>
10039         PR lto/67709
10040         * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10042 2016-02-09  Tom de Vries  <tom@codesourcery.com>
10044         PR tree-optimization/69599
10045         * testsuite/libgomp.c/omp-nested-3.c: New test.
10046         * testsuite/libgomp.c/pr46032-2.c: New test.
10047         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10048         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10050 2016-02-09  Tom de Vries  <tom@codesourcery.com>
10052         PR lto/69707
10053         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10055 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
10057         * testsuite/libgomp.c/target-31.c: Fix testcase.
10059 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
10061         * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10062         clause.
10063         * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10064         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10065         reduction and map clauses.
10066         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10068 2016-02-02  James Norris  <jnorris@codesourcery.com>
10070         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10072 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
10074         * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10075         * oacc-parallel.c (GOACC_host_data): Remove function definition.
10077         * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10078         cases.
10080         * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10081         variables.
10082         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10083         (hsa_kmt_lib): Set variables.
10084         * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10085         always_ld_library_path.
10086         * Makefile.in: Regenerate.
10087         * configure: Likewise.
10088         * testsuite/Makefile.in: Likewise.
10090         * plugin/configfrag.ac (offload_additional_options)
10091         (offload_additional_lib_paths): Don't amend for hsa offloading.
10092         * configure: Regenerate.
10094         * plugin/configfrag.ac: Don't configure for offloading target if
10095         we don't build the corresponding plugin.
10096         * configure: Regenerate.
10098 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
10100         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10101         * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10103 2016-01-26  Tom de Vries  <tom@codesourcery.com>
10105         PR tree-optimization/69110
10106         * testsuite/libgomp.c/pr69110.c: New test.
10108 2016-01-25  Richard Biener  <rguenther@suse.de>
10110         PR lto/69393
10111         * testsuite/libgomp.c++/pr69393.C: New testcase.
10113 2016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
10115         * target.c (gomp_get_target_fn_addr): Allow host fallback if target
10116         function wasn't mapped to the device with non-shared memory.
10118 2016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
10120         * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10122 2016-01-19  Martin Jambor  <mjambor@suse.cz>
10123             Martin Liska  <mliska@suse.cz>
10125         * plugin/Makefrag.am: Add HSA plugin requirements.
10126         * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10127         (HSA_RUNTIME_LIB): Likewise.
10128         (HSA_RUNTIME_CPPFLAGS): Likewise.
10129         (HSA_RUNTIME_INCLUDE): New substitution.
10130         (HSA_RUNTIME_LIB): Likewise.
10131         (HSA_RUNTIME_LDFLAGS): Likewise.
10132         (hsa-runtime): New configure option.
10133         (hsa-runtime-include): Likewise.
10134         (hsa-runtime-lib): Likewise.
10135         (PLUGIN_HSA): New substitution variable.
10136         Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10137         configure options.
10138         (PLUGIN_HSA_CPPFLAGS): Likewise.
10139         (PLUGIN_HSA_LDFLAGS): Likewise.
10140         (PLUGIN_HSA_LIBS): Likewise.
10141         Check that we have access to HSA run-time.
10142         * libgomp-plugin.h (offload_target_type): New element
10143         OFFLOAD_TARGET_TYPE_HSA.
10144         * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10145         args.
10146         (bool gomp_create_target_task): Updated.
10147         (gomp_device_descr): Extra parameter of run_func and async_run_func,
10148         new field can_run_func.
10149         * libgomp_g.h (GOMP_target_ext): Update prototype.
10150         * oacc-host.c (host_run): Added a new parameter args.
10151         * target.c (calculate_firstprivate_requirements): New function.
10152         (copy_firstprivate_data): Likewise.
10153         (gomp_target_fallback_firstprivate): Use them.
10154         (gomp_target_unshare_firstprivate): New function.
10155         (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10156         devices.
10157         (GOMP_target): Do host fallback for all shared memory devices.  Do not
10158         pass any args to plugins.
10159         (GOMP_target_ext): Introduce device-specific argument parameter args.
10160         Allow host fallback if device shares memory.  Do not remap data if
10161         device has shared memory.
10162         (gomp_target_task_fn): Likewise.  Also treat shared memory devices
10163         like host fallback for mappings.
10164         (GOMP_target_data): Treat shared memory devices like host fallback.
10165         (GOMP_target_data_ext): Likewise.
10166         (GOMP_target_update): Likewise.
10167         (GOMP_target_update_ext): Likewise.  Also pass NULL as args to
10168         gomp_create_target_task.
10169         (GOMP_target_enter_exit_data): Likewise.
10170         (omp_target_alloc): Treat shared memory devices like host fallback.
10171         (omp_target_free): Likewise.
10172         (omp_target_is_present): Likewise.
10173         (omp_target_memcpy): Likewise.
10174         (omp_target_memcpy_rect): Likewise.
10175         (omp_target_associate_ptr): Likewise.
10176         (gomp_load_plugin_for_device): Also load can_run.
10177         * task.c (GOMP_PLUGIN_target_task_completion): Free
10178         firstprivate_copies.
10179         (gomp_create_target_task): Accept new argument args and store it to
10180         ttask.
10181         * plugin/plugin-hsa.c: New file.
10183 2016-01-18  Tom de Vries  <tom@codesourcery.com>
10185         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10186         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10187         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10188         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10189         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10190         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10191         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10192         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10193         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10194         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10195         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10196         Same.
10197         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10198         Same.
10199         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10200         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10201         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10202         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10203         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10204         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10205         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10206         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10207         Same.
10208         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10210 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
10212         * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10214 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
10216         * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10218 2016-01-12  James Norris  <jnorris@codesourcery.com>
10220         * libgomp.texi: Updates for OpenACC.
10222 2016-01-11  Alexander Monakov  <amonakov@ispras.ru>
10224         * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10226 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
10228         PR fortran/66680
10229         * testsuite/libgomp.fortran/pr66680.f90: New test.
10231 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
10233         PR middle-end/68960
10234         * testsuite/libgomp.c/pr68960.c: New test.
10236 2016-01-06  Nathan Sidwell  <nathan@acm.org>
10238         * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
10239         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10241 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
10243         Update copyright years.
10245         * libgomp.texi: Bump @copying's copyright year.
10247 2015-12-31  Nathan Sidwell  <nathan@acm.org>
10249         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10250         dg-additional-options syntax.
10251         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10252         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10253         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10254         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10255         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10256         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10257         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10258         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10259         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10260         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10261         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10262         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10263         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10264         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10265         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10266         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10267         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10268         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10270 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
10272         * libgomp.h (REFCOUNT_LINK): Define.
10273         (struct splay_tree_key_s): Add link_key.
10274         * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10275         Replace target address of the pointer with target address of newly
10276         mapped object in the splay tree.  Set link pointer on target to the
10277         device address of the mapped object.
10278         (gomp_unmap_vars): Restore target address of the pointer in the splay
10279         tree for REFCOUNT_LINK objects after unmapping.
10280         (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10281         declare target link" objects.
10282         (gomp_unload_image_from_device): Replace j with i.  Force unmap of all
10283         "omp declare target link" objects, which were mapped for the image.
10284         (gomp_exit_data): Restore target address of the pointer in the splay
10285         tree for REFCOUNT_LINK objects after unmapping.
10286         * testsuite/libgomp.c/target-link-1.c: New file.
10288 2015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
10290         * libgomp.h (gomp_device_state): New enum.
10291         (struct gomp_device_descr): Replace is_initialized with state.
10292         (gomp_fini_device): Remove declaration.
10293         * oacc-host.c (host_dispatch): Use state instead of is_initialized.
10294         * oacc-init.c (acc_init_1): Use state instead of is_initialized.
10295         (acc_shutdown_1): Likewise.  Inline gomp_fini_device.
10296         (acc_set_device_type): Use state instead of is_initialized.
10297         (acc_set_device_num): Likewise.
10298         * target.c (resolve_device): Use state instead of is_initialized.
10299         Do not initialize finalized device.
10300         (gomp_map_vars): Do nothing if device is finalized.
10301         (gomp_unmap_vars): Likewise.
10302         (gomp_update): Likewise.
10303         (GOMP_offload_register_ver): Use state instead of is_initialized.
10304         (GOMP_offload_unregister_ver): Likewise.
10305         (gomp_init_device): Likewise.
10306         (gomp_unload_device): Likewise.
10307         (gomp_fini_device): Remove.
10308         (gomp_get_target_fn_addr): Do nothing if device is finalized.
10309         (GOMP_target): Go to host fallback if device is finalized.
10310         (GOMP_target_ext): Likewise.
10311         (gomp_exit_data): Do nothing if device is finalized.
10312         (gomp_target_task_fn): Go to host fallback if device is finalized.
10313         (gomp_target_fini): New static function.
10314         (gomp_target_init): Use state instead of is_initialized.
10315         Call gomp_target_fini at exit.
10317 2015-12-09  Tom de Vries  <tom@codesourcery.com>
10319         PR tree-optimization/68716
10320         * testsuite/libgomp.c/omp-nested-2.c: New test.
10322 2015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
10324         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
10325         target openacc_nvidia_accel_selected.
10326         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
10327         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
10328         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
10329         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
10331 2015-12-01  Julian Brown  <julian@codesourcery.com>
10332             James Norris  <James_Norris@mentor.com>
10334         * oacc-parallel.c (GOACC_host_data): New function.
10335         * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
10336         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
10337         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
10338         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
10339         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
10340         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
10341         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
10343 2015-11-30  James Norris  <jnorris@codesourcery.com>
10344             Cesar Philippidis  <cesar@codesourcery.com>
10346         libgomp/
10347         * libgomp.oacc-fortran/routine-5.f90: New test.
10348         * libgomp.oacc-fortran/routine-7.f90: New test.
10349         * libgomp.oacc-fortran/routine-9.f90: New test.
10351 2015-11-30  Tom de Vries  <tom@codesourcery.com>
10353         PR tree-optimization/46032
10354         * testsuite/libgomp.c/pr46032.c: New test.
10356 2015-11-27  Jakub Jelinek  <jakub@redhat.com>
10358         PR libgomp/68579
10359         * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
10360         (gomp_create_target_task): Call it before freeing
10361         GOMP_TARGET_TASK_DATA tasks.
10363         PR c/63326
10364         * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
10365         in between case label and OpenMP standalone directives.
10366         * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
10368 2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
10370         * configure: Regenerate.
10372 2015-11-26  Jakub Jelinek  <jakub@redhat.com>
10374         * testsuite/libgomp.c/target-35.c: New test.
10376 2015-11-22  James Norris  <jnorris@codesourcery.com>
10377             Cesar Philippidis  <cesar@codesourcery.com>
10379         * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
10380         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10381         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10382         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10383         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10385 2015-11-20  Jakub Jelinek  <jakub@redhat.com>
10387         PR middle-end/68221
10388         * testsuite/libgomp.c/reduction-11.c: Remove xfail.
10389         * testsuite/libgomp.c/reduction-12.c: Likewise.
10390         * testsuite/libgomp.c++/reduction-11.C: Likewise.
10391         * testsuite/libgomp.c++/reduction-12.C: Likewise.
10393 2015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
10395         * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
10396         * libgomp.oacc-c-c++-common/reduction-flt.c: New.
10397         * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
10398         * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
10399         * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
10400         and fix.
10401         * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10402         * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10404 2015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
10406         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
10407         worker & gang cases.
10408         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10410 2015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
10412         * config/nvptx/priority_queue.c: New file.
10414 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
10416         * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
10417         sections.
10419 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
10420             Aldy Hernandez  <aldyh@redhat.com>
10421             Ilya Verbin  <ilya.verbin@intel.com>
10423         * ordered.c (gomp_doacross_init, GOMP_doacross_post,
10424         GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
10425         GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
10426         iterators or IV by chunk size.
10427         * parallel.c (gomp_resolve_num_threads): Don't assume that
10428         if thr->ts.team is non-NULL, then pool must be non-NULL.
10429         * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
10430         * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
10431         GOMP_PLUGIN_target_task_completion.
10432         * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
10433         * Makefile.in: Regenerate.
10434         * libgomp.h: Shuffle prototypes and forward definitions around so
10435         priority queues can be defined.
10436         (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
10437         (enum gomp_target_task_state): New enum.
10438         (struct gomp_target_task): Add state, tgt, task and team fields.
10439         (gomp_create_target_task): Change return type to bool, add
10440         state argument.
10441         (gomp_target_task_fn): Change return type to bool.
10442         (struct gomp_device_descr): Add async_run_func.
10443         (struct gomp_task): Remove children, next_child, prev_child,
10444         next_queue, prev_queue, next_taskgroup, prev_taskgroup.
10445         Add pnode field.
10446         (struct gomp_taskgroup): Remove children.
10447         Add taskgroup_queue.
10448         (struct gomp_team): Change task_queue type to a priority queue.
10449         (splay_compare): Define inline.
10450         (priority_queue_offset): New.
10451         (priority_node_to_task): New.
10452         (task_to_priority_node): New.
10453         * oacc-mem.c: Do not include splay-tree.h.
10454         * priority_queue.c: New file.
10455         * priority_queue.h: New file.
10456         * splay-tree.c: Do not include splay-tree.h.
10457         (splay_tree_foreach_internal): New.
10458         (splay_tree_foreach): New.
10459         * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
10460         (splay_tree_callback): Define typedef.
10461         * target.c (splay_compare): Move to libgomp.h.
10462         (GOMP_target): Don't adjust *thr in any way around running offloaded
10463         task.
10464         (GOMP_target_ext): Likewise.  Handle target nowait.
10465         (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
10466         return value from gomp_create_target_task, if false, fallthrough
10467         as if no dependencies exist.
10468         (gomp_target_task_fn): Change return type to bool, return true
10469         if the task should have another part scheduled later.  Handle
10470         target nowait.
10471         (gomp_load_plugin_for_device): Initialize async_run.
10472         * task.c (gomp_init_task): Initialize children_queue.
10473         (gomp_clear_parent_in_list): New.
10474         (gomp_clear_parent_in_tree): New.
10475         (gomp_clear_parent): Handle priorities.
10476         (GOMP_task): Likewise.
10477         (priority_queue_move_task_first,
10478         gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
10479         New functions.
10480         (gomp_create_target_task): Use priority queues.  Change return type
10481         to bool, add state argument, return false if for async
10482         {{enter,exit} data,update} constructs no dependencies need to be
10483         waited for, handle target nowait.  Set task->fn to NULL instead of
10484         gomp_target_task_fn.
10485         (verify_children_queue): Remove.
10486         (priority_list_upgrade_task): New.
10487         (priority_queue_upgrade_task): New.
10488         (verify_task_queue): Remove.
10489         (priority_list_downgrade_task): New.
10490         (priority_queue_downgrade_task): New.
10491         (gomp_task_run_pre): Use priority queues.
10492         Abstract code out to priority_queue_downgrade_task.
10493         (gomp_task_run_post_handle_dependers): Use priority queues.
10494         (gomp_task_run_post_remove_parent): Likewise.
10495         (gomp_task_run_post_remove_taskgroup): Likewise.
10496         (gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
10497         tasks specially.
10498         (GOMP_taskwait): Likewise.
10499         (gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
10500         priority-queue_upgrade_task.
10501         (GOMP_taskgroup_start): Use priority queues.
10502         (GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
10503         specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
10504         barrier.
10505         * taskloop.c (GOMP_taskloop): Handle priorities.
10506         * team.c (gomp_new_team): Call priority_queue_init.
10507         (free_team): Call priority_queue_free.
10508         (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
10509         team created for target nowait in implicit parallel region.
10510         (gomp_team_start): For nested check, test thr->ts.level instead of
10511         thr->ts.team != NULL.
10512         * testsuite/libgomp.c/doacross-3.c: New test.
10513         * testsuite/libgomp.c/ordered-5.c: New test.
10514         * testsuite/libgomp.c/priority.c: New test.
10515         * testsuite/libgomp.c/target-31.c: New test.
10516         * testsuite/libgomp.c/target-32.c: New test.
10517         * testsuite/libgomp.c/target-33.c: New test.
10518         * testsuite/libgomp.c/target-34.c: New test.
10520 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
10522         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
10524         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
10525         loop is sequential.
10527 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
10529         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
10530         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
10532 2015-11-12  James Norris  <jnorris@codesourcery.com>
10533             Joseph Myers  <joseph@codesourcery.com>
10535         * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
10536         * oacc-parallel.c (GOACC_declare): New function.
10537         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
10538         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
10539         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
10540         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
10541         * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
10543 2015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
10545         * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
10547 2015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
10549         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
10550         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
10552 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
10554         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
10555         inadvertent commit.
10557 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
10559         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
10560         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
10561         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
10562         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
10563         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
10565 2015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
10567         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
10568         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10570 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
10571             Ilya Verbin  <ilya.verbin@intel.com>
10573         * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
10574         GOMP_loop_nonmonotonic_dynamic_start,
10575         GOMP_loop_nonmonotonic_guided_next,
10576         GOMP_loop_nonmonotonic_guided_start,
10577         GOMP_loop_ull_nonmonotonic_dynamic_next,
10578         GOMP_loop_ull_nonmonotonic_dynamic_start,
10579         GOMP_loop_ull_nonmonotonic_guided_next,
10580         GOMP_loop_ull_nonmonotonic_guided_start,
10581         GOMP_parallel_loop_nonmonotonic_dynamic,
10582         GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
10583         (GOMP_target_41): Renamed to ...
10584         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
10585         arguments.
10586         (GOMP_target_data_41): Renamed to ...
10587         (GOMP_target_data_ext): ... this.
10588         (GOMP_target_update_41): Renamed to ...
10589         (GOMP_target_update_ext): ... this.
10590         * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
10591         GOMP_target_data_ext and GOMP_target_update_ext instead of
10592         GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
10593         Export GOMP_loop_nonmonotonic_dynamic_next,
10594         GOMP_loop_nonmonotonic_dynamic_start,
10595         GOMP_loop_nonmonotonic_guided_next,
10596         GOMP_loop_nonmonotonic_guided_start,
10597         GOMP_loop_ull_nonmonotonic_dynamic_next,
10598         GOMP_loop_ull_nonmonotonic_dynamic_start,
10599         GOMP_loop_ull_nonmonotonic_guided_next,
10600         GOMP_loop_ull_nonmonotonic_guided_start,
10601         GOMP_parallel_loop_nonmonotonic_dynamic and
10602         GOMP_parallel_loop_nonmonotonic_guided.
10603         * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
10604         GOMP_parallel_loop_nonmonotonic_guided,
10605         GOMP_loop_nonmonotonic_dynamic_start,
10606         GOMP_loop_nonmonotonic_guided_start,
10607         GOMP_loop_nonmonotonic_dynamic_next,
10608         GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
10609         * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
10610         GOMP_loop_ull_nonmonotonic_guided_start,
10611         GOMP_loop_ull_nonmonotonic_dynamic_next,
10612         GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
10613         * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
10614         functions.
10615         (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
10616         GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
10617         Use gomp_map_val function.
10618         (gomp_target_fallback_firstprivate): New static function.
10619         (GOMP_target_41): Renamed to ...
10620         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
10621         arguments.  Move firstprivate fallback handling into a new
10622         function.
10623         (GOMP_target_data_41): Renamed to ...
10624         (GOMP_target_data_ext): ... this.
10625         (GOMP_target_update_41): Renamed to ...
10626         (GOMP_target_update_ext): ... this.
10627         (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
10628         gomp_map_0len_lookup instead of gomp_map_lookup.
10629         (omp_target_is_present): Use gomp_map_0len_lookup instead of
10630         gomp_map_lookup.
10631         * testsuite/libgomp.c/target-28.c: Likewise.
10632         * testsuite/libgomp.c/monotonic-1.c: New test.
10633         * testsuite/libgomp.c/monotonic-2.c: New test.
10634         * testsuite/libgomp.c/nonmonotonic-1.c: New test.
10635         * testsuite/libgomp.c/nonmonotonic-2.c: New test.
10636         * testsuite/libgomp.c/pr66199-5.c: New test.
10637         * testsuite/libgomp.c/pr66199-6.c: New test.
10638         * testsuite/libgomp.c/pr66199-7.c: New test.
10639         * testsuite/libgomp.c/pr66199-8.c: New test.
10640         * testsuite/libgomp.c/pr66199-9.c: New test.
10641         * testsuite/libgomp.c/reduction-11.c: New test.
10642         * testsuite/libgomp.c/reduction-12.c: New test.
10643         * testsuite/libgomp.c/reduction-13.c: New test.
10644         * testsuite/libgomp.c/reduction-14.c: New test.
10645         * testsuite/libgomp.c/reduction-15.c: New test.
10646         * testsuite/libgomp.c/target-12.c (main): Adjust for
10647         omp_target_is_present change for one-past-last element.
10648         * testsuite/libgomp.c/target-17.c (foo): Drop tests where
10649         the same var is both mapped and privatized.
10650         * testsuite/libgomp.c/target-19.c (foo): Adjust for different
10651         handling of zero-length array sections.
10652         * testsuite/libgomp.c/target-28.c: New test.
10653         * testsuite/libgomp.c/target-29.c: New test.
10654         * testsuite/libgomp.c/target-30.c: New test.
10655         * testsuite/libgomp.c/target-teams-1.c: New test.
10656         * testsuite/libgomp.c++/member-6.C: New test.
10657         * testsuite/libgomp.c++/member-7.C: New test.
10658         * testsuite/libgomp.c++/monotonic-1.C: New test.
10659         * testsuite/libgomp.c++/monotonic-2.C: New test.
10660         * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
10661         * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
10662         * testsuite/libgomp.c++/pr66199-3.C: New test.
10663         * testsuite/libgomp.c++/pr66199-4.C: New test.
10664         * testsuite/libgomp.c++/pr66199-5.C: New test.
10665         * testsuite/libgomp.c++/pr66199-6.C: New test.
10666         * testsuite/libgomp.c++/pr66199-7.C: New test.
10667         * testsuite/libgomp.c++/pr66199-8.C: New test.
10668         * testsuite/libgomp.c++/pr66199-9.C: New test.
10669         * testsuite/libgomp.c++/reduction-11.C: New test.
10670         * testsuite/libgomp.c++/reduction-12.C: New test.
10671         * testsuite/libgomp.c++/target-13.C: New test.
10672         * testsuite/libgomp.c++/target-14.C: New test.
10673         * testsuite/libgomp.c++/target-15.C: New test.
10674         * testsuite/libgomp.c++/target-16.C: New test.
10675         * testsuite/libgomp.c++/target-17.C: New test.
10676         * testsuite/libgomp.c++/target-18.C: New test.
10677         * testsuite/libgomp.c++/target-19.C: New test.
10679 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
10681         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
10682         and reduction copy.
10683         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10684         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10685         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10686         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10687         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
10688         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10689         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10690         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10691         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10692         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
10693         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10694         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10695         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10696         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
10698 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
10700         * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
10701         * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
10702         * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
10703         * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
10704         * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
10705         * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
10706         * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
10707         * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
10709 2015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
10711         * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
10712         * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
10713         (GOMP_OFFLOAD_openacc_parallel): Likewise.
10714         * oacc-host.c (host_openacc_exec): Likewise.
10715         * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
10717 2015-11-03  Julian Brown  <julian@codesourcery.com>
10718             Thomas Schwinge  <thomas@codesourcery.com>
10720         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
10721         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10722         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
10723         Likewise.
10724         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
10725         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
10727 2015-11-03  James Norris  <jnorris@codesourcery.com>
10729         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
10730         file.
10731         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
10732         Likewise.
10733         * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
10734         * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
10735         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10736         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
10737         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10739 2015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
10741         * openacc.h (enum acc_device_t): Reformat. Ensure layout
10742         compatibility.
10743         (enum acc_async_t): Reformat.
10744         (acc_on_device): Declare compatible with builtin and provide C++
10745         wrapper.
10746         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
10748 2015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
10749             Cesar Philippidis  <cesar@codesourcery.com>
10751         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
10752         * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
10753         ... this.  Add a description of the test at the top of the file.
10754         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
10755         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
10756         ... this.  Add a description of the test at the top of the file.
10758 2015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
10760         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
10761         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
10762         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
10763         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
10764         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
10765         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
10767 2015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
10769         * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
10770         dimensions.
10772 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
10774         PR testsuite/68063
10775         * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
10777 2015-10-27  James Norris  <jnorris@codesourcery.com>
10779         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
10780         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
10782 2015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
10784         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
10785         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10787         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
10788         acc_device_nvidia usage.
10789         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10790         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10791         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10793         * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
10794         * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
10796         PR libgomp/66518
10797         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
10799         PR libgomp/65437
10800         PR libgomp/66518
10801         * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
10802         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
10804 2015-10-23  Tom de Vries  <tom@codesourcery.com>
10806         PR testsuite/68063
10807         * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
10809 2015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
10811         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
10812         vector_length.
10813         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10815 2015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
10816             Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
10818         * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
10819         to 0 when mapnum is 0.
10821 2015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10823         * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
10824         Cast to int from int32_t.
10826 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
10827             Aldy Hernandez  <aldyh@redhat.com>
10828             Ilya Verbin  <ilya.verbin@intel.com>
10830         * config/linux/affinity.c (omp_get_place_num_procs,
10831         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10832         * config/linux/doacross.h: New file.
10833         * config/posix/affinity.c (omp_get_place_num_procs,
10834         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10835         * config/posix/doacross.h: New file.
10836         * env.c: Include gomp-constants.h.
10837         (struct gomp_task_icv): Rename run_sched_modifier to
10838         run_sched_chunk_size.
10839         (gomp_max_task_priority_var): New variable.
10840         (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
10841         (handle_omp_display_env): Change _OPENMP value from 201307 to
10842         201511.  Print OMP_MAX_TASK_PRIORITY.
10843         (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
10844         (omp_set_schedule, omp_get_schedule): Rename modifier argument to
10845         chunk_size and run_sched_modifier to run_sched_chunk_size.
10846         (omp_get_max_task_priority, omp_get_initial_device,
10847         omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
10848         omp_get_partition_place_nums): New functions.
10849         * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
10850         omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
10851         to chunk_size.
10852         (omp_get_num_places_, omp_get_place_num_procs_,
10853         omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
10854         omp_get_place_proc_ids_8_, omp_get_place_num_,
10855         omp_get_partition_num_places_, omp_get_partition_place_nums_,
10856         omp_get_partition_place_nums_8_, omp_get_initial_device_,
10857         omp_get_max_task_priority_): New functions.
10858         * libgomp_g.h (GOMP_loop_doacross_static_start,
10859         GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
10860         GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
10861         GOMP_loop_ull_doacross_dynamic_start,
10862         GOMP_loop_ull_doacross_guided_start,
10863         GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
10864         GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
10865         GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
10866         GOMP_target_data_41, GOMP_target_update_41,
10867         GOMP_target_enter_exit_data): New prototypes.
10868         (GOMP_task): Add prototype argument.
10869         * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
10870         (struct gomp_doacross_work_share): New type.
10871         (struct gomp_work_share): Add doacross field.
10872         (struct gomp_task_icv): Rename run_sched_modifier to
10873         run_sched_chunk_size.
10874         (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
10875         GOMP_TASK_UNDEFERRED.  Add comments.
10876         (struct gomp_task_depend_entry): Add comments.
10877         (struct gomp_task): Likewise.
10878         (struct gomp_taskgroup): Likewise.
10879         (struct gomp_target_task): New type.
10880         (struct gomp_team): Add comment.
10881         (gomp_get_place_proc_ids_8, gomp_doacross_init,
10882         gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
10883         gomp_create_target_task, gomp_target_task_fn): New prototypes.
10884         (struct target_var_desc): New type.
10885         (struct target_mem_desc): Adjust comment.  Use struct
10886         target_var_desc instead of splay_tree_key for list.
10887         (REFCOUNT_INFINITY): Define.
10888         (struct splay_tree_key_s): Remove copy_from field.
10889         (struct gomp_device_descr): Add dev2dev_func field.
10890         (enum gomp_map_vars_kind): New enum.
10891         (gomp_map_vars): Add one argument.
10892         * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
10893         omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
10894         omp_get_place_num_procs, omp_get_place_num_procs_,
10895         omp_get_place_num_procs_8_, omp_get_place_proc_ids,
10896         omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
10897         omp_get_place_num_, omp_get_partition_num_places,
10898         omp_get_partition_num_places_, omp_get_partition_place_nums,
10899         omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
10900         omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
10901         omp_target_free, omp_target_is_present, omp_target_memcpy,
10902         omp_target_memcpy_rect, omp_target_associate_ptr and
10903         omp_target_disassociate_ptr.
10904         (GOMP_4.0.2): Renamed to ...
10905         (GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
10906         GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
10907         GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
10908         GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10909         GOMP_loop_doacross_static_start, GOMP_doacross_post,
10910         GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
10911         GOMP_loop_ull_doacross_guided_start,
10912         GOMP_loop_ull_doacross_runtime_start,
10913         GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
10914         GOMP_doacross_ull_wait.
10915         * libgomp.texi: Document omp_get_max_task_priority.
10916         Rename modifier argument to chunk_size for omp_set_schedule and
10917         omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
10918         * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
10919         to run_sched_chunk_size renaming.
10920         (GOMP_loop_ordered_runtime_start): Likewise.
10921         (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10922         gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10923         GOMP_parallel_loop_runtime_start): New functions.
10924         (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
10925         to run_sched_chunk_size renaming.
10926         (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
10927         GOMP_loop_doacross_guided_start): New functions or aliases.
10928         * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
10929         run_sched_modifier to run_sched_chunk_size renaming.
10930         (GOMP_loop_ull_ordered_runtime_start): Likewise.
10931         (gomp_loop_ull_doacross_static_start,
10932         gomp_loop_ull_doacross_dynamic_start,
10933         gomp_loop_ull_doacross_guided_start,
10934         GOMP_loop_ull_doacross_runtime_start): New functions.
10935         (GOMP_loop_ull_doacross_static_start,
10936         GOMP_loop_ull_doacross_dynamic_start,
10937         GOMP_loop_ull_doacross_guided_start): New functions or aliases.
10938         * oacc-mem.c (acc_map_data, present_create_copy,
10939         gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
10940         to gomp_map_vars.
10941         (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
10942         * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
10943         instead of false to gomp_map_vars.
10944         (GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
10945         * omp.h.in (omp_lock_hint_t): New type.
10946         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10947         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10948         omp_get_place_num, omp_get_partition_num_places,
10949         omp_get_partition_place_nums, omp_get_initial_device,
10950         omp_get_max_task_priority, omp_target_alloc, omp_target_free,
10951         omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
10952         omp_target_associate_ptr, omp_target_disassociate_ptr): New
10953         prototypes.
10954         * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
10955         (omp_lock_hint_none, omp_lock_hint_uncontended,
10956         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10957         omp_lock_hint_speculative): New parameters.
10958         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10959         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10960         omp_get_place_num, omp_get_partition_num_places,
10961         omp_get_partition_place_nums, omp_get_initial_device,
10962         omp_get_max_task_priority): New interfaces.
10963         (omp_set_schedule, omp_get_schedule): Rename modifier argument
10964         to chunk_size.
10965         * omp_lib.h.in (omp_lock_hint_kind): New parameter.
10966         (omp_lock_hint_none, omp_lock_hint_uncontended,
10967         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10968         omp_lock_hint_speculative): New parameters.
10969         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10970         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10971         omp_get_place_num, omp_get_partition_num_places,
10972         omp_get_partition_place_nums, omp_get_initial_device,
10973         omp_get_max_task_priority): New functions and subroutines.
10974         * ordered.c: Include stdarg.h and string.h.
10975         (MAX_COLLAPSED_BITS): Define.
10976         (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
10977         gomp_doacross_ull_init, GOMP_doacross_ull_post,
10978         GOMP_doacross_ull_wait): New functions.
10979         * target.c: Include errno.h.
10980         (resolve_device): If device is not initialized, call
10981         gomp_init_device on it.
10982         (gomp_map_lookup): New function.
10983         (gomp_map_vars_existing): Add tgt_var argument, fill it in.
10984         Don't bump refcount if REFCOUNT_INFINITY.  Handle
10985         GOMP_MAP_ALWAYS_TO_P.
10986         (get_kind): Rename is_openacc argument to short_mapkind.
10987         (gomp_map_pointer): Use gomp_map_lookup.
10988         (gomp_map_fields_existing): New function.
10989         (gomp_map_vars): Rename is_openacc argument to short_mapkind
10990         and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
10991         handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
10992         GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
10993         Adjust for tgt->list changed type and copy_from living in there.
10994         (gomp_copy_from_async): Adjust for tgt->list changed type and
10995         copy_from living in there.
10996         (gomp_unmap_vars): Likewise.
10997         (gomp_update): Likewise.  Rename is_openacc argument to
10998         short_mapkind.  Don't fail if object is not mapped.
10999         (gomp_load_image_to_device): Initialize refcount to
11000         REFCOUNT_INFINITY.
11001         (gomp_target_fallback): New function.
11002         (gomp_get_target_fn_addr): Likewise.
11003         (GOMP_target): Adjust gomp_map_vars caller, use
11004         gomp_get_target_fn_addr and gomp_target_fallback.
11005         (GOMP_target_41): New function.
11006         (gomp_target_data_fallback): New function.
11007         (GOMP_target_data): Use it, adjust gomp_map_vars caller.
11008         (GOMP_target_data_41): New function.
11009         (GOMP_target_update): Adjust gomp_update caller.
11010         (GOMP_target_update_41): New function.
11011         (gomp_exit_data, GOMP_target_enter_exit_data,
11012         gomp_target_task_fn, omp_target_alloc, omp_target_free,
11013         omp_target_is_present, omp_target_memcpy,
11014         omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11015         omp_target_associate_ptr, omp_target_disassociate_ptr,
11016         gomp_load_plugin_for_device): New functions.
11017         * task.c: Include gomp-constants.h.  Include taskloop.c
11018         twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11019         (gomp_task_handle_depend): New function.
11020         (GOMP_task): Use it.  Add priority argument.  Use
11021         gomp-constant.h constants instead of hardcoded numbers.
11022         Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11023         (gomp_create_target_task): New function.
11024         (verify_children_queue, verify_taskgroup_queue,
11025         verify_task_queue): New functions.
11026         (gomp_task_run_pre): Call verify_*_queue functions.
11027         If an upcoming tied task is about to leave the sibling or
11028         taskgroup queues in an invalid state, adjust appropriately.
11029         Remove taskgroup argument.  Add comments.
11030         (gomp_task_run_post_handle_dependers): Add comments.
11031         (gomp_task_run_post_remove_parent): Likewise.
11032         (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11033         (GOMP_taskwait): Likewise.  Add comments.
11034         (gomp_task_maybe_wait_for_dependencies): Fix scheduling
11035         problem such that the first non parent_depends_on task does not
11036         end up at the end of the children queue.
11037         (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11038         GOMP_TASK_UNDEFERRED.
11039         (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11040         * taskloop.c: New file.
11041         * testsuite/lib/libgomp.exp
11042         (check_effective_target_offload_device_nonshared_as): New proc.
11043         * testsuite/libgomp.c/affinity-2.c: New test.
11044         * testsuite/libgomp.c/doacross-1.c: New test.
11045         * testsuite/libgomp.c/doacross-2.c: New test.
11046         * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11047         Add map clause to target.
11048         * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11049         * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11050         * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11051         * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11052         * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11053         Likewise.
11054         * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11055         * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11056         * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11057         * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11058         not defined.  Use those where needed.
11059         * testsuite/libgomp.c/for-4.c: New test.
11060         * testsuite/libgomp.c/for-5.c: New test.
11061         * testsuite/libgomp.c/for-6.c: New test.
11062         * testsuite/libgomp.c/linear-1.c: New test.
11063         * testsuite/libgomp.c/ordered-4.c: New test.
11064         * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11065         only allowed on the loop iterator.
11066         * testsuite/libgomp.c/pr66199-3.c: New test.
11067         * testsuite/libgomp.c/pr66199-4.c: New test.
11068         * testsuite/libgomp.c/reduction-7.c: New test.
11069         * testsuite/libgomp.c/reduction-8.c: New test.
11070         * testsuite/libgomp.c/reduction-9.c: New test.
11071         * testsuite/libgomp.c/reduction-10.c: New test.
11072         * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11073         map(tofrom:s).
11074         * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11075         * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11076         * testsuite/libgomp.c/target-11.c: New test.
11077         * testsuite/libgomp.c/target-12.c: New test.
11078         * testsuite/libgomp.c/target-13.c: New test.
11079         * testsuite/libgomp.c/target-14.c: New test.
11080         * testsuite/libgomp.c/target-15.c: New test.
11081         * testsuite/libgomp.c/target-16.c: New test.
11082         * testsuite/libgomp.c/target-17.c: New test.
11083         * testsuite/libgomp.c/target-18.c: New test.
11084         * testsuite/libgomp.c/target-19.c: New test.
11085         * testsuite/libgomp.c/target-20.c: New test.
11086         * testsuite/libgomp.c/target-21.c: New test.
11087         * testsuite/libgomp.c/target-22.c: New test.
11088         * testsuite/libgomp.c/target-23.c: New test.
11089         * testsuite/libgomp.c/target-24.c: New test.
11090         * testsuite/libgomp.c/target-25.c: New test.
11091         * testsuite/libgomp.c/target-26.c: New test.
11092         * testsuite/libgomp.c/target-27.c: New test.
11093         * testsuite/libgomp.c/taskloop-1.c: New test.
11094         * testsuite/libgomp.c/taskloop-2.c: New test.
11095         * testsuite/libgomp.c/taskloop-3.c: New test.
11096         * testsuite/libgomp.c/taskloop-4.c: New test.
11097         * testsuite/libgomp.c++/ctor-13.C: New test.
11098         * testsuite/libgomp.c++/doacross-1.C: New test.
11099         * testsuite/libgomp.c++/examples-4/declare_target-2.C:
11100         Replace offload_device with offload_device_nonshared_as.
11101         * testsuite/libgomp.c++/for-12.C: New test.
11102         * testsuite/libgomp.c++/for-13.C: New test.
11103         * testsuite/libgomp.c++/for-14.C: New test.
11104         * testsuite/libgomp.c++/linear-1.C: New test.
11105         * testsuite/libgomp.c++/member-1.C: New test.
11106         * testsuite/libgomp.c++/member-2.C: New test.
11107         * testsuite/libgomp.c++/member-3.C: New test.
11108         * testsuite/libgomp.c++/member-4.C: New test.
11109         * testsuite/libgomp.c++/member-5.C: New test.
11110         * testsuite/libgomp.c++/ordered-1.C: New test.
11111         * testsuite/libgomp.c++/reduction-5.C: New test.
11112         * testsuite/libgomp.c++/reduction-6.C: New test.
11113         * testsuite/libgomp.c++/reduction-7.C: New test.
11114         * testsuite/libgomp.c++/reduction-8.C: New test.
11115         * testsuite/libgomp.c++/reduction-9.C: New test.
11116         * testsuite/libgomp.c++/reduction-10.C: New test.
11117         * testsuite/libgomp.c++/reference-1.C: New test.
11118         * testsuite/libgomp.c++/simd14.C: New test.
11119         * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11120         * testsuite/libgomp.c++/target-5.C: New test.
11121         * testsuite/libgomp.c++/target-6.C: New test.
11122         * testsuite/libgomp.c++/target-7.C: New test.
11123         * testsuite/libgomp.c++/target-8.C: New test.
11124         * testsuite/libgomp.c++/target-9.C: New test.
11125         * testsuite/libgomp.c++/target-10.C: New test.
11126         * testsuite/libgomp.c++/target-11.C: New test.
11127         * testsuite/libgomp.c++/target-12.C: New test.
11128         * testsuite/libgomp.c++/taskloop-1.C: New test.
11129         * testsuite/libgomp.c++/taskloop-2.C: New test.
11130         * testsuite/libgomp.c++/taskloop-3.C: New test.
11131         * testsuite/libgomp.c++/taskloop-4.C: New test.
11132         * testsuite/libgomp.c++/taskloop-5.C: New test.
11133         * testsuite/libgomp.c++/taskloop-6.C: New test.
11134         * testsuite/libgomp.c++/taskloop-7.C: New test.
11135         * testsuite/libgomp.c++/taskloop-8.C: New test.
11136         * testsuite/libgomp.c++/taskloop-9.C: New test.
11137         * testsuite/libgomp.fortran/affinity1.f90: New test.
11138         * testsuite/libgomp.fortran/affinity2.f90: New test.
11140 2015-10-13  Tom de Vries  <tom@codesourcery.com>
11142         PR tree-optimization/67476
11143         * testsuite/libgomp.c/autopar-3.c: New test.
11144         * testsuite/libgomp.c/autopar-4.c: New test.
11145         * testsuite/libgomp.c/autopar-5.c: New test.
11146         * testsuite/libgomp.c/autopar-6.c: New test.
11147         * testsuite/libgomp.c/autopar-7.c: New test.
11148         * testsuite/libgomp.c/autopar-8.c: New test.
11150 2015-10-12  James Norris  <jnorris@codesourcery.com>
11152         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11153         initializer.
11155 2015-10-09  David Malcolm  <dmalcolm@redhat.com>
11157         * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11158         using load_gcc_lib.
11160 2015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
11162         * oacc-ptx.h: Remove file, moving its content into...
11163         * config/nvptx/fortran.c: ... here...
11164         * config/nvptx/oacc-init.c: ..., here...
11165         * config/nvptx/oacc-parallel.c: ..., and here.
11166         * config/nvptx/openacc.f90: New file.
11167         * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11168         (link_ptx): Don't link in predefined bits of PTX code.
11170 2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
11171             Bernd Schmidt <bernds@codesourcery.com>
11173         * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11174         (struct targ_ptx_obj): New.
11175         (nvptx_tdata): Move earlier, change data format.
11176         (link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
11177         objects.
11178         (GOMP_OFFLOAD_load_image): Adjust.
11180 2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
11182         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11183         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11184         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11185         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11186         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11187         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11188         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11189         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11190         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11191         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11192         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11193         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11194         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11195         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11196         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11197         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11198         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11199         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11200         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11201         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11202         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11203         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11204         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11205         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11206         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11207         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11208         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11209         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11210         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11211         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11212         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11213         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11214         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11215         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11216         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11217         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11218         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11219         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11220         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11221         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11222         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11223         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11224         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11225         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11226         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11227         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11228         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11229         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11230         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11231         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11232         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11233         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11234         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11235         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11236         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11237         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11238         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11239         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11240         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11241         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11242         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11243         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11244         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11246 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
11248         * oacc-init.c (acc_on_device): Force optimization level.
11250 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
11252         * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11253         (cuda_errlist): Delete.
11254         (cuda_error): Reimplement.
11256 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
11258         * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11259         array.
11260         * libgomp.map (GOACC_parallel_keyed): New.
11261         * oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
11262         all callers.
11263         (GOACC_parallel_keyed): New interface.  Lose geometry arguments
11264         and take keyed varargs list.  Adjust call to exec_func.
11265         (GOACC_parallel): Force host fallback.
11266         * libgomp_g.h (GOACC_parallel): Remove.
11267         (GOACC_parallel_keyed): Declare.
11268         * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
11269         (struct targ_gn_descriptor): Replace name field with launch field.
11270         (nvptx_exec): Lose separate geometry args, take array.  Process
11271         dynamic dimensions and adjust.
11272         (struct nvptx_tdata): Replace fn_names field with fn_descs.
11273         (GOMP_OFFLOAD_load_image): Adjust for change in function table
11274         data.
11275         (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11276         passing.
11277         * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11278         passing.
11280 2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
11282         PR libgomp/67141
11283         * oacc-int.h (goacc_host_init): Add declaration.
11284         * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
11285         * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
11287 2015-09-08  Aditya Kumar  <hiraditya@msn.com>
11288             Sebastian Pop  <s.pop@samsung.com>
11290         * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
11291         match o/p.
11292         * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
11293         * testsuite/libgomp.graphite/force-parallel-4.c: Same.
11294         * testsuite/libgomp.graphite/force-parallel-5.c: Same.
11295         * testsuite/libgomp.graphite/force-parallel-7.c: Same.
11296         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
11298 2015-09-03  Jakub Jelinek  <jakub@redhat.com>
11300         * configure.tgt: Add missing ;; in between nvptx and rtems
11301         snippets.
11303 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11305         * config/posix/pool.h (gomp_adjust_thread_attr): New.
11306         * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
11307         (gomp_thread_pool_reservoir): Add priority member.
11308         * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
11309         priority.
11310         (parse_thread_pools): Likewise.
11311         * team.c (gomp_team_start): Call configuration provided
11312         gomp_adjust_thread_attr(). Destroy thread attributes if
11313         necessary.
11314         * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11316 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11318         * config/posix/pool.h: New.
11319         * config/rtems/pool.h: Likewise.
11320         * config/rtems/proc.c: Likewise.
11321         * libgomp.h (gomp_thread_destructor): Declare.
11322         * team.c: Include configuration provided "pool.h".
11323         (gomp_get_thread_pool): Define in configuration.
11324         (gomp_team_end): Call configuration defined
11325         gomp_release_thread_pool().
11327 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11329         * config/rtems/bar.c: New.
11330         * config/rtems/bar.h: Likewise.
11331         * config/rtems/mutex.c: Likewise.
11332         * config/rtems/mutex.h: Likewise.
11333         * config/rtems/sem.c: Likewise.
11334         * config/rtems/sem.h: Likewise.
11335         * configure.ac (*-*-rtems*): Check that Newlib provides a proper
11336         <sys/lock.h> header file.
11337         * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
11338         supported by Newlib.
11339         * configure: Regenerate.
11341 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11343         * team.c (gomp_new_thread_pool): Delete and move content to ...
11344         (gomp_get_thread_pool): ... new function.  Allocate and
11345         initialize thread pool on demand.
11346         (get_last_team): Use gomp_get_thread_pool().
11347         (gomp_team_start): Delete thread pool initialization.
11349 2015-09-03  Tom de Vries  <tom@codesourcery.com>
11351         PR tree-optimization/65637
11352         * testsuite/libgomp.c/autopar-2.c: New test.
11354 2015-08-29  Tom de Vries  <tom@codesourcery.com>
11356         PR tree-optimization/46193
11357         * testsuite/libgomp.c/pr46193.c: New test.
11359 2015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
11361         libgomp/
11362         * libgomp.map: Add 4.0.2 version.
11363         * target.c (offload_image_descr): Add version field.
11364         (gomp_load_image_to_device): Add version argument.  Adjust plugin
11365         call.  Improve load mismatch diagnostic.
11366         (gomp_unload_image_from_device): Add version argument.  Adjust plugin
11367         call.
11368         (GOMP_offload_regster): Make stub function, move bulk to ...
11369         (GOMP_offload_register_ver): ... here.  Process version argument.
11370         (GOMP_offload_unregister): Make stub function, move bulk to ...
11371         (GOMP_offload_unregister_ver): ... here.  Process version argument.
11372         (gomp_init_device): Process version field.
11373         (gomp_unload_device): Process version field.
11374         (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
11375         macros.  Check plugin version.
11376         * libgomp.h (gomp_device_descr): Add version function field.  Adjust
11377         loader and unloader types.
11378         * oacc-host.c: Include gomp-constants.h.
11379         (host_version): New.
11380         (host_load_image, host_unload_image): Adjust.
11381         (host_dispatch): Add host_version.
11382         * plugin/plugin-nvptx.c: Include gomp-constants.h.
11383         (GOMP_OFFLOAD_version): New.
11384         (GOMP_OFFLOAD_load_image): Add version arg and check it.
11385         (GOMP_OFFLOAD_unload_image): Likewise.
11386         * plugin/plugin-host.c: Include gomp-constants.h.
11387         (GOMP_OFFLOAD_version): New.
11388         (GOMP_OFFLOAD_load_image): Add version arg.
11389         (GOMP_OFFLOAD_unload_image): Likewise.
11391 2015-08-24  Tom de Vries  <tom@codesourcery.com>
11393         PR tree-optimization/65468
11394         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
11396 2015-08-24  Tom de Vries  <tom@codesourcery.com>
11398         PR tree-optimization/65468
11399         * testsuite/libgomp.c/static-chunk-size-one.c: New test.
11401 2015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
11403         PR libgomp/66761
11404         PR libgomp/67303
11405         * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
11406         (gomp_iter_guided_next): Idem.
11407         * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
11408         (gomp_iter_ull_guided_next): Idem.
11409         * config/linux/wait.h (do_spin): Idem.
11411 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
11413         * libgomp-plugin.h (enum offload_target_type): Remove
11414         OFFLOAD_TARGET_TYPE_HOST_NONSHM.
11415         * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
11416         * openacc.h (enum acc_device_t): Likewise.
11417         * openacc_lib.h: Likewise.
11418         * oacc-init.c (name_of_acc_device_t): Don't handle it.
11419         (acc_on_device): Just use __builtin_acc_on_device.
11420         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
11421         of acc_on_device builtin.
11422         * plugin/plugin-host.h: Remove file.
11423         * plugin/plugin-host.c: Likewise, but salvage some content into...
11424         * oacc-host.c: ... this file.
11425         * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
11426         * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
11427         * Makefile.in: Regenerate.
11428         * configure: Likewise.
11429         * testsuite/lib/libgomp.exp
11430         (check_effective_target_openacc_host_nonshm_selected): Remove.
11431         * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
11432         ACC_DEVICE_TYPE=host_nonshm.
11433         * testsuite/libgomp.oacc-c/c.exp: Likewise.
11434         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11435         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11436         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11437         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11438         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11440 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
11441             Jakub Jelinek  <jakub@redhat.com>
11443         * config/nvptx/affinity.c: New file.
11444         * config/nvptx/alloc.c: Likewise.
11445         * config/nvptx/bar.c: Likewise.
11446         * config/nvptx/barrier.c: Likewise.
11447         * config/nvptx/critical.c: Likewise.
11448         * config/nvptx/env.c: Likewise.
11449         * config/nvptx/error.c: Likewise.
11450         * config/nvptx/fortran.c: Likewise.
11451         * config/nvptx/iter.c: Likewise.
11452         * config/nvptx/iter_ull.c: Likewise.
11453         * config/nvptx/libgomp-plugin.c: Likewise.
11454         * config/nvptx/lock.c: Likewise.
11455         * config/nvptx/loop.c: Likewise.
11456         * config/nvptx/loop_ull.c: Likewise.
11457         * config/nvptx/mutex.c: Likewise.
11458         * config/nvptx/oacc-async.c: Likewise.
11459         * config/nvptx/oacc-cuda.c: Likewise.
11460         * config/nvptx/oacc-host.c: Likewise.
11461         * config/nvptx/oacc-init.c: Likewise.
11462         * config/nvptx/oacc-mem.c: Likewise.
11463         * config/nvptx/oacc-parallel.c: Likewise.
11464         * config/nvptx/oacc-plugin.c: Likewise.
11465         * config/nvptx/omp-lock.h: Likewise.
11466         * config/nvptx/ordered.c: Likewise.
11467         * config/nvptx/parallel.c: Likewise.
11468         * config/nvptx/proc.c: Likewise.
11469         * config/nvptx/ptrlock.c: Likewise.
11470         * config/nvptx/sections.c: Likewise.
11471         * config/nvptx/sem.c: Likewise.
11472         * config/nvptx/single.c: Likewise.
11473         * config/nvptx/splay-tree.c: Likewise.
11474         * config/nvptx/target.c: Likewise.
11475         * config/nvptx/task.c: Likewise.
11476         * config/nvptx/team.c: Likewise.
11477         * config/nvptx/time.c: Likewise.
11478         * config/nvptx/work.c: Likewise.
11479         * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
11480         * configure: Regenerate.
11481         * configure.tgt (config_path): Set to "nvptx" for target
11482         nvptx*-*-*.
11484 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
11486         * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
11488 2015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
11490         * plugin/plugin-nvptx.c: Don't include dlfcn.h.
11491         (cuda_errlist): Constify.
11492         (errmsg):  Move into ...
11493         (cuda_error): ... here.  Make smaller.
11494         (_XSTR, _STR): Delete.
11495         (cuda_synames): Delete.
11496         (verify_device_library): Delete.
11497         (nvptx_init): Don't call it.
11499 2015-07-28  Tom de Vries  <tom@codesourcery.com>
11501         * testsuite/libgomp.c/uns-outer-4.c: New test.
11503 2015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
11505         * testsuite/libgomp.c/pr66714.c: New test.
11507 2015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
11509         PR libgomp/66950
11510         * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
11511         (fib_ref): New function.
11512         (fib): Correct corner cases in the recursion.
11513         (main): Replace the non-simd loop with fib_ref call.
11514         * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
11515         subroutine.
11516         (fibonacci): Lower the parameter N to 30.  Correct accordingly check
11517         for the last array element value.  Replace the non-simd loop with
11518         fib_ref call.  Remove redundant b_ref array.  Remove the comparison
11519         of the last array element with according Fibonacci sequence element.
11520         (fib): Correct corner cases in the recursion.
11522 2015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
11524         * target.c (gomp_offload_image_to_device): Rename to ...
11525         (gomp_load_image_to_device): ... here.
11526         (GOMP_offload_register): Adjust call.
11527         (gomp_init_device): Likewise.
11528         (gomp_unload_image_from_device): New.  Broken out of ...
11529         (GOMP_offload_unregister): ... here.  Call it.
11530         (gomp_unload_device): New.
11531         * libgomp.h (gomp_unload_device): Declare.
11532         * oacc-init.c (acc_shutdown_1): Unload from device before deleting
11533         mem maps.
11535 2015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
11537         * oacc-parallel.c (GOACC_parallel): Move variadic handling into
11538         wait=-specific if.
11539         (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
11540         !=0 condition.
11541         (goacc_waits): Move !num_waits handling to ...
11542         (GOACC_wait): ... here, the only caller that might have zero waits.
11544         * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
11545         (struct ptx_image_data): Move earlier, add fns field.
11546         (struct ptx_device): Add images and image_lock fields.
11547         (ptx_images, ptx_image_lock): Delete.
11548         (nvptx_open_device): Initialize images and image_lock fields.
11549         (nvptx_close_device): Destroy image_lock.
11550         (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
11551         (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
11552         fields.
11554 2015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
11556         * target.c (GOMP_offload_register): Use int for device type arg.
11557         (GOMP_offload_unregister): Likewise.
11559         * target.c (struct_offload_image_descr): Constify host_table.
11560         (gomp_offload_image_to_device): Likewise.
11561         (GOMP_offload_register, GOMP_offload_unregister): Likewise.
11563         * libgomp.h (gomp_device_descr): Constify target data arguments.
11564         * target.c (struct offload_image_descr): Constify target_data.
11565         (gomp_offload_image_to_device): Likewise.
11566         (GOMP_offload_register): Likewise.
11567         (GOMP_offload_unregister): Likewise.
11568         * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
11569         GOMP_OFFLOAD_unload_image): Constify target data.
11570         * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
11571         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
11573 2015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
11575         * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
11576         Workaround driver library const error.
11577         (struct nvptx_tdata, nvptx_tdata_t): New.
11578         (GOMP_OFFLOAD_load_image): Use struct for target_data's real
11579         type.
11581 2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
11583         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
11584         of EPS parameter from integer to real.
11585         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
11586         type of EPS parameter from integer to real.
11588 2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11590         * team.c (get_last_team): New.
11591         (gomp_new_team): Recycle last non-nested team if possible.
11592         (gomp_team_end): Move team work share list free lock destruction
11593         to ...
11594         (free_team): ... here.
11596 2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
11598         * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
11599         and ref from int to double.  Replaced their comparison with
11600         an inequality of their difference and EPS.
11601         * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
11602         comparison of pri and a reference number with an inequality of their
11603         difference and EPS.
11604         * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
11605         the comparison of sum and sum_ref with an inequality of their
11606         difference and EPS.
11607         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
11608         the comparison of pri and a reference number with an inequality of
11609         their difference and EPS.
11611 2015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
11613         * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
11614         * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
11615         * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
11616         * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
11617         * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
11618         * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
11619         * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
11620         * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
11621         * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
11622         * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
11623         * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
11624         * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
11625         (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
11626         variables.
11627         (vec_mult): Likewise.  Add #pragma omp taskwait.
11628         (main): Adjust caller.
11629         * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
11630         * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
11631         * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
11632         * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
11633         * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
11634         * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
11635         * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
11636         * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
11637         * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
11638         * testsuite/libgomp.c/examples-4/device-1.c: ...this.
11639         * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
11640         * testsuite/libgomp.c/examples-4/device-2.c: ...this.
11641         * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
11642         * testsuite/libgomp.c/examples-4/device-3.c: ...this.
11643         * testsuite/libgomp.c/examples-4/simd-1.c: New file.
11644         * testsuite/libgomp.c/examples-4/simd-2.c: New file.
11645         * testsuite/libgomp.c/examples-4/simd-3.c: New file.
11646         * testsuite/libgomp.c/examples-4/simd-4.c: New file.
11647         * testsuite/libgomp.c/examples-4/simd-5.c: New file.
11648         * testsuite/libgomp.c/examples-4/simd-6.c: New file.
11649         * testsuite/libgomp.c/examples-4/simd-7.c: New file.
11650         * testsuite/libgomp.c/examples-4/simd-8.c: New file.
11651         * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
11652         * testsuite/libgomp.c/examples-4/target-1.c: ...this.
11653         * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
11654         * testsuite/libgomp.c/examples-4/target-2.c: ...this.
11655         * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
11656         * testsuite/libgomp.c/examples-4/target-3.c: ...this.
11657         * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
11658         * testsuite/libgomp.c/examples-4/target-4.c: ...this.
11659         * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
11660         * testsuite/libgomp.c/examples-4/target-5.c: ...this.
11661         * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
11662         * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
11663         * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
11664         * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
11665         * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
11666         * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
11667         * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
11668         * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
11669         * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
11670         * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
11671         * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
11672         * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
11673         * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
11674         * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
11675         * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
11676         * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
11677         * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
11678         * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
11679         * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
11680         * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
11681         * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
11682         * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
11683         * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
11684         * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
11685         * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
11686         * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
11687         * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
11688         * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
11689         * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
11690         * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
11691         * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
11692         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
11693         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
11694         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
11695         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
11696         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
11697         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
11698         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
11699         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
11700         (vec_mult): Add !$omp taskwait.
11701         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
11702         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
11703         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
11704         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
11705         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
11706         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
11707         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
11708         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
11709         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
11710         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
11711         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
11712         * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
11713         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
11714         * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
11715         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
11716         * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
11717         * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
11718         * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
11719         * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
11720         * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
11721         * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
11722         * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
11723         * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
11724         * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
11725         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
11726         * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
11727         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
11728         * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
11729         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
11730         * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
11731         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
11732         * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
11733         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
11734         * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
11735         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
11736         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
11737         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
11738         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
11739         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
11740         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
11741         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
11742         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
11743         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
11744         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
11745         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
11746         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
11747         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
11748         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
11749         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
11750         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
11751         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
11752         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
11753         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
11754         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
11755         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
11756         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
11757         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
11758         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
11759         * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
11760         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
11761         * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
11762         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
11763         * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
11764         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
11765         * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
11766         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
11767         * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
11769 2015-07-10  Tom de Vries  <tom@codesourcery.com>
11771         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
11772         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
11774 2015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
11776         PR libgomp/65099
11777         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
11778         in a 64-bit configuration.
11779         * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
11780         offloading testing if no such device is available.
11781         * testsuite/libgomp.oacc-c/c.exp: Likewise.
11782         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11784 2015-07-08  Tom de Vries  <tom@codesourcery.com>
11786         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
11787         second call to f.
11788         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11790 2015-07-07  Tom de Vries  <tom@codesourcery.com>
11792         PR tree-optimization/66642
11793         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
11794         iteration count case.
11795         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
11796         function, factor out of ...
11797         (main): ... here.  Test low iteration count case.
11799 2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11801         * libgomp.h (gomp_thread_pool): Comment last_team field.
11803 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
11805         * testsuite/libgomp.c++/pr66702-1.C: Require
11806         vect_simd_clones effective target.
11807         * testsuite/libgomp.c++/pr66702-2.C: Ditto.
11809 2015-06-30  Tom de Vries  <tom@codesourcery.com>
11811         * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11812         already set.  Use DEFAULT_CFLAGS in dg-runtest.
11813         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
11814         "-O2".
11816 2015-06-30  Tom de Vries  <tom@codesourcery.com>
11818         * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11819         already set.  Use DEFAULT_CFLAGS in dg-runtest.
11820         * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
11821         * testsuite/libgomp.c++/pr64824.C: Same.
11822         * testsuite/libgomp.c++/pr64868.C: Same.
11823         * testsuite/libgomp.c++/pr66199-1.C: Same.
11824         * testsuite/libgomp.c++/pr66199-2.C: Same.
11825         * testsuite/libgomp.c++/target-2.C: Same.
11826         * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
11827         -std=<standard> option.
11828         * testsuite/libgomp.c++/udr-11.C: Same.
11829         * testsuite/libgomp.c++/udr-12.C: Same.
11830         * testsuite/libgomp.c++/udr-13.C: Same.
11831         * testsuite/libgomp.c++/udr-14.C: Same.
11832         * testsuite/libgomp.c++/udr-15.C: Same.
11833         * testsuite/libgomp.c++/udr-16.C: Same.
11834         * testsuite/libgomp.c++/udr-17.C: Same.
11835         * testsuite/libgomp.c++/udr-18.C: Same.
11836         * testsuite/libgomp.c++/udr-19.C: Same.
11837         * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
11838         * testsuite/libgomp.c++/simd-1.C: Same.
11839         * testsuite/libgomp.c++/simd-2.C: Same.
11840         * testsuite/libgomp.c++/simd-3.C: Same.
11841         * testsuite/libgomp.c++/simd-4.C: Same.
11842         * testsuite/libgomp.c++/simd-5.C: Same.
11843         * testsuite/libgomp.c++/simd-6.C: Same.
11844         * testsuite/libgomp.c++/simd-7.C: Same.
11845         * testsuite/libgomp.c++/simd-8.C: Same.
11846         * testsuite/libgomp.c++/simd-9.C: Same.
11847         * testsuite/libgomp.c++/simd10.C: Same.
11848         * testsuite/libgomp.c++/simd11.C: Same.
11849         * testsuite/libgomp.c++/simd12.C: Same.
11850         * testsuite/libgomp.c++/simd13.C: Same.
11852 2015-06-30  Jakub Jelinek  <jakub@redhat.com>
11854         PR middle-end/66702
11855         * testsuite/libgomp.c++/pr66702-1.C: New test.
11856         * testsuite/libgomp.c++/pr66702-2.C: New test.
11858 2015-06-30  Tom de Vries  <tom@codesourcery.com>
11860         * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
11861         * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
11862         * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
11863         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
11865 2015-06-30  Tom de Vries  <tom@codesourcery.com>
11867         PR tree-optimization/66652
11868         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
11869         using restrict pointers.
11870         (main): Add arguments to calls to f.
11871         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11873 2015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
11875         * configure.ac: Fix check for header <sys/sysctl.h>.
11876         * configure: Regenerate.
11877         * config.h.in: Likewise.
11879 2015-06-23  Tom de Vries  <tom@codesourcery.com>
11881         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
11882         abort.
11883         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
11885 2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
11887         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
11888         acc_device_nvidia.
11890         PR libgomp/66518
11891         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
11892         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11894 2015-06-15  Tom de Vries  <tom@codesourcery.com>
11896         * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
11897         dg-additional-options for any remaining options.
11898         * testsuite/libgomp.c/atomic-2.c: Same.
11899         * testsuite/libgomp.c/atomic-4.c: Same.
11900         * testsuite/libgomp.c/atomic-5.c: Same.
11901         * testsuite/libgomp.c/atomic-6.c: Same.
11902         * testsuite/libgomp.c/autopar-1.c: Same.
11903         * testsuite/libgomp.c/copyin-1.c: Same.
11904         * testsuite/libgomp.c/copyin-2.c: Same.
11905         * testsuite/libgomp.c/copyin-3.c: Same.
11906         * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
11907         * testsuite/libgomp.c/nestedfn-5.c: Same.
11908         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
11909         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
11910         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
11911         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11912         * testsuite/libgomp.c/pr32362-1.c: Same.
11913         * testsuite/libgomp.c/pr32362-2.c: Same.
11914         * testsuite/libgomp.c/pr32362-3.c: Same.
11915         * testsuite/libgomp.c/pr39591-1.c: Same.
11916         * testsuite/libgomp.c/pr39591-2.c: Same.
11917         * testsuite/libgomp.c/pr39591-3.c: Same.
11918         * testsuite/libgomp.c/pr58392.c: Same.
11919         * testsuite/libgomp.c/pr58756.c: Same.
11920         * testsuite/libgomp.c/simd-1.c: Same.
11921         * testsuite/libgomp.c/simd-10.c: Same.
11922         * testsuite/libgomp.c/simd-11.c: Same.
11923         * testsuite/libgomp.c/simd-12.c: Same.
11924         * testsuite/libgomp.c/simd-13.c: Same.
11925         * testsuite/libgomp.c/simd-14.c: Same.
11926         * testsuite/libgomp.c/simd-15.c: Same.
11927         * testsuite/libgomp.c/simd-2.c: Same.
11928         * testsuite/libgomp.c/simd-3.c: Same.
11929         * testsuite/libgomp.c/simd-4.c: Same.
11930         * testsuite/libgomp.c/simd-5.c: Same.
11931         * testsuite/libgomp.c/simd-6.c: Same.
11932         * testsuite/libgomp.c/simd-7.c: Same.
11933         * testsuite/libgomp.c/simd-8.c: Same.
11934         * testsuite/libgomp.c/simd-9.c: Same.
11936 2015-06-15  Tom de Vries  <tom@codesourcery.com>
11938         * testsuite/libgomp.c/pr35625.c: Fix typo.
11940 2015-06-15  Tom de Vries  <tom@codesourcery.com>
11942         * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
11943         in dg-options.
11944         * testsuite/libgomp.c/atomic-3.c: Same.
11945         * testsuite/libgomp.c/debug-1.c: Same.
11946         * testsuite/libgomp.c/nqueens-1.c: Same.
11947         * testsuite/libgomp.c/pr26171.c: Same.
11948         * testsuite/libgomp.c/pr48591.c: Same.
11949         * testsuite/libgomp.c/pr64824.c: Same.
11950         * testsuite/libgomp.c/pr64868.c: Same.
11951         * testsuite/libgomp.c/pr66133.c: Same.
11952         * testsuite/libgomp.c/pr66199-1.c: Same.
11953         * testsuite/libgomp.c/pr66199-2.c: Same.
11954         * testsuite/libgomp.c/target-8.c: Same.
11956 2015-06-15  Tom de Vries  <tom@codesourcery.com>
11958         * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
11959         -std={gnu99,c99}.
11960         * testsuite/libgomp.c/for-1.c: Same.
11961         * testsuite/libgomp.c/for-2.c: Same.
11962         * testsuite/libgomp.c/for-3.c: Same.
11963         * testsuite/libgomp.c/pr35625.c: Same.
11964         * testsuite/libgomp.c/pr39154.c: Same.
11965         * testsuite/libgomp.c/simd-16.c: Same.
11966         * testsuite/libgomp.c/simd-17.c: Same.
11968 2015-06-13  Tom de Vries  <tom@codesourcery.com>
11970         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
11972 2015-06-13  Tom de Vries  <tom@codesourcery.com>
11974         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
11975         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11976         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
11977         (N): Define.
11978         (main): Use N instead of hardcoded constants.
11980 2015-06-05  Tom de Vries  <tom@codesourcery.com>
11982         merge from gomp4 branch:
11983         2015-05-28  Tom de Vries  <tom@codesourcery.com>
11985         PR tree-optimization/65443
11986         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
11987         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
11988         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
11990 2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
11992         * testsuite/libgomp.graphite/bounds.c: Adjust for
11993         cleanup-tree-dump removal.
11994         * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
11995         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11996         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11997         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
11998         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11999         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12000         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12001         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12002         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12003         * testsuite/libgomp.graphite/pr41118.c: Likewise.
12005 2015-05-28  Uros Bizjak  <ubizjak@gmail.com>
12007         * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12008         (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12009         (futex_wake) [!__x86_64__]: Ditto.
12011 2015-05-28  Julian Brown  <julian@codesourcery.com>
12013         * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12014         function comment. Only call gomp_fatal if new argument is true.
12015         (acc_dev_num_out_of_range): New function.
12016         (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12017         acc_dev_num_out_of_range as appropriate.
12018         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12019         (acc_get_device_num, acc_set_device_num): Update calls to
12020         resolve_device.
12021         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12022         output.
12024 2015-05-28  Julian Brown  <julian@codesourcery.com>
12026         PR libgomp/65742
12027         * oacc-init.c (plugin/plugin-host.h): Include.
12028         (acc_on_device): Check whether we're in an offloaded region for
12029         host_nonshm
12030         plugin. Don't use __builtin_acc_on_device.
12031         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12032         nonshm_exec flag in thread-local data.
12033         (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12034         data for host_nonshm plugin.
12035         (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12036         for host_nonshm plugin.
12037         * plugin/plugin-host.h: New.
12039 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
12041         * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12043 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
12045         * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12046         Declare as int.
12047         (FUTEX_PRIVATE_FLAG): Remove L suffix.
12048         * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12049         Declare as int.
12051 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
12053         * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
12055 2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
12057         * target.c (gomp_map_pointer): New function abstracting out
12058         GOMP_MAP_POINTER handling.
12059         (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12060         gomp_map_pointer().
12062 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
12064         PR middle-end/66199
12065         * testsuite/libgomp.c/pr66199-1.c: New test.
12066         * testsuite/libgomp.c/pr66199-2.c: New test.
12067         * testsuite/libgomp.c++/pr66199-1.C: New test.
12068         * testsuite/libgomp.c++/pr66199-2.C: New test.
12069         * testsuite/libgomp.fortran/pr66199-1.f90: New test.
12070         * testsuite/libgomp.fortran/pr66199-2.f90: New test.
12072 2015-05-19  Julian Brown  <julian@codesourcery.com>
12074         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12075         on cuInit failure.
12077 2015-05-13  Jakub Jelinek  <jakub@redhat.com>
12079         PR middle-end/66133
12080         * testsuite/libgomp.c/pr66133.c: New test.
12082 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
12084         * Makefile.in: Regenerated with automake-1.11.6.
12085         * aclocal.m4: Likewise.
12086         * config.h.in: Likewise.
12087         * configure: Likewise.
12088         * testsuite/Makefile.in: Likewise.
12090 2015-05-08  Jason Merrill  <jason@redhat.com>
12092         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12093         _Complex.
12095         * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12097 2015-05-06  Julian Brown  <julian@codesourcery.com>
12099         * oacc-init.c (acc_device_lock): Add explanatory comment.
12100         (resolve_device): Add comment about locking requirement.
12101         (acc_init_1, acc_shutdown_1): Likewise. Add locking around
12102         gomp_init_device and gomp_fini_device calls.
12103         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12104         (acc_get_device_num, acc_set_device_num): Add locking around
12105         resolve_device and gomp_init_device calls.
12107 2015-05-06  Julian Brown  <julian@codesourcery.com>
12109         * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12110         goacc_thread_lock on error paths.
12111         * oacc-mem.c (lookup_host): Remove locking from function. Note
12112         locking requirement for caller in function comment.
12113         (lookup_dev): Likewise.
12114         (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12115         (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12116         (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12117         Add locking.
12119 2015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
12121         PR testsuite/65205
12122         PR libgomp/65993
12123         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12124         don't expect "0x" prefix for "%p" format specifier, don't expect
12125         "(nil)" for NULL pointer.
12126         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12127         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12128         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12129         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12130         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12131         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12132         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12133         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12134         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12135         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12136         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12137         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12138         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12139         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12140         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12141         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12142         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12143         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12144         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12145         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12146         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12147         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12148         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12149         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12150         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12151         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12152         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12153         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12154         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12155         accurately specify what we're looking for.
12156         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12157         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12158         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12159         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12160         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12162 2015-04-30  James Norris  <jnorris@codesourcery.com>
12164         PR testsuite/65205
12165         * testsuite/lib/libgomp.exp
12166         (check_effective_target_openacc_host_selected)
12167         (check_effective_target_openacc_host_nonshm_selected): New
12168         procedures.
12169         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12170         dg-shouldfail.
12171         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12172         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12173         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12174         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12175         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12176         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12177         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12178         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12179         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12180         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12181         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12182         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12183         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12184         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12185         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12186         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12187         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12188         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12189         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12190         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12191         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12192         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12193         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12194         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12195         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12196         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12197         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12198         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12199         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12200         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12201         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12202         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12203         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12204         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12205         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12206         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12207         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12208         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12209         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12210         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12211         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12212         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12213         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12215 2015-04-08  Julian Brown  <julian@codesourcery.com>
12217         * libgomp.h (target_mem_desc: Remove mem_map field.
12218         (acc_dispatch_t): Remove open_device_func, close_device_func,
12219         get_device_num_func, set_device_num_func, target_data members.
12220         Change create_thread_data_func argument to device number instead of
12221         generic pointer.
12222         * oacc-async.c (assert.h): Include.
12223         (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12224         (acc_wait_all, acc_wait_all_async): Use current host thread's
12225         active device, not base_dev.
12226         * oacc-cuda.c (acc_get_current_cuda_device)
12227         (acc_get_current_cuda_context, acc_get_cuda_stream)
12228         (acc_set_cuda_stream): Likewise.
12229         * oacc-host.c (host_dispatch): Don't set open_device_func,
12230         close_device_func, get_device_num_func or set_device_num_func.
12231         * oacc-init.c (base_dev, init_key): Remove.
12232         (cached_base_dev): New.
12233         (name_of_acc_device_t): New.
12234         (acc_init_1): Initialise default-numbered device, not zeroth.
12235         (acc_shutdown_1): Close all devices of a given type.
12236         (goacc_destroy_thread): Don't use base_dev.
12237         (lazy_open, lazy_init, lazy_init_and_open): Remove.
12238         (goacc_attach_host_thread_to_device): New.
12239         (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12240         (acc_get_num_devices): Don't use base_dev.
12241         (acc_set_device_type): Reimplement.
12242         (acc_get_device_type): Don't use base_dev.
12243         (acc_get_device_num): Tweak logic.
12244         (acc_set_device_num): Likewise.
12245         (acc_on_device): Use acc_get_device_type.
12246         (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12247         (goacc_lazy_initialize): Reimplement with acc_init and
12248         goacc_attach_host_thread_to_device.
12249         * oacc-int.h (goacc_thread): Add base_dev field.
12250         (base_dev): Remove extern declaration.
12251         (goacc_attach_host_thread_to_device): Add prototype.
12252         * oacc-mem.c (acc_malloc): Use current thread's device instead of
12253         base_dev.
12254         (acc_free): Likewise.
12255         (acc_memcpy_to_device): Likewise.
12256         (acc_memcpy_from_device): Likewise.
12257         * oacc-parallel.c (select_acc_device): Remove. Replace calls with
12258         goacc_lazy_initialize (throughout).
12259         (GOACC_parallel): Use tgt_offset to locate target functions.
12260         * target.c (gomp_map_vars): Don't set tgt->mem_map.
12261         (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12262         (gomp_load_plugin_for_device): Remove open_device, close_device,
12263         get_device_num, set_device_num openacc hook initialisation. Don't set
12264         openacc.target_data.
12265         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12266         (GOMP_OFFLOAD_openacc_close_device)
12267         (GOMP_OFFLOAD_openacc_get_device_num)
12268         (GOMP_OFFLOAD_openacc_set_device_num): Remove.
12269         (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12270         to int.
12271         * plugin/plugin-nvptx.c (ptx_inited): Remove.
12272         (instantiated_devices, ptx_dev_lock): New.
12273         (struct ptx_image_data): New.
12274         (ptx_devices, ptx_images, ptx_image_lock): New.
12275         (fini_streams_for_device): Reorder cuStreamDestroy call.
12276         (nvptx_get_num_devices): Remove forward declaration.
12277         (nvptx_init): Change return type to bool.
12278         (nvptx_fini): Remove.
12279         (nvptx_attach_host_thread_to_device): New.
12280         (nvptx_open_device): Return struct ptx_device* instead of void*.
12281         (nvptx_close_device): Change argument type to struct ptx_device*,
12282         return type to void.
12283         (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
12284         (kernel_target_data, kernel_host_table): Remove static globals.
12285         (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
12286         (GOMP_OFFLOAD_init_device): Reimplement.
12287         (GOMP_OFFLOAD_fini_device): Likewise.
12288         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
12289         (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
12290         (GOMP_OFFLOAD_host2dev): Use ORD argument.
12291         (GOMP_OFFLOAD_openacc_open_device)
12292         (GOMP_OFFLOAD_openacc_close_device)
12293         (GOMP_OFFLOAD_openacc_set_device_num)
12294         (GOMP_OFFLOAD_openacc_get_device_num): Remove.
12295         (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
12296         (device number).
12298         testsuite/
12299         * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12301 2015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
12303         * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
12304         * libgomp.h (struct gomp_memory_mapping): Remove.
12305         (struct target_mem_desc): Change type of mem_map from
12306         gomp_memory_mapping * to splay_tree_s *.
12307         (struct gomp_device_descr): Remove register_image_func, get_table_func.
12308         Add load_image_func, unload_image_func.
12309         Change type of mem_map from gomp_memory_mapping to splay_tree_s.
12310         Remove offload_regions_registered.
12311         (gomp_init_tables): Remove.
12312         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12313         to splay_tree_s *.
12314         * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
12315         * oacc-host.c (host_dispatch): Do not initialize register_image_func,
12316         get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
12317         offload_regions_registered.
12318         Initialize load_image_func, unload_image_func, mem_map.root.
12319         (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
12320         * oacc-init.c (lazy_open): Don't call gomp_init_tables.
12321         (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
12322         * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
12323         gomp_memory_mapping *.  Use dev's lock and splay_tree.
12324         (lookup_dev): Use dev's lock.
12325         (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
12326         (acc_is_present): Likewise.
12327         (acc_map_data): Likewise.
12328         (acc_unmap_data): Likewise.  Use dev's lock.
12329         (present_create_copy): Likewise.
12330         (delete_copyout): Pass dev to lookup_host instead of mem_map.
12331         (update_dev_host): Likewise.
12332         (gomp_acc_remove_pointer): Likewise.  Use dev's lock.
12333         * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
12334         * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
12335         (GOMP_OFFLOAD_get_table): Remove
12336         (GOMP_OFFLOAD_load_image): New function.
12337         (GOMP_OFFLOAD_unload_image): New function.
12338         * target.c (register_lock): New mutex for offload image registration.
12339         (num_devices): Do not guard with PLUGIN_SUPPORT.
12340         (gomp_realloc_unlock): New static function.
12341         (gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
12342         before gomp_fatal.
12343         (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
12344         Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
12345         (gomp_copy_from_async): Use dev's lock and splay_tree instead of
12346         mem_map's.
12347         (gomp_unmap_vars): Likewise.
12348         (gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
12349         splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
12350         (gomp_offload_image_to_device): New static function.
12351         (GOMP_offload_register): Add mutex lock.
12352         Call gomp_offload_image_to_device for all initialized devices.
12353         Replace gomp_realloc with gomp_realloc_unlock.
12354         (GOMP_offload_unregister): New function.
12355         (gomp_init_tables): Replace with gomp_init_device.  Replace a call to
12356         get_table_func from the plugin with calls to init_device_func and
12357         gomp_offload_image_to_device.
12358         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12359         to splay_tree_s *.
12360         (GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
12361         splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
12362         (GOMP_target_data): Do not call gomp_init_tables.
12363         (GOMP_target_update): Likewise.  Remove argument from gomp_update.
12364         (gomp_load_plugin_for_device): Replace register_image and get_table
12365         with load_image and unload_image in DLSYM ().
12366         (gomp_register_images_for_device): Remove function.
12367         (gomp_target_init): Do not initialize current_device.mem_map.*,
12368         current_device.offload_regions_registered.
12369         Remove call to gomp_register_images_for_device.
12370         Do not free offload_images and num_offload_images.
12372 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
12374         PR fortran/65597
12375         * testsuite/libgomp.fortran/pr65597.f90: New test.
12377 2015-03-27  Tom de Vries  <tom@codesourcery.com>
12379         PR testsuite/65594
12380         * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
12381         (init, check): New function.
12382         (foo): Change return type to void.
12383         (main): Call init and check.
12385 2015-03-27  Tom de Vries  <tom@codesourcery.com>
12387         PR testsuite/65594
12388         * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
12389         (foo): Use M for non-inner loops to scale down test-case.
12391 2015-03-25  Kai Tietz  <ktietz@redhat.com>
12393         PR libgomp/64972
12394         * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
12395         (GOACC_data_start): Likewise.
12396         * target.c (gomp_map_vars): Likewise.
12398 2015-03-21  John David Anglin  <danglin@gcc.gnu.org>
12400         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
12401         hppa*-*-hpux*.
12403 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
12405         * testsuite/libgomp.c/target-10.c: New test.
12406         * testsuite/libgomp.c++/target-4.C: New test.
12408 2015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
12410         * testsuite/libgomp.fortran/declare-target-1.f90: New test.
12411         * testsuite/libgomp.fortran/declare-target-2.f90: New file.
12413 2015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12415         * configure.tgt (*-*-rtems*): Use local-exec TLS model.
12416         * configure.ac (*-*-rtems*): Assume Pthread is supported.
12417         (pthread.h): Check for this header file.
12418         * configure: Regenerate.
12420 2015-02-25  Tom de Vries  <tom@codesourcery.com>
12422         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
12423         (check_reduction_op, check_reduction_macro, max, min):
12424         Declare.
12425         (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
12426         function.
12427         (main): Use new functions.
12429 2015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
12431         * target.c (gomp_load_plugin_for_device): Use const char * instead of
12432         char * for variables holding dlerror return values.
12433         (DLSYM_OPT): Ditto.
12435 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
12437         * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
12439 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
12440             Cesar Philippidis  <cesar@codesourcery.com>
12442         * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
12443         GOACC_ctaid, and GOACC_nctaid routines.
12445 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
12447         PR c/64824
12448         * testsuite/libgomp.c/atomic-18.c: New test.
12449         * testsuite/libgomp.c++/atomic-16.C: New test.
12451 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
12453         PR c/64824
12454         PR c/64868
12455         * testsuite/libgomp.c/pr64824.c: New test.
12456         * testsuite/libgomp.c/pr64868.c: New test.
12457         * testsuite/libgomp.c++/pr64824.C: New test.
12458         * testsuite/libgomp.c++/pr64868.C: New test.
12460 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
12462         PR libgomp/64635
12463         * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
12464         Link with -lpthread.
12465         * config/aix/plugin-suffix.h: Delete.
12467 2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
12469         PR libgomp/64635
12470         * configure.tgt (*-*-aix*): Use config_path "aix posix".
12471         (*-*-darwin*): Use config_path "bsd darwin posix".
12472         (*-*-hpux*): Use config_path "hpux posix".
12473         * target.c: Add include of plugin-suffix.h and use
12474         SONAME_SUFFIX macro.
12475         * config/aix/plugin-suffix.h: New file.
12476         * config/darwin/plugin-suffix.h: New file.
12477         * config/hpux/plugin-suffix.h: New file.
12478         * config/posix/plugin-suffix.h: New file.
12480 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
12482         PR middle-end/64734
12483         * libgomp.c/pr64734.c: New test.
12485 2015-01-23  Tom de Vries  <tom@codesourcery.com>
12487         PR libgomp/64672
12488         * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
12490 2015-01-23  Tom de Vries  <tom@codesourcery.com>
12492         PR libgomp/64707
12493         * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
12494         dg-options.
12496 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
12498         PR libgomp/64625
12499         * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
12500         (GOACC_parallel, GOACC_update): Remove const_void *offload_table
12501         formal parameter.  Update all users.
12502         * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
12503         Document unused formal parameter.
12505 2015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
12507         * oacc-parallel.c: Don't include <alloca.h>.
12508         (GOACC_parallel): Use gomp_alloca instead of alloca.
12510 2015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
12512         * target.c (num_devices): Guard with PLUGIN_SUPPORT.
12514 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
12515             James Norris  <jnorris@codesourcery.com>
12516             Tom de Vries  <tom@codesourcery.com>
12517             Julian Brown  <julian@codesourcery.com>
12518             Cesar Philippidis  <cesar@codesourcery.com>
12519             Nathan Sidwell  <nathan@codesourcery.com>
12520             Tobias Burnus  <burnus@net-b.de>
12522         * Makefile.am (search_path): Add $(top_srcdir)/../include.
12523         (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
12524         oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
12525         oacc-async.c, oacc-plugin.c, oacc-cuda.c.
12526         [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
12527         Include $(top_srcdir)/plugin/Makefrag.am.
12528         (nodist_libsubinclude_HEADERS): Add openacc.h.
12529         [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
12530         openacc.f90, openacc.mod, openacc_kinds.mod.
12531         (omp_lib.mod): Generalize into...
12532         (%.mod): ... this new rule.
12533         (openacc_kinds.mod, openacc.mod): New rules.
12534         * plugin/configfrag.ac: New file.
12535         * configure.ac: Move plugin/offloading support into it.  Include
12536         it.  Instantiate testsuite/libgomp-test-support.pt.exp.
12537         * plugin/Makefrag.am: New file.
12538         * testsuite/Makefile.am (OFFLOAD_TARGETS)
12539         (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
12540         export.
12541         (libgomp-test-support.exp): New rule.
12542         (all-local): Depend on it.
12543         * Makefile.in: Regenerate.
12544         * testsuite/Makefile.in: Regenerate.
12545         * config.h.in: Likewise.
12546         * configure: Likewise.
12547         * configure.tgt: Harden shell syntax.
12548         * env.c: Include "oacc-int.h".
12549         (parse_acc_device_type): New function.
12550         (gomp_debug_var, goacc_device_type, goacc_device_num): New
12551         variables.
12552         (initialize_env): Initialize those.  Call
12553         goacc_runtime_initialize.
12554         * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
12555         (gomp_fatal): Call gomp_vfatal.
12556         * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
12557         (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
12558         (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
12559         (splay_tree_node, splay_tree, splay_tree_key)
12560         (struct target_mem_desc, struct splay_tree_key_s)
12561         (struct gomp_memory_mapping, struct acc_dispatch_t)
12562         (struct gomp_device_descr, gomp_acc_insert_pointer)
12563         (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
12564         (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
12565         (gomp_free_memmap, gomp_fini_device): New declarations.
12566         (gomp_vdebug, gomp_debug): New macros.
12567         Include "splay-tree.h".
12568         * libgomp.map (OACC_2.0): New symbol version.  Use for
12569         acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
12570         acc_set_device_type_h_, acc_get_device_type,
12571         acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
12572         acc_get_device_num, acc_get_device_num_h_, acc_async_test,
12573         acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
12574         acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
12575         acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
12576         acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
12577         acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
12578         acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
12579         acc_copyin_array_h_, acc_present_or_copyin,
12580         acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
12581         acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
12582         acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
12583         acc_present_or_create_32_h_, acc_present_or_create_64_h_,
12584         acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
12585         acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
12586         acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
12587         acc_update_device, acc_update_device_32_h_,
12588         acc_update_device_64_h_, acc_update_device_array_h_,
12589         acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
12590         acc_update_self_array_h_, acc_map_data, acc_unmap_data,
12591         acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
12592         acc_is_present_64_h_, acc_is_present_array_h_,
12593         acc_memcpy_to_device, acc_memcpy_from_device,
12594         acc_get_current_cuda_device, acc_get_current_cuda_context,
12595         acc_get_cuda_stream, acc_set_cuda_stream.
12596         (GOACC_2.0): New symbol version.  Use for GOACC_data_end,
12597         GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
12598         GOACC_update, GOACC_wait, GOACC_get_thread_num,
12599         GOACC_get_num_threads.
12600         (GOMP_PLUGIN_1.0): New symbol version.  Use for
12601         GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
12602         GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
12603         GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
12604         GOMP_PLUGIN_acc_thread.
12605         * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
12606         environment variable.
12607         * libgomp_g.h (GOACC_data_start, GOACC_data_end)
12608         (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
12609         (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
12610         * splay-tree.h (splay_tree_lookup, splay_tree_insert)
12611         (splay_tree_remove): New declarations.
12612         (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
12613         (splay_tree_remove, splay_tree_lookup): Move into...
12614         * splay-tree.c: ... this new file.
12615         * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
12616         (splay_tree_node, splay_tree, splay_tree_key)
12617         (struct target_mem_desc, struct splay_tree_key_s)
12618         (struct gomp_device_descr): Don't declare.
12619         (num_devices_openmp): New variable.
12620         (gomp_get_num_devices ): Use it.
12621         (gomp_init_targets_once): New function.
12622         (gomp_get_num_devices ): Use it.
12623         (get_kind, gomp_copy_from_async, gomp_free_memmap)
12624         (gomp_fini_device, gomp_register_image_for_device): New functions.
12625         (gomp_map_vars): Add devaddrs parameter.
12626         (gomp_update): Add mm parameter.
12627         (gomp_init_device): Move most of it into...
12628         (gomp_init_tables): ... this new function.
12629         (gomp_register_images_for_device): Remove function.
12630         (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
12631         Make them hidden instead of static.
12632         (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
12633         (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
12634         (GOMP_target_end_data, GOMP_target_update)
12635         (gomp_load_plugin_for_device, gomp_target_init): Update for
12636         OpenACC changes.
12637         * oacc-async.c: New file.
12638         * oacc-cuda.c: Likewise.
12639         * oacc-host.c: Likewise.
12640         * oacc-init.c: Likewise.
12641         * oacc-int.h: Likewise.
12642         * oacc-mem.c: Likewise.
12643         * oacc-parallel.c: Likewise.
12644         * oacc-plugin.c: Likewise.
12645         * oacc-plugin.h: Likewise.
12646         * oacc-ptx.h: Likewise.
12647         * openacc.f90: Likewise.
12648         * openacc.h: Likewise.
12649         * openacc_lib.h: Likewise.
12650         * plugin/plugin-host.c: Likewise.
12651         * plugin/plugin-nvptx.c: Likewise.
12652         * libgomp-plugin.c: Likewise.
12653         * libgomp-plugin.h: Likewise.
12654         * libgomp_target.h: Remove file after merging content into the
12655         former file.  Update all users.
12656         * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
12657         (offload_targets_s, offload_targets_s_openacc): New variables.
12658         (check_effective_target_openacc_nvidia_accel_present)
12659         (check_effective_target_openacc_nvidia_accel_selected): New
12660         procedures.
12661         (libgomp_init): Update for OpenACC changes.
12662         * testsuite/libgomp-test-support.exp.in: New file.
12663         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
12664         * testsuite/libgomp.oacc-c/c.exp: Likewise.
12665         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12666         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
12667         * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
12668         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
12669         * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
12670         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12671         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12672         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
12673         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
12674         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
12675         * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
12676         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12677         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
12678         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12679         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
12680         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
12681         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
12682         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
12683         * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
12684         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
12685         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12686         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
12687         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12688         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
12689         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
12690         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
12691         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
12692         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
12693         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12694         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12695         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12696         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
12697         * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
12698         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12699         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
12700         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12701         * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
12702         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
12703         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12704         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12705         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12706         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12707         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12708         * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
12709         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12710         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12711         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12712         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12713         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12714         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12715         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12716         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12717         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12718         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12719         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12720         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12721         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12722         * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
12723         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
12724         * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
12725         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12726         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12727         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12728         * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
12729         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
12730         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12731         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12732         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12733         * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
12734         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12735         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12736         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12737         * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
12738         * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
12739         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12740         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12741         * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
12742         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
12743         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
12744         * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
12745         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12746         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12747         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12748         * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
12749         * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
12750         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12751         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12752         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
12753         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
12754         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
12755         * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
12756         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12757         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12758         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12759         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12760         * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
12761         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12762         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12763         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
12764         * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
12765         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
12766         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12767         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
12768         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
12769         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
12770         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
12771         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
12772         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12773         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
12774         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
12775         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12776         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
12777         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
12778         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
12779         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
12780         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
12781         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
12782         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
12783         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
12784         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
12785         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
12786         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
12787         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
12788         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
12789         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
12790         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
12791         * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
12792         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
12793         * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
12794         * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
12795         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12796         * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
12797         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
12798         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12799         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12800         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12801         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12802         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
12803         Likewise.
12804         * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
12805         * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
12806         * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
12807         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12808         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
12809         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12810         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12811         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12812         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12813         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12814         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12815         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12816         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12817         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12818         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12819         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12820         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12821         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12822         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12823         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12824         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12825         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12826         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12827         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12828         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12829         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12830         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12831         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12832         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
12833         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
12834         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
12835         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
12836         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
12837         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12838         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12839         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12840         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12841         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12842         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12843         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12844         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12845         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12846         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12847         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12848         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12849         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12850         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12851         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12852         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12853         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12854         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12855         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12856         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12857         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12858         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12859         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12860         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12861         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12862         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12863         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12865 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
12866             Julian Brown  <julian@codesourcery.com>
12867             David Malcolm  <dmalcolm@redhat.com>
12869         * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
12870         to "GNU Offloading and Multi Processing Runtime Library".  Change
12871         all users.
12872         * configure: Regenerate.
12873         * libgomp.texi: Update.
12875 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
12877         * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
12878         "$tgt_dir/lib32".
12879         * configure: Regenerate.
12881         * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
12882         "intelmic" in $offload_targets.
12884 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
12886         Update copyright years.
12888         * libgomp.texi: Bump @copying's copyright year.
12890 2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
12892         * testsuite/lib/libgomp.exp: Load target-utils.exp.
12893         Move load of target-supports.exp earlier.
12895 2014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
12897         * testsuite/libgomp.c/target-9.c: New test.
12899 2014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
12901         * config.h.in: Regenerate.
12902         * configure: Regenerate.
12903         * configure.ac: Add GCC_CHECK_EMUTLS.
12904         * libgomp.h: Add check for USE_EMUTLS: this case
12905         is equal to HAVE_TLS.
12906         * team.c: Likewise.
12908 2014-12-03  Uros Bizjak  <ubizjak@gmail.com>
12910         * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
12912 2014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
12913             Ilya Verbin  <ilya.verbin@intel.com>
12915         * testsuite/libgomp.c/target-critical-1.c: New test.
12917 2014-11-26  Jakub Jelinek  <jakub@redhat.com>
12919         * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
12920         to dg-options unless expensive testing is on.
12921         (TESTITERS): Define to N if not defined.
12922         (main): Use TESTITERS instead of N.
12923         * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
12924         dg-additional-options depending on whether expensive testing is on.
12925         * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
12926         Decrease N to 100000 and CHUNKSZ to 10000.
12928 2014-11-24  Jakub Jelinek  <jakub@redhat.com>
12930         PR fortran/63938
12931         * testsuite/libgomp.fortran/pr63938-1.f90: New test.
12932         * testsuite/libgomp.fortran/pr63938-2.f90: New test.
12934 2014-11-21  Steve Ellcey  <sellcey@imgtec.com>
12936         * config/linux/mips/futex.h (SYS_futex): Define if not already done.
12938 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
12940         PR bootstrap/63784
12941         * configure: Regenerated.
12943 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
12945         * testsuite/libgomp.c/examples-4/e.53.5.c: Require
12946         vect_simd_clones effective target.
12947         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12949 2014-11-14  Jakub Jelinek  <jakub@redhat.com>
12951         * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
12952         of 32 as block_size.
12953         * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
12954         instead of 32 as block_size.
12956 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
12957             Ilya Verbin  <ilya.verbin@intel.com>
12959         * Makefile.in: Regenerate.
12960         * configure: Regenerate.
12961         * configure.ac: Set up offload_additional_options,
12962         offload_additional_lib_paths and offload_targets.
12963         * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
12964         OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
12965         * testsuite/Makefile.in: Regenerate.
12966         * testsuite/lib/libgomp.exp (libgomp_init): Append
12967         offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
12968         offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
12969         build directory to LD_LIBRARY_PATH for intelmic offload targets.
12971 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
12972             Ilya Verbin  <ilya.verbin@intel.com>
12973             Kirill Yukhin  <kirill.yukhin@intel.com>
12974             Ilya Tocar  <ilya.tocar@intel.com>
12976         * testsuite/lib/libgomp.exp
12977         (check_effective_target_offload_device): New.
12978         * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
12979         * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
12980         * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
12981         * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
12982         * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
12983         * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
12984         * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
12985         * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
12986         * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
12987         * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
12988         * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
12989         * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
12990         * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
12991         * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
12992         * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
12993         * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
12994         * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
12995         * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
12996         * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
12997         * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
12998         * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
12999         * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13000         * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13001         * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13002         * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13003         * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13004         * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13005         * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13006         * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13007         * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13008         * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13009         * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13010         * testsuite/libgomp.c/target-7.c: Fix test.
13011         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13012         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13013         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13014         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13015         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13016         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13017         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13018         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13019         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13020         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13021         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13022         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13023         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13024         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13025         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13026         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13027         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13028         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13029         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13030         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13031         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13032         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13033         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13034         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13035         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13036         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13037         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13038         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13039         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13040         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13041         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13043 2014-11-13  Jakub Jelinek  <jakub@redhat.com>
13044             Ilya Verbin  <ilya.verbin@intel.com>
13045             Thomas Schwinge  <thomas@codesourcery.com>
13046             Andrey Turetskiy  <andrey.turetskiy@intel.com>
13048         * libgomp.map (GOMP_4.0.1): New symbol version.
13049         Add GOMP_offload_register.
13050         * libgomp_target.h: New file.
13051         * splay-tree.h: New file.
13052         * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13053         (gomp_target_init): New forward declaration.
13054         (gomp_is_initialized): New static variable.
13055         (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13056         (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13057         New structures.
13058         (offload_images, num_offload_images, devices, num_devices): New static
13059         variables.
13060         (splay_compare): New static function.
13061         (struct gomp_device_descr): New structure.
13062         (gomp_get_num_devices): Call gomp_target_init.
13063         (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13064         (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13065         (GOMP_offload_register): New function.
13066         (GOMP_target): Arrange for host callback to be performed in a separate
13067         initial thread and contention group, inheriting ICVs from
13068         gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
13069         Add device initialization and lookup for target function in splay tree.
13070         (GOMP_target_data): Add device initialization and call gomp_map_vars.
13071         (GOMP_target_end_data): Call gomp_unmap_vars.
13072         (GOMP_target_update): Add device initialization and call gomp_update.
13073         (gomp_load_plugin_for_device, gomp_register_images_for_device)
13074         (gomp_target_init): New static functions.
13076 2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
13077             Thomas Schwinge  <thomas@codesourcery.com>
13078             Ilya Verbin  <ilya.verbin@intel.com>
13079             Andrey Turetskiy  <andrey.turetskiy@intel.com>
13081         * config.h.in: Regenerate.
13082         * configure: Regenerate.
13083         * configure.ac: Check for libdl, required for plugin support.
13084         (PLUGIN_SUPPORT): Define if plugins are supported.
13085         (enable_offload_targets): Support Intel MIC targets.
13086         (OFFLOAD_TARGETS): List of target names suitable for offloading.
13088 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
13090         PR target/63610
13091         * configure: Regenerate.
13093 2014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13095         * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13097 2014-10-06  Marek Polacek  <polacek@redhat.com>
13099         * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13100         * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13101         * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13102         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13104 2014-10-06  Marek Polacek  <polacek@redhat.com>
13106         * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13107         * testsuite/libgomp.c/nqueens-1.c: Likewise.
13108         * testsuite/libgomp.c/pr26943-3.c: Likewise.
13109         * testsuite/libgomp.c/pr26943-4.c: Likewise.
13110         * testsuite/libgomp.c/pr36802-2.c: Likewise.
13111         * testsuite/libgomp.c/pr36802-3.c: Likewise.
13112         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
13113         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13114         * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13115         * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13116         * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13117         * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13118         * testsuite/libgomp.c/omp-single-1.c: Likewise.
13119         * testsuite/libgomp.c/omp-single-2.c: Likewise.
13120         * testsuite/libgomp.c/omp_matvec.c: Likewise.
13121         * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13122         * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13123         * testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
13124         declarations.
13126 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
13128         PR libgomp/61200
13129         * testsuite/libgomp.c/pr61200.c: New test.
13131 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
13133         PR c++/63248
13134         * testsuite/libgomp.c++/pr63248.C: New test.
13136 2014-08-04  Jakub Jelinek  <jakub@redhat.com>
13138         * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13139         is not zero, but taskgroup->children is NULL and there are
13140         any task->children, schedule those instead of waiting.
13141         * testsuite/libgomp.c/depend-6.c: New test.
13142         * testsuite/libgomp.c/depend-7.c: New test.
13143         * testsuite/libgomp.c/depend-8.c: New test.
13144         * testsuite/libgomp.c/depend-9.c: New test.
13145         * testsuite/libgomp.c/depend-10.c: New test.
13147 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
13149         * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13150         (struct gomp_taskwait): New type.
13151         (struct gomp_task): Add taskwait and parent_depends_on, remove
13152         in_taskwait and taskwait_sem fields.
13153         (gomp_finish_task): Don't destroy taskwait_sem.
13154         * task.c (gomp_init_task): Don't init in_taskwait, instead init
13155         taskwait and parent_depends_on.
13156         (GOMP_task): For if (0) tasks with depend clause that depend on
13157         earlier tasks don't defer them, instead call
13158         gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13159         Initialize redundant_out field, for redundant out entries just
13160         move them at the end of linked list instead of removing them
13161         completely, and set redundant_out flag instead of redundant.
13162         (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13163         that task.
13164         (gomp_task_run_post_handle_dependers): If parent is in
13165         gomp_task_maybe_wait_for_dependencies and newly runnable task
13166         is not parent_depends_on, queue it in parent->children linked
13167         list after all runnable tasks with parent_depends_on set.
13168         Adjust for addition of taskwait indirection.
13169         (gomp_task_run_post_remove_parent): If parent is in
13170         gomp_task_maybe_wait_for_dependencies and task to be removed
13171         is parent_depends_on, decrement n_depend and if needed awake
13172         parent.  Adjust for addition of taskwait indirection.
13173         (GOMP_taskwait): Adjust for addition of taskwait indirection.
13174         (gomp_task_maybe_wait_for_dependencies): New function.
13175         * testsuite/libgomp.c/depend-5.c: New test.
13177 2014-07-13  Tobias Burnus  <burnus@net-b.de>
13179         * testsuite/libgomp.fortran/pr34020.f90: Make compile
13180         with TS 18508/Fortran 2015.
13182 2014-07-06  Marek Polacek  <polacek@redhat.com>
13184         PR c/6940
13185         * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13187 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
13189         * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13190         matches regex $lang_source_re, add $lang_include_flags to options.
13191         * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13192         * testsuite/libgomp.c++/c++.exp: Likewise.
13193         * testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
13194         and lang_include_flags instead of adding -fintrinsic-modules-path= to
13195         ALWAYS_CFLAGS.
13196         * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13198 2014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
13200         * testsuite/libgomp.fortran/fortran.exp: Explain
13201         gfortran-dg-runtest usage.
13203 2014-06-25  Jakub Jelinek  <jakub@redhat.com>
13205         * testsuite/libgomp.fortran/simd5.f90: New test.
13206         * testsuite/libgomp.fortran/simd6.f90: New test.
13207         * testsuite/libgomp.fortran/simd7.f90: New test.
13209 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
13211         * testsuite/libgomp.c/for-2.c: Define SC to static for
13212         #pragma omp for simd testing.
13213         * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13214         (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13215         SC macro.
13216         * testsuite/libgomp.c/simd-14.c: New test.
13217         * testsuite/libgomp.c/simd-15.c: New test.
13218         * testsuite/libgomp.c/simd-16.c: New test.
13219         * testsuite/libgomp.c/simd-17.c: New test.
13220         * testsuite/libgomp.c++/for-10.C: Define SC to static for
13221         #pragma omp for simd testing.
13222         * testsuite/libgomp.c++/simd10.C: New test.
13223         * testsuite/libgomp.c++/simd11.C: New test.
13224         * testsuite/libgomp.c++/simd12.C: New test.
13225         * testsuite/libgomp.c++/simd13.C: New test.
13227         * testsuite/libgomp.fortran/aligned1.f03: New test.
13228         * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13229         * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13230         tasks with !$omp parallel !$omp single.
13231         * testsuite/libgomp.fortran/target8.f90: New test.
13232         * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13233         not to use trim in the combiner, instead call elemental function.
13234         (fn): New elemental function.
13235         * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13236         Make elemental.
13237         * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13238         omp_in): Likewise.
13239         * testsuite/libgomp.fortran/udr12.f90: New test.
13240         * testsuite/libgomp.fortran/udr13.f90: New test.
13241         * testsuite/libgomp.fortran/udr14.f90: New test.
13242         * testsuite/libgomp.fortran/udr15.f90: New test.
13244 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
13246         * omp_lib.f90.in (openmp_version): Set to 201307.
13247         * omp_lib.h.in (openmp_version): Likewise.
13248         * testsuite/libgomp.c/target-8.c: New test.
13249         * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13250         and inbranch clauses.
13251         * testsuite/libgomp.fortran/depend-3.f90: New test.
13252         * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13253         openmp_version.
13254         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13255         * testsuite/libgomp.fortran/target1.f90: New test.
13256         * testsuite/libgomp.fortran/target2.f90: New test.
13257         * testsuite/libgomp.fortran/target3.f90: New test.
13258         * testsuite/libgomp.fortran/target4.f90: New test.
13259         * testsuite/libgomp.fortran/target5.f90: New test.
13260         * testsuite/libgomp.fortran/target6.f90: New test.
13261         * testsuite/libgomp.fortran/target7.f90: New test.
13263 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
13265         PR fortran/60928
13266         * testsuite/libgomp.fortran/allocatable9.f90: New test.
13267         * testsuite/libgomp.fortran/allocatable10.f90: New test.
13268         * testsuite/libgomp.fortran/allocatable11.f90: New test.
13269         * testsuite/libgomp.fortran/allocatable12.f90: New test.
13270         * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13271         * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13272         * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13273         * testsuite/libgomp.fortran/associate1.f90: New test.
13274         * testsuite/libgomp.fortran/associate2.f90: New test.
13275         * testsuite/libgomp.fortran/procptr1.f90: New test.
13277 2014-06-06  Jakub Jelinek  <jakub@redhat.com>
13279         * testsuite/libgomp.fortran/simd1.f90: New test.
13280         * testsuite/libgomp.fortran/udr1.f90: New test.
13281         * testsuite/libgomp.fortran/udr2.f90: New test.
13282         * testsuite/libgomp.fortran/udr3.f90: New test.
13283         * testsuite/libgomp.fortran/udr4.f90: New test.
13284         * testsuite/libgomp.fortran/udr5.f90: New test.
13285         * testsuite/libgomp.fortran/udr6.f90: New test.
13286         * testsuite/libgomp.fortran/udr7.f90: New test.
13287         * testsuite/libgomp.fortran/udr8.f90: New test.
13288         * testsuite/libgomp.fortran/udr9.f90: New test.
13289         * testsuite/libgomp.fortran/udr10.f90: New test.
13290         * testsuite/libgomp.fortran/udr11.f90: New test.
13292 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
13294         * testsuite/libgomp.fortran/declare-simd-1.f90: Require
13295         vect_simd_clones effective target.
13296         * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13298 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
13300         PR middle-end/61252
13301         * testsuite/libgomp.c++/simd-9.C: New test.
13303 2014-05-18  Uros Bizjak  <ubizjak@gmail.com>
13305         * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
13306         (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
13307         texts according to their @menu entry positions.
13309 2014-05-11  Jakub Jelinek  <jakub@redhat.com>
13311         * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
13312         * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
13313         * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
13314         * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
13315         * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
13316         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
13317         * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
13318         * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
13319         * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
13320         * testsuite/libgomp.fortran/depend-1.f90: New test.
13321         * testsuite/libgomp.fortran/depend-2.f90: New test.
13322         * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
13323         * testsuite/libgomp.fortran/simd1.f90: New test.
13324         * testsuite/libgomp.fortran/simd2.f90: New test.
13325         * testsuite/libgomp.fortran/simd3.f90: New test.
13326         * testsuite/libgomp.fortran/simd4.f90: New test.
13327         * testsuite/libgomp.fortran/taskgroup1.f90: New test.
13329 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
13331         * testsuite/libgomp.c/simd-10.c: New test.
13332         * testsuite/libgomp.c/simd-11.c: New test.
13333         * testsuite/libgomp.c/simd-12.c: New test.
13334         * testsuite/libgomp.c/simd-13.c: New test.
13336 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
13338         * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
13339         atomic type clauses in any order and optional comma in between.
13340         * testsuite/libgomp.c++/atomic-15.C: Likewise.
13341         * testsuite/libgomp.c/atomic-17.c: Likewise.
13343         * testsuite/libgomp.c/simd-7.c: New test.
13344         * testsuite/libgomp.c/simd-8.c: New test.
13345         * testsuite/libgomp.c/simd-9.c: New test.
13346         * testsuite/libgomp.c/loop-16.c: New test.
13348 2014-04-02  Richard Henderson  <rth@redhat.com>
13350         * config/linux/futex.h (futex_wait): Get error value from errno.
13351         (futex_wake): Likewise.
13353 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
13355         PR c++/60331
13356         * testsuite/libgomp.c++/udr-11.C: New test.
13357         * testsuite/libgomp.c++/udr-12.C: New test.
13358         * testsuite/libgomp.c++/udr-13.C: New test.
13359         * testsuite/libgomp.c++/udr-14.C: New test.
13360         * testsuite/libgomp.c++/udr-15.C: New test.
13361         * testsuite/libgomp.c++/udr-16.C: New test.
13362         * testsuite/libgomp.c++/udr-17.C: New test.
13363         * testsuite/libgomp.c++/udr-18.C: New test.
13364         * testsuite/libgomp.c++/udr-19.C: New test.
13366 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
13368         Update copyright years
13370 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
13372         * hashtab.h: Use the standard form for the copyright notice.
13374 2014-01-02  Tobias Burnus  <burnus@net-b.de>
13376         * libgomp.texi: Bump @copying's copyright year.
13378 2013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
13380         * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
13381         alloca () with __builtin_alloca ().
13382         * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
13383         * testsuite/libgomp.c/lock-3.c: Likewise.
13384         * testsuite/libgomp.c/pr48591.c: Likewise.
13386 2013-12-17  Jakub Jelinek  <jakub@redhat.com>
13388         PR testsuite/59534
13389         * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
13390         comparisons.
13392 2013-12-16  Jakub Jelinek  <jakub@redhat.com>
13394         PR libgomp/58756
13395         * testsuite/libgomp.c/pr58756.c: New test.
13397 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
13399         PR libgomp/59467
13400         * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
13401         !$omp parallel.
13403 2013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
13405         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
13406         ALWAYS_CFLAGS.
13407         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
13408         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
13409         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
13410         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
13411         Likewise.
13413         * libgomp_g.h: Include <stddef.h> for size_t.
13415         * libgomp.spec.in: Update comment about libgomp's dependencies.
13416         * configure.ac: Likewise.
13417         * configure: Regenerate.
13419 2013-10-16  Tobias Burnus  <burnus@net-b.de>
13421         * libgomp.texi: (Runtime Library Routines): Update references for
13422         OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
13423         omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
13424         omp_get_team_num, omp_is_initial_device, omp_set_default_device.
13425         (Environment Variables): Update references for OpenMP 4.0. Add
13426         OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
13427         Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
13428         order.
13430 2013-10-14  Jakub Jelinek  <jakub@redhat.com>
13432         * env.c (parse_bind_var): Initialize value to avoid
13433         (false positive) warning.
13435 2013-10-12  Jakub Jelinek  <jakub@redhat.com>
13437         PR libgomp/58691
13438         * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
13439         to check variable.
13440         (gomp_init_num_threads): Move i variable declaration into
13441         #ifdef CPU_ALLOC_SIZE block.
13442         * config/linux/affinity.c (gomp_affinity_init_level): Test
13443         gomp_places_list_len == 0 rather than gomp_places_list == 0
13444         when checking for topology reading error.
13445         * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
13446         * env.c (parse_affinity): Add ignore argument, if true, don't populate
13447         gomp_places_list, only parse env var and always return false.
13448         (parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
13449         (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
13450         vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
13451         and either of these variables were parsed correctly into a places
13452         list.
13454 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
13455             Jakub Jelinek  <jakub@redhat.com>
13457         * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
13458         of 5 loopfn matches.
13459         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13460         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13461         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
13462         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13463         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13464         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13465         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13466         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13468 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
13470         * Makefile.am (omp_lib.mod): Streamline rule.
13471         * Makefile.in: Regenerate.
13473         * libgomp.texi (Runtime Library Routines): C linkage, don't throw
13474         exceptions.
13476         * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
13477         * testsuite/libgomp.fortran/lib1.f90: Likewise.
13478         * testsuite/libgomp.fortran/lib2.f: Likewise.
13479         * testsuite/libgomp.fortran/lib3.f: Likewise.
13481         * configure.ac: Typo fix.
13482         * configure: Regenerate.
13484         * testsuite/libgomp.fortran/openmp_version-1.f: New file.
13485         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13487         * omp.h.in: Don't touch the user's namespace.
13489 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
13490             Tobias Burnus  <burnus@net-b.de>
13491             Richard Henderson  <rth@redhat.com>
13493         * target.c: New file.
13494         * Makefile.am (libgomp_la_SOURCES): Add target.c.
13495         * Makefile.in: Regenerated.
13496         * libgomp_g.h (GOMP_task): Add depend argument.
13497         (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13498         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13499         GOMP_target_end_data, GOMP_target_update, GOMP_teams,
13500         GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13501         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13502         GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
13503         GOMP_taskgroup_start, GOMP_taskgroup_end,
13504         GOMP_parallel_sections): New prototypes.
13505         * fortran.c (omp_is_initial_device): Add ialias_redirect.
13506         (omp_is_initial_device_): New function.
13507         (ULP, STR1, STR2, ialias_redirect): Removed.
13508         (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
13509         omp_set_default_device_8_, omp_get_default_device_,
13510         omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
13511         functions.
13512         * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13513         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13514         GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
13515         @@GOMP_4.0.
13516         (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
13517         omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
13518         omp_set_default_device, omp_set_default_device_,
13519         omp_set_default_device_8_, omp_get_default_device,
13520         omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
13521         omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
13522         omp_get_team_num_): Export @@OMP_4.0.
13523         * team.c (struct gomp_thread_start_data): Add place field.
13524         (gomp_thread_start): Clear thr->thread_pool and
13525         thr->task before returning.  Use gomp_team_barrier_wait_final
13526         instead of gomp_team_barrier_wait.  Initialize thr->place.
13527         (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
13528         team_cancelled and task_queued_count fields.
13529         (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
13530         before calling pthread_exit.
13531         (gomp_free_thread): No longer static.  Use
13532         gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
13533         (gomp_team_start): Add flags argument.  Set
13534         thr->thread_pool->threads_busy to nthreads immediately after creating
13535         new pool.  Use gomp_managed_threads_lock instead of
13536         gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
13537         (gomp_team_end): Use gomp_managed_threads_lock instead of
13538         gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
13539         of gomp_team_barrier_wait.  If team->team_cancelled, call
13540         gomp_fini_workshare on ws chain starting at team->work_shares_to_free
13541         rather than thr->ts.work_share.
13542         (initialize_team): Don't call gomp_sem_init here.
13543         * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
13544         caller.
13545         (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
13546         * env.c (gomp_global_icv): Add default_device_var, target_data and
13547         bind_var initializers.
13548         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13549         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13550         gomp_places_list_len): New variables.
13551         (parse_bind_var, parse_one_place, parse_places_var): New functions.
13552         (parse_affinity): Rewritten to construct OMP_PLACES list with unit
13553         sized places.
13554         (gomp_cancel_var): New global variable.
13555         (parse_int): New function.
13556         (handle_omp_display_env): New function.
13557         (initialize_env): Use it.  Initialize default_device_var.
13558         Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
13559         OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
13560         OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
13561         been successfully parsed (and call gomp_init_affinity in that case).
13562         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13563         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13564         omp_get_team_num, omp_is_initial_device): New functions.
13565         * libgomp.h: Include stdlib.h.
13566         (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
13567         Define.
13568         (struct target_mem_desc): Forward declare.
13569         (struct gomp_task_icv): Add default_device_var, target_data, bind_var
13570         and thread_limit_var fields.
13571         (gomp_get_num_devices): New prototype.
13572         (gomp_cancel_var): New extern decl.
13573         (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
13574         team_cancelled and task_queued_count fields.  Add comments about
13575         task_{,queued_,running_}count.
13576         (gomp_cancel_kind): New enum.
13577         (gomp_work_share_end_cancel): New prototype.
13578         (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
13579         copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
13580         and depend fields.
13581         (struct gomp_taskgroup): New type.
13582         (struct gomp_task_depend_entry,
13583         struct gomp_dependers_vec): New types.
13584         (gomp_finish_task): Free depend_hash if non-NULL.
13585         (struct gomp_team_state): Add place_partition_off
13586         and place_partition_len fields.
13587         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13588         gomp_places_list_len): New extern decls.
13589         (struct gomp_thread): Add place field.
13590         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13591         (gomp_init_thread_affinity): Add place argument.
13592         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13593         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13594         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13595         gomp_affinity_init_level, gomp_affinity_print_place): New
13596         prototypes.
13597         (gomp_team_start): Add flags argument.
13598         (gomp_thread_limit_var, gomp_remaining_threads_count,
13599         gomp_remaining_threads_lock): Remove.
13600         (gomp_managed_threads_lock): New variable.
13601         (struct gomp_thread_pool): Add threads_busy field.
13602         (gomp_free_thread): New prototype.
13603         * task.c: Include hashtab.h.
13604         (hash_entry_type): New typedef.
13605         (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
13606         (gomp_init_task): Clear dependers, depend_hash, depend_count,
13607         copy_ctors_done and taskgroup fields.
13608         (GOMP_task): Add depend argument, handle depend clauses.  If
13609         gomp_team_barrier_cancelled or if it's taskgroup has been
13610         cancelled, don't queue or start new tasks.  Set copy_ctors_done
13611         field if needed.  Initialize taskgroup field.  If copy_ctors_done
13612         and already cancelled, don't discard the task.  If taskgroup is
13613         non-NULL, enqueue the task into taskgroup queue.  Increment
13614         num_children field in taskgroup.  Increment task_queued_count.
13615         (gomp_task_run_pre, gomp_task_run_post_remove_parent,
13616         gomp_task_run_post_remove_taskgroup): New inline functions.
13617         (gomp_task_run_post_handle_depend_hash,
13618         gomp_task_run_post_handle_dependers,
13619         gomp_task_run_post_handle_depend): New functions.
13620         (GOMP_taskwait): Use them.  If more than one new tasks
13621         have been queued, wake other threads if needed.
13622         (gomp_barrier_handle_tasks): Likewise.  If
13623         gomp_team_barrier_cancelled, don't start any new tasks, just free
13624         all tasks.
13625         (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
13626         * omp_lib.f90.in
13627         (omp_proc_bind_kind, omp_proc_bind_false,
13628         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13629         omp_proc_bind_spread): New params.
13630         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13631         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13632         omp_get_team_num, omp_is_initial_device): New interfaces.
13633         (omp_get_dynamic, omp_get_nested, omp_in_parallel,
13634         omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
13635         omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
13636         omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
13637         omp_get_team_size, omp_get_active_level, omp_in_final): Remove
13638         useless use omp_lib_kinds.
13639         * omp.h.in (omp_proc_bind_t): New typedef.
13640         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13641         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13642         omp_get_team_num, omp_is_initial_device): New prototypes.
13643         * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
13644         through to gomp_team_start.
13645         (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
13646         GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
13647         Adjust gomp_parallel_loop_start callers.
13648         (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13649         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13650         GOMP_loop_end_cancel): New functions.
13651         (GOMP_parallel_end): Add ialias_redirect.
13652         * hashtab.h: New file.
13653         * libgomp.texi (Environment Variables): Minor cleanup,
13654         update section refs to OpenMP 4.0rc2.
13655         (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
13656         environment variables.
13657         * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
13658         team->work_shares_to_free to thr->ts.work_share before calling
13659         free_work_share.
13660         (gomp_work_share_end_cancel): New function.
13661         * config/linux/proc.c: Include errno.h.
13662         (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
13663         (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
13664         sizeof (cpu_set_t) to determine number of iterations.  Fix up check
13665         extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
13666         gomp_cpuset_size is sizeof (cpu_set_t).
13667         (gomp_init_num_threads): Initialize gomp_cpuset_size,
13668         gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
13669         of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
13670         to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
13671         contain any logical CPUs.
13672         (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
13673         is NULL.  Use gomp_cpusetp instead of &cpuset and pass
13674         gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
13675         pthread_getaffinity_np.  Check gomp_places_list instead of
13676         gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
13677         * config/linux/bar.c (gomp_barrier_wait_end,
13678         gomp_barrier_wait_last): Use BAR_* defines.
13679         (gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
13680         from state where needed.  Set work_share_cancelled to 0 on last
13681         thread.
13682         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
13683         gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
13684         functions.
13685         * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
13686         Add cpusetsize argument.
13687         (gomp_cpuset_size, gomp_cpusetp): Declare.
13688         * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
13689         (affinity_counter): Remove.
13690         (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
13691         if CPU_ALLOC_SIZE isn't defined.
13692         (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
13693         silently create OMP_PLACES=threads, if it is non-NULL afterwards,
13694         bind current thread to the first place.
13695         (gomp_init_thread_affinity): Rewritten.  Add place argument, just
13696         pthread_setaffinity_np to gomp_places_list[place].
13697         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13698         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13699         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13700         gomp_affinity_init_level, gomp_affinity_print_place): New functions.
13701         * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13702         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13703         (gomp_barrier_t): Add awaited_final field.
13704         (gomp_barrier_init): Initialize awaited_final field.
13705         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
13706         gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
13707         prototypes.
13708         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
13709         defines.
13710         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
13711         gomp_team_barrier_cancelled): New inline functions.
13712         (gomp_barrier_last_thread,
13713         gomp_team_barrier_set_task_pending,
13714         gomp_team_barrier_clear_task_pending,
13715         gomp_team_barrier_set_waiting_for_tasks,
13716         gomp_team_barrier_waiting_for_tasks,
13717         gomp_team_barrier_done): Use BAR_* defines.
13718         * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
13719         (gomp_barrier_wait_end): Use BAR_* defines.
13720         (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
13721         Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
13722         Use BAR_* defines.
13723         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
13724         gomp_team_barrier_cancel): New functions.
13725         * config/posix/affinity.c (gomp_init_thread_affinity): Add place
13726         argument.
13727         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13728         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13729         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13730         gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
13731         * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13732         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13733         (gomp_barrier_t): Add cancellable field.
13734         (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
13735         gomp_team_barrier_cancel): New prototypes.
13736         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
13737         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
13738         gomp_team_barrier_cancelled): New inline functions.
13739         (gomp_barrier_wait_start, gomp_barrier_last_thread,
13740         gomp_team_barrier_set_task_pending,
13741         gomp_team_barrier_clear_task_pending,
13742         gomp_team_barrier_set_waiting_for_tasks,
13743         gomp_team_barrier_waiting_for_tasks,
13744         gomp_team_barrier_done): Use BAR_* defines.
13745         * barrier.c (GOMP_barrier_cancel): New function.
13746         * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
13747         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13748         omp_proc_bind_spread): New params.
13749         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13750         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13751         omp_get_team_num, omp_is_initial_device): New externals.
13752         * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
13753         New functions.
13754         (gomp_resolve_num_threads): Adjust for thread_limit now being in
13755         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
13756         infinity.  If not nested, just return minimum of max_num_threads
13757         and icv->thread_limit_var and if thr->thread_pool, set threads_busy
13758         to the returned value.  Otherwise, don't update atomically
13759         gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
13760         (GOMP_parallel_end): Adjust for thread_limit now being in
13761         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
13762         infinity.  Adjust threads_busy in the pool rather than
13763         gomp_remaining_threads_count.  Remember team->nthreads and call
13764         gomp_team_end before adjusting threads_busy, if not nested
13765         afterwards, just set it to 1 non-atomically.  Add ialias.
13766         (GOMP_parallel_start): Adjust gomp_team_start caller.
13767         * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
13768         * testsuite/libgomp.c/affinity-1.c: New test.
13769         * testsuite/libgomp.c/atomic-15.c: New test.
13770         * testsuite/libgomp.c/atomic-16.c: New test.
13771         * testsuite/libgomp.c/atomic-17.c: New test.
13772         * testsuite/libgomp.c/cancel-for-1.c: New test.
13773         * testsuite/libgomp.c/cancel-for-2.c: New test.
13774         * testsuite/libgomp.c/cancel-parallel-1.c: New test.
13775         * testsuite/libgomp.c/cancel-parallel-2.c: New test.
13776         * testsuite/libgomp.c/cancel-parallel-3.c: New test.
13777         * testsuite/libgomp.c/cancel-sections-1.c: New test.
13778         * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
13779         * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
13780         * testsuite/libgomp.c/depend-1.c: New test.
13781         * testsuite/libgomp.c/depend-2.c: New test.
13782         * testsuite/libgomp.c/depend-3.c: New test.
13783         * testsuite/libgomp.c/depend-4.c: New test.
13784         * testsuite/libgomp.c/for-1.c: New test.
13785         * testsuite/libgomp.c/for-1.h: New file.
13786         * testsuite/libgomp.c/for-2.c: New test.
13787         * testsuite/libgomp.c/for-2.h: New file.
13788         * testsuite/libgomp.c/for-3.c: New test.
13789         * testsuite/libgomp.c/pr58392.c: New test.
13790         * testsuite/libgomp.c/simd-1.c: New test.
13791         * testsuite/libgomp.c/simd-2.c: New test.
13792         * testsuite/libgomp.c/simd-3.c: New test.
13793         * testsuite/libgomp.c/simd-4.c: New test.
13794         * testsuite/libgomp.c/simd-5.c: New test.
13795         * testsuite/libgomp.c/simd-6.c: New test.
13796         * testsuite/libgomp.c/target-1.c: New test.
13797         * testsuite/libgomp.c/target-2.c: New test.
13798         * testsuite/libgomp.c/target-3.c: New test.
13799         * testsuite/libgomp.c/target-4.c: New test.
13800         * testsuite/libgomp.c/target-5.c: New test.
13801         * testsuite/libgomp.c/target-6.c: New test.
13802         * testsuite/libgomp.c/target-7.c: New test.
13803         * testsuite/libgomp.c/taskgroup-1.c: New test.
13804         * testsuite/libgomp.c/thread-limit-1.c: New test.
13805         * testsuite/libgomp.c/thread-limit-2.c: New test.
13806         * testsuite/libgomp.c/thread-limit-3.c: New test.
13807         * testsuite/libgomp.c/udr-1.c: New test.
13808         * testsuite/libgomp.c/udr-2.c: New test.
13809         * testsuite/libgomp.c/udr-3.c: New test.
13810         * testsuite/libgomp.c++/affinity-1.C: New test.
13811         * testsuite/libgomp.c++/atomic-10.C: New test.
13812         * testsuite/libgomp.c++/atomic-11.C: New test.
13813         * testsuite/libgomp.c++/atomic-12.C: New test.
13814         * testsuite/libgomp.c++/atomic-13.C: New test.
13815         * testsuite/libgomp.c++/atomic-14.C: New test.
13816         * testsuite/libgomp.c++/atomic-15.C: New test.
13817         * testsuite/libgomp.c++/cancel-for-1.C: New test.
13818         * testsuite/libgomp.c++/cancel-for-2.C: New test.
13819         * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
13820         * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
13821         * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
13822         * testsuite/libgomp.c++/cancel-sections-1.C: New test.
13823         * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
13824         * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
13825         * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
13826         * testsuite/libgomp.c++/cancel-test.h: New file.
13827         * testsuite/libgomp.c++/for-9.C: New test.
13828         * testsuite/libgomp.c++/for-10.C: New test.
13829         * testsuite/libgomp.c++/for-11.C: New test.
13830         * testsuite/libgomp.c++/simd-1.C: New test.
13831         * testsuite/libgomp.c++/simd-2.C: New test.
13832         * testsuite/libgomp.c++/simd-3.C: New test.
13833         * testsuite/libgomp.c++/simd-4.C: New test.
13834         * testsuite/libgomp.c++/simd-5.C: New test.
13835         * testsuite/libgomp.c++/simd-6.C: New test.
13836         * testsuite/libgomp.c++/simd-7.C: New test.
13837         * testsuite/libgomp.c++/simd-8.C: New test.
13838         * testsuite/libgomp.c++/target-1.C: New test.
13839         * testsuite/libgomp.c++/target-2.C: New test.
13840         * testsuite/libgomp.c++/target-2-aux.cc: New file.
13841         * testsuite/libgomp.c++/target-3.C: New test.
13842         * testsuite/libgomp.c++/taskgroup-1.C: New test.
13843         * testsuite/libgomp.c++/udr-1.C: New test.
13844         * testsuite/libgomp.c++/udr-2.C: New test.
13845         * testsuite/libgomp.c++/udr-3.C: New test.
13846         * testsuite/libgomp.c++/udr-4.C: New test.
13847         * testsuite/libgomp.c++/udr-5.C: New test.
13848         * testsuite/libgomp.c++/udr-6.C: New test.
13849         * testsuite/libgomp.c++/udr-7.C: New test.
13850         * testsuite/libgomp.c++/udr-8.C: New test.
13851         * testsuite/libgomp.c++/udr-9.C: New test.
13853 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
13855         PR testsuite/57605
13856         * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
13857         ALWAYS_CFLAGS.
13859 2013-09-20  Alan Modra  <amodra@gmail.com>
13861         * configure: Regenerate.
13863 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
13865         * testsuite/libgomp.c/sections-2.c: New test.
13867 2013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
13869         * testsuite/libgomp.fortran/strassen.f90:
13870         Add dg-skip-if aarch64_tiny.
13872 2013-06-20  Iain Sandoe  <iain@codesourcery.com>
13873             Cesar Philippidis  <cesar@codesourcery.com>
13875         * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
13876         Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
13877         * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
13878         * testsuite/libgomp.fortran/fortran.exp: Likewise.
13879         * testsuite/libgomp.graphite/graphite.exp: Likewise.
13880         * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
13881         Use dg-runtest rather than gfortran-dg-runtest.
13883 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
13885         * testsuite/libgomp.c/icv-2.c: Extend current handling of
13886         Linux-based x86 systems to cover all GNU systems.
13887         * testsuite/libgomp.c/lock-3.c: Likewise.
13888         * testsuite/libgomp.c/pr48591.c: Likewise.
13890 2013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
13892         * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
13893         GNU/Hurd, as done for Linux-based systems.
13895         * config/posix/ptrlock.h: Fix comment.
13897 2013-05-27  Tobias Burnus  <burnus@net-b.de>
13899         PR fortran/57423
13900         * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
13901         omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
13902         omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
13903         omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
13904         omp_destroy_nest_lock): Correct arguments to match the one in
13905         the OpenMP spec.
13906         * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
13907         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
13908         omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
13909         omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
13911 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
13913         * testsuite/libgomp.c/loop-13.c: New test.
13914         * testsuite/libgomp.c/loop-14.c: New test.
13915         * testsuite/libgomp.c/loop-15.c: New test.
13916         * testsuite/libgomp.c++/loop-13.C: New test.
13917         * testsuite/libgomp.c++/loop-14.C: New test.
13918         * testsuite/libgomp.c++/loop-15.C: New test.
13920 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
13922         PR middle-end/56217
13923         * testsuite/libgomp.c++/pr56217.C: New test.
13925 2013-02-01  Alan Modra  <amodra@gmail.com>
13927         * task.c (GOMP_task, GOMP_taskwait): Comment.
13929 2013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
13930             Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
13932         PR libgomp/55561
13933         * config/linux/wait.h (do_spin): Use atomic load for addr.
13934         * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
13935         for intptr and ptrlock.
13936         * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
13937         for ptrlock.
13939 2013-01-22  Alan Modra  <amodra@gmail.com>
13941         PR libgomp/51376
13942         PR libgomp/56073
13943         * task.c (GOMP_task): Revert 2011-12-09 change.
13944         (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
13945         barrier to read task->children..
13946         (gomp_barrier_handle_tasks): ..and matching atomic store with
13947         release barrier here when setting parent->children to NULL.
13949 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
13950             Tobias Burnus  <burnus@net-b.de>
13952         PR driver/55884
13953         * testsuite/libgomp.fortran/fortran.exp: Use
13954         -fintrinsic-modules-path= instead of
13955         -fintrinsic-modules-path.
13957 2013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
13959         Update copyright years.
13961 2012-12-19  Tobias Burnus  <burnus@net-b.de>
13963         * testsuite/libgomp.fortran/fortran.exp: Set
13964         -fintrinsic-modules-path.
13966 2012-12-19  Tobias Burnus  <burnus@net-b.de>
13968         * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
13969         from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
13971 2012-11-21  Jakub Jelinek  <jakub@redhat.com>
13973         PR libgomp/55411
13974         * team.c (gomp_free_thread): Decrease gomp_managed_threads
13975         if pool had any threads_used.
13977 2012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
13979         * testsuite/libgomp.c++/pr24455.C: Use
13980         -Wl,-undefined,dynamic_lookup on darwin.
13982 2012-11-07  David Edelsohn  <dje.gcc@gmail.com>
13984         * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
13986 2012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
13988         * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
13990 2012-10-23  Ian Bolton  <ian.bolton@arm.com>
13991             Jim MacArthur  <jim.macarthur@arm.com>
13992             Marcus Shawcroft  <marcus.shawcroft@arm.com>
13993             Nigel Stephens  <nigel.stephens@arm.com>
13994             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
13995             Richard Earnshaw  <rearnsha@arm.com>
13996             Sofiane Naci  <sofiane.naci@arm.com>
13997             Stephen Thomas  <stephen.thomas@arm.com>
13998             Tejas Belagod  <tejas.belagod@arm.com>
13999             Yufeng Zhang  <yufeng.zhang@arm.com>
14001         * configure.tgt: Add AArch64.
14003 2012-10-04  Jason Merrill  <jason@redhat.com>
14005         * testsuite/libgomp.c++/tls-init1.C: New.
14007 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
14009         * configure: Regenerated.
14011 2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
14013         * config/linux/mips/futex.h (sys_futex0): Change to static
14014         function with noinline, nomips16 attributes under MIPS16. Adjust
14015         asm statement to place 'li v0,SYS_futex' immediately before
14016         syscall insn.
14018 2012-07-04  Sandra Loosemore <sandra@codesourcery.com>
14020         * libgomp.texi (Library Index): Renamed from "Index" to prevent
14021         conflict with index.html on case-insensitive file systems.
14023 2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
14025         * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14026         * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14028 2012-07-02  Richard Guenther  <rguenther@suse.de>
14029             Michael Matz  <matz@suse.de>
14030             Tobias Grosser <tobias@grosser.es>
14031             Sebastian Pop <sebpop@gmail.com>
14033         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14034         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14035         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14036         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14038 2012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
14040         * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14042 2012-06-22  Richard Guenther  <rguenther@suse.de>
14044         Merge from graphite branch
14045         2012-01-13  Tobias Grosser  <tobias@grosser.es>
14047         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14048         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14050 2012-06-07  Jakub Jelinek  <jakub@redhat.com>
14052         PR middle-end/53580
14053         * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14054         use GOMP_barrier () call instead.
14055         * testsuite/libgomp.c/pr26943-3.c: Likewise.
14056         * testsuite/libgomp.c/pr26943-4.c: Likewise.
14057         * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14058         call GOMP_barrier instead.
14059         * testsuite/libgomp.fortran/vla5.f90: Likewise.
14061 2012-06-06  Jakub Jelinek  <jakub@redhat.com>
14063         PR libgomp/52993
14064         * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14065         argument to memset call.
14067 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
14069         * configure: Regenerated.
14071 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
14073         * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14075 2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
14077         PR bootstrap/52812
14078         * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14080 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
14082         PR middle-end/52547
14083         * testsuite/libgomp.c/pr52547.c: New test.
14085 2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
14087         * testsuite/lib/libgomp.exp: load fortran-modules.exp
14089 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14091         * configure.tgt (mips-sgi-irix6*): Remove.
14093 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14095         * configure.tgt (alpha*-dec-osf*): Remove.
14097         * config/osf/sem.h: Remove.
14098         * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14100 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
14102         * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14104 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14106         PR libstdc++/52188
14107         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
14108         Remove ENABLE_SYMVERS_SOL2.
14109         * configure: Regenerate.
14110         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14111         (PREPROCESS): New variable.
14112         (libgomp.ver): New target.
14113         [LIBGOMP_BUILD_VERSIONED_SHLIB &&
14114         LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14115         LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14116         Use libgomp.ver.
14117         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14118         * Makefile.in: Regenerate.
14120 2012-02-14  Walter Lee  <walt@tilera.com>
14122         * configure.tgt: Handle tilegx and tilepro.
14123         * config/linux/tile/futex.h: New file.
14125 2012-02-08  Richard Guenther  <rguenther@suse.de>
14127         PR tree-optimization/46886
14128         * testsuite/libgomp.c/pr46886.c: New testcase.
14130 2012-01-25  Matthias Klose  <doko@ubuntu.com>
14132         * config/linux/arm: Remove empty directory.
14133         * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14135 2011-12-09  Alan Modra  <amodra@gmail.com>
14137         PR libgomp/51376
14138         * task.c (GOMP_taskwait): Don't access task->children outside of
14139         task_lock mutex region.
14140         (GOMP_task): Likewise.
14142 2011-12-06  Jakub Jelinek  <jakub@redhat.com>
14144         PR libgomp/51132
14145         * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14146         to file scope.
14147         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14148         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14149         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14150         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14151         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14153 2011-12-02  Alan Modra  <amodra@gmail.com>
14155         * config/linux/affinity.c: Use atomic rather than sync builtin.
14156         * config/linux/lock.c: Likewise.
14157         * config/linux/ptrlock.h: Likewise.
14158         * config/linux/ptrlock.c: Likewise.
14159         * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14160         * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14161         * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14162         * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14163         * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14164         * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14165         * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14166         * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14167         * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14168         * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14170 2011-11-30  Alan Modra  <amodra@gmail.com>
14172         PR libgomp/51298
14173         * config/linux/bar.h: Use atomic rather than sync builtins.
14174         * config/linux/bar.c: Likewise.  Add missing acquire
14175         synchronisation on generation field.
14176         * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14177         double unlock.
14179 2011-11-30  Alan Modra  <amodra@gmail.com>
14181         * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14182         * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14183         * config/linux/mutex.h: Use atomic rather than sync builtins.
14184         * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
14185         * config/linux/omp-lock.h: Comment fix.
14186         * config/linux/arm/mutex.h: Delete.
14187         * config/linux/powerpc/mutex.h: Delete.
14188         * config/linux/ia64/mutex.h: Delete.
14189         * config/linux/mips/mutex.h: Delete.
14191 2011-11-30  Alan Modra  <amodra@gmail.com>
14193         PR libgomp/51249
14194         * config/linux/sem.h: Rewrite.
14195         * config/linux/sem.c: Rewrite.
14197 2011-11-28  Richard Henderson  <rth@redhat.com>
14199         * libgomp.h (enum memmodel): New.
14201 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
14203         * configure: Regenerate.
14205 2011-10-10  Matthias Klose  <doko@ubuntu.com>
14207         * config/posix95: Remove empty directory.
14209 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
14211         * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14213 2011-08-19  Jakub Jelinek  <jakub@redhat.com>
14215         PR fortran/49792
14216         * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14217         * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14219 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14221         * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14223 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14225         PR libgomp/49965
14226         * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14228 2011-08-03  Uros Bizjak  <ubizjak@gmail.com>
14230         * config/linux/proc.h: New.
14231         * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
14232         (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
14233         (gomp_init_num_threads): Update call to cpuset_popcount.
14234         (get_num_procs): Ditto.
14235         * config/linux/affinity.c (gomp_init_affinity): Call
14236         gomp_cpuset_popcount.
14238 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
14240         PR fortran/42041
14241         PR fortran/46752
14242         * omp.h.in (omp_in_final): New prototype.
14243         * omp_lib.f90.in (omp_in_final): New interface.
14244         (omp_integer_kind, omp_logical_kind): Remove
14245         and replace all its uses in the module with 4.
14246         (openmp_version): Change to 201107.
14247         * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14248         omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14249         kind for the parameters.
14250         (omp_in_final): New external.
14251         (openmp_version): Change to 201107.
14252         * task.c (omp_in_final): New function.
14253         (gomp_init_task): Initialize final_task.
14254         (GOMP_task): Remove unused attribute from flags.  Handle final
14255         tasks.
14256         (GOMP_taskyield): New function.
14257         (omp_in_final): Return true if if (false) or final (true) task
14258         or descendant of final (true).
14259         * fortran.c (omp_in_final_): New function.
14260         * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14261         (GOMP_3.0): Export GOMP_taskyield.
14262         * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14263         variables.
14264         (parse_unsigned_long_list): New function.
14265         (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
14266         with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
14267         even if parse_affinity returned false.
14268         * config/linux/affinity.c (gomp_init_affinity): Handle
14269         gomp_cpu_affinity_len == 0.
14270         * libgomp_g.h (GOMP_taskyield): New prototype.
14271         * libgomp.h (struct gomp_task): Add final_task field.
14272         (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14273         * team.c (gomp_team_start): Override new task's nthreads_var icv
14274         if list form OMP_NUM_THREADS has been used and it has value for
14275         the new nesting level.
14277         * testsuite/libgomp.c/atomic-11.c: New test.
14278         * testsuite/libgomp.c/atomic-12.c: New test.
14279         * testsuite/libgomp.c/atomic-13.c: New test.
14280         * testsuite/libgomp.c/atomic-14.c: New test.
14281         * testsuite/libgomp.c/reduction-6.c: New test.
14282         * testsuite/libgomp.c/task-5.c: New test.
14283         * testsuite/libgomp.c++/atomic-2.C: New test.
14284         * testsuite/libgomp.c++/atomic-3.C: New test.
14285         * testsuite/libgomp.c++/atomic-4.C: New test.
14286         * testsuite/libgomp.c++/atomic-5.C: New test.
14287         * testsuite/libgomp.c++/atomic-6.C: New test.
14288         * testsuite/libgomp.c++/atomic-7.C: New test.
14289         * testsuite/libgomp.c++/atomic-8.C: New test.
14290         * testsuite/libgomp.c++/atomic-9.C: New test.
14291         * testsuite/libgomp.c++/task-8.C: New test.
14292         * testsuite/libgomp.c++/reduction-4.C: New test.
14293         * testsuite/libgomp.fortran/allocatable7.f90: New test.
14294         * testsuite/libgomp.fortran/allocatable8.f90: New test.
14295         * testsuite/libgomp.fortran/crayptr3.f90: New test.
14296         * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
14297         * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
14298         * testsuite/libgomp.fortran/pointer1.f90: New test.
14299         * testsuite/libgomp.fortran/pointer2.f90: New test.
14300         * testsuite/libgomp.fortran/task4.f90: New test.
14302 2011-08-02  Tobias Burnus  <burnus@net-b.de>
14304         * libgomp.texi: Update OpenMP spec references to 3.1.
14305         (omp_in_final,OMP_PROC_BIND): New sections.
14306         (OMP_NUM_THREADS): Document that the value can be now a list.
14307         (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
14309 2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
14311         * config/linux/x86/futex.h: Check __x86_64__ instead of
14312         __LP64__.
14314 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
14316         PR middle-end/49897
14317         PR middle-end/49898
14318         * testsuite/libgomp.c/pr49897-1.c: New test.
14319         * testsuite/libgomp.c/pr49897-2.c: New test.
14320         * testsuite/libgomp.c/pr49898-1.c: New test.
14321         * testsuite/libgomp.c/pr49898-2.c: New test.
14323 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
14325         * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
14326         for ia32 instead of ilp32.
14328         * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
14329         * testsuite/libgomp.c/atomic-6.c: Likewise.
14331 2011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
14333         * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
14334         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
14336 2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14338         PR libgomp/45351
14339         * config/osf/sem.h: New file.
14340         * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
14342 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14344         PR target/49541
14345         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
14346         ldflags.
14348 2011-07-15  Jakub Jelinek  <jakub@redhat.com>
14350         * config/linux/wait.h (do_spin): New inline, largely copied
14351         from do_wait, just don't do futex_wait here, instead return true if
14352         it should be done.
14353         (do_wait): Implement using do_spin.
14354         * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
14355         to prototype.
14356         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14357         __sync_bool_compare_and_swap, pass the oldval to
14358         gomp_mutex_lock_slow.
14359         * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
14360         If all mutex contenders are just spinning and not sleeping, don't
14361         change state to 2 unnecessarily.  Optimize the loop when state has
14362         already become 2 to use just one atomic operation per loop instead
14363         of two.
14364         * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
14365         to prototype.
14366         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14367         __sync_bool_compare_and_swap, pass the oldval to
14368         gomp_mutex_lock_slow.
14370 2011-06-22  Jakub Jelinek  <jakub@redhat.com>
14372         PR libgomp/49490
14373         * iter.c (gomp_iter_static_next): For chunk size 0
14374         only use n ceil/ nthreads size for the first
14375         n % nthreads threads in the team instead of
14376         all threads except for the last few ones which
14377         get less work or none at all.
14378         * iter_ull.c (gomp_iter_ull_static_next): Likewise.
14379         * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
14380         chunk argument, set run_sched_modifier to 0 for static
14381         resp. 1 for other kinds.  If chunk argument is 0
14382         and not static, set value to 1.
14384 2011-05-19  Jakub Jelinek  <jakub@redhat.com>
14386         PR c++/49043
14387         * testsuite/libgomp.c++/pr49043.C: New test.
14389         PR c++/48869
14390         * testsuite/libgomp.c++/pr48869.C: New test.
14392 2011-05-06  Jakub Jelinek  <jakub@redhat.com>
14394         PR fortran/48894
14395         * fortran.c: Include limits.h.
14396         (TO_INT): Define.
14397         (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
14398         *set.
14399         (omp_set_num_threads_8_, omp_set_schedule_8_,
14400         omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
14401         omp_get_team_size_8_): Use TO_INT macro.
14402         * testsuite/libgomp.fortran/pr48894.f90: New test.
14404 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
14406         PR middle-end/48591
14407         * testsuite/libgomp.c/pr48591.c: New test.
14409 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14411         PR bootstrap/48135
14412         * acinclude.m4 (enable_symvers): Handle --disable-symvers.
14413         * configure: Regenerate.
14415 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
14417         PR fortran/47886
14418         * testsuite/libgomp.fortran/task3.f90: New test.
14420 2011-02-24  Tobias Burnus  <burnus@net-b.de>
14422         * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
14424 2011-02-23  Jakub Jelinek  <jakub@redhat.com>
14426         PR libgomp/47854
14427         * libgomp.texi (omp_get_wtime): Don't say time in the past
14428         must be Unix Epoch.
14430 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
14432         PR libgomp/47804
14433         * testsuite/libgomp.fortran/fortran.exp: Check for both
14434         libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
14435         but $blddir != "", still append ${blddir}/${lang_library_path}
14436         to ld_library_path.
14438 2011-02-16  Tobias Burnus  <burnus@net-b.de>
14440         PR libgomp/47758
14441         * testsuite/libgomp.fortran/fortran.exp: Check for the existence
14442         of libquadmath.a before adding its libpath to ldflags.
14444 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
14446         PR libgomp/47731
14447         * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
14448         to FUTEX_WAIT futex syscall.
14449         * config/linux/wait.h: Include <futex.h> instead of "futex.h".
14451 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14453         * configure: Regenerate.
14455 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
14457         PR libstdc++/36104
14458         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
14460 2011-01-16  Gerald Pfeifer
14462         * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
14464 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
14466         PR fortran/46874
14467         * libgomp.fortran/allocatable6.f90: New test.
14469 2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14471         * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
14472         * configure: Regenerate.
14474 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
14476         PR target/40125
14477         PR lto/46695
14478         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
14479         * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
14480         * aclocal.m4: Regenerate.
14481         * configure: Regenerate.
14482         * Makefile.in: Regenerate.
14483         * testsuite/Makefile.in: Regenerate.
14485 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
14487         PR fortran/46753
14488         * libgomp.fortran/pr46753.f90: New test.
14490         PR libgomp/43706
14491         * env.c (initialize_env): Default to spin count 300000
14492         instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
14493         is specified.
14495         PR libgomp/45240
14496         * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
14497         at the end if sync builtins aren't supported.
14499 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14501         * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
14503 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14505         * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
14507 2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
14509         * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
14511 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
14512             Tobias Burnus  <burnus@net-b.de>
14514         PR fortran/32049
14515         * configure.ac:
14516         * configure: Regenerate.
14518 2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
14520         * config/linux/futex.h: New.
14521         * config/linux/arm/mutex.h: New.
14522         * configure.tgt (arm*-*-linux*): Add config path.
14524 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
14526         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14528 2010-09-23  Tobias Burnus  <burnus@net-b.de>
14530         * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
14531         Change Fortran datatype to LOGICAL.
14532         (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
14533         omp_unset_nested_lock): Use intent(inout) instead of intent(out).
14535 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14537         * configure: Regenerate.
14539 2010-07-26  Jakub Jelinek  <jakub@redhat.com>
14541         * libgomp.texi: Add function keyword to a couple of Fortran
14542         interfaces, use integer instead of int for Fortran.
14544 2010-07-26  Aldy Hernandez  <aldyh@redhat.com>
14546         * libgomp.texi: Fix spelling and pasto problems throughout.
14547         Adjust prototypes to match code.
14549 2010-07-24  Tobias Burnus  <burnus@net-b.de>
14551         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
14552         silence -fwhole-file warning.
14554 2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14556         * configure.tgt (*-*-solaris2.[56]*): Removed.
14558 2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14560         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
14561         Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
14562         LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
14563         (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
14564         targetting solaris2*.
14565         * configure: Regenerate.
14566         * config.h.in: Regenerate.
14568         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
14569         libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
14570         Add libgomp_version_dep.
14571         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
14572         versioning.
14573         [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
14574         (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
14575         * Makefile.in: Regenerate.
14577         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
14578         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14579         * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
14580         to common block, protected by
14581         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14583 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
14585         * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
14587 2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
14589         PR bootstrap/43170
14590         * configure: Regenerate.
14592 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14594         PR other/43620
14595         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
14596         * configure: Regenerate.
14597         * Makefile.in: Regenerate.
14598         * testsuite/Makefile.in: Regenerate.
14600 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
14602         PR c/43893
14603         * testsuite/libgomp.c/pr43893.c: New test.
14604         * testsuite/libgomp.c++/pr43893.C: New test.
14606 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
14608         PR middle-end/43570
14609         * testsuite/libgomp.fortran/vla8.f90: New test.
14611 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
14613         PR libgomp/43706
14614         * config/linux/affinity.c (gomp_init_affinity): Decrease
14615         gomp_available_cpus if affinity mask confines the process to fewer
14616         CPUs.
14617         * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
14618         non-NULL, just return gomp_available_cpus.
14620         PR libgomp/43569
14621         * sections.c (gomp_sections_init): Initialize ws->mode.
14623 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
14625         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
14626         not unused bar variable.
14627         * configure: Regenerate.
14629 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14631         * Makefile.in: Regenerate.
14632         * aclocal.m4: Regenerate.
14633         * testsuite/Makefile.in: Regenerate.
14635 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
14637         PR libgomp/42942
14638         * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
14639         (initialize_env): Adjust callers.
14640         (omp_set_max_active_levels): Set gomp_max_active_levels_var even
14641         when the argument is 0.
14643         * testsuite/libgomp.c/pr42942.c: New test.
14645 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
14647         PR middle-end/42644
14648         PR middle-end/42130
14649         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14650         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
14652 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14654         * testsuite/libgomp.c++/task-1.C: Renamed err to e.
14655         * testsuite/libgomp.c++/task-6.C: Likewise.
14657 2010-01-28  Steve Ellcey  <sje@cup.hp.com>
14659         * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
14661 2010-01-26  Paolo Bonzini  <bonzini@gnu.org>
14663         * configure.ac: Test for executability of _the first word_ of GFORTRAN.
14664         * configure: Regenerate.
14666 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
14668         PR fortran/42866
14669         * testsuite/libgomp.fortran/allocatable5.f90: New test.
14671 2010-01-20  Paolo Bonzini  <bonzini@gnu.org>
14673         * configure.ac: Test for executability of GFORTRAN.
14674         * configure: Regenerate.
14676 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
14678         * configure: Regenerate.
14680 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
14682         PR libgomp/42602
14683         * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
14685 2010-01-03  Richard Guenther  <rguenther@suse.de>
14687         * testsuite/libgomp.fortran/recursion1.f90: New testcase.
14689 2009-12-23  Sebastian Pop  <sebpop@gmail.com>
14691         * testsuite/libgomp.graphite/pr4118.c: New.
14693 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
14695         * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
14696         for darwin, protect the test with require-effective-target tls_runtime.
14697         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
14699 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
14701         PR target/41605
14702         * testsuite/lib/libgomp.exp: Provide -B options to allow for
14703         link spec %s substitutions for static libraries.
14705 2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
14707         PR testsuite/42135
14708         * libgomp.graphite/force-parallel-2.c: Reduce array size.
14710 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14712         * Makefile.in: Regenerate.
14713         * configure: Regenerate.
14714         * testsuite/Makefile.in: Regenerate.
14716 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
14718         * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
14719         settings for LC_ALL and LANG.
14721 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
14723         PR fortran/42162
14724         * testsuite/libgomp.fortran/pr42162.f90: New test.
14726 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
14728         PR middle-end/42029
14729         * testsuite/libgomp.c/pr42029.c: New test.
14731 2009-10-26  Jakub Jelinek  <jakub@redhat.com>
14733         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
14734         *s.  Accept ld version without text in ()s.
14735         * configure: Regenerated.
14737 2009-10-22  Razya Ladelsky  <razya@il.ibm.com>
14739         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
14741 2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14743         PR libgomp/41418
14744         * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
14745         or a hyphen (happens with fortran language disabled).
14746         * configure: Regenerate.
14748 2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14750         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
14751         use sed script portable to Solaris /bin/sed for extracting ld
14752         version.
14753         * configure: Regenerate.
14755 2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
14757         * testsuite/libgomp.graphite/bounds.c: New test.
14759 2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14761         * Makefile.am (libgomp_la_LINK): New.
14762         * Makefile.in: Regenerate.
14764 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14766         * configure.ac (AC_PREREQ): Bump to 2.64.
14768 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14770         * Makefile.am (install-html, install-pdf): Remove.
14771         * Makefile.in: Regenerate.
14773         * Makefile.in: Regenerate.
14774         * aclocal.m4: Regenerate.
14775         * config.h.in: Regenerate.
14776         * configure: Regenerate.
14777         * testsuite/Makefile.in: Regenerate.
14779 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14781         * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
14782         * Makefile.in: Regenerate.
14784 2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
14786         * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
14787         * Makefile.in: Regenerate.
14789 2009-08-19  Tobias Burnus  <burnus@net-b.de>
14791         PR fortran/41102
14792         omp_lib.h.in: Fix -std=f95 errors.
14794 2009-08-14  David Edelsohn  <edelsohn@gnu.org>
14796         * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
14797         * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
14798         * testsuite/libgomp.graphite/graphite.exp: New.
14800 2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
14802         * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
14803         only build.
14805 2009-08-04  David Daney  <ddaney@caviumnetworks.com>
14807         * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
14808         needed memory barrier semantics.
14809         * config/linux/mips/mutex.h: New file.
14811 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14813         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
14815 2009-07-16  Joseph Myers  <joseph@codesourcery.com>
14817         * configure: Regenerate.
14819 2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
14821         PR testsuite/40699
14822         PR testsuite/40707
14823         PR testsuite/40709
14824         * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
14825         * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
14826         testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
14828 2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
14830         * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
14831         options when choosing a multilib.
14833 2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
14835         * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
14836         ld_library_path.  Use add_path.  Add just find_libgcc_s to
14837         ld_library_path, not every libgcc multilib directory.
14838         * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
14839         gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
14840         * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
14841         Use add_path.
14842         * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
14844 2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
14846         * Makefile.am (LTLDFLAGS): Define.
14847         (LINK): Define.
14848         * Makefile.in: Regenerate.
14850 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
14852         PR fortran/39718
14853         * testsuite/libgomp.fortran/fortran.exp: Don't link with
14854         libgfortranbegin, check existence of libgfortran.a instead of
14855         libgfortranbegin.a.
14857 2009-05-20  Jakub Jelinek  <jakub@redhat.com>
14859         PR libgomp/40174
14860         * team.c (gomp_thread_start): Destroy thr->release semaphore.
14861         (gomp_free_pool_helper): Likewise.
14863 2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
14864             Jakub Jelinek  <jakub@redhat.com>
14866         PR fortran/35423
14867         * testsuite/libgomp.fortran/workshare2.f90: New test.
14869 2009-04-09  Nick Clifton  <nickc@redhat.com>
14871         * iter.c: Change copyright header to refer to version 3 of the
14872         GNU General Public License with version 3.1 of the GCC Runtime
14873         Library Exception and to point readers at the COPYING3 and
14874         COPYING3.RUNTIME files and the FSF's license web page.
14875         * alloc.c: Likewise.
14876         * barrier.c: Likewise.
14877         * config/bsd/proc.c: Likewise.
14878         * config/linux/affinity.c: Likewise.
14879         * config/linux/alpha/futex.h: Likewise.
14880         * config/linux/bar.c: Likewise.
14881         * config/linux/bar.h: Likewise.
14882         * config/linux/ia64/futex.h: Likewise.
14883         * config/linux/ia64/mutex.h: Likewise.
14884         * config/linux/lock.c: Likewise.
14885         * config/linux/mips/futex.h: Likewise.
14886         * config/linux/mutex.c: Likewise.
14887         * config/linux/mutex.h: Likewise.
14888         * config/linux/powerpc/futex.h: Likewise.
14889         * config/linux/proc.c: Likewise.
14890         * config/linux/ptrlock.c: Likewise.
14891         * config/linux/ptrlock.h: Likewise.
14892         * config/linux/s390/futex.h: Likewise.
14893         * config/linux/sem.c: Likewise.
14894         * config/linux/sem.h: Likewise.
14895         * config/linux/sparc/futex.h: Likewise.
14896         * config/linux/wait.h: Likewise.
14897         * config/linux/x86/futex.h: Likewise.
14898         * config/mingw32/proc.c: Likewise.
14899         * config/mingw32/time.c: Likewise.
14900         * config/posix/affinity.c: Likewise.
14901         * config/posix/bar.c: Likewise.
14902         * config/posix/bar.h: Likewise.
14903         * config/posix/lock.c: Likewise.
14904         * config/posix/mutex.h: Likewise.
14905         * config/posix/proc.c: Likewise.
14906         * config/posix/ptrlock.h: Likewise.
14907         * config/posix/sem.c: Likewise.
14908         * config/posix/sem.h: Likewise.
14909         * config/posix/time.c: Likewise.
14910         * config/posix95/lock.c: Likewise.
14911         * critical.c: Likewise.
14912         * env.c: Likewise.
14913         * error.c: Likewise.
14914         * fortran.c: Likewise.
14915         * iter_ull.c: Likewise.
14916         * libgomp.h: Likewise.
14917         * libgomp_f.h.in: Likewise.
14918         * libgomp_g.h: Likewise.
14919         * loop.c: Likewise.
14920         * loop_ull.c: Likewise.
14921         * omp.h.in: Likewise.
14922         * omp_lib.f90.in: Likewise.
14923         * omp_lib.h.in: Likewise.
14924         * ordered.c: Likewise.
14925         * parallel.c: Likewise.
14926         * sections.c: Likewise.
14927         * single.c: Likewise.
14928         * task.c: Likewise.
14929         * team.c: Likewise.
14930         * work.c: Likewise.
14932 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
14934         * testsuite/config/default.exp: Change copyright header to refer to
14935         version 3 of the GNU General Public License and to point readers
14936         at the COPYING3 file and the FSF's license web page.
14938 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
14940         PR middle-end/39573
14941         * libgomp.c++/pr39573.C: New test.
14943 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
14945         PR other/39591
14946         * testsuite/libgomp.c/pr39591-1.c: New test.
14947         * testsuite/libgomp.c/pr39591-2.c: New test.
14948         * testsuite/libgomp.c/pr39591-3.c: New test.
14950 2009-03-25  Uros Bizjak  <ubizjak@gmail.com>
14952         * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
14953         * testsuite/libgomp.c/atomic-6.c: Ditto.
14955 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
14957         PR c/39495
14958         * testsuite/libgomp.c/loop-12.c: New test.
14959         * testsuite/libgomp.c/loop-11.c: New test.
14960         * testsuite/libgomp.c++/loop-11.C: New test.
14961         * testsuite/libgomp.c++/loop-12.C: New test.
14962         * testsuite/libgomp.c++/for-8.C: New test.
14964 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14966         * configure: Regenerate.
14968 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
14970         PR middle-end/39154
14971         * testsuite/libgomp.c/pr39154.c: New test.
14973 2009-01-30  Ian Lance Taylor  <iant@google.com>
14975         * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
14976         libgomp_ld_is_gold.  Get gold version number.
14977         (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
14978         * configure: Rebuild.
14980 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
14982         * testsuite/lib/libgomp.exp: Add -B option for targets that
14983         use libgfortran.a%s in their specs.
14985 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
14987         PR libgomp/38086
14988         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
14989         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
14990         HAVE_AS_SYMVER_DIRECTIVE is not defined.
14991         * configure: Regenerated.
14992         * config.h.in: Likewise.
14994 2008-12-28  Jakub Jelinek  <jakub@redhat.com>
14996         PR c++/38650
14997         * testsuite/libgomp.c/pr38650.c: New test.
14998         * testsuite/libgomp.c++/pr38650.C: New test.
15000 2008-12-27  Jakub Jelinek  <jakub@redhat.com>
15002         * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15004 2008-12-26  Uros Bizjak  <ubizjak@gmail.com>
15006         * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15008 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15010         * configure: Regenerate.
15012 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
15014         PR middle-end/36802
15015         * testsuite/libgomp.c/pr36802-1.c: New test.
15016         * testsuite/libgomp.c/pr36802-2.c: New test.
15017         * testsuite/libgomp.c/pr36802-3.c: New test.
15019 2008-12-01  Janis Johnson  <janis187@us.ibm.com>
15021         PR libgomp/38270
15022         * config/linux/powerpc/mutex.h: New.
15024 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
15026         PR c++/38257
15027         * testsuite/libgomp.c++/for-7.C: New test.
15029         PR c++/38348
15030         * testsuite/libgomp.c++/for-6.C: New test.
15032 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
15034         PR testsuite/28870
15035         * testsuite/lib/libgomp.exp: Include new timeout library files.
15036         (libgomp_target_compile): Set timeout value from new proc.
15038 2008-11-13  Steve Ellcey  <sje@cup.hp.com>
15040         PR libgomp/37938
15041         * config/linux/ia64/mutex.h: New.
15043 2008-11-04  Tobias Burnus  <burnus@net-b.de>
15045         PR libgomp/37935
15046         * libgomp.texi (Runtime library routines, environment variables):
15047         Update for OpenMP version 3.0.
15049 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
15050             Steve Ellcey  <sje@cup.hp.com>
15052         * configure: Regenerate for new libtool.
15053         * Makefile.in: Ditto.
15054         * testsuite/Makefile.in: Ditto.
15056 2008-09-19  Jakub Jelinek  <jakub@redhat.com>
15057             Andreas Tobler  <a.tobler@schweiz.org>
15059         * config/bsd/proc.c: New file.
15060         * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
15061         * configure.ac: Check for header <sys/sysctl.h>
15062         * configure: Regenerate.
15063         * config.h.in: Likewise.
15065 2008-09-05  Janis Johnson  <janis187@us.ibm.com>
15067         * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15069 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
15071         * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15072         * Makefile.in: Regenerated.
15073         * testsuite/Makefile.in: Regenerated.
15075 2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
15077         * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
15078         depend on blddir if blddir exists.
15079         (libgomp_target_compile): Likewise.
15080         * testsuite/libgomp.c++/c++.exp: Likewise.
15081         * testsuite/libgomp.fortran/fortran.exp: Likewise.
15083 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15085         * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
15086         Do not list GPL as Invariant Section.
15088 2008-07-28  Ilie Garbacea  <ilie@mips.com>
15089             Chao-ying Fu  <fu@mips.com>
15091         * configure.tgt: Enable futex for MIPS.
15092         * config/linux/mips/futex.h: New file.
15094 2008-07-16  Jakub Jelinek  <jakub@redhat.com>
15096         * team.c (gomp_team_end): Free team immediately if it has
15097         just one thread.
15099 2008-07-08  David Edelsohn  <edelsohn@gnu.org>
15101         * testsuite/libgomp.c++/c++.exp: Append multilib library path.
15102         * testsuite/libgomp.fortran/fortran.exp: Same.
15103         * testsuite/libgomp.c/c.exp: Same.
15104         * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15105         directory to library path first.
15107 2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
15109         * env.c (parse_stacksize): Add cast to avoid warning.
15110         (parse_spincount): Likewise.
15112 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
15114         * testsuite/libgomp.c/loop-10.c: New test.
15115         * libgomp.c/loop-3.c (main): Add lastprivate clause.
15116         * libgomp.c++/loop-6.C (main): Likewise.
15118         PR debug/36617
15119         * testsuite/libgomp.c/debug-1.c: New test.
15121 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
15123         * testsuite/libgomp.c/nqueens-1.c: New test.
15125         PR c++/36523
15126         * testsuite/libgomp.c++/task-7.C: New function.
15128 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15130         * configure: Regenerate.
15132 2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
15134         * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15135         mutex when HAVE_SYNC_BUILTINS isn't defined.
15137 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15139         * libgomp.texi (omp_test_lock): Fix typo.
15141 2008-06-12  Tobias Burnus  <burnus@net-b.de>
15143         * omp_lib.f90.in: Add "implicit none".
15145 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
15147         PR middle-end/36506
15148         * testsuite/libgomp.c/reduction-5.c: New test.
15150 2008-06-11  Jakub Jelinek  <jakub@redhat.com>
15152         * libgomp.h (struct gomp_task): Add in_tied_task field.
15153         * task.c (gomp_init_task): Initialize it.
15154         (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
15155         unconditionally.  Don't call gomp_team_barrier_wake if
15156         current task is implicit or if(0) from implicit and number of
15157         running tasks is equal to nthreads - 1.
15159         PR libgomp/36471
15160         * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15161         omp_get_team_size_8): Fix pastos.
15163         PR libgomp/36469
15164         * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15165         * configure: Regenerated.
15166         * config.h.in: Regenerated.
15167         * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15168         defined.
15170 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
15172         PR bootstrap/36452
15173         * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15174         (GOMP_loop_ull_dynamic_start): Likewise.
15175         (GOMP_loop_ull_guided_start): Likewise.
15176         (GOMP_loop_ull_ordered_static_start): Likewise.
15177         (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15178         (GOMP_loop_ull_ordered_guided_start): Likewise.
15180 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
15181             Richard Henderson  <rth@redhat.com>
15182             Ulrich Drepper  <drepper@redhat.com>
15183             Jakob Blomer  <jakob.blomer@ira.uka.de>
15185         * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15186         Substitute also OMP_*LOCK_25*.
15187         * configure: Regenerated.
15188         * config.h.in: Regenerated.
15189         * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15190         ptrlock.c and task.c.
15191         * Makefile.in: Regenerated.
15192         * testsuite/Makefile.in: Regenerated.
15193         * task.c: New file.
15194         * loop_ull.c: New file.
15195         * iter_ull.c: New file.
15196         * libgomp.h: Include ptrlock.h.
15197         (enum gomp_task_kind): New type.
15198         (struct gomp_team): Add task_lock, task_queue, task_count,
15199         task_running_count, single_count fields.  Add
15200         work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15201         Remove work_share_lock, generation_mask,
15202         oldest_live_gen, num_live_gen and init_work_shares fields, add
15203         work work_share_list_alloc, work_share_list_free and work_share_chunk
15204         fields.  Change work_shares from pointer to pointers into an array.
15205         Change ordered_release field into gomp_sem_t ** from flexible array
15206         member.  Add implicit_task and initial_work_shares fields.
15207         Move close to the end of the struct.
15208         (struct gomp_team_state): Add single_count, last_work_share,
15209         active_level and level fields, remove work_share_generation.
15210         (gomp_barrier_handle_tasks): New prototype.
15211         (gomp_finish_task): New inline function.
15212         (struct gomp_work_share): Move chunk_size, end, incr into
15213         transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15214         next_ll fields.  Reshuffle fields.  Add next_alloc,
15215         next_ws, next_free and inline_ordered_team_ids fields, change
15216         ordered_team_ids into pointer from flexible array member.
15217         Add mode field.  Put lock and next into a different cache line
15218         from most of the write-once fields.
15219         (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15220         gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15221         gomp_iter_ull_guided_next): New prototypes.
15222         (gomp_new_icv): New prototype.
15223         (struct gomp_thread): Add thread_pool and task fields.
15224         (struct gomp_thread_pool): New type.
15225         (gomp_new_team): New prototype.
15226         (gomp_team_start): Change type of last argument.
15227         (gomp_new_work_share): Removed.
15228         (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15229         (gomp_work_share_init_done): New static inline.
15230         (gomp_throttled_spin_count_var, gomp_available_cpus,
15231         gomp_managed_threads): New extern decls.
15232         (gomp_init_task): New prototype.
15233         (gomp_spin_count_var): New extern var decl.
15234         (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15235         or no alias support, or if not PIC.
15236         (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15237         gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15238         gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15239         gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15240         gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15241         gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15242         gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15243         gomp_test_nest_lock_25): New prototypes.
15244         (omp_lock_symver, strong_alias): Define.
15245         (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15246         decls.
15247         (gomp_end_task): New.
15248         (struct gomp_task_icv, gomp_global_icv): New.
15249         (gomp_thread_limit_var, gomp_max_active_levels_var): New.
15250         (struct gomp_task): New.
15251         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15252         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15253         (gomp_icv): New.
15254         (gomp_schedule_type): Reorder enum to match
15255         omp_sched_t.
15256         * team.c (struct gomp_thread_start_data): Add thread_pool and task
15257         fields.
15258         (gomp_thread_start): Add gomp_team_barrier_wait call.
15259         For non-nested case remove clearing of docked thread thr fields.
15260         Use pool fields instead of global gomp_* variables.  Use
15261         gomp_barrier_wait_last when needed.  Initialize ts.active_level.
15262         Create tasks for each member thread.
15263         (free_team): Only destroy team barrier, task_lock here and free it.
15264         (gomp_free_thread): Free last_team if non-NULL.
15265         (gomp_team_end): Call gomp_team_barrier_wait instead of
15266         gomp_barrier_wait.  For nested case call one extra
15267         gomp_barrier_wait.  Move here some destruction from free_team.
15268         Call free_team on pool->last_team if any, rather than freeing
15269         current team.  Destroy work_share_list_free_lock ifndef
15270         HAVE_SYNC_BUILTINS.
15271         (gomp_new_icv): New function.
15272         (gomp_threads, gomp_threads_size, gomp_threads_used,
15273         gomp_threads_dock): Removed.
15274         (gomp_thread_destructor): New variable.
15275         (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15276         functions.
15277         (gomp_team_start): Create new pool if current thread doesn't have
15278         one.  Use pool fields instead of global gomp_* variables.
15279         Initialize thread_pool field for new threads.  Clear single_count.
15280         Change last argument from ws to team, don't create
15281         new team, set ts.work_share to &team->work_shares[0] and clear
15282         ts.last_work_share.  Don't clear ts.work_share_generation.
15283         If number of threads changed, adjust atomically gomp_managed_threads.
15284         Use gomp_init_task instead of gomp_new_task,
15285         set thr->task to the corresponding implicit_task array entry.
15286         Create tasks for each member thread.  Initialize ts.level.
15287         (initialize_team): Call pthread_key_create on
15288         gomp_thread_destructor.
15289         (team_destructor): New function.
15290         (new_team): Removed.
15291         (gomp_new_team): New function.
15292         (free_team): Free gomp_work_share blocks chained through next_alloc,
15293         instead of freeing work_shares and destroying work_share_lock.
15294         (gomp_team_end): Call gomp_fini_work_share.  If number of threads
15295         changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
15296         * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
15297         of gomp_barrier_wait.
15298         * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
15299         instead of gomp_barrier_wait.  Call gomp_work_share_init_done
15300         if gomp_work_share_start returned true.  Don't unlock ws->lock.
15301         (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
15302         of gomp_barrier_wait.
15303         (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
15304         gomp_work_share_init_done if gomp_work_share_start returned true.
15305         Don't unlock ws->lock.
15306         * work.c: Include stddef.h.
15307         (free_work_share): Use work_share_list_free_lock instead
15308         of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
15309         Call gomp_fini_work_share and then either free ws if orphaned, or
15310         put it into work_share_list_free list of the current team.
15311         (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
15312         functions.
15313         (gomp_work_share_start, gomp_work_share_end,
15314         gomp_work_share_end_nowait): Rewritten.
15315         * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
15316         (openmp_version): Set to 200805.
15317         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15318         omp_sched_guided, omp_sched_auto): New parameters.
15319         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15320         omp_set_max_active_levels, omp_get_max_active_levels,
15321         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15322         omp_get_active_level): New interfaces.
15323         * omp_lib.h.in (openmp_version): Set to 200805.
15324         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15325         omp_sched_guided, omp_sched_auto): New parameters.
15326         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15327         omp_set_max_active_levels, omp_get_max_active_levels,
15328         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15329         omp_get_active_level): New externals.
15330         * loop.c: Include limits.h.
15331         (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
15332         GFS_AUTO.
15333         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
15334         Likewise.  Use gomp_icv.
15335         (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
15336         ts.static_trip here.
15337         (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
15338         gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
15339         (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
15340         gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
15341         don't unlock ws->lock, otherwise lock it.
15342         (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
15343         gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
15344         (gomp_parallel_loop_start): Call gomp_new_team instead of
15345         gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
15346         Adjust gomp_team_start caller.  Pass 0 as second argument to
15347         gomp_resolve_num_threads.
15348         (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
15349         If adding ws->chunk_size nthreads + 1 times after end won't
15350         overflow, set ws->mode to 1.
15351         * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
15352         GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
15353         GOMP_loop_ull_ordered_static_start,
15354         GOMP_loop_ull_ordered_dynamic_start,
15355         GOMP_loop_ull_ordered_guided_start,
15356         GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
15357         GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
15358         GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
15359         GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
15360         GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
15361         prototypes.
15362         * libgomp.map: Export lock routines also @@OMP_2.0.
15363         (GOMP_loop_ordered_dynamic_first,
15364         GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
15365         GOMP_loop_ordered_static_first): Remove.
15366         (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
15367         GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
15368         GOMP_loop_ull_ordered_dynamic_next,
15369         GOMP_loop_ull_ordered_dynamic_start,
15370         GOMP_loop_ull_ordered_guided_next,
15371         GOMP_loop_ull_ordered_guided_start,
15372         GOMP_loop_ull_ordered_runtime_next,
15373         GOMP_loop_ull_ordered_runtime_start,
15374         GOMP_loop_ull_ordered_static_next,
15375         GOMP_loop_ull_ordered_static_start,
15376         GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
15377         GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
15378         GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
15379         (omp_set_schedule, omp_get_schedule,
15380         omp_get_thread_limit, omp_set_max_active_levels,
15381         omp_get_max_active_levels, omp_get_level,
15382         omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
15383         omp_set_schedule_, omp_set_schedule_8_,
15384         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15385         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15386         omp_get_max_active_levels_, omp_get_level_,
15387         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15388         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15389         New exports @@OMP_3.0.
15390         * omp.h.in (omp_sched_t): New type.
15391         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15392         omp_set_max_active_levels, omp_get_max_active_levels,
15393         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15394         omp_get_active_level): New prototypes.
15395         * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
15396         gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
15397         gomp_thread_limit_var, gomp_remaining_threads_count,
15398         gomp_remaining_threads_lock): New variables.
15399         (parse_spincount): New function.
15400         (initialize_env): Call gomp_init_num_threads unconditionally.
15401         Initialize gomp_available_cpus.  Call parse_spincount,
15402         initialize gomp_{,throttled_}spin_count_var
15403         depending on presence and value of OMP_WAIT_POLICY and
15404         GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
15405         Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
15406         OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
15407         for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
15408         gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
15409         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15410         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15411         (gomp_global_icv): New.
15412         (parse_schedule): Use it.  Parse "auto".
15413         (omp_set_num_threads): Use gomp_icv.
15414         (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
15415         Likewise.
15416         (omp_get_max_threads): Move from parallel.c.
15417         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15418         omp_set_max_active_levels, omp_get_max_active_levels): New functions,
15419         add ialias.
15420         (parse_stacksize, parse_wait_policy): New functions.
15421         * fortran.c: Rewrite lock wrappers, if symbol versioning provide
15422         both wrappers for compatibility and new locks.
15423         (omp_set_schedule, omp_get_schedule,
15424         omp_get_thread_limit, omp_set_max_active_levels,
15425         omp_get_max_active_levels, omp_get_level,
15426         omp_get_ancestor_thread_num, omp_get_team_size,
15427         omp_get_active_level): New ialias_redirect.
15428         (omp_set_schedule_, omp_set_schedule_8_,
15429         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15430         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15431         omp_get_max_active_levels_, omp_get_level_,
15432         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15433         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15434         New functions.
15435         * parallel.c: Include limits.h.
15436         (gomp_resolve_num_threads): Add count argument.  Rewritten.
15437         (GOMP_parallel_start): Call gomp_new_team and pass that as last
15438         argument to gomp_team_start.  Pass 0 as second argument to
15439         gomp_resolve_num_threads.
15440         (GOMP_parallel_end): Decrease gomp_remaining_threads_count
15441         if gomp_thread_limit_var != ULONG_MAX.
15442         (omp_in_parallel): Implement using ts.active_level.
15443         (omp_get_max_threads): Move to env.c.
15444         (omp_get_level, omp_get_ancestor_thread_num,
15445         omp_get_team_size, omp_get_active_level): New functions,
15446         add ialias.
15447         * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
15448         after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
15449         gomp_iter_dynamic_next instead of the _locked variant and don't take
15450         lock around it, otherwise acquire it before calling
15451         gomp_iter_dynamic_next_locked.
15452         (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
15453         gomp_iter_dynamic_next instead of the _locked variant and don't take
15454         lock around it.
15455         (GOMP_parallel_sections_start): Call gomp_new_team instead of
15456         gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
15457         Adjust gomp_team_start caller.  Pass count as second argument to
15458         gomp_resolve_num_threads, don't adjust num_threads after the call.
15459         Use gomp_icv.
15460         * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
15461         ws->chunk_size by incr.
15462         (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
15463         code.
15464         * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
15465         types.
15466         (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
15467         (omp_check_defines): Check even the compat defines.
15468         * config/linux/ptrlock.c: New file.
15469         * config/linux/ptrlock.h: New file.
15470         * config/linux/wait.h: New file.
15471         * config/posix/ptrlock.c: New file.
15472         * config/posix/ptrlock.h: New file.
15473         * config/linux/bar.h (gomp_team_barrier_wait,
15474         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15475         (gomp_team_barrier_set_task_pending,
15476         gomp_team_barrier_clear_task_pending,
15477         gomp_team_barrier_set_waiting_for_tasks,
15478         gomp_team_barrier_waiting_for_tasks,
15479         gomp_team_barrier_done): New inlines.
15480         (gomp_barrier_t): Rewritten.
15481         (gomp_barrier_state_t): New typedef.
15482         (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
15483         gomp_barrier_wait_start): Rewritten.
15484         (gomp_barrier_wait_end): Change second argument to
15485         gomp_barrier_state_t.
15486         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15487         inlines.
15488         * config/linux/bar.c: Include wait.h instead of libgomp.h and
15489         futex.h.
15490         (gomp_barrier_wait_end): Rewritten.
15491         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15492         gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
15493         * config/posix/bar.h (gomp_barrier_t): Add generation field.
15494         (gomp_barrier_state_t): New typedef.
15495         (gomp_team_barrier_wait,
15496         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15497         (gomp_barrier_wait_start): Or all but low 2 bits from generation
15498         into the return value.  Return gomp_barrier_state_t.
15499         (gomp_team_barrier_set_task_pending,
15500         gomp_team_barrier_clear_task_pending,
15501         gomp_team_barrier_set_waiting_for_tasks,
15502         gomp_team_barrier_waiting_for_tasks,
15503         gomp_team_barrier_done): New inlines.
15504         (gomp_barrier_wait_end): Change second argument to
15505         gomp_barrier_state_t.
15506         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15507         inlines.
15508         * config/posix/bar.c (gomp_barrier_init): Clear generation field.
15509         (gomp_barrier_wait_end): Change second argument to
15510         gomp_barrier_state_t.
15511         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15512         gomp_team_barrier_wake): New functions.
15513         * config/linux/mutex.c: Include wait.h instead of libgomp.h and
15514         futex.h.
15515         (gomp_futex_wake, gomp_futex_wait): New variables.
15516         (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
15517         * config/linux/lock.c: Rewrite to make locks task owned,
15518         for backwards compatibility provide the old entrypoints
15519         if symbol versioning.  Include wait.h instead of libgomp.h and
15520         futex.h.
15521         (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
15522         * config/posix95/lock.c: Rewrite to make locks task owned,
15523         for backwards compatibility provide the old entrypoints
15524         if symbol versioning.
15525         * config/posix/lock.c: Rewrite to make locks task owned,
15526         for backwards compatibility provide the old entrypoints
15527         if symbol versioning.
15528         * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
15529         (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
15530         * config/posix/proc.c, config/mingw32/proc.c: Similarly.
15531         * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15532         (sys_futex0): Return error code.
15533         (futex_wake, futex_wait): If ENOSYS was returned, clear
15534         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15535         (cpu_relax, atomic_write_barrier): New static inlines.
15536         * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15537         (futex_wake, futex_wait): If ENOSYS was returned, clear
15538         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15539         (cpu_relax, atomic_write_barrier): New static inlines.
15540         * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15541         (sys_futex0): Return error code.
15542         (futex_wake, futex_wait): If ENOSYS was returned, clear
15543         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15544         (cpu_relax, atomic_write_barrier): New static inlines.
15545         * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15546         (sys_futex0): Return error code.
15547         (futex_wake, futex_wait): If ENOSYS was returned, clear
15548         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15549         (cpu_relax, atomic_write_barrier): New static inlines.
15550         * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15551         (sys_futex0): Return error code.
15552         (futex_wake, futex_wait): If ENOSYS was returned, clear
15553         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15554         (cpu_relax, atomic_write_barrier): New static inlines.
15555         * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15556         (sys_futex0): Return error code.
15557         (futex_wake, futex_wait): If ENOSYS was returned, clear
15558         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15559         (cpu_relax, atomic_write_barrier): New static inlines.
15560         * config/linux/sem.c: Include wait.h instead of libgomp.h and
15561         futex.h.
15562         (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
15563         * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
15564         * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
15565         types.
15566         (omp_nest_lock_t): Change owner into void *, add lock field.
15567         * config/posix95/omp-lock.h: Include semaphore.h.
15568         (omp_lock_25_t, omp_nest_lock_25_t): New types.
15569         (omp_lock_t): Use sem_t instead of mutex if semaphores
15570         aren't broken.
15571         (omp_nest_lock_t): Likewise.  Change owner to void *.
15572         * config/posix/omp-lock.h: Include semaphore.h.
15573         (omp_lock_25_t, omp_nest_lock_25_t): New types.
15574         (omp_lock_t): Use sem_t instead of mutex if semaphores
15575         aren't broken.
15576         (omp_nest_lock_t): Likewise.  Add owner field.
15578 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
15580         * testsuite/libgomp.c/collapse-1.c: New test.
15581         * testsuite/libgomp.c/collapse-2.c: New test.
15582         * testsuite/libgomp.c/collapse-3.c: New test.
15583         * testsuite/libgomp.c/icv-1.c: New test.
15584         * testsuite/libgomp.c/icv-2.c: New test.
15585         * testsuite/libgomp.c/lib-2.c: New test.
15586         * testsuite/libgomp.c/lock-1.c: New test.
15587         * testsuite/libgomp.c/lock-2.c: New test.
15588         * testsuite/libgomp.c/lock-3.c: New test.
15589         * testsuite/libgomp.c/loop-4.c: New test.
15590         * testsuite/libgomp.c/loop-5.c: New test.
15591         * testsuite/libgomp.c/loop-6.c: New test.
15592         * testsuite/libgomp.c/loop-7.c: New test.
15593         * testsuite/libgomp.c/loop-8.c: New test.
15594         * testsuite/libgomp.c/loop-9.c: New test.
15595         * testsuite/libgomp.c/nested-3.c: New test.
15596         * testsuite/libgomp.c/nestedfn-6.c: New test.
15597         * testsuite/libgomp.c/sort-1.c: New test.
15598         * testsuite/libgomp.c/task-1.c: New test.
15599         * testsuite/libgomp.c/task-2.c: New test.
15600         * testsuite/libgomp.c/task-3.c: New test.
15601         * testsuite/libgomp.c/task-4.c: New test.
15602         * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
15603         to C++ testsuite default compiler options.
15604         * testsuite/libgomp.c++/collapse-1.C: New test.
15605         * testsuite/libgomp.c++/collapse-2.C: New test.
15606         * testsuite/libgomp.c++/ctor-10.C: New test.
15607         * testsuite/libgomp.c++/for-1.C: New test.
15608         * testsuite/libgomp.c++/for-2.C: New test.
15609         * testsuite/libgomp.c++/for-3.C: New test.
15610         * testsuite/libgomp.c++/for-4.C: New test.
15611         * testsuite/libgomp.c++/for-5.C: New test.
15612         * testsuite/libgomp.c++/loop-8.C: New test.
15613         * testsuite/libgomp.c++/loop-9.C: New test.
15614         * testsuite/libgomp.c++/loop-10.C: New test.
15615         * testsuite/libgomp.c++/task-1.C: New test.
15616         * testsuite/libgomp.c++/task-2.C: New test.
15617         * testsuite/libgomp.c++/task-3.C: New test.
15618         * testsuite/libgomp.c++/task-4.C: New test.
15619         * testsuite/libgomp.c++/task-5.C: New test.
15620         * testsuite/libgomp.c++/task-6.C: New test.
15621         * testsuite/libgomp.fortran/allocatable1.f90: New test.
15622         * testsuite/libgomp.fortran/allocatable2.f90: New test.
15623         * testsuite/libgomp.fortran/allocatable3.f90: New test.
15624         * testsuite/libgomp.fortran/allocatable4.f90: New test.
15625         * testsuite/libgomp.fortran/collapse1.f90: New test.
15626         * testsuite/libgomp.fortran/collapse2.f90: New test.
15627         * testsuite/libgomp.fortran/collapse3.f90: New test.
15628         * testsuite/libgomp.fortran/collapse4.f90: New test.
15629         * testsuite/libgomp.fortran/lastprivate1.f90: New test.
15630         * testsuite/libgomp.fortran/lastprivate2.f90: New test.
15631         * testsuite/libgomp.fortran/lib4.f90: New test.
15632         * testsuite/libgomp.fortran/lock-1.f90: New test.
15633         * testsuite/libgomp.fortran/lock-2.f90: New test.
15634         * testsuite/libgomp.fortran/nested1.f90: New test.
15635         * testsuite/libgomp.fortran/nestedfn4.f90: New test.
15636         * testsuite/libgomp.fortran/strassen.f90: New test.
15637         * testsuite/libgomp.fortran/tabs1.f90: New test.
15638         * testsuite/libgomp.fortran/tabs2.f: New test.
15639         * testsuite/libgomp.fortran/task1.f90: New test.
15640         * testsuite/libgomp.fortran/task2.f90: New test.
15641         * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
15642         * testsuite/libgomp.fortran/vla5.f90: Likewise.
15643         * testsuite/libgomp.c/pr26943-2.c: Likewise.
15644         * testsuite/libgomp.c/pr26943-3.c: Likewise.
15645         * testsuite/libgomp.c/pr26943-4.c: Likewise.
15647 2008-05-23  Jakub Jelinek  <jakub@redhat.com>
15649         PR c++/36308
15650         * testsuite/libgomp.c++/ctor-11.C: New test.
15651         * testsuite/libgomp.c++/ctor-12.C: New test.
15653 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
15655         * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
15657 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
15659         PR middle-end/36106
15660         * testsuite/libgomp.c/atomic-5.c: New test.
15661         * testsuite/libgomp.c/atomic-6.c: New test.
15662         * testsuite/libgomp.c/autopar-1.c: New test.
15664 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15666         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
15667         (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
15668         (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
15669         (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
15670         * configure: Regenerate.
15671         * Makefile.in, testsuite/Makefile.in: Likewise.
15673 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
15675         PR bootstrap/35457
15676         * aclocal.m4: Regenerate.
15677         * configure: Regenerate.
15679 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
15681         PR middle-end/35611
15682         * testsuite/libgomp.c/atomic-4.c: New test.
15684         PR libgomp/35625
15685         * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
15686         (gomp_iter_guided_next): Likewise.
15687         * testsuite/libgomp.c/pr35625.c: New test.
15689 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15691         * aclocal.m4: Regenerate.
15692         * configure: Likewise.
15693         * Makefile.in: Likewise.
15694         * testsuite/Makefile.in: Likewise.
15696 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
15698         PR middle-end/35185
15699         * testsuite/libgomp.c++/pr35185.C: New test.
15701 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
15703         PR middle-end/35549
15704         * testsuite/libgomp.c/pr35549.c: New test.
15706 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
15708         * testsuite/libgomp.c/atomic-3.c: New test.
15710 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
15712         PR fortran/33197
15713         * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
15714         .F08 file suffixes.
15716 2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
15718         PR libgomp/33131
15719         * configure.ac: Add ACX_HEADER_STRING.
15720         * env.c: Include strings.h.
15721         * aclocal.m4: Regenerate.
15722         * config.h.in: Regenerate.
15723         * configure: Regenerate.
15724         * Makefile.in: Regenerate.
15725         * testsuite/Makefile.in: Regenerate.
15727 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
15729         PR middle-end/35196
15730         * testsuite/libgomp.c/pr35196.c: New test.
15732         PR middle-end/35130
15733         * testsuite/libgomp.fortran/pr35130.f90: New test.
15734         * testsuite/libgomp.c/pr35130.c: New test.
15736 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
15738         PR middle-end/33880
15739         * testsuite/libgomp.c/pr33880.c: New test.
15740         * testsuite/libgomp.fortran/pr33880.f90: New test.
15742 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
15744         * configure: Regenerate.
15746 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
15748         * configure.ac: Move futex checking into ../config/futex.m4.
15749         * configure: Rebuilt.
15750         * aclocal.m4: Rebuilt.
15751         * Makefile.in: Rebuilt.
15753         * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
15754         2007-10-15 ../config/tls.m4 change.
15756 2007-12-19  Jakub Jelinek  <jakub@redhat.com>
15758         PR c++/34513
15759         * testsuite/libgomp.c/pr34513.c: New test.
15760         * testsuite/libgomp.c++/pr34513.C: New test.
15762 2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
15764         PR target/32765
15765         * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
15767 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
15769         * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
15771 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
15773         * testsuite/libgomp.c/private-1.c: New test.
15775 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
15776             Paolo Bonzini  <bonzini@gnu.org>
15778         * Makefile.am: Use space as vpath separator.  Use 'vpath %'
15779         instead of 'VPATH ='.
15780         * Makefile.in: Regenerate.
15782 2007-11-23  Matthias Klose  <doko@ubuntu.com>
15784         * configure.ac: Adjust makeinfo version check.
15785         * configure: Regenerate.
15787 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
15789         PR fortran/34020
15790         * testsuite/libgomp.fortran/pr34020.f90: New test.
15792 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
15794         PR c++/33894
15795         * testsuite/libgomp.c++/atomic-1.C: New test.
15797 2007-10-25  Jakub Jelinek  <jakub@redhat.com>
15799         PR libgomp/33275
15800         * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
15801         Make x and y integers rather than (implicit) reals.  Add private (j)
15802         clause to the last omp parallel.
15804 2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
15806         * configure: Regenerate following changes to ../config/tls.m4.
15808 2007-09-28  Jakub Jelinek  <jakub@redhat.com>
15810         * testsuite/libgomp.fortran/stack.f90: New test.
15812 2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
15814         * config/mingw32/proc.c: New file.
15816 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
15818         * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
15819         (main): Use __get_cpuid to get i386 target fetaures.
15820         * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
15821         (main): Use __get_cpuid to get x86_64 target fetaures.
15823 2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
15825         PR target/32765
15826         * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
15827         * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
15829 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
15831         PR fortran/32550
15832         * testsuite/libgomp.fortran/pr32550.f90: New test.
15833         * testsuite/libgomp.fortran/crayptr2.f90: New test.
15835 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
15837         * aclocal.m4: Regenerated.
15839 2007-07-05  Tobias Burnus  <burnus@net-b.de>
15841         PR fortran/32359
15842         * testsuite/libgomp.fortran/pr32359.f90: New.
15844 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
15846         PR libgomp/32468
15847         * sections.c (GOMP_parallel_sections_start): Only decrease
15848         number of threads to COUNT if dyn_var is true.
15849         * testsuite/libgomp.c/pr32468.c: New test.
15851 2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15853         PR libgomp/26308
15854         * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
15856 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
15858         PR middle-end/32362
15859         * testsuite/libgomp.c/pr32362-1.c: New test.
15860         * testsuite/libgomp.c/pr32362-2.c: New test.
15861         * testsuite/libgomp.c/pr32362-3.c: New test.
15863 2007-06-07  Jakub Jelinek  <jakub@redhat.com>
15865         * team.c (gomp_team_start): Fix setting up thread_attr
15866         stack size.
15868 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
15870         * configure: Regenerate.
15872 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
15874         * Makefile.in: Regenerate.
15875         * configure: Regenerate.
15876         * aclocal.m4: Regenerate.
15877         * testsuite/Makefile.in: Regenerate.
15879 2007-05-04  Jakub Jelinek  <jakub@redhat.com>
15881         * config/linux/proc.c: New file.
15883         PR libgomp/28482
15884         * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
15886 2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
15888         * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
15890 2007-04-16  Matthias Klose  <doko@debian.org>
15892         * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
15893         flags if not building with -m64.
15894         * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
15895         flag for i?86-*-* targets, if current target matches -m64.
15897 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
15899         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
15900         * Makefile.in: Regenerate.
15902 2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
15904         PR testsuite/31369
15905         * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
15906         ld_library_path.
15907         * testsuite/libgomp.fortran/fortran.exp: Likewise.
15909 2007-04-04  Jakub Jelinek  <jakub@redhat.com>
15911         * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
15912         decls.
15913         (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
15914         * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
15915         (parse_affinity): New function.
15916         (initialize_env): Call it and gomp_init_affinity.
15917         * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
15918         create new pthread_attr_t and call gomp_init_thread_affinity
15919         on it for each thread before passing the attribute to pthread_create.
15920         * config/linux/affinity.c: New file.
15921         * config/posix/affinity.c: New file.
15922         * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
15923         * configure: Rebuilt.
15924         * config.h.in: Rebuilt.
15925         * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
15926         * Makefile.in: Rebuilt.
15928 2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
15930         * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
15931         *-*-darwin*.
15932         * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
15933         and use it if found.
15935 2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
15937         * testsuite/config/default.exp: New file.
15938         * testsuite/lib/libgomp.exp: New file.
15939         * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
15940         libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
15941         load_lib *, load_gcc_lib *): Move to libgomp.exp.
15942         (libgomp_load): Remove.
15943         * testsuite/lib/libgomp.exp (libgomp_init): Compute
15944         always_ld_library_path, not ld_library_path.  Set additional_flags
15945         to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
15946         (target_compile): Do not call libgomp_init.  Append lang_library_path
15947         and lang_link_flags to options.
15948         * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
15949         ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
15950         here.
15951         * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
15952         always_ld_library_path.  Set LD_LIBRARY_PATH here.
15953         * testsuite/libgomp.fortran/fortran.exp: Ditto.
15954         * testsuite/libgomp.c/atomic-1.c: Set dg-options to
15955         "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
15956         CX8 flag.
15957         * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
15958         lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
15959         * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
15960         * testsuite/libgomp.c/pr29947-1.c: Ditto.
15961         * testsuite/libgomp.c/atomic-10.c: Ditto.
15963 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
15965         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
15966         dg-final cleanup-modules line.
15967         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
15968         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
15969         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
15970         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
15971         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
15972         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
15973         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
15975 2007-03-18  Andreas Schwab  <schwab@suse.de>
15977         * acinclude.m4: Adjust regular expression for ld version
15978         extraction.
15979         * configure: Regenerate.
15981 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
15983         * Makefile.am: Add install-pdf target as copied from
15984         automake v1.10 rules.
15985         * Makefile.in: Regenerate
15987 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
15989         PR libgomp/28486
15990         * configure: Regenerate.
15992         PR c++/30703
15993         * testsuite/libgomp.c++/pr30703.C: New test.
15995 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
15997         Revert:
15998         2006-07-05  Eric Christopher  <echristo@apple.com>
15999         * configure.ac: Depend addition of -pthread on host OS.
16000         * configure: Regenerate.
16002 2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16004         * libgomp.texi: Fix spacing after abbreviations.
16006 2007-01-31  Daniel Franke <franke.daniel@gmail.com>
16008         PR libgomp/30546
16009         * configure.ac: Add check for makeinfo
16010         * Makefile.am: Redefined target libgomp.info, build libgomp.info only
16011         if an appropriate version of makeinfo is found.
16012         * aclocal.m4: Regenerated.
16013         * configure: Regenerated.
16014         * Makefile.in: Regenerated.
16015         * testsuite/Makefile.in: Regenerated.
16017 2007-01-29  Daniel Franke <franke.daniel@gmail.com>
16019         PR libgomp/30540
16020         * libgomp.texi: More about implementation-dependent settings.
16022 2007-01-26  Tobias Burnus  <burnus@net-b.de>
16024         * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16026 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
16028         PR middle-end/30494
16029         * testsuite/libgomp.c/pr30494.c: New test.
16031 2007-01-15  Tom Tromey  <tromey@redhat.com>
16033         * configure: Rebuilt.
16034         * configure.ac: Fixed comment.
16036 2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
16038         * libgomp.texi: Document implementation specific default values of
16039         environment variables.
16041 2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
16043         PR libgomp/28209
16044         * libgomp.texi: New file.
16045         * configure.ac: Add --enable-generated-files-in-srcdir option.
16046         * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16047         files to srcdir.
16048         * Makefile.in: Regenerated.
16049         * config.h.in: Regenerated.
16050         * testsuite/Makefile.in: Regenerated.
16051         * NOTES: Removed.
16053 2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
16055         PR libgomp/29949
16056         * env.c (omp_set_num_threads): Set illegal thread count to 1.
16058 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
16060         * configure: Regenerate.
16062 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
16064         PR libgomp/29947
16065         * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
16066         start if there shouldn't be any loop iterations.
16067         (gomp_loop_ordered_static_start): Remove start == end test.
16068         * testsuite/libgomp.c/pr29947-1.c: New test.
16069         * testsuite/libgomp.c/pr29947-2.c: New test.
16071 2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
16073         * configure.tgt: Force initial-exec TLS model on Linux only.
16075 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
16077         * configure: Regenerated.
16079 2006-11-09  Uros Bizjak  <ubizjak@gmail.com>
16081         * env.c (parse_schedule): Reject out of range values.
16082         (parse_unsigned_long): Reject out of range, negative or zero values.
16084 2006-10-29  Jakub Jelinek  <jakub@redhat.com>
16086         PR fortran/29629
16087         * testsuite/libgomp.fortran/pr29629.f90: New test.
16089 2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
16091         PR libgomp/29494
16092         * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16093         * config/posix95: New directory.
16094         * config/posix95/omp-lock.h: New file.
16095         * config/posix95/lock.c: Likewise.
16097 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
16099         * aclocal.m4: Regenerate.
16100         * configure: Regenerate.
16102 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
16104         * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16105         '<' to '<='.
16107 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
16109         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16110         test.
16111         * configure: Regenerate.
16112         * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16114 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
16116         PR middle-end/25261
16117         PR middle-end/28790
16118         * testsuite/libgomp.c/nestedfn-4.c: New test.
16119         * testsuite/libgomp.c/nestedfn-5.c: New test.
16120         * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16122         PR fortran/29097
16123         * testsuite/libgomp.fortran/condinc1.f: New test.
16124         * testsuite/libgomp.fortran/condinc2.f: New test.
16125         * testsuite/libgomp.fortran/condinc3.f90: New test.
16126         * testsuite/libgomp.fortran/condinc4.f90: New test.
16127         * testsuite/libgomp.fortran/condinc1.inc: New file.
16129 2006-09-18  Tom Tromey  <tromey@redhat.com>
16131         * configure: Rebuilt.
16133 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
16135         PR c/28768
16136         PR preprocessor/14634
16137         * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16138         to AC_DEFINE.
16139         * configure: Regenerate.
16141 2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
16143         * testsuite/libgomp.fortran/reduction3.f90: Change
16144         -2147483648 to -huge(i)-1 to avoid overflow.
16145         * testsuite/libgomp.fortran/reduction4.f90: Change
16146         Z'ffffffff' to not(0) to avoid overflow.
16148 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
16150         PR libgomp/25938
16151         * Makefile.am (libsubincludedir): New.
16152         (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16153         * Makefile.in: Regenerate.
16155 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
16157         PR libgomp/28725
16158         * env.c: Include ctype.h.
16159         (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16160         leading and/or trailing whitespace and compare strings case
16161         insensitively.
16163 2006-07-16  Jakub Jelinek  <jakub@redhat.com>
16165         PR fortran/28390
16166         * testsuite/libgomp.fortran/pr28390.f: New test.
16168 2006-07-05  Eric Christopher  <echristo@apple.com>
16170         * configure.ac: Depend addition of -pthread on host OS.
16171         * configure: Regenerate.
16173 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
16175         * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16176         when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16177         defined.
16179 2006-06-20  Jakub Jelinek  <jakub@redhat.com>
16181         PR libgomp/26175
16182         PR libgomp/26477
16183         * configure.ac: If neither --enable-linux-futex nor
16184         --disable-linux-futex is passed, determine the default by checking
16185         for compiling and/or running against NPTL.  With --enable-linux-futex,
16186         check if SYS_gettid and SYS_futex are defined.
16187         * configure: Rebuilt.
16189 2006-06-14  Richard Henderson  <rth@redhat.com>
16191         PR libgomp/28008
16192         * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16193         undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16195 2006-06-09  Richard Henderson  <rth@redhat.com>
16197         * env.c (gomp_nthreads_var): Change to unsigned long.
16198         (gomp_run_sched_chunk): Likewise.
16199         (parse_unsigned_long): Rename from parse_num_threads and generalize.
16200         (initialize_env): Initialize gomp_thread_attr.
16201         * libgomp.h (gomp_nthreads_var): Update decl.
16202         (gomp_run_sched_chunk): Likewise.
16203         (gomp_thread_attr): Declare.
16204         * team.c (gomp_thread_attr): Export.
16205         (initialize_team): Don't initialize it.
16207 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
16209         PR fortran/27916
16210         * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16211         * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16213 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
16215         * config/mingw32/time.c: New file.
16216         * configure.tgt: Use it.
16218 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
16220         * Makefile.am: Add install-html target. Add install-html to .PHONY
16221         * Makefile.in: Regenerate.
16223 2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
16225         PR libgomp/27612
16226         * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16227         * testsuite/libgomp.c/critical-1.c: Likewise.
16228         * testsuite/libgomp.c/loop-1.c: Likewise.
16229         * testsuite/libgomp.c/loop-2.c: Likewise.
16230         * testsuite/libgomp.c/single-1.c: Likewise.
16231         * testsuite/libgomp.c/ordered-1.c: Likewise.
16232         * testsuite/libgomp.c/ordered-2.c: Likewise.
16234 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
16236         PR middle-end/27416
16237         * libgomp.fortran/pr27416-1.f90: New test.
16239 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
16241         PR fortran/27395
16242         * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16243         * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16245 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
16247         PR c++/26943
16248         * testsuite/libgomp.c/pr26943-1.c: New test.
16249         * testsuite/libgomp.c/pr26943-2.c: New test.
16250         * testsuite/libgomp.c/pr26943-3.c: New test.
16251         * testsuite/libgomp.c/pr26943-4.c: New test.
16252         * testsuite/libgomp.c++/pr27337.C: Remove barrier.
16253         * testsuite/libgomp.c++/pr26943.C: New test.
16255 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
16257         PR middle-end/27337
16258         * testsuite/libgomp.c++/pr27337.C: New test.
16260 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
16262         PR c/26171
16263         * testsuite/libgomp.c/pr26171.c: New test.
16265 2006-04-25  Richard Henderson  <rth@redhat.com>
16267         PR libgomp/25865
16268         * configure.ac: Use GCC_CHECK_TLS.
16269         * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16270         * Makefile.in, aclocal.m4, configure: Regenerate.
16272 2006-04-10  Matthias Klose  <doko@debian.org>
16274         * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16275         directory names containing underscores.
16277 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
16279         PR c++/26691
16280         * testsuite/libgomp.c++/pr26691.C: New test.
16282 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
16284         * testsuite/libgomp.fortran/retval2.f90: New test.
16286 2006-03-09  Diego Novillo  <dnovillo@redhat.com>
16288         * testsuite/libgomp.c++: New directory.
16290 2006-02-25  Shantonu Sen  <ssen@opendarwin.org>
16292         * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16293         * config/posix/sem.c: Implement the above.
16295 2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
16297         * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
16298         define HAVE_BROKEN_POSIX_SEMAPHORES.
16299         * configure: Rebuilt.
16300         * config.h.in: Rebuilt.
16302 2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
16304         PR bootstrap/26161
16305         * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
16306         for the other pthread check.
16307         * configure: Regenerate.
16308         * config.h.in: Regenerate.
16310 2006-02-15  Jakub Jelinek  <jakub@redhat.com>
16312         PR libgomp/25938
16313         PR libgomp/25984
16314         * Makefile.am (fincludedir): New variable.
16315         (nodist_include_HEADERS): Remove Fortran files.
16316         (nodist_finclude_HEADERS): New variable.
16317         * Makefile.in: Regenerated.
16319 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
16321         * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
16322         Remove tests for returning assumed character length arrays.
16324 2006-02-12  Roger Sayle  <roger@eyesopen.com>
16325             John David Anglin  <dave@hiauly1.hia.nrc.ca>
16327         PR libgomp/25936
16328         * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
16330 2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
16332         * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
16334 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
16336         * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
16337         part of LD_LIBRARY_PATH manually.
16339 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
16341         PR libgomp/25852
16342         * testsuite/lib/libgomp-dg.exp (blddir): Set it in
16343         libgomp_init.
16345 2005-01-25  Paolo Bonzini  <bonzini@gnu.org>
16347         PR libgomp/25884
16348         * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
16349         * configure.ac (PERL): Don't set.
16350         (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
16351         (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
16352         OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
16353         * omp.h.in: Wrap the new configure substitutions with @ characters.
16354         * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
16355         * aclocal.m4, configure, Makefile.in: Regenerate.
16356         * mkomp_h.pl: Delete.
16358 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
16360         PR libgomp/25259
16361         * configure.ac: Use GCC_HEADER_STDINT.
16362         * libgomp.h: Include gstdint.h.
16363         * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
16364         * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
16366 2006-01-24  Richard Henderson  <rth@redhat.com>
16368         PR libgomp/25942
16369         * configure.ac: Add AM_MAINTAINER_MODE.
16370         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
16372 2006-01-24  Diego Novillo  <dnovillo@redhat.com>
16374         * Makefile.in: Regenerate.
16375         * testsuite/Makefile.in: Regenerate.
16376         * aclocal.m4: Regenerate.
16378 2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
16380         * config/posix/proc.c: Conditional include of sys/loadavg.h for
16381         Solaris.
16382         * configure.ac: Add check for loadavg.h.
16383         (link_gomp): Adjust comment.
16384         * configure: Regenerate.
16385         * config.h.in: Regenerate.
16387 2006-01-21  Steve Ellcey  <sje@cup.hp.com>
16389         PR libgomp/25877
16390         * configure.ac: Remove check for alloca.h.
16391         * configure: Regenerate.
16392         * config.h.in: Regenerate.
16393         * libgomp.h: define gomp_alloca to be __builtin_alloca.
16394         * team.c: Remove use of alloca.h.
16395         Call gomp_alloca instead of alloca.
16397 2006-01-20  Steve Ellcey  <sje@cup.hp.com>
16399         PR libgomp/25877
16400         * team.c: Add include of alloca.h.
16401         * configure.ac: Add check for alloca.h.
16402         * configure: Regenerate.
16403         * config.h.in: Regenerate.
16405 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
16407         PR fortran/25219
16408         * testsuite/libgomp.fortran/pr25219.f90: New test.
16410 2005-12-05  Uros Bizjak  <uros@kss-loka.si>
16412         * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
16413         testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
16414         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16415         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16416         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
16417         testsuite/libgomp.fortran/threadprivate1.f90,
16418         testsuite/libgomp.fortran/threadprivate2.f90,
16419         testsuite/libgomp.fortran/threadprivate3.f90,
16420         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16421         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16422         testsuite/libgomp.fortran/omp_parse3.f90: Change required
16423         effective-target to TLS runtime.
16425         * testsuite/libgomp.fortran/pr25162.f: Require
16426         effective-target TLS runtime.
16428 2005-12-01  Jakub Jelinek  <jakub@redhat.com>
16430         * testsuite/libgomp.fortran/nestedfn2.f90: New test.
16431         * testsuite/libgomp.c/nestedfn-3.c: New test.
16433 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
16435         PR fortran/25162
16436         * testsuite/libgomp.fortran/pr25162.f: New test.
16438 2005-11-28  Jakub Jelinek  <jakub@redhat.com>
16440         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
16441         CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
16443 2005-11-25  Jakub Jelinek  <jakub@redhat.com>
16445         * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
16446         libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
16447         omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
16448         single.c, team.c, work.c, config/linux/alpha/futex.h,
16449         config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
16450         config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
16451         config/linux/powerpc/futex.h, config/linux/s390/futex.h,
16452         config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
16453         config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
16454         config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
16455         config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
16456         FSF address.
16458 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
16460         * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
16461         to nodist_noinst_HEADERS.
16462         * Makefile.in: Rebuilt.
16464         * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
16465         add integer count field.
16466         * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
16467         omp_nest_lock_t type change.
16468         (omp_init_nest_lock): Likewise.  Initialize count to 0.
16469         (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
16470         Increment count.
16471         (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
16472         Decrement count.
16473         (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
16474         Increment count if successful and return the new nesting level.
16475         * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
16476         * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
16477         * testsuite/libgomp.c/lib-1.c: New test.
16478         * testsuite/libgomp.fortran/lib1.f90: New test.
16479         * testsuite/libgomp.fortran/lib2.f: New test.
16480         * testsuite/libgomp.fortran/lib3.f: New test.
16482 2005-11-17  Richard Henderson  <rth@redhat.com>
16484         PR 24845
16485         * Makefile.am (nodist_toolexeclib_HEADERS): New.
16486         * configure.ac (link_gomp): New.  Substitute it.
16487         (AC_CONFIG_FILES): Add libgomp.spec.
16488         * libgomp.spec.in: New file.
16489         * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
16490         * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
16492 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
16494         * testsuite/libgomp.fortran/reduction1.f90: Adjust for
16495         reduction(-:var) behaving the same as reduction(+:var).
16496         * testsuite/libgomp.c/reduction-4.c: New test.
16498 2005-11-15  Uros Bizjak  <uros@kss-loka.si>
16500         * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
16501         testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
16502         testsuite/libgomp.c/copyin-3.c,
16503         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16504         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16505         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
16506         testsuite/libgomp.c++/pr24455.C,
16507         testsuite/libgomp.fortran/threadprivate1.f90,
16508         testsuite/libgomp.fortran/threadprivate2.f90,
16509         testsuite/libgomp.fortran/threadprivate3.f90,
16510         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16511         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16512         testsuite/libgomp.fortran/omp_parse3.f90: Require
16513         effective-target TLS.
16515 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
16517         * HEADER: Remove.
16519 2005-11-13  Jakub Jelinek  <jakub@redhat.com>
16521         PR libgomp/24797
16522         * team.c (initialize_team): Pass NULL rather than free as
16523         pthread_key_create destructor.  Initialize thread specific data
16524         pointer in initial thread to a static local variable rather than
16525         malloced memory.
16527 2005-11-11  Uros Bizjak  <uros@kss-loka.si>
16529         * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
16530         its location to ld_library_path.
16532 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
16534         * testsuite/libgomp.c/c.exp: Rename from dg.exp.
16536 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
16538         * testsuite/libgomp.c: Rename from libgomp.dg.
16540 2005-11-09  Diego Novillo  <dnovillo@redhat.com>
16542         * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
16543         threadprivate variable 'i'.
16545 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
16547         * config/linux/s390/futex.h: New file.
16548         * configure.tgt: Use it.
16550         * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
16551         before the parallel.
16553 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
16555         PR c++/24734
16556         * testsuite/libgomp.c++/master-1.C: New test.
16558 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
16560         * testsuite/libgomp.dg/copyin-3.c: New test.
16562 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
16564         * testsuite/libgomp.fortran/retval1.f90: New test.
16565         * testsuite/libgomp.fortran/vla7.f90: New test.
16567 2005-11-06  Jakub Jelinek  <jakub@redhat.com>
16569         * testsuite/libgomp.fortran/vla2.f90: New test.
16570         * testsuite/libgomp.fortran/vla3.f90: New test.
16571         * testsuite/libgomp.fortran/vla4.f90: New test.
16572         * testsuite/libgomp.fortran/vla5.f90: New test.
16573         * testsuite/libgomp.fortran/vla6.f90: New test.
16575 2005-11-01  Jakub Jelinek  <jakub@redhat.com>
16577         * config/linux/sparc/futex.h: New file.
16578         * configure.tgt: Use it.
16579         * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
16581         * critical.c: Include stdlib.h.
16582         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
16583         ignoring return value.
16584         * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
16585         LIBGOMP_CHECK_SYNC_BUILTINS check.
16586         * configure: Rebuilt.
16588 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
16590         * testsuite/libgomp.fortran/vla1.f90: New test.
16592 2005-10-31  Richard Henderson  <rth@redhat.com>
16594         * testsuite/libgomp.fortran/character2.f90: Fix race condition
16595         setting 's' in different threads.
16597 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
16599         * libgomp.h (attribute_hidden, ialias): Define.
16600         * config/posix/proc.c (omp_get_num_procs): Add ialias.
16601         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
16602         * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
16603         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16604         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16605         omp_test_lock, omp_test_nest_lock): Likewise.
16606         * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
16607         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16608         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16609         omp_test_lock, omp_test_nest_lock): Likewise.
16610         * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
16611         omp_get_dynamic, omp_get_nested): Likewise.
16612         * parallel.c (omp_get_num_threads, omp_get_max_threads,
16613         omp_get_thread_num, omp_in_parallel): Likewise.
16614         * fortran.c (ialias_redirect): Define.
16615         (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
16616         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
16617         omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
16618         omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
16619         omp_set_num_threads, omp_get_dynamic, omp_get_nested,
16620         omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
16621         omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
16622         omp_get_wtime): Add ialias_redirect.
16624 2005-10-30  Jakub Jelinek  <jakub@redhat.com>
16626         * fortran.c: Include stdlib.h.
16628 2005-10-29  Jakub Jelinek  <jakub@redhat.com>
16630         * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
16631         * Makefile.in: Regenerated.
16633 2005-10-28  Jakub Jelinek  <jakub@redhat.com>
16635         * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
16636         * libgomp_f.h.in (omp_check_defines): New function.
16637         * env.c: Include libgomp_f.h.
16638         (initialize_env): Call omp_check_defines.
16640         * testsuite/libgomp.dg/copyin-2.c: New test.
16641         * testsuite/libgomp.c++/copyin-2.C: New test.
16642         * testsuite/libgomp.fortran/threadprivate3.f90: New test.
16644         * testsuite/libgomp.fortran/threadprivate2.f90: New test.
16645         * testsuite/libgomp.fortran/sharing2.f90: New test.
16647         * testsuite/libgomp.dg/copyin-1.c: New test.
16648         * testsuite/libgomp.c++/copyin-1.C: New test.
16650 2005-10-26  Jakub Jelinek  <jakub@redhat.com>
16652         * testsuite/libgomp.fortran/crayptr1.f90: New test.
16654         * testsuite/libgomp.fortran/workshare1.f90: New test.
16656         * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
16657         only test.
16658         * libgomp.fortran/sharing1.f90: New test.
16660 2005-10-24  Jakub Jelinek  <jakub@redhat.com>
16662         PR c++/24502
16663         * testsuite/libgomp.c++/loop-7.C: New test.
16665         * testsuite/libgomp.dg/nestedfn-2.c: New test.
16667         * testsuite/libgomp.dg/nestedfn-1.c: New test.
16668         * testsuite/libgomp.fortran/reduction6.f90: New test.
16669         * testsuite/libgomp.fortran/nestedfn1.f90: New test.
16671 2005-10-23  Richard Henderson  <rth@redhat.com>
16673         * testsuite/libgomp.c++/ctor-1.C: New.
16674         * testsuite/libgomp.c++/ctor-2.C: New.
16675         * testsuite/libgomp.c++/ctor-3.C: New.
16676         * testsuite/libgomp.c++/ctor-4.C: New.
16677         * testsuite/libgomp.c++/ctor-5.C: New.
16678         * testsuite/libgomp.c++/ctor-6.C: New.
16679         * testsuite/libgomp.c++/ctor-7.C: New.
16680         * testsuite/libgomp.c++/ctor-8.C: New.
16681         * testsuite/libgomp.c++/ctor-9.C: New.
16683 2005-10-21  Diego Novillo  <dnovillo@redhat.com>
16685         PR 24455
16686         * testsuite/libgomp.c++/pr24455-1.C: New test.
16687         * testsuite/libgomp.c++/pr24455.C: New test.
16688         * testsuite/libgomp.dg/pr24455-1.c: New test.
16689         * testsuite/libgomp.dg/pr24455.c: New test.
16691 2005-10-20  Richard Henderson  <rth@redhat.com>
16693         * testsuite/libgomp.c++/loop-6.C: New.
16694         * testsuite/libgomp.dg/loop-3.c: New.
16696 2005-10-20  Jakub Jelinek  <jakub@redhat.com>
16698         * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
16699         explicitly private.
16700         * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
16701         explicitly shared.
16703 2005-10-19  Diego Novillo  <dnovillo@redhat.com>
16705         * testsuite/libgomp.fortran/jacobi.f: New test.
16707 2005-10-19  Richard Henderson  <rth@redhat.com>
16709         * configure.tgt (i?86-linux): Default to with_arch instead of
16710         CFLAGS.  Add -mtune to match target_cpu.
16711         (x86_64-linux): Tune to i686.
16713         * fortran.c (omp_test_nest_lock_): Fix typo.
16715 2005-10-19  Jakub Jelinek  <jakub@redhat.com>
16717         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16718         gomp_ordered_sync): Do nothing if team->nthreads == 1.
16719         * testsuite/libgomp.dg/ordered-3.c: New test.
16721         * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
16722         Remove volatile keyword.
16724         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
16725         in COMMON block to avoid warnings on 64-bit targets.
16727 2005-10-18  Diego Novillo  <dnovillo@redhat.com>
16729         * testsuite/libgomp.dg/shared-3.c: New test.
16731 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
16733         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
16734         * testsuite/libgomp.fortran/reduction5.f90: New test.
16736 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
16738         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
16739         dg-options.
16740         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
16741         flush loop now that __sync_synchronize has proper memory barrier.
16742         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
16743         Add -ffixed-form to dg-options.
16745 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
16747         * testsuite/libgomp.fortran/fortran.exp: Also gather tests
16748         from subdirectories.
16749         * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
16750         * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
16751         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
16752         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
16753         * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
16754         * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
16755         * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
16756         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
16757         * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
16758         * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
16759         * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
16760         * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
16761         * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
16762         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
16763         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
16764         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
16765         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
16766         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
16767         * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
16768         * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
16769         * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
16770         * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
16771         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
16772         * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
16773         * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
16775 2005-10-17  Jakub Jelinek  <jakub@redhat.com>
16777         * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
16778         lang_library_path exists.  Use find instead of glob to gather tests.
16779         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
16781 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
16783         * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
16784         * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
16785         * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
16786         * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
16787         * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
16788         * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
16789         * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
16790         * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
16791         * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
16792         * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
16793         * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
16794         * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
16795         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
16797 2005-10-15  Jakub Jelinek  <jakub@redhat.com>
16799         * testsuite/libgomp.dg/vla-1.c: New test.
16801         * testsuite/libgomp.fortran/reference2.f90: New test.
16803         * testsuite/libgomp.fortran/character2.f90: Remove explicit
16804         declaration of omp_get_thread_num.
16805         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
16806         use omp_lib.
16808         * testsuite/libgomp.fortran/reduction1.f90: New test.
16809         * testsuite/libgomp.fortran/reduction2.f90: New test.
16810         * testsuite/libgomp.fortran/reduction3.f90: New test.
16811         * testsuite/libgomp.fortran/reduction4.f90: New test.
16813 2005-10-13  Richard Henderson  <rth@redhat.com>
16815         * Makefile.am (libgomp_la_SOURCES): Add bar.c.
16816         * Makefile.in: Regenerate.
16817         * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
16818         * libgomp.h: Include bar.h.
16819         (struct gomp_barrier): Remove.
16820         (struct gomp_team): Add barrier.  Replace master_barrier with
16821         master_release.  Replace threads with ordered_release.
16822         (struct gomp_thread): Replace barrier with release.
16823         * ordered.c (gomp_ordered_first): Update for ordered_release change.
16824         (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
16825         gomp_ordered_static_next, gomp_ordered_sync): Likewise.
16826         * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
16827         (GOMP_single_copy_end): Likewise.
16828         * team.c (gomp_threads_dock): New.
16829         (gomp_barrier_init, gomp_barrier_destroy): Remove.
16830         (gomp_thread_start): Use gomp_barrier_wait.
16831         (new_team, free_team): Update for gomp_team changes.
16832         (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
16833         (gomp_team_end): Use gomp_barrier_wait.
16834         (initialize_team): Update for gomp_thread changes.
16835         * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
16836         (gomp_work_share_end_nowait): Use atomic ops when available.
16837         * config/linux/bar.c, config/linux/bar.h: New files.
16838         * config/posix/bar.c, config/posix/bar.h: New files.
16840 2005-10-13  Jakub Jelinek  <jakub@redhat.com>
16842         * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
16843         * testsuite/libgomp.dg/single-2.c: New test.
16845         * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
16846         lang_link_flags): Unset, so that they aren't inherited from previously
16847         sourced *.exp.
16849         * testsuite/libgomp.fortran/threadprivate1.f90: New test.
16851 2005-10-12  Richard Henderson  <rth@redhat.com>
16853         * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
16854         (libgomp_init): Use lang_test_file, lang_library_path, and
16855         lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
16857         * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
16858         (lang_test_file, lang_link_flags): New.
16859         (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
16861         * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
16862         testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
16863         testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
16864         testsuite/libgomp.c++/parallel-1.C,
16865         testsuite/libgomp.c++/reduction-1.C,
16866         testsuite/libgomp.c++/reduction-2.C,
16867         testsuite/libgomp.c++/reduction-3.C,
16868         testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
16869         testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
16870         testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
16871         New files, largely cribbed from the C testsuite.
16873 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
16875         * testsuite/libgomp.fortran/character1.f90: New test.
16876         * testsuite/libgomp.fortran/character2.f90: New test.
16878         * testsuite/libgomp.dg/nested-1.c: New test.
16879         * testsuite/libgomp.dg/nested-2.c: New test.
16880         * testsuite/libgomp.fortran/do1.f90: New test.
16881         * testsuite/libgomp.fortran/do2.f90: New test.
16883         * testsuite/libgomp.fortran/reference1.f90: New test.
16885 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
16887         * testsuite/libgomp.dg/reduction-1.c: New test.
16888         * testsuite/libgomp.dg/reduction-2.c: New test.
16889         * testsuite/libgomp.dg/reduction-3.c: New test.
16891 2005-10-10  Jakub Jelinek  <jakub@redhat.com>
16893         * testsuite/libgomp.dg/atomic-1.c: New test.
16894         * testsuite/libgomp.dg/atomic-2.c: New test.
16896 2005-10-09  Richard Henderson  <rth@redhat.com>
16898         * critical.c (atomic_lock): New.
16899         (initialize_critical): Initialize it.
16900         (GOMP_atomic_start, GOMP_atomic_end): New.
16901         * libgomp.map: Export them.
16902         * libgomp_g.h: Declare them.
16904         * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
16906 2005-10-02  Richard Henderson  <rth@redhat.com>
16908         * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
16909         to XCFLAGS instead of CFLAGS.
16911 2005-09-30  Richard Henderson  <rth@redhat.com>
16913         * configure.ac: Determine whether -pthread or -lpthread is needed.
16914         * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
16915         * Makefile.in, configure: Rebuild.
16917 2005-09-28  Richard Henderson  <rth@redhat.com>
16919         * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
16920         * testsuite/libgomp.dg/omp-single-3.c: New test.
16922 2005-09-28  Diego Novillo  <dnovillo@redhat.com>
16924         * testsuite/libgomp.dg/omp-single-2.c: New test.
16925         * testsuite/libgomp.dg/shared-2.c: Fix return code.
16927 2005-09-27  Richard Henderson  <rth@redhat.com>
16929         * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
16930         * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
16932 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
16934         * testsuite/libgomp.dg/omp-loop03.c: New test.
16936 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
16938         * testsuite/libgomp.dg/omp-parallel-for.c: New test.
16940 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
16942         * testsuite/libgomp.dg/omp-single-1.c: New test.
16943         * testsuite/libgomp.dg/shared-1.c: Return 0.
16944         Add prototype for abort.
16945         * testsuite/libgomp.dg/shared-2.c: Likewise.
16947 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
16949         * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
16950         constructs.
16952 2005-09-26  Diego Novillo  <dnovillo@redhat.com>
16954         * testsuite/libgomp.dg/shared-1.c: New test.
16955         * testsuite/libgomp.dg/shared-2.c: New test.
16957 2005-09-24  Richard Henderson  <rth@redhat.com>
16959         * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
16961 2005-09-24  Richard Henderson  <rth@redhat.com>
16963         * iter.c (gomp_iter_static_next): Round up when computing number
16964         of iterations.  Don't bother distributing a remainder equally.
16966         * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
16967         Don't call srand.  Zero b before testing.
16968         (main): New.
16970 2005-09-24  Jakub Jelinek  <jakub@redhat.com>
16972         * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
16973         * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
16975 2005-09-23  Jakub Jelinek  <jakub@redhat.com>
16977         * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
16978         without !$omp end do, followed immediately by subroutine end.
16980 2005-09-23  Diego Novillo  <dnovillo@redhat.com>
16982         * testsuite/libgomp.dg/omp-parallel-if.c: New test.
16984 2005-09-22  Richard Henderson  <rth@redhat.com>
16986         * critical.c (GOMP_critical_name_start): Change argument to void**.
16987         Reuse the pointer space if the mutex fits.
16988         (GOMP_critical_name_end): Likewise.
16989         (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
16990         * libgomp_g.h (GOMP_critical_name_start): Update decl.
16991         (GOMP_critical_name_end): Likewise.
16992         * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
16993         * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
16995 2005-09-20  Richard Henderson  <rth@redhat.com>
16997         * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
16998         (create_lock_lock): New.
16999         (initialize_critical): Initialize it.
17000         * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17001         * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17003 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
17005         * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17007 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
17009         * testsuite/libgomp.dg/omp-loop01.c: New test.
17010         * testsuite/libgomp.dg/omp-loop02.c: New test.
17012 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
17014         * configure.ac (AC_PROG_FC): Add.
17015         (USE_FORTRAN): New automake conditional.
17016         * configure: Rebuilt.
17017         * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17018         (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17019         If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17020         Add rules to build them.
17021         * Makefile.in: Rebuilt.
17022         * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17023         OMP_NEST_LOCK_KIND.
17024         * libgomp.map: Add Fortran wrappers.
17025         * libgomp_f.h.in: New file.
17026         * omp_lib.h.in: New file.
17027         * omp_lib.f90.in: New file.
17028         * fortran.c: New file.
17029         * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17030         Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17031         Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17032         libgfortran has been built.
17033         * testsuite/libgomp.fortran/fortran.exp: New file.
17034         * testsuite/libgomp.fortran/omp_cond1.f: New test.
17035         * testsuite/libgomp.fortran/omp_cond2.f: New test.
17036         * testsuite/libgomp.fortran/omp_cond3.F90: New test.
17037         * testsuite/libgomp.fortran/omp_cond4.F90: New test.
17038         * testsuite/libgomp.fortran/omp_hello.f: New test.
17039         * testsuite/libgomp.fortran/omp_orphan.f: New test.
17040         * testsuite/libgomp.fortran/omp_parse1.f90: New test.
17041         * testsuite/libgomp.fortran/omp_parse2.f90: New test.
17042         * testsuite/libgomp.fortran/omp_parse3.f90: New test.
17043         * testsuite/libgomp.fortran/omp_parse4.f90: New test.
17044         * testsuite/libgomp.fortran/omp_reduction.f: New test.
17045         * testsuite/libgomp.fortran/omp_workshare1.f: New test.
17046         * testsuite/libgomp.fortran/omp_workshare2.f: New test.
17048 2005-08-30  Richard Henderson  <rth@redhat.com>
17050         * loop.c (GOMP_loop_static_start): Provide fallback wrapper
17051         function for when aliases are not usable.
17052         (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17053         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17054         GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17055         GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17056         GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17057         GOMP_loop_ordered_guided_next): Likewise.
17058         * ordered.c (GOMP_ordered_start): Likewise.
17060 2005-08-01  Diego Novillo  <dnovillo@redhat.com>
17062         * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17063         * testsuite/libgomp.dg/omp_hello.c: Fix return code
17064         * testsuite/libgomp.dg/omp_matvec.c: Likewise.
17065         * testsuite/libgomp.dg/omp_orphan.c: Likewise
17066         * testsuite/libgomp.dg/omp_reduction.c: Likewise
17067         * testsuite/libgomp.dg/omp_workshare1.c: Likewise
17068         * testsuite/libgomp.dg/omp_workshare2.c: Likewise
17069         * testsuite/libgomp.dg/omp_workshare3.c: Likewise
17070         * testsuite/libgomp.dg/omp_workshare4.c: Likewise
17072 2005-07-07  Eric Christopher  <echristo@redhat.com>
17073             Diego Novillo  <dnovillo@redhat.com>
17075         * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17076         * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17077         up code.
17078         * testsuite/libgomp.dg/omp_matvec.c: Ditto.
17079         * testsuite/libgomp.dg/omp_orphan.c: Ditto.
17080         * testsuite/libgomp.dg/omp_reduction.c: Ditto.
17081         * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17082         * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17083         * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17084         * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17086 2005-06-13  Diego Novillo  <dnovillo@redhat.com>
17088         * TOPLEVEL.patch: Remove.
17090 2005-05-16  Richard Henderson  <rth@redhat.com>
17092         * configure.ac: Test for clock_gettime.
17093         * config.h.in, configure: Rebuild.
17094         * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17095         (omp_get_wtime): Use clock_gettime if available.
17096         (omp_get_wtick): Use clock_getres if available.
17098 2005-05-11  Richard Henderson  <rth@redhat.com>
17100         * config/linux/ia64/futex.h: New file.
17101         * configure.tgt: Use it.
17103         * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17105 2005-05-07  Richard Henderson  <rth@redhat.com>
17107         * config/linux/powerpc/futex.h: New file.
17108         * configure.tgt: Use it.
17110         * config/linux/i486/futex.h: Merge ...
17111         * config/linux/x86_64/futex.h: ... into ...
17112         * config/linux/x86/futex.h: ... here.
17113         * configure.tgt: Update to match.
17115 2005-05-06  Richard Henderson  <rth@redhat.com>
17117         * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17118         * config/linux/i486/futex.h: Likewise.
17119         * config/linux/x86_64/futex.h: Likewise.
17121         * config/linux/lock.c: New file.
17122         * config/linux/omp-lock.h: New file.
17124         * critical.c, env.h: Don't include omp.h
17125         * config/posix/lock.c: Include libgomp.h instead of omp.h.
17126         * config/posix/time.c: Likewise.
17127         * config/posix/omp-lock.h: New file.
17128         * libgomp.h: Include omp-lock.h and omp.h.
17129         * Makefile.am (nodist_include_HEADERS): New.
17130         (omp.h): New rule.
17131         * configure.ac (PERL): New.
17132         * mkomp_h.pl: New file.
17133         * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17134         with templates.
17135         * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17137         * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17138         build directory.  Re-add -march=i486 hack.
17140         * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17141         (libgomp_link_flags): Remove.
17142         (libgomp_initialized): Remove.
17143         (libgomp_init): Don't protect from reinitialization.  Copy code
17144         from libstdc++ for getting the multilib set correctly.
17146 2005-05-05  Richard Henderson  <rth@redhat.com>
17148         * config/linux/alpha/futex.h: New file.
17149         * configure.tgt (alpha*-*-linux*): Use it.
17151         * config/posix/mutex.c: New file.
17152         * config/posix/sem.c: Use libgomp.h.
17154         * configure.tgt (x86_64-linux): Also test CC for -m32.
17155         * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17157         * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
17158         after $gccpath.
17160         * Makefile.am (SUBDIRS): New.
17161         (libgomp_la_LDFLAGS): Add -lpthread.
17162         * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17163         * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17165         * libgomp_g.h: New file.
17166         * libgomp.h: Split out all public declarations to libgomp_g.h.
17167         Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17168         * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17169         * config/linux/sem.h: Likewise.
17170         * config/posix/sem.h: Likewise.
17172         * Makefile.am (AM_LDFLAGS): New.
17173         (libgomp_version_script): Split out from ...
17174         (libgomp_la_LDFLAGS): ... here.
17175         (libgomp_version_info): New.
17176         * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17177         (LIBGOMP_ENABLE): New.
17178         (LIBGOMP_CHECK_LINKER_FEATURES): New.
17179         (LIBGOMP_ENABLE_SYMVERS): New.
17180         * configure.ac (AC_INIT): Version 1.0.
17181         (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17182         (enable-linux-futex): Likewise.  Rename from enable-futex.
17183         (libtool_VERSION): New.
17184         (LIBGOMP_ENABLE_SYMVERS): Use it.
17185         * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17186         * Makefile.in, aclocal.m4, configure: Rebuild.
17188         * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17189         (gomp_mutex_unlock_slow): Fix typo.
17190         * config/linux/sem.c: Similarly.
17191         (gomp_sem_post_slow): Fix typo.
17192         * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17193         * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17194         [__PIC__] (sys_futex0): Don't use tmp output in asm.
17196         * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17197         (libgomp_la_LDFLAGS): Add top_srcdir to path.
17198         * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17199         * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
17200         XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17201         * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17202         LDFLAGS.  Pull enable_futex check to top-level.
17203         * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
17204         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17206         First attempt at real configury.
17207         * Makefile, config.h: Remove file.
17208         * Makefile.am, Makefile.in: New file.
17209         * acinclude.m4 aclocal.m4: New file.
17210         * configure.ac, configure.tgt, configure: New file.
17212         * config/posix/lock.c: Rename from sys-lock.c.
17213         * config/posix/mutex.h: Rename from sys-mutex.h.
17214         * config/posix/sem.c: Rename from sys-sem.c.
17215         * config/posix/sem.h: Rename from sys-sem.h.
17216         * config/posix/proc.c: Rename from sys-proc.c.
17217         * config/posix/time.c: Rename from sys-proc.c.
17219         * config/linux/mutex.c: New file.
17220         * config/linux/mutex.h: New file.
17221         * config/linux/sem.c: New file.
17222         * config/linux/sem.h: New file.
17223         * config/linux/i486/futex.h: New file.
17224         * config/linux/x86_64/futex.h: New file.
17226 2005-05-04  Richard Henderson  <rth@redhat.com>
17228         * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17229         * libgomp.h: Declare them.
17230         * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17231         gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17233 2005-05-04  Richard Henderson  <rth@redhat.com>
17235         * libgomp-1 code drop
17237 2005-05-04  Richard Henderson  <rth@redhat.com>
17239         * iter.c (gomp_iter_static_next): Return tri-state on 0.
17240         * ordered.c (gomp_ordered_static_next): Remove not_last argument.
17241         * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17242         (gomp_iter_static_next): Update.
17243         (gomp_ordered_static_next): Update.
17244         * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17245         (gomp_loop_ordered_static_start): Likewise.  Exit early for a
17246         totally empty range.
17247         (gomp_loop_ordered_static_next): Refine test for calling
17248         gomp_ordered_static_next.
17249         * testsuite/ordered-1.c: Add case for more threads than iterations.
17251         * iter.c (gomp_iter_runtime_next_locked): Remove.
17252         * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
17253         gomp_loop_guided_start, gomp_loop_ordered_static_start,
17254         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17255         gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17256         gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17257         gomp_loop_ordered_guided_next): Downcase name, make static, add
17258         an external alias with the old name.
17259         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17260         GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17261         switch and call one of the above static functions.
17262         * libgomp.h: Update.
17264         * work.c (gomp_work_share_start): Lock the mutex for !first too.
17265         * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17266         GOMP_loop_guided_start, GOMP_loop_runtime_start,
17267         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17268         GOMP_loop_ordered_guided_start): Update to match.
17269         * sections.c (GOMP_sections_start): Likewise.
17270         * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17272         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17273         gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17274         Use bounds check instead of modulus.
17275         (gomp_ordered_sync): Split out of GOMP_ordered_start.
17276         (gomp_ordered_last): Don't sync with ordered_owner here.
17277         (gomp_ordered_next): Likewise.
17278         (gomp_ordered_static_loop_next): Likewise.
17279         * loop.c, libgomp.h: Update to match.
17281         * libgomp.h (GOMP_barrier): Declare.
17283         * testsuite/barrier-1.c: New file.
17284         * testsuite/critical-1.c: New file.
17285         * testsuite/ordered-2.c: New file.
17286         * testsuite/ordered-1.c: New file.
17287         * testsuite/sections-1.c: New file.
17288         * testsuite/single-1.c: New file.
17289         * testsuite/Makefile (TESTS): Add them.
17291 2005-05-04  Richard Henderson  <rth@redhat.com>
17293         * libgomp.h (struct gomp_work_share): Add ordered_owner.
17294         * loop.c (GOMP_loop_static_start): If not the startup thread,
17295         acquire the mutex to wait for initialization complete.
17296         (GOMP_loop_ordered_static_start): Likewise.
17297         (GOMP_loop_ordered_runtime_start): Likewise.
17298         (GOMP_loop_ordered_static_first): Remove.
17299         (GOMP_loop_ordered_dynamic_first): Remove.
17300         (GOMP_loop_ordered_guided_first): Remove.
17301         (GOMP_loop_ordered_runtime_first): Remove.
17302         * ordered.c (gomp_ordered_loop_first): Post to own release when
17303         we're the first thread.
17304         (gomp_ordered_loop_last): Wait on release if not owner.
17305         (gomp_ordered_loop_next): Likewise.
17306         (gomp_ordered_static_loop_init): New.
17307         (gomp_ordered_static_loop_next): Use ordered_owner.
17308         (GOMP_ordered_start): Likewise.
17309         * work.c (gomp_new_work_share): Initialize ordered_owner.
17311 2005-05-03  Richard Henderson  <rth@redhat.com>
17313         * Makefile (OPT): New.
17314         (CFLAGS): Use it.
17316         * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
17317         * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
17318         * libgomp.h, libgomp.map, NOTES: Update to match.
17320         * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
17321         Add initialized and thr members.
17322         (gomp_thread_start): Pause when initially spawned to wait for
17323         the whole team to be created.
17324         (gomp_team_start): Release team members at the end.
17326         * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
17327         (f_foo_1): Use GOMP_loop_end.
17328         (f_foo_2): Use GOMP_loop_end_nowait.
17330         * testsuite/loop-2.c: New file.
17331         * testsuite/Makefile (TESTS): Add it.
17333 2005-05-03  Richard Henderson  <rth@redhat.com>
17335         * iter.c (gomp_iter_static_next): Fix overflow check typo.
17336         (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
17337         * team.c (new_team): Initialize oldest_live_gen to 1 if no
17338         initial work_share.
17340         * testsuite/Makefile: New file.
17341         * testsuite/loop-1.c: New file.
17343 2005-05-03  Richard Henderson  <rth@redhat.com>
17345         Initial implementation and checkin.
17347 Copyright (C) 2005-2022 Free Software Foundation, Inc.
17349 Copying and distribution of this file, with or without modification,
17350 are permitted in any medium without royalty provided the copyright
17351 notice and this notice are preserved.