Fix leak of SLP nodes when building store interleaving
[official-gcc.git] / libgomp / ChangeLog
blobaad4c598abda17fa76eec79f149129b237e98367
1 2024-08-09  Thomas Schwinge  <tschwinge@baylibre.com>
3         * testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C:
4         Fix effective-target keyword.
5         * testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C:
6         Likewise.
7         * testsuite/libgomp.c-c++-common/target-is-initial-host-2.c:
8         Likewise.
9         * testsuite/libgomp.c-c++-common/target-is-initial-host.c:
10         Likewise.
11         * testsuite/libgomp.fortran/target-is-initial-host-2.f90:
12         Likewise.
13         * testsuite/libgomp.fortran/target-is-initial-host.f: Likewise.
14         * testsuite/libgomp.fortran/target-is-initial-host.f90: Likewise.
16 2024-08-08  Tobias Burnus  <tburnus@baylibre.com>
18         * libgomp.texi (OpenMP Technical Report 13): Renamed from
19         'OpenMP Technical Report 12'; updated for TR13 changes.
21 2024-08-08  Tobias Burnus  <tburnus@baylibre.com>
23         * libgomp.texi (omp_is_initial_device): Mention
24         -fno-builtin-omp_is_initial_device and folding by default.
26 2024-08-08  Tobias Burnus  <tburnus@baylibre.com>
28         * testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C: Split
29         scan-tree-dump into with and without target offload_target_any.
30         * testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C:
31         Likewise.
33 2024-08-07  Julian Brown  <julian@codesourcery.com>
34             Tobias Burnus  <tobias@baylibre.com>
36         * testsuite/libgomp.c++/static-aggr-constructor-destructor-1.C: New test.
37         * testsuite/libgomp.c++/static-aggr-constructor-destructor-2.C: New test.
38         * testsuite/libgomp.c++/static-aggr-constructor-destructor-3.C: New test.
39         * testsuite/libgomp.c-c++-common/target-is-initial-host.c: New test.
40         * testsuite/libgomp.c-c++-common/target-is-initial-host-2.c: New test.
41         * testsuite/libgomp.fortran/target-is-initial-host.f: New test.
42         * testsuite/libgomp.fortran/target-is-initial-host.f90: New test.
43         * testsuite/libgomp.fortran/target-is-initial-host-2.f90: New test.
45 2024-08-07  Tobias Burnus  <tburnus@baylibre.com>
47         * testsuite/libgomp.c-c++-common/target-link-2.c: Reset variable
48         value to handle multi-device tests.
50 2024-08-06  Tobias Burnus  <tburnus@baylibre.com>
52         * target.c (gomp_load_image_to_device): Extend fatal-error message;
53         simplify a condition.
55 2024-08-05  Tobias Burnus  <tburnus@baylibre.com>
57         * libgomp.texi (OpenMP Runtime Library Routines): Add TR13 routines
58         to @menu (commented out).
60 2024-08-01  Tobias Burnus  <tburnus@baylibre.com>
61             Richard Biener  <rguenther@suse.de
63         PR middle-end/115637
64         * testsuite/libgomp.fortran/declare-target-link.f90: Uncomment
65         now working code.
67 2024-07-31  Sam James  <sam@gentoo.org>
69         * testsuite/libgomp.c++/pr24455.C: Fix dg-require-effective-target directive order.
70         * testsuite/libgomp.c/pr24455.c: Likewise.
72 2024-07-31  Sam James  <sam@gentoo.org>
74         * testsuite/libgomp.c++/declare-target-indirect-1.C: Fix 'dg-run' typo.
76 2024-07-29  Tobias Burnus  <tburnus@baylibre.com>
78         * libgomp.texi (OpenMP Runtime Library Routines): Add missing
79         title to some commented still undocumented items.
80         (Device Information Routines): Update.
82 2024-07-29  Tobias Burnus  <tburnus@baylibre.com>
84         PR fortran/115559
85         * testsuite/libgomp.fortran/declare-target-link.f90: New test.
87 2024-07-29  Tobias Burnus  <tburnus@baylibre.com>
89         PR middle-end/116107
90         * target.c (gomp_map_vars_internal): Honor array mapping offsets
91         with declare-target 'link' variables.
92         * testsuite/libgomp.c-c++-common/target-link-2.c: New test.
94 2024-07-19  Thomas Schwinge  <tschwinge@baylibre.com>
96         * config/gcn/target.c (GOMP_teams4): Document.
97         * config/nvptx/target.c (GOMP_teams4): Likewise.
98         * target.c (GOMP_teams4): Likewise.
100 2024-07-19  Thomas Schwinge  <tschwinge@baylibre.com>
102         * config/gcn/libgomp-gcn.h (GOMP_TEAM_NUM): Inject.
103         * config/gcn/target.c (GOMP_teams4): Handle.
104         * config/gcn/team.c (gomp_gcn_enter_kernel): Initialize.
105         * config/gcn/teams.c (omp_get_team_num): Adjust.
107 2024-07-19  Paul Thomas  <pault@gcc.gnu.org>
109         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Cut
110         dg-note about 'a' and remove bogus warnings about its array
111         descriptor components being used uninitialized.
113 2024-07-01  Andrew Stubbs  <ams@baylibre.com>
114             Thomas Schwinge  <thomas@codesourcery.com>
116         * allocator.c (ompx_gnu_min_predefined_alloc): New.
117         (ompx_gnu_max_predefined_alloc): New.
118         (predefined_alloc_mapping): Rename to ...
119         (predefined_omp_alloc_mapping): ... this.
120         (predefined_ompx_gnu_alloc_mapping): New.
121         (_Static_assert): Adjust for the new name, and add a new assert for the
122         new table.
123         (predefined_allocator_p): New.
124         (predefined_alloc_mapping): New.
125         (omp_aligned_alloc): Support ompx_gnu_pinned_mem_alloc.
126         Use predefined_allocator_p and predefined_alloc_mapping.
127         (omp_free): Likewise.
128         (omp_alligned_calloc): Likewise.
129         (omp_realloc): Likewise.
130         * env.c (parse_allocator): Add ompx_gnu_pinned_mem_alloc.
131         * libgomp.texi: Document ompx_gnu_pinned_mem_alloc.
132         * omp.h.in (omp_allocator_handle_t): Add ompx_gnu_pinned_mem_alloc.
133         * omp_lib.f90.in: Add ompx_gnu_pinned_mem_alloc.
134         * omp_lib.h.in: Add ompx_gnu_pinned_mem_alloc.
135         * testsuite/libgomp.c/alloc-pinned-5.c: New test.
136         * testsuite/libgomp.c/alloc-pinned-6.c: New test.
137         * testsuite/libgomp.fortran/alloc-pinned-1.f90: New test.
139 2024-07-01  Andrew Stubbs  <ams@baylibre.com>
141         * testsuite/libgomp.c/alloc-pinned-1.c: Change dg-xfail-run-if to
142         dg-skip-if.
143         Correct spelling mistake.
144         Abort on insufficient lockable memory.
145         Use #error on non-linux hosts.
146         * testsuite/libgomp.c/alloc-pinned-2.c: Likewise.
148 2024-06-06  Tobias Burnus  <tburnus@baylibre.com>
150         * libgomp.texi (nvptx): Add missing preposition.
152 2024-06-06  Thomas Schwinge  <tschwinge@baylibre.com>
153             Andrew Stubbs  <ams@gcc.gnu.org>
155         * libgomp.texi (nvptx): Update.
156         * testsuite/libgomp.fortran/target-print-1-nvptx.f90: Remove.
157         * testsuite/libgomp.fortran/target-print-1.f90: Adjust.
158         * testsuite/libgomp.oacc-fortran/error_stop-2-nvptx.f: New.
159         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Adjust.
160         * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Adjust.
161         * testsuite/libgomp.oacc-fortran/print-1.f90: Adjust.
162         * testsuite/libgomp.oacc-fortran/stop-2-nvptx.f: New.
163         * testsuite/libgomp.oacc-fortran/stop-2.f: Adjust.
165 2024-06-06  Thomas Schwinge  <tschwinge@baylibre.com>
167         PR libgomp/97384
168         PR libgomp/105274
169         * plugin/cuda-lib.def (cuCtxSetLimit): Add.
170         * plugin/plugin-nvptx.c (nvptx_open_device): Handle
171         'GOMP_NVPTX_NATIVE_GPU_THREAD_STACK_SIZE' environment variable.
173 2024-06-06  Thomas Schwinge  <tschwinge@baylibre.com>
175         * plugin/plugin-nvptx.c (nvptx_do_global_cdtors): New.
176         (nvptx_close_device, GOMP_OFFLOAD_load_image)
177         (GOMP_OFFLOAD_unload_image): Call it.
179 2024-06-06  Thomas Schwinge  <tschwinge@baylibre.com>
181         PR target/85463
182         * config/nvptx/error.c (exit): Don't override.
183         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Update.
184         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
185         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
186         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
187         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
188         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
190 2024-06-06  Jakub Jelinek  <jakub@redhat.com>
192         * libgomp.texi (OpenMP 5.1 status): Mark Loop transformation constructs
193         as implemented.
195 2024-06-05  Jakub Jelinek  <jakub@redhat.com>
196             Frederik Harwath  <frederik@codesourcery.com>
197             Sandra Loosemore  <sandra@codesourcery.com>
199         * testsuite/libgomp.c-c++-common/imperfect-transform-1.c: New test.
200         * testsuite/libgomp.c-c++-common/imperfect-transform-2.c: New test.
201         * testsuite/libgomp.c-c++-common/matrix-1.h: New test.
202         * testsuite/libgomp.c-c++-common/matrix-constant-iter.h: New test.
203         * testsuite/libgomp.c-c++-common/matrix-helper.h: New test.
204         * testsuite/libgomp.c-c++-common/matrix-no-directive-1.c: New test.
205         * testsuite/libgomp.c-c++-common/matrix-no-directive-unroll-full-1.c:
206         New test.
207         * testsuite/libgomp.c-c++-common/matrix-omp-distribute-parallel-for-1.c:
208         New test.
209         * testsuite/libgomp.c-c++-common/matrix-omp-for-1.c: New test.
210         * testsuite/libgomp.c-c++-common/matrix-omp-parallel-for-1.c: New test.
211         * testsuite/libgomp.c-c++-common/matrix-omp-parallel-masked-taskloop-1.c:
212         New test.
213         * testsuite/libgomp.c-c++-common/matrix-omp-parallel-masked-taskloop-simd-1.c:
214         New test.
215         * testsuite/libgomp.c-c++-common/matrix-omp-target-parallel-for-1.c:
216         New test.
217         * testsuite/libgomp.c-c++-common/matrix-omp-target-teams-distribute-parallel-for-1.c:
218         New test.
219         * testsuite/libgomp.c-c++-common/matrix-omp-taskloop-1.c: New test.
220         * testsuite/libgomp.c-c++-common/matrix-omp-teams-distribute-parallel-for-1.c:
221         New test.
222         * testsuite/libgomp.c-c++-common/matrix-simd-1.c: New test.
223         * testsuite/libgomp.c-c++-common/matrix-transform-variants-1.h:
224         New test.
225         * testsuite/libgomp.c-c++-common/target-imperfect-transform-1.c:
226         New test.
227         * testsuite/libgomp.c-c++-common/target-imperfect-transform-2.c:
228         New test.
229         * testsuite/libgomp.c-c++-common/unroll-1.c: New test.
230         * testsuite/libgomp.c-c++-common/unroll-non-rect-1.c: New test.
231         * testsuite/libgomp.c++/matrix-no-directive-unroll-full-1.C: New test.
232         * testsuite/libgomp.c++/tile-2.C: New test.
233         * testsuite/libgomp.c++/tile-3.C: New test.
234         * testsuite/libgomp.c++/unroll-1.C: New test.
235         * testsuite/libgomp.c++/unroll-2.C: New test.
236         * testsuite/libgomp.c++/unroll-full-tile.C: New test.
237         * testsuite/libgomp.fortran/imperfect-transform-1.f90: New test.
238         * testsuite/libgomp.fortran/imperfect-transform-2.f90: New test.
239         * testsuite/libgomp.fortran/inner-1.f90: New test.
240         * testsuite/libgomp.fortran/nested-fn.f90: New test.
241         * testsuite/libgomp.fortran/target-imperfect-transform-1.f90: New test.
242         * testsuite/libgomp.fortran/target-imperfect-transform-2.f90: New test.
243         * testsuite/libgomp.fortran/tile-1.f90: New test.
244         * testsuite/libgomp.fortran/tile-2.f90: New test.
245         * testsuite/libgomp.fortran/tile-unroll-1.f90: New test.
246         * testsuite/libgomp.fortran/tile-unroll-2.f90: New test.
247         * testsuite/libgomp.fortran/tile-unroll-3.f90: New test.
248         * testsuite/libgomp.fortran/tile-unroll-4.f90: New test.
249         * testsuite/libgomp.fortran/unroll-1.f90: New test.
250         * testsuite/libgomp.fortran/unroll-2.f90: New test.
251         * testsuite/libgomp.fortran/unroll-3.f90: New test.
252         * testsuite/libgomp.fortran/unroll-4.f90: New test.
253         * testsuite/libgomp.fortran/unroll-5.f90: New test.
254         * testsuite/libgomp.fortran/unroll-6.f90: New test.
255         * testsuite/libgomp.fortran/unroll-7a.f90: New test.
256         * testsuite/libgomp.fortran/unroll-7b.f90: New test.
257         * testsuite/libgomp.fortran/unroll-7c.f90: New test.
258         * testsuite/libgomp.fortran/unroll-7.f90: New test.
259         * testsuite/libgomp.fortran/unroll-8.f90: New test.
260         * testsuite/libgomp.fortran/unroll-simd-1.f90: New test.
261         * testsuite/libgomp.fortran/unroll-tile-1.f90: New test.
262         * testsuite/libgomp.fortran/unroll-tile-2.f90: New test.
264 2024-05-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
266         PR testsuite/115294
267         * testsuite/lib/libgomp.exp (libgomp_target_compile): Pass new
268         dg-additional-files-options args.
270 2024-05-30  Tobias Burnus  <tburnus@baylibre.com>
272         * libgomp.texi (OpenMP 5.0 status): Mark 'requires' as done and
273         link to 'Offload-Target Specifics'.
274         (OpenMP 5.2 status): Add item about additional map-type modifiers
275         in 'declare mapper'.
277 2024-05-29  Tobias Burnus  <tburnus@baylibre.com>
279         * libgomp.texi (gcn): Update USM handling
280         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Handle
281         USM if HSA_AMD_SYSTEM_INFO_SVM_ACCESSIBLE_BY_DEFAULT is true.
283 2024-05-29  Tobias Burnus  <tburnus@baylibre.com>
285         * libgomp.texi (nvptx): Update USM description.
286         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices):
287         Claim support when requesting USM and all devices support
288         CU_DEVICE_ATTRIBUTE_PAGEABLE_MEMORY_ACCESS.
289         * target.c (gomp_copy_back_icvs): Fix device ptr lookup.
290         (gomp_target_init): Set GOMP_OFFLOAD_CAP_SHARED_MEM is the
291         devices supports USM.
293 2024-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
295         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]
296         (libgomp.ver-sun): Pass $(libgomp_la_OBJECTS),
297         $(libgomp_la_LIBADD) to make_sunver.pl unmodified.
298         * Makefile.in: Regenerate.
300 2024-05-02  Jakub Jelinek  <jakub@redhat.com>
302         * testsuite/libgomp.c/declare-variant-4.h (gfx90c, gfx1036, gfx1103):
303         New functions.
304         (f): Add #pragma omp declare variant directives for those.
305         * testsuite/libgomp.c/declare-variant-4-gfx90c.c: New test.
306         * testsuite/libgomp.c/declare-variant-4-gfx1036.c: New test.
307         * testsuite/libgomp.c/declare-variant-4-gfx1103.c: New test.
309 2024-04-26  Frederik Harwath  <frederik@harwath.name>
311         * plugin/plugin-gcn.c (isa_hsa_name): Handle EF_AMDGPU_MACH_AMDGCN_GFX90c.
312         (isa_code): Handle gfx90c.
313         (max_isa_vgprs): Handle EF_AMDGPU_MACH_AMDGCN_GFX90c.
315 2024-04-16  Chung-Lin Tang  <cltang@baylibre.com>
317         * libgomp.h (REFCOUNT_ACC_MAP_DATA): Define as (REFCOUNT_SPECIAL | 2).
318         * oacc-mem.c (acc_map_data): Adjust to use REFCOUNT_ACC_MAP_DATA,
319         initialize dynamic_refcount as 1.
320         (acc_unmap_data): Adjust to use REFCOUNT_ACC_MAP_DATA,
321         (goacc_map_var_existing): Add REFCOUNT_ACC_MAP_DATA case.
322         (goacc_exit_datum_1): Add REFCOUNT_ACC_MAP_DATA case, respect
323         REFCOUNT_ACC_MAP_DATA when decrementing/finalizing. Force lowest
324         dynamic_refcount to be 1 for REFCOUNT_ACC_MAP_DATA.
325         (goacc_enter_data_internal): Add REFCOUNT_ACC_MAP_DATA case.
326         * target.c (gomp_increment_refcount): Return early for
327         REFCOUNT_ACC_MAP_DATA case.
328         (gomp_decrement_refcount): Likewise.
329         * testsuite/libgomp.oacc-c-c++-common/lib-96.c: New testcase.
330         * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: Adjust
331         testcase error output scan test.
333 2024-04-08  Thomas Schwinge  <tschwinge@baylibre.com>
335         * plugin/plugin-gcn.c (init_hsa_context): Add and handle
336         'bool probe' parameter.  Adjust all users; errors during device
337         probing are fatal.
338         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Aside from
339         'CUDA_ERROR_NO_DEVICE', errors during device probing are fatal.
341 2024-04-05  Thomas Schwinge  <tschwinge@baylibre.com>
343         * testsuite/libgomp.c/reverse-offload-sm30.c: Set 'GCC_COLORS' to the empty string.
345 2024-04-05  Jakub Jelinek  <jakub@redhat.com>
347         PR c++/114572
348         * testsuite/libgomp.c++/pr114572.C: New test.
350 2024-04-04  Tobias Burnus  <tburnus@baylibre.com>
352         * libgomp.texi (TR12): Honor post-TR12 directive name change; add
353         item about curly braces/BLOCK permitted in canonical loop nests.
355 2024-04-02  Jakub Jelinek  <jakub@redhat.com>
357         * libgomp.texi (OpenMP 5.2): Fix duplicated words; with with ->
358         with.
359         (omp_target_associate_ptr): Fix duplicated words; either either ->
360         either.
361         (omp_init_allocator): Fix duplicated words; be be -> be.
362         (omp_realloc): Fix duplicated words; is is -> is.
363         (OMP_ALLOCATOR): Fix duplicated words; other other -> other.
364         * priority_queue.h (priority_queue_multi_p): Fix duplicated words;
365         to to -> to.
367 2024-03-25  Richard Biener  <rguenther@suse.de>
369         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): GFX1036.
370         (gcn_gfx1103_s): New.
371         (isa_hsa_name): Handle gfx1036.
372         (isa_code): Likewise.
373         (max_isa_vgprs): Likewise.
375 2024-03-22  Kwok Cheung Yeung  <kcyeung@baylibre.com>
377         * config/accel/target-indirect.c: Include string.h and hashtab.h.
378         Remove include of splay-tree.h.  Update comments.
379         (splay_tree_prefix, splay_tree_c): Delete.
380         (struct indirect_map_t): New.
381         (hash_entry_type, htab_alloc, htab_free, htab_hash, htab_eq): New.
382         (GOMP_INDIRECT_ADD_MAP): Remove volatile qualifier.
383         (USE_SPLAY_TREE_LOOKUP): Rename to...
384         (USE_HASHTAB_LOOKUP): ..this.
385         (indirect_map, indirect_array): Delete.
386         (indirect_htab): New.
387         (build_indirect_map): Remove locking.  Build indirect map using
388         hashtab.
389         (GOMP_target_map_indirect_ptr): Use indirect_htab to lookup target
390         address.
391         (GOMP_target_map_indirect_ptr): Remove volatile qualifier.
392         * config/gcn/team.c (gomp_gcn_enter_kernel): Call build_indirect_map
393         from first thread of first team only.
394         * config/nvptx/team.c (gomp_nvptx_main): Likewise.
395         * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c (main):
396         Add missing break statements.
397         * testsuite/libgomp.fortran/declare-target-indirect-2.f90: Remove
398         xfail.
400 2024-03-22  Andrew Stubbs  <ams@baylibre.com>
402         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): GFX1103.
403         (gcn_gfx1103_s): New.
404         (isa_hsa_name): Handle gfx1103.
405         (isa_code): Likewise.
406         (max_isa_vgprs): Likewise.
408 2024-03-14  Thomas Schwinge  <tschwinge@baylibre.com>
410         * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: Fix 'char'
411         initialization, copy, check.
413 2024-03-13  Tobias Burnus  <tburnus@baylibre.com>
415         PR fortran/114283
416         * testsuite/libgomp.fortran/declare-target-indirect-4.f90: New test.
418 2024-03-12  Tobias Burnus  <tburnus@baylibre.com>
420         * libgomp.texi (Device Memory Routines): Swap item order to match
421         the order of the '@node's of the '@subsection's.
423 2024-03-08  Thomas Schwinge  <tschwinge@baylibre.com>
425         * plugin/plugin-gcn.c (GOMP_OFFLOAD_can_run): Don't consider
426         'GCN_SUPPRESS_HOST_FALLBACK' anymore (assume always-'true').
427         (init_hsa_context): Adjust 'GCN_SUPPRESS_HOST_FALLBACK' error
428         message.
430 2024-03-08  Thomas Schwinge  <tschwinge@baylibre.com>
432         * plugin/plugin-nvptx.c (nvptx_get_num_devices):
433         'cuDeviceGetCount' failure is fatal.
435 2024-03-08  Thomas Schwinge  <tschwinge@baylibre.com>
437         * plugin/plugin-gcn.c (init_hsa_runtime_functions): Fatal error
438         for missing symbols.
439         * plugin/plugin-nvptx.c (init_cuda_lib): Likewise.
441 2024-03-06  John David Anglin  <danglin@gcc.gnu.org>
443         Revert:
444         2024-02-01  John David Anglin  <danglin@gcc.gnu.org>
446         * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50
447         on 32-bit hppa.
448         * testsuite/libgomp.c/omp-loop03.c: Likewise.
450 2024-03-04  Jakub Jelinek  <jakub@redhat.com>
452         PR libgomp/114216
453         * target.c (gomp_target_rev): Change host_fn type and corresponding
454         cast from void (*)() to void (*) (void *).
456 2024-03-01  Jakub Jelinek  <jakub@redhat.com>
457             Tobias Burnus  <tburnus@baylibre.com>
459         PR c++/110347
460         * testsuite/libgomp.c++/target-lambda-3.C: Moved from
461         gcc/testsuite/g++.dg/gomp/ and fixed is-mapped handling.
462         * testsuite/libgomp.c++/target-lambda-1.C: Modify to also
463         also work without offloading.
464         * testsuite/libgomp.c++/firstprivate-1.C: New test.
465         * testsuite/libgomp.c++/firstprivate-2.C: New test.
466         * testsuite/libgomp.c++/private-1.C: New test.
467         * testsuite/libgomp.c++/private-2.C: New test.
468         * testsuite/libgomp.c++/target-lambda-4.C: New test.
469         * testsuite/libgomp.c++/use_device_ptr-1.C: New test.
471 2024-02-27  Tobias Burnus  <tburnus@baylibre.com>
473         * libgomp.texi (OpenACC Runtime Library Routines): Document new 3.3
474         routines that simply map to their C counterpart.
475         * openacc.f90 (openacc): Add them.
476         * openacc_lib.h: Likewise.
477         * testsuite/libgomp.oacc-fortran/acc_host_device_ptr.f90: New test.
478         * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: New test.
479         * testsuite/libgomp.oacc-fortran/acc-memcpy-2.f90: New test.
480         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Crossref to f90 test.
481         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
482         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
484 2024-02-21  Tobias Burnus  <tburnus@baylibre.com>
486         * libgomp.texi (OpenMP Context Selectors): Add 'nvptx64' as additional
487         'arch' value for nvptx.
489 2024-02-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
491         * libgomp.texi (OpenMP 5.1): Mark indirect call support as fully
492         implemented.
494 2024-02-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
496         * testsuite/libgomp.fortran/declare-target-indirect-1.f90: New.
497         * testsuite/libgomp.fortran/declare-target-indirect-2.f90: New.
498         * testsuite/libgomp.fortran/declare-target-indirect-3.f90: New.
500 2024-02-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
502         PR testsuite/113448
503         * testsuite/libgomp.c/alloc-pinned-1.c [!__linux__] (CHECK_SIZE):
504         Call abort.
505         * testsuite/libgomp.c/alloc-pinned-2.c [!__linux__] (CHECK_SIZE):
506         Likewise.
508 2024-02-11  John David Anglin  <danglin@gcc.gnu.org>
510         PR libgomp/113843
511         * configure.tgt (hppa*-*-linux*): Define config_path.
513 2024-02-01  John David Anglin  <danglin@gcc.gnu.org>
515         * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50
516         on 32-bit hppa.
517         * testsuite/libgomp.c/omp-loop03.c: Likewise.
519 2024-01-29  Tobias Burnus  <tburnus@baylibre.com>
521         * testsuite/libgomp.c/declare-variant-4.h: Use gfx1100/gfx1030
522         function not gfx90a for gfx1100/gfx1030 context selector.
524 2024-01-26  Richard Biener  <rguenther@suse.de>
526         * plugin/plugin-gcn.c (suitable_hsa_agent_p): Filter out
527         agents with unsupported ISA.
529 2024-01-26  Richard Biener  <rguenther@suse.de>
531         * plugin/plugin-gcn.c
532         (EF_AMDGPU_MACH::EF_AMDGPU_MACH_UNSUPPORTED): Add.
533         (isa_code): Return that instead of -1.
534         (GOMP_OFFLOAD_init_device): Adjust.
536 2024-01-26  Tobias Burnus  <tburnus@baylibre.com>
538         * testsuite/libgomp.c/declare-variant-4.h: Add variant functions
539         for gfx1030 and gfx1100.
540         * testsuite/libgomp.c/declare-variant-4-gfx1030.c: New test.
541         * testsuite/libgomp.c/declare-variant-4-gfx1100.c: New test.
543 2024-01-26  Andrew Stubbs  <ams@baylibre.com>
545         * config/gcn/time.c (RTC_TICKS): Configure RDNA3.
546         (omp_get_wtime): Add RDNA3-compatible variant.
547         * plugin/plugin-gcn.c (max_isa_vgprs): Tune for gfx1030 and gfx1100.
549 2024-01-24  Tobias Burnus  <tburnus@baylibre.com>
550             Sandra Loosemore  <sandra@codesourcery.com>
552         * libgomp.texi (Runtime Library Routines): Document
553         omp_pause_resource, omp_pause_resource_all and
554         omp_target_memcpy{,_rect}{,_async}.
556 2024-01-22  Tobias Burnus  <tburnus@baylibre.com>
558         * testsuite/libgomp.c/declare-variant-4-fiji.c: Xfail as fiji
559         support is no longer enabled by default.
560         * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
562 2024-01-20  John David Anglin  <danglin@gcc.gnu.org>
564         * testsuite/libgomp.fortran/alloc-comp-3.f90: Increase
565         timeout by 2 on hppa*-*-*.
567 2024-01-20  John David Anglin  <danglin@gcc.gnu.org>
569         * testsuite/libgomp.c/simd-math-1.c: Don't run on
570         hppa*-*-hpux*.
572 2024-01-17  Jakub Jelinek  <jakub@redhat.com>
574         PR middle-end/113409
575         * testsuite/libgomp.c/bitint-1.c: New test.
577 2024-01-11  Julian Brown  <julian@codesourcery.com>
579         * libgomp.texi: C/C++ lvalues are supported now for map/to/from.
580         * testsuite/libgomp.c-c++-common/ind-base-4.c: New test.
581         * testsuite/libgomp.c-c++-common/unary-ptr-1.c: New test.
583 2024-01-10  Jakub Jelinek  <jakub@redhat.com>
585         PR libgomp/113192
586         * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
587         instead of \$(abs_top_srcdir)/testsuite/flock.
588         * configure: Regenerated.
590 2024-01-09  Julian Brown  <julian@codesourcery.com>
592         * testsuite/libgomp.c++/baseptrs-4.C: Remove commented-out cases that
593         now work.
594         * testsuite/libgomp.c++/baseptrs-6.C: New test.
595         * testsuite/libgomp.c++/ind-base-1.C: New test.
596         * testsuite/libgomp.c++/ind-base-2.C: New test.
597         * testsuite/libgomp.c++/lvalue-tofrom-1.C: New test.
598         * testsuite/libgomp.c++/lvalue-tofrom-2.C: New test.
599         * testsuite/libgomp.c++/map-comma-1.C: New test.
600         * testsuite/libgomp.c++/map-rvalue-ref-1.C: New test.
601         * testsuite/libgomp.c++/struct-ref-1.C: New test.
602         * testsuite/libgomp.c-c++-common/array-field-1.c: New test.
603         * testsuite/libgomp.c-c++-common/array-of-struct-1.c: New test.
604         * testsuite/libgomp.c-c++-common/array-of-struct-2.c: New test.
606 2024-01-09  Jakub Jelinek  <jakub@redhat.com>
608         PR libgomp/113192
609         * configure.ac (FLOCK): Use \$(abs_top_srcdir)/testsuite/flock
610         rather than $srcdir/testsuite/flock.
611         * configure: Regenerated.
613 2024-01-08  Thomas Schwinge  <thomas@codesourcery.com>
615         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
616         'EF_AMDGPU_MACH_AMDGCN_GFX1100'.
618 2024-01-08  Julian Brown  <julian@codesourcery.com>
620         * plugin/plugin-gcn.c (hsa_runtime_fn_info): Add
621         hsa_amd_memory_lock_fn, hsa_amd_memory_unlock_fn,
622         hsa_amd_memory_async_copy_rect_fn function pointers.
623         (init_hsa_runtime_functions): Add above functions, with
624         DLSYM_OPT_FN.
625         (GOMP_OFFLOAD_memcpy2d, GOMP_OFFLOAD_memcpy3d): New functions.
627 2024-01-08  Tobias Burnus  <tobias@codesourcery.com>
629         * plugin/plugin-gcn.c (gcn_gfx1100_s): New const string.
630         (gcn_isa_name_len): Fix length.
631         (isa_hsa_name, isa_code, max_isa_vgprs): Handle gfx1100.
633 2024-01-06  Tobias Burnus  <tobias@codesourcery.com>
635         * libgomp.texi (OpenMP Technical Report 12): Fix a typo.
636         (Device Memory Routines): Fix OpenMP 5.1 spec refs; add
637         omp_target_is_accessible.
638         (Environment Display Routine): Uncomment and add
639         omp_display_env description.
640         (OMP_DISPLAY_ENV): Update wording, add 'see also'.
642 2024-01-06  Mark Wielaard  <mark@klomp.org>
644         * configure: Regenerate.
646 2024-01-03  Jakub Jelinek  <jakub@redhat.com>
648         * libgomp.texi: Bump @copying's copyright year.
650 2023-12-21  Julian Brown  <julian@codesourcery.com>
652         * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL.
654 2023-12-20  Julian Brown  <julian@codesourcery.com>
656         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to
657         avoid out-of-bounds array checks in CUDA runtime.
658         (GOMP_OFFLOAD_memcpy3d): Likewise.
659         * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test.
661 2023-12-18  Jakub Jelinek  <jakub@redhat.com>
663         * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86,
664         drop because of that unneeded target selector from other directives
665         and remove the aarch64 specific ones.
667 2023-12-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
669         * testsuite/libgomp.c/declare-variant-1.c: Fixed test.
670         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
672 2023-12-15  Thomas Schwinge  <thomas@codesourcery.com>
674         * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict
675         'dg-output's to 'target offload_device_nonshared_as'.
677 2023-12-15  Julian Brown  <julian@codesourcery.com>
679         * oacc-mem.c (find_group_last, goacc_enter_data_internal,
680         goacc_exit_data_internal, GOACC_enter_exit_data): Add
681         GOMP_MAP_STRUCT_UNORD support.
682         * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support.
683         Detect incorrect use of variable indexing of arrays of structs.
684         (GOMP_target_enter_exit_data, gomp_target_task_fn): Add
685         GOMP_MAP_STRUCT_UNORD support.
686         * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test.
687         * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test.
688         * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test.
689         * testsuite/libgomp.fortran/map-subarray-5.f90: New test.
691 2023-12-13  Julian Brown  <julian@codesourcery.com>
693         * testsuite/libgomp.fortran/map-subarray.f90: New test.
694         * testsuite/libgomp.fortran/map-subarray-2.f90: New test.
695         * testsuite/libgomp.fortran/map-subarray-3.f90: New test.
696         * testsuite/libgomp.fortran/map-subarray-4.f90: New test.
697         * testsuite/libgomp.fortran/map-subarray-6.f90: New test.
698         * testsuite/libgomp.fortran/map-subarray-7.f90: New test.
699         * testsuite/libgomp.fortran/map-subarray-8.f90: New test.
700         * testsuite/libgomp.fortran/map-subcomponents.f90: New test.
701         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for
702         descriptor-mapping changes.  Remove XFAIL.
704 2023-12-13  Julian Brown  <julian@codesourcery.com>
706         * target.c (gomp_map_pointer): Modify zero-length array section
707         pointer handling.
708         (gomp_attach_pointer): Likewise.
709         (gomp_map_fields_existing): Use gomp_map_0len_lookup.
710         (gomp_attach_pointer): Allow attaching null pointers (or Fortran
711         "unassociated" pointers).
712         (gomp_map_vars_internal): Handle zero-sized struct members.  Add
713         diagnostic for unmapped struct pointer members.
714         * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test.
715         * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test.
716         * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test.
717         * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test.
718         * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
719         * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing
720         "free".
721         * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test.
722         * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test.
723         * testsuite/libgomp.c++/class-array-1.C: New test.
724         * testsuite/libgomp.c++/baseptrs-3.C: New test.
725         * testsuite/libgomp.c++/baseptrs-4.C: New test.
726         * testsuite/libgomp.c++/baseptrs-5.C: New test.
727         * testsuite/libgomp.c++/baseptrs-8.C: New test.
728         * testsuite/libgomp.c++/baseptrs-9.C: New test.
729         * testsuite/libgomp.c++/ref-mapping-1.C: New test.
730         * testsuite/libgomp.c++/target-48.C: New test.
731         * testsuite/libgomp.c++/target-49.C: New test.
732         * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test.
733         * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2
734         semantics.
735         * testsuite/libgomp.c++/target-this-3.C: Likewise.
736         * testsuite/libgomp.c++/target-this-4.C: Likewise.
737         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL.
738         * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise.
740 2023-12-13  Thomas Schwinge  <thomas@codesourcery.com>
742         * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t'
743         vs. '%ld' format string mismatch.
745 2023-12-13  Andrew Stubbs  <ams@codesourcery.com>
746             Thomas Schwinge  <thomas@codesourcery.com>
748         * allocator.c (MEMSPACE_ALLOC): Add PIN.
749         (MEMSPACE_CALLOC): Add PIN.
750         (MEMSPACE_REALLOC): Add PIN.
751         (MEMSPACE_FREE): Add PIN.
752         (MEMSPACE_VALIDATE): Add PIN.
753         (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning.
754         (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
755         (omp_aligned_calloc): Likewise.
756         (omp_realloc): Likewise.
757         (omp_free): Likewise.
758         * config/linux/allocator.c: New file.
759         * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
760         (MEMSPACE_CALLOC): Add PIN.
761         (MEMSPACE_REALLOC): Add PIN.
762         (MEMSPACE_FREE): Add PIN.
763         (MEMSPACE_VALIDATE): Add PIN.
764         * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN.
765         (MEMSPACE_CALLOC): Add PIN.
766         (MEMSPACE_REALLOC): Add PIN.
767         (MEMSPACE_FREE): Add PIN.
768         * libgomp.texi: Switch pinned trait to supported.
769         (MEMSPACE_VALIDATE): Add PIN.
770         * testsuite/libgomp.c/alloc-pinned-1.c: New test.
771         * testsuite/libgomp.c/alloc-pinned-2.c: New test.
772         * testsuite/libgomp.c/alloc-pinned-3.c: New test.
773         * testsuite/libgomp.c/alloc-pinned-4.c: New test.
775 2023-12-11  Lipeng Zhu  <lipeng.zhu@intel.com>
777         * testsuite/libgomp.fortran/rwlock_1.f90: New file.
778         * testsuite/libgomp.fortran/rwlock_2.f90: New file.
779         * testsuite/libgomp.fortran/rwlock_3.f90: New file.
781 2023-12-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
783         * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64.
784         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
786 2023-12-11  Tobias Burnus  <tobias@codesourcery.com>
788         * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add.
790 2023-12-08  Tobias Burnus  <tobias@codesourcery.com>
792         * allocator.c (struct fort_alloc_splay_tree_key_s,
793         fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New.
794         * libgomp.h: Define splay_tree_static for 'reverse' splay tree.
795         * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and
796         GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ...
797         (GOMP_5.1.1): ... here.
798         * libgomp.texi (Impl. Status, Memory management): Update for
799         allocators/allocate directives.
800         * splay-tree.c: Handle splay_tree_static define to declare all
801         functions as static.
802         (splay_tree_lookup_node): New.
803         * splay-tree.h: Handle splay_tree_decl_only define.
804         (splay_tree_lookup_node): New prototype.
805         * target.c: Define splay_tree_static for 'reverse'.
806         * testsuite/libgomp.fortran/allocators-1.f90: New test.
807         * testsuite/libgomp.fortran/allocators-2.f90: New test.
808         * testsuite/libgomp.fortran/allocators-3.f90: New test.
809         * testsuite/libgomp.fortran/allocators-4.f90: New test.
810         * testsuite/libgomp.fortran/allocators-5.f90: New test.
812 2023-12-06  Andrew Stubbs  <ams@codesourcery.com>
814         * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here.
815         (TEAM_ARENA_FREE): Likewise.
816         (TEAM_ARENA_END): Likewise.
817         (GCN_LOWLAT_HEAP): New.
818         * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h.
819         (__gcn_lowlat_init): New prototype.
820         (gomp_gcn_enter_kernel): Initialize the low-latency heap.
821         * libgomp.h (TEAM_ARENA_START): Move to libgomp.h.
822         (TEAM_ARENA_FREE): Likewise.
823         (TEAM_ARENA_END): Likewise.
824         * plugin/plugin-gcn.c (lowlat_size): New variable.
825         (print_kernel_dispatch): Label the group_segment_size purpose.
826         (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL.
827         (create_kernel_dispatch): Pass low-latency head allocation to kernel.
828         (run_kernel): Use shadow; don't assume values.
829         * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn.
830         * config/gcn/allocator.c: New file.
831         * libgomp.texi: Document low-latency implementation details.
833 2023-12-06  Andrew Stubbs  <ams@codesourcery.com>
835         * allocator.c (MEMSPACE_VALIDATE): New macro.
836         (omp_init_allocator): Use MEMSPACE_VALIDATE.
837         (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID.
838         (omp_aligned_calloc): Likewise.
839         (omp_realloc): Likewise.
840         * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
841         (MEMSPACE_VALIDATE): New macro.
842         (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define.
843         * libgomp.texi: Document low-latency implementation details.
844         * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat.
845         * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat.
846         * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat.
847         * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait.
848         * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat.
849         * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait.
850         * testsuite/libgomp.c/omp_alloc-traits.c: New test.
852 2023-12-06  Andrew Stubbs  <ams@codesourcery.com>
853             Kwok Cheung Yeung   <kcy@codesourcery.com>
854             Thomas Schwinge  <thomas@codesourcery.com>
856         * allocator.c (MEMSPACE_ALLOC): New macro.
857         (MEMSPACE_CALLOC): New macro.
858         (MEMSPACE_REALLOC): New macro.
859         (MEMSPACE_FREE): New macro.
860         (predefined_alloc_mapping): New array.  Add _Static_assert to match.
861         (ARRAY_SIZE): New macro.
862         (omp_aligned_alloc): Use MEMSPACE_ALLOC.
863         Implement fall-backs for predefined allocators.  Simplify existing
864         fall-backs.
865         (omp_free): Use MEMSPACE_FREE.
866         (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for
867         predefined allocators.  Simplify existing fall-backs.
868         (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE.
869         Implement fall-backs for predefined allocators.  Simplify existing
870         fall-backs.
871         * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable.
872         (__nvptx_lowlat_init): New prototype.
873         (gomp_nvptx_main): Call __nvptx_lowlat_init.
874         * libgomp.texi: Update memory space table.
875         * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
876         (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
877         (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
878         * basic-allocator.c: New file.
879         * config/nvptx/allocator.c: New file.
880         * testsuite/libgomp.c/omp_alloc-1.c: New test.
881         * testsuite/libgomp.c/omp_alloc-2.c: New test.
882         * testsuite/libgomp.c/omp_alloc-3.c: New test.
883         * testsuite/libgomp.c/omp_alloc-4.c: New test.
884         * testsuite/libgomp.c/omp_alloc-5.c: New test.
885         * testsuite/libgomp.c/omp_alloc-6.c: New test.
887 2023-11-30  Thomas Schwinge  <thomas@codesourcery.com>
889         * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust.
890         * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
891         * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
892         * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
893         * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
894         * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
895         * testsuite/libgomp.c/declare-variant-4.h: Likewise.
896         * testsuite/libgomp.c/declare-variant-4.c: New.
898 2023-11-30  Thomas Schwinge  <thomas@codesourcery.com>
900         * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run'
901         into 'dg-do link'.
902         * testsuite/libgomp.c/declare-variant-3.c: New.
903         * testsuite/libgomp.c/declare-variant-3.h: Extend.
905 2023-11-30  Thomas Schwinge  <thomas@codesourcery.com>
907         * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict
908         'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'.
909         * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
910         * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
911         * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
912         * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
913         * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
914         * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict
915         'scan-offload-tree-dump' to
916         'only_for_offload_target amdgcn-amdhsa'.
917         * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
918         * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
919         * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
920         * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
921         * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
923 2023-11-30  Thomas Schwinge  <thomas@codesourcery.com>
925         * testsuite/libgomp.c/declare-variant-3-sm30.c:
926         'dg-additional-options -foffload=nvptx-none'.
927         * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
928         * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
929         * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
930         * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
931         * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
933 2023-11-29  Thomas Schwinge  <thomas@codesourcery.com>
935         * testsuite/libgomp.c/target-simd-clone-1.c: Restrict
936         'scan-offload-ipa-dump's to
937         'only_for_offload_target amdgcn-amdhsa'.
938         * testsuite/libgomp.c/target-simd-clone-2.c: Likewise.
939         * testsuite/libgomp.c/target-simd-clone-3.c: Likewise.
941 2023-11-24  Tobias Burnus  <tobias@codesourcery.com>
943         * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause
944         is now supported.
946 2023-11-22  Thomas Schwinge  <thomas@codesourcery.com>
948         * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70)
949         (f75, f80, f): Add '__attribute__ ((noipa))'.
950         * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906)
951         (gfx908, gfx90a, f): Likewise.
953 2023-11-15  Andrew Stubbs  <ams@codesourcery.com>
954             Andrew Jenner   <andrew@codesourcery.com>
956         * plugin/plugin-gcn.c (max_isa_vgprs): New.
957         (run_kernel): CDNA2 devices have more VGPRs.
959 2023-11-10  Tobias Burnus  <tobias@codesourcery.com>
961         * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
962         renamed section from TR11.
964 2023-11-07  Kwok Cheung Yeung  <kcy@codesourcery.com>
966         * config/linux/target-indirect.c: Move to...
967         * target-indirect.c: ...here.
969 2023-11-07  Kwok Cheung Yeung  <kcy@codesourcery.com>
971         * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c.
972         * Makefile.in: Regenerate.
973         * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define.
974         (GOMP_OFFLOAD_load_image): Add extra argument.
975         * libgomp.h (struct indirect_splay_tree_key_s): New.
976         (indirect_splay_tree_node, indirect_splay_tree,
977         indirect_splay_tree_key): New.
978         (indirect_splay_compare): New.
979         * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr.
980         * libgomp.texi (OpenMP 5.1): Update documentation on indirect
981         calls in target region and on indirect clause.
982         (Other new OpenMP 5.2 features): Add entry for virtual function calls.
983         * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype.
984         * oacc-host.c (host_load_image): Add extra argument.
985         * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high
986         enough, read host indirect functions table and pass to
987         load_image_func.
988         * config/accel/target-indirect.c: New.
989         * config/linux/target-indirect.c: New.
990         * config/gcn/team.c (build_indirect_map): Add prototype.
991         (gomp_gcn_enter_kernel): Initialize support for indirect
992         function calls on GCN target.
993         * config/nvptx/team.c (build_indirect_map): Add prototype.
994         (gomp_nvptx_main): Initialize support for indirect function
995         calls on NVPTX target.
996         * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for
997         indirect functions count.
998         (GOMP_OFFLOAD_load_image): Add extra argument.  If the GOMP_VERSION
999         is high enough, build address translation table and copy it to target
1000         memory.
1001         * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect
1002         functions count.
1003         (GOMP_OFFLOAD_load_image): Add extra argument.  If the GOMP_VERSION
1004         is high enough, Build address translation table and copy it to target
1005         memory.
1006         * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New.
1007         * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New.
1008         * testsuite/libgomp.c++/declare-target-indirect-1.C: New.
1010 2023-11-05  Jakub Jelinek  <jakub@redhat.com>
1012         * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
1013         supported also in C.
1015 2023-10-31  Thomas Schwinge  <thomas@codesourcery.com>
1017         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
1018         'acc_map_data' variant.
1020 2023-10-25  Thomas Schwinge  <thomas@codesourcery.com>
1022         * oacc-parallel.c (GOACC_data_start): Handle
1023         'GOACC_FLAG_LOCAL_DEVICE'.
1024         (GOACC_parallel_keyed): Simplify accordingly.
1025         * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
1027 2023-10-25  Thomas Schwinge  <thomas@codesourcery.com>
1029         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
1030         * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
1031         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1032         * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
1033         * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
1035 2023-10-25  Chung-Lin Tang  <cltang@codesourcery.com>
1037         * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
1038         GOACC_FLAG_LOCAL_DEVICE case.
1039         * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
1041 2023-10-22  Iain Sandoe  <iain@sandoe.co.uk>
1043         * Makefile.am: Handle Darwin rpaths.
1044         * Makefile.in: Regenerate.
1045         * configure: Regenerate.
1046         * configure.ac: Handle Darwin rpaths
1048 2023-10-20  Andrew Stubbs  <ams@codesourcery.com>
1050         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
1051         (isa_hsa_name): Recognise gfx1030.
1052         (isa_code): Likewise.
1053         * team.c (defined): Remove s_endpgm.
1055 2023-10-20  Tobias Burnus  <tobias@codesourcery.com>
1057         * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
1058         _OPENMP >= 201811.
1060 2023-10-15  Tobias Burnus  <tobias@codesourcery.com>
1062         * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
1063         improve wording especially for Fortran; mention -fopenmp-simd.
1064         (Enabling OpenACC): Minor cleanup; remove conditional compilation
1065         sentinel.
1067 2023-10-15  Tobias Burnus  <tobias@codesourcery.com>
1069         * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
1070         Actually document what the function does.
1071         (GCC_ACC_NOTIFY): Remove unused env var.
1073 2023-10-15  Tobias Burnus  <tobias@codesourcery.com>
1075         * libgomp.texi: Replace most future tense by present tense.
1077 2023-10-14  Tobias Burnus  <tobias@codesourcery.com>
1079         * testsuite/libgomp.fortran/allocate-6.f90: Add missing
1080         dg-additional-options "-fdump-tree-gimple"; fix scan.
1082 2023-10-14  Tobias Burnus  <tobias@codesourcery.com>
1084         * libgomp.texi: Fix some typos.
1085         (Memory Management Routines): Document remaining 5.x routines.
1086         (Memory allocation): Make clear when the section applies.
1088 2023-10-14  Tobias Burnus  <tobias@codesourcery.com>
1090         * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
1091         supports the allocate directive for stack variables.
1092         * testsuite/libgomp.fortran/allocate-5.f90: New test.
1093         * testsuite/libgomp.fortran/allocate-6.f90: New test.
1094         * testsuite/libgomp.fortran/allocate-7.f90: New test.
1095         * testsuite/libgomp.fortran/allocate-8.f90: New test.
1097 2023-10-12  Tobias Burnus  <tobias@codesourcery.com>
1099         * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
1100         OMP_TARGET_OFFLOAD.
1101         (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
1102         clarify MANDATORY behavior.
1104 2023-10-12  Zhang, Jun  <jun.zhang@intel.com>
1106         * env.c (initialize_env): Use do_adjust_default_spincount.
1107         * config/linux/x86/spincount.h: New file.
1109 2023-10-08  Tobias Burnus  <tobias@codesourcery.com>
1111         * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
1113 2023-10-06  Tobias Burnus  <tobias@codesourcery.com>
1115         * libgomp.texi (Device Memory Routines): New.
1117 2023-10-04  Tobias Burnus  <tobias@codesourcery.com>
1119         * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
1120         and that other target archs have no 'arch'/'isa' traits implemented.
1122 2023-09-20  Tobias Burnus  <tobias@codesourcery.com>
1124         * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
1125         implemented for C only.
1126         * testsuite/libgomp.c/allocate-4.c: New test.
1127         * testsuite/libgomp.c/allocate-5.c: New test.
1128         * testsuite/libgomp.c/allocate-6.c: New test.
1130 2023-09-20  Jakub Jelinek  <jakub@redhat.com>
1132         PR c++/111392
1133         * libgomp.texi: Mark decl attribute was added to the C++ attribute
1134         syntax as implemented.
1136 2023-09-19  Jakub Jelinek  <jakub@redhat.com>
1138         PR libgomp/111413
1139         * env.c (initialize_env): Don't dereference environ if it is NULL.
1140         Reindent.
1142 2023-09-18  Richard Biener  <rguenther@suse.de>
1144         PR tree-optimization/111294
1145         * team.c (gomp_team_start): Assert alloca size to avoid false
1146         positive alloc-size diagnostic.
1148 2023-09-12  Thomas Schwinge  <thomas@codesourcery.com>
1149             Chung-Lin Tang  <cltang@codesourcery.com>
1151         PR testsuite/91884
1152         PR testsuite/109951
1153         * configure.ac: Revert earlier changes, instead
1154         'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
1155         * Makefile.in: Regenerate.
1156         * configure: Likewise.
1157         * testsuite/Makefile.in: Likewise.
1158         * testsuite/lib/libgomp.exp (libgomp_init): Remove
1159         "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
1160         If '--with-build-sysroot=[...]' was specified, use it for
1161         build-tree testing.
1162         * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
1163         (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
1164         (SYSROOT_CFLAGS_FOR_TARGET): Set.
1165         * testsuite/libgomp.c++/c++.exp (lang_source_re)
1166         (lang_include_flags): Set for build-tree testing.
1167         * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
1168         (lang_include_flags): Likewise.
1170 2023-09-07  Tobias Burnus  <tobias@codesourcery.com>
1172         * libgomp.texi (Memory Management Routines): New; add documentation for
1173         omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
1174         omp_get_default_allocator.
1175         (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
1177 2023-09-07  Tobias Burnus  <tobias@codesourcery.com>
1179         * target.c (gomp_unload_device): Remove tailing whitespace.
1181 2023-09-04  Tobias Burnus  <tobias@codesourcery.com>
1182             Thomas Schwinge  <thomas@codesourcery.com>
1184         * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
1186 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
1188         * libgomp.texi (OpenMP 5.0):  Imperfectly-nested loops are done.
1190 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
1192         * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
1193         * testsuite/libgomp.fortran/imperfect1.f90: New.
1194         * testsuite/libgomp.fortran/imperfect2.f90: New.
1195         * testsuite/libgomp.fortran/imperfect3.f90: New.
1196         * testsuite/libgomp.fortran/imperfect4.f90: New.
1197         * testsuite/libgomp.fortran/target-imperfect1.f90: New.
1198         * testsuite/libgomp.fortran/target-imperfect2.f90: New.
1199         * testsuite/libgomp.fortran/target-imperfect3.f90: New.
1200         * testsuite/libgomp.fortran/target-imperfect4.f90: New.
1202 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
1204         * testsuite/libgomp.c-c++-common/imperfect1.c: New.
1205         * testsuite/libgomp.c-c++-common/imperfect2.c: New.
1206         * testsuite/libgomp.c-c++-common/imperfect3.c: New.
1207         * testsuite/libgomp.c-c++-common/imperfect4.c: New.
1208         * testsuite/libgomp.c-c++-common/imperfect5.c: New.
1209         * testsuite/libgomp.c-c++-common/imperfect6.c: New.
1210         * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
1211         * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
1212         * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
1213         * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
1215 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
1217         * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
1218         * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
1219         * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
1220         * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
1221         * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
1222         * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
1223         * testsuite/libgomp.c++/imperfect-class-1.C: New test.
1224         * testsuite/libgomp.c++/imperfect-class-2.C: New test.
1225         * testsuite/libgomp.c++/imperfect-class-3.C: New test.
1226         * testsuite/libgomp.c++/imperfect-destructor.C: New test.
1227         * testsuite/libgomp.c++/imperfect-template-1.C: New test.
1228         * testsuite/libgomp.c++/imperfect-template-2.C: New test.
1229         * testsuite/libgomp.c++/imperfect-template-3.C: New test.
1231 2023-08-22  Francois-Xavier Coudert  <fxcoudert@gmail.com>
1233         * testsuite/lib/libgomp.exp: Add effective target.
1234         * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
1235         functions.
1237 2023-08-22  Tobias Burnus  <tobias@codesourcery.com>
1239         * libgomp.texi (OpenMP 5.2 status): Add depobj with
1240         destroy-var argument as 'N'. Mark defaultmap with
1241         'all' category as 'Y'.
1243 2023-08-19  Tobias Burnus  <tobias@codesourcery.com>
1245         PR middle-end/111017
1246         * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
1248 2023-08-17  Tobias Burnus  <tobias@codesourcery.com>
1250         PR libgomp/111024
1251         * allocator.c (gomp_init_libnuma): Call numa_available; if
1252         not available or not returning 0, disable libnuma usage.
1254 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
1256         * configure: Regenerate.
1258 2023-08-07  Alexander von Gluck IV  <kallisti5@unixzen.com>
1260         * configure: Regenerate.
1262 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
1264         * configure: Regenerate.
1266 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
1268         * configure: Regenerate.
1270 2023-08-07  H.J. Lu  <hjl.tools@gmail.com>
1272         * configure: Regenerate.
1274 2023-08-07  H.J. Lu  <hjl.tools@gmail.com>
1276         * configure: Regenerate.
1278 2023-07-29  Tobias Burnus  <tobias@codesourcery.com>
1280         * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
1281         GOMP_OFFLOAD_CAP_SHARED_MEM.
1282         (omp_target_memcpy_rect_copy): Likewise for lock condition.
1283         (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
1284         memcpy3d/memcpy2d.
1285         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
1286         GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
1287         unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
1289 2023-07-26  Tobias Burnus  <tobias@codesourcery.com>
1291         * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
1292         GOMP_OFFLOAD_memcpy3d): New prototypes.
1293         * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
1294         and memcpy3d_func.
1295         * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
1296         * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
1297         * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
1298         cuMemcpy3D): Invoke via CUDA_ONE_CALL.
1299         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
1300         GOMP_OFFLOAD_memcpy3d): New.
1301         * target.c (omp_target_memcpy_rect_worker):
1302         (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
1303         Permit all device-to-device copyies; invoke new plugins for
1304         2D and 3D copying when available.
1305         (gomp_load_plugin_for_device): DLSYM the new plugin functions.
1306         * testsuite/libgomp.c/target-12.c: Fix dimension bug.
1307         * testsuite/libgomp.fortran/target-12.f90: Likewise.
1308         * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
1310 2023-07-26  Tobias Burnus  <tobias@codesourcery.com>
1312         * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
1313         (Tasking Routines): Document omp_in_explicit_task.
1314         (Implementation-defined ICV Initialization): Use @ref not @code.
1316 2023-07-20  Tobias Burnus  <tobias@codesourcery.com>
1318         * libgomp.texi (OpenMP Runtime Library Routines):
1319         Split long list by adding sections and moving routines there.
1320         (OMP_ALLOCATORS): Fix typo.
1322 2023-07-19  Tobias Burnus  <tobias@codesourcery.com>
1324         PR fortran/107424
1325         * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
1326         * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
1327         commented tests.
1328         * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
1329         test file; tests are in non-rectangular-loop-1.f90.
1330         * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
1331         testcase to use a non-constant step to retain the 'sorry' test.
1332         * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
1334 2023-07-17  Tobias Burnus  <tobias@codesoucery.com>
1335             Chung-Lin Tang  <cltang@codesourcery.com>
1337         * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
1338         * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
1340 2023-07-14  Tobias Burnus  <tobias@codesourcery.com>
1342         * libgomp.texi (OMP_ALLOCATOR): Document the default values for
1343         the traits. Add crossref to 'Memory allocation'.
1344         (Memory allocation): Refer to OMP_ALLOCATOR for the available
1345         traits and allocators/mem spaces; document the default value
1346         for the pool_size trait.
1348 2023-07-14  Tobias Burnus  <tobias@codesourcery.com>
1350         * allocator.c (omp_init_allocator): Check whether symbol from
1351         dlopened libnuma is available before using libnuma for
1352         allocations.
1354 2023-07-13  David Edelsohn  <dje.gcc@gmail.com>
1356         * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
1357         * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
1358         * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
1360 2023-07-12  Tobias Burnus  <tobias@codesourcery.com>
1362         * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
1363         'Memory allocation' section which contains the full status.
1364         (TR11): Remove differently worded duplicated entry.
1366 2023-07-12  Tobias Burnus  <tobias@codesourcery.com>
1368         * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
1369         (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
1370         add GOMP_MEMKIND_LIBNUMA.
1371         (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
1372         (omp_init_allocator): Handle partition=nearest with libnuma if avail.
1373         (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
1374         numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
1375         needed.
1376         * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
1377         * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
1378         (Memory allocation): Renamed from 'Memory allocation with libmemkind';
1379         updated for libnuma usage.
1380         * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
1381         * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
1383 2023-07-11  Tobias Burnus  <tobias@codesourcery.com>
1385         * allocator.c (omp_init_allocator): Use malloc for
1386         omp_high_bw_mem_space when the memkind lib is unavailable
1387         instead of returning omp_null_allocator.
1388         * libgomp.texi (OpenMP 5.0): Fix typo.
1389         (Memory allocation with libmemkind): Document implementation
1390         in more detail.
1392 2023-06-22  Tobias Burnus  <tobias@codesourcery.com>
1394         * libgomp.texi: Use @var for ICV vars.
1395         (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
1396         document which ICV is set and which scope the ICV has; extend/cleanup
1397         some @ref.
1398         (Implementation-defined ICV Initialization): New.
1399         (nvptx): Document the implementation-defined used per-warp stack size.
1401 2023-06-19  Thomas Schwinge  <thomas@codesourcery.com>
1403         * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
1404         error.
1406 2023-06-19  Tobias Burnus  <tobias@codesourcery.com>
1408         * testsuite/libgomp.c/target-51.c: Accept more error msg variants
1409         as expected dg-output.
1411 2023-06-19  Tobias Burnus  <tobias@codesourcery.com>
1413         PR middle-end/110270
1414         * target.c (gomp_map_vars_internal): Copy host value instead of NULL
1415         for  GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
1416         * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
1417         * testsuite/libgomp.c/target-19.c: Update expected value.
1418         * testsuite/libgomp.c++/target-18.C: Likewise.
1419         * testsuite/libgomp.c++/target-19.C: Likewise.
1420         * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
1421         * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
1422         * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
1424 2023-06-16  Tobias Burnus  <tobias@codesourcery.com>
1426         * target.c (resolve_device): Call gomp_get_num_devices early to ensure
1427         gomp_init_targets_once was called before using default-device-var.
1428         * testsuite/libgomp.c/target-55.c: New test.
1429         * testsuite/libgomp.c/target-55a.c: New test.
1431 2023-06-15  Tobias Burnus  <tobias@codesourcery.com>
1433         * env.c (gomp_def_allocator_envvar): New var.
1434         (parse_allocator): Handle OpenMP 5.1 syntax.
1435         (cleanup_env): New.
1436         (omp_display_env): Output gomp_def_allocator_envvar
1437         for an allocator with traits.
1438         * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
1439         OMP_DISPLAY_AFFINITY): New.
1440         * testsuite/libgomp.c/allocator-1.c: New test.
1441         * testsuite/libgomp.c/allocator-2.c: New test.
1442         * testsuite/libgomp.c/allocator-3.c: New test.
1443         * testsuite/libgomp.c/allocator-4.c: New test.
1444         * testsuite/libgomp.c/allocator-5.c: New test.
1445         * testsuite/libgomp.c/allocator-6.c: New test.
1447 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
1449         * target.c (resolve_device): Align a
1450         'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
1451         * testsuite/libgomp.c/target-51.c: Adjust.
1453 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
1455         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
1456         set.
1457         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
1458         Likewise.
1459         * testsuite/libgomp.c/simd-math-1.c: Remove
1460         '-foffload-options=-lm'.
1461         * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
1462         Likewise.
1463         * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
1464         Likewise.
1466 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
1468         * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
1469         * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
1470         Likewise.
1472 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
1474         * testsuite/libgomp.c/target-51.c: Fix typo.
1476 2023-06-14  Tobias Burnus  <tobias@codesourcery.com>
1478         * env.c (gomp_default_icv_values): Init default_device_var to
1479         an nonconforming value - INT_MIN.
1480         (initialize_env): After env-var parsing, set default_device_var to
1481         device 0 unless OMP_TARGET_OFFLOAD=mandatory.
1482         (omp_display_env): If default_device_var is INT_MIN, call
1483         gomp_init_targets_once.
1484         * icv-device.c (omp_get_default_device): Likewise.
1485         * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
1486         (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
1487         * target.c (resolve_device): Improve error message device-num < 0
1488         with 'mandatory' and no no-host devices available.
1489         (gomp_target_init): Set default-device-var if INT_MIN.
1490         * testsuite/libgomp.c/target-48.c: New test.
1491         * testsuite/libgomp.c/target-49.c: New test.
1492         * testsuite/libgomp.c/target-50.c: New test.
1493         * testsuite/libgomp.c/target-50a.c: New test.
1494         * testsuite/libgomp.c/target-51.c: New test.
1495         * testsuite/libgomp.c/target-52.c: New test.
1496         * testsuite/libgomp.c/target-53.c: New test.
1497         * testsuite/libgomp.c/target-54.c: New test.
1499 2023-06-13  Tobias Burnus  <tobias@codesourcery.com>
1501         PR libgomp/109837
1502         * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
1503         * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
1505 2023-06-12  Tobias Burnus  <tobias@codesourcery.com>
1507         * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
1508         GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
1509         (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
1510         error message.
1511         * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
1512         changed error message.
1513         * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1514         * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
1515         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1516         * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
1517         extend testcase to check that data is copied when needed.
1518         * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1519         * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1521 2023-06-07  Thomas Schwinge  <thomas@codesourcery.com>
1522             Tobias Burnus  <tobias@codesourcery.com>
1524         * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
1525         also for non-offload_device targets; check that it runs
1526         successfully for those and for all until a checkpoint for all
1527         * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
1528         * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1529         * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1530         * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1531         * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
1532         add missing vars to map clause.
1534 2023-06-06  Tobias Burnus  <tobias@codesourcery.com>
1536         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
1537         unified_address requirement as supported.
1538         * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
1539         'unified_address' from the not-supported requirements.
1541 2023-06-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
1542             Tobias Burnus  <tobias@codesourcery.com>
1544         * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
1545         defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
1546         * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
1547         modifier.
1548         (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
1549         (gomp_map_vars_internal, gomp_update, gomp_target_rev):
1550         Emit runtime error if memory region not present.
1551         * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
1552         * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
1553         * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
1554         * testsuite/libgomp.fortran/target-present-1.f90: New test.
1555         * testsuite/libgomp.fortran/target-present-2.f90: New test.
1556         * testsuite/libgomp.fortran/target-present-3.f90: New test.
1558 2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
1560         PR testsuite/66005
1561         * testsuite/lib/libgomp.exp: 'flock' through stdout.
1562         * testsuite/flock: New.
1563         * configure.ac (FLOCK): Point to that if no 'flock' available, but
1564         'perl' is.
1565         * configure: Regenerate.
1567 2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
1569         * configure.ac (PERL): Remove.
1570         * configure: Regenerate.
1571         * Makefile.in: Likewise.
1572         * testsuite/Makefile.in: Likewise.
1574 2023-06-01  Tobias Burnus  <tobias@codesourcery.com>
1576         * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
1578 2023-05-26  Tobias Burnus  <tobias@codesourcery.com>
1580         * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
1582 2023-05-21  Tobias Burnus  <tobias@codesourcery.com>
1584         PR libgomp/109875
1585         * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
1586         * config/nvptx/target.c (GOMP_teams4): Likewise.
1587         * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
1588         * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
1589         * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
1590         * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
1592 2023-05-19  Jakub Jelinek  <jakub@redhat.com>
1594         PR libgomp/109904
1595         * configure.ac (link_gomp): Include also $DL_LIBS.
1596         * configure: Regenerated.
1598 2023-05-17  Tobias Burnus  <tobias@codesourcery.com>
1600         * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
1601         'target exit data'.
1602         * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
1603         * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
1604         * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
1605         * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
1607 2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
1609         PR testsuite/66005
1610         * configure.ac: Look for 'flock'.
1611         * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
1612         * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
1613         * testsuite/lib/libgomp.exp: ... but here, instead.
1614         (libgomp_load): Override for parallel testing.
1615         * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
1616         * configure: Regenerate.
1617         * Makefile.in: Regenerate.
1618         * testsuite/Makefile.in: Regenerate.
1620 2023-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1621             Thomas Schwinge  <thomas@codesourcery.com>
1623         PR testsuite/66005
1624         * testsuite/Makefile.am (PWD_COMMAND): New variable.
1625         (%/site.exp): New target.
1626         (check_p_numbers0, check_p_numbers1, check_p_numbers2)
1627         (check_p_numbers3, check_p_numbers4, check_p_numbers5)
1628         (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
1629         (check_p_subdirs)
1630         (check_DEJAGNU_libgomp_targets): New variables.
1631         ($(check_DEJAGNU_libgomp_targets)): New target.
1632         ($(check_DEJAGNU_libgomp_targets)): New dependency.
1633         (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
1634         * testsuite/Makefile.in: Regenerate.
1635         * testsuite/lib/libgomp.exp: For parallel testing,
1636         'load_file ../libgomp-test-support.exp'.
1638 2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
1640         PR testsuite/91884
1641         * configure.ac: 'AC_SUBST(CXX)'.
1642         * configure: Regenerate.
1643         * Makefile.in: Likewise.
1644         * testsuite/Makefile.in: Likewise.
1645         * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
1646         (GFORTRAN_UNDER_TEST): Set.
1647         * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
1648         * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
1649         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1650         * testsuite/libgomp.fortran/fortran.exp: Use
1651         'GFORTRAN_UNDER_TEST'.
1652         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1654 2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
1656         PR testsuite/91884
1657         * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
1658         specify compiler.
1659         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
1660         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1661         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1662         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1663         Likewise.
1664         * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
1665         * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
1666         * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
1667         Likewise.
1669 2023-05-12  Tobias Burnus  <tobias@codesourcery.com>
1671         PR libstdc++/109816
1672         * testsuite/libgomp.c++/target-map-class-1.C: New test.
1673         * testsuite/libgomp.c++/target-map-class-2.C: New test.
1675 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
1677         * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
1678         'lang_library_path' into a list of 'lang_library_paths'.
1679         * testsuite/libgomp.c++/c++.exp: Adjust.
1680         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1681         * testsuite/libgomp.fortran/fortran.exp: Adjust.  Use that for
1682         libquadmath, too.
1683         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1685 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
1687         * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
1688         at 'lang_test_file_found'.
1689         * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
1690         'return' early if not able to test.  Simplify 'ld_library_path' setup.
1691         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1692         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1693         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1695 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
1697         * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
1698         first.
1699         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1700         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1701         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1703 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
1705         * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
1706         * testsuite/libgomp.c/c.exp: Likewise.
1707         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1708         * testsuite/libgomp.graphite/graphite.exp: Likewise.
1709         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1710         * testsuite/libgomp.oacc-c/c.exp: Likewise.
1711         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1713 2023-05-09  Thomas Schwinge  <thomas@codesourcery.com>
1715         * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
1716         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1717         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1718         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1719         * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
1720         'lang_test_file'.
1721         * testsuite/libgomp.oacc-c/c.exp: Likewise.
1722         * testsuite/libgomp.graphite/graphite.exp: Likewise.
1723         * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
1724         'lang_test_file_found' instead of 'lang_test_file'.
1726 2023-05-09  Thomas Schwinge  <thomas@codesourcery.com>
1728         * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
1729         set.
1730         * testsuite/libgomp.c++/c++.exp: Likewise.
1731         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1733 2023-05-09  Thomas Schwinge  <thomas@codesourcery.com>
1735         * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
1736         * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
1738 2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
1740         * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
1741         of 'libstdcxx_includes'.
1742         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1744 2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
1746         * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
1747         'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
1748         * libgomp.h (gomp_target_rev): Adjust.
1749         * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
1750         * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
1751         * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
1752         * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
1753         (rev_off_host_to_dev_cpy): Remove.
1754         (GOMP_OFFLOAD_run): Adjust.
1756 2023-05-04  Julian Brown  <julian@codesourcery.com>
1758         PR fortran/109622
1759         * testsuite/libgomp.fortran/pr109622.f90: Move test...
1760         * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
1761         vector length warning.
1762         * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
1763         * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here.  Add
1764         missing copyin/copyout variable. Ignore vector length warnings.
1765         * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
1766         * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here.  Ignore
1767         vector length warnings.
1768         * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
1770 2023-04-28  Julian Brown  <julian@codesourcery.com>
1772         PR fortran/109622
1773         * testsuite/libgomp.fortran/pr109622.f90: New test.
1774         * testsuite/libgomp.fortran/pr109622-2.f90: New test.
1775         * testsuite/libgomp.fortran/pr109622-3.f90: New test.
1777 2023-04-25  Tobias Burnus  <tobias@codesourcery.com>
1779         * testsuite/libgomp.c-c++-common/scan-1.c: New test.
1780         * testsuite/libgomp.c/scan-23.c: New test.
1781         * testsuite/libgomp.fortran/scan-2.f90: New test.
1783 2023-03-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1785         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
1786         weak_undefined options.
1788 2023-03-24  Tobias Burnus  <tobias@codesourcery.com>
1790         * libgomp.texi (Offload-Target Specifics): Grammar fix.
1792 2023-03-24  Thomas Schwinge  <thomas@codesourcery.com>
1794         PR fortran/104949
1795         * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
1796         caveat/safeguard.
1798 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1800         PR libgomp/90596
1801         * target.c (gomp_map_vars_internal): Allow for
1802         'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
1803         * oacc-parallel.c (GOACC_parallel_keyed): Pass
1804         'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
1805         * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
1806         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1807         Adjust, simplify.
1808         (gomp_offload_free): Remove.
1809         * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1810         (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
1811         (cuda_free_argmem): Remove.
1812         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1813         Adjust.
1815 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1817         * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
1818         libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
1819         data.
1821 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1823         * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
1824         'GOMP_MAP_IF_PRESENT'.
1825         * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
1826         (GOMP_OFFLOAD_openacc_async_exec): Adjust.
1827         * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1828         (GOMP_OFFLOAD_openacc_async_exec): Likewise.
1829         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
1830         testing.
1831         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
1833 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1835         * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
1836         shortcut.
1838 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1840         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
1841         another aspect of OpenACC 'async' semantics.
1843 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1845         * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
1846         position.
1847         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1848         Verify 'acc_ev_alloc', 'acc_ev_free'.
1850 2023-03-09  Hongyu Wang  <hongyu.wang@intel.com>
1852         PR libgomp/109062
1853         * env.c (wait_policy): Initialize to -1.
1854         (initialize_icvs): Initialize icvs->wait_policy to -1.
1855         * testsuite/libgomp.c-c++-common/pr109062.c: New test.
1857 2023-03-08  Tobias Burnus  <tobias@codesourcery.com>
1859         * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
1861 2023-03-02  Kwok Cheung Yeung  <kcy@codesourcery.com>
1862             Paul-Antoine Arras  <pa@codesourcery.com>
1864         * testsuite/libgomp.c/simd-math-1.c: New testcase.
1866 2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
1868         PR middle-end/108546
1869         * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
1870         * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
1872 2023-02-22  Thomas Schwinge  <thomas@codesourcery.com>
1874         * testsuite/libgomp.fortran/alloc-10.f90: Use
1875         '-Wno-complain-wrong-lang'.
1876         * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1877         * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
1878         * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1879         * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
1880         * testsuite/libgomp.fortran/depend-4.f90: Likewise.
1881         * testsuite/libgomp.fortran/depend-5.f90: Likewise.
1882         * testsuite/libgomp.fortran/depend-6.f90: Likewise.
1883         * testsuite/libgomp.fortran/depend-7.f90: Likewise.
1884         * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
1885         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
1886         Likewise.
1887         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
1888         Likewise.
1889         * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
1890         * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1891         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1892         * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
1893         'dg-prune-output'.
1895 2023-02-16  Jakub Jelinek  <jakub@redhat.com>
1897         * libgomp.texi: Fix typos - theads -> threads.
1899 2023-02-16  Jakub Jelinek  <jakub@redhat.com>
1901         * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
1902         comment typo and improve its wording.
1904 2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
1906         * target.c (gomp_target_rev): Dereference ptr
1907         to get device address.
1908         * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
1909         for unallocated allocatable.
1911 2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
1913         * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
1914         kind check.
1915         (GOMP_target_enter_exit_data): If the next map item is
1916         GOMP_MAP_ALWAYS_POINTER map it together with the current item.
1917         * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
1919 2023-02-09  Tobias Burnus  <tobias@codesourcery.com>
1921         PR fortran/107424
1922         * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
1923         * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
1924         * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
1925         * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
1926         * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
1927         * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
1929 2023-02-07  Thomas Schwinge  <thomas@codesourcery.com>
1931         * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
1932         offloading compilation.
1934 2023-02-03  Tobias Burnus  <tobias@codesourcery.com>
1936         * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
1937         freeing not allocated memory.
1938         * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
1940 2023-02-03  Tobias Burnus  <tobias@codesourcery.com>
1942         * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
1943         reverse offload.
1944         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
1945         reverse-offload requirement.
1947 2023-02-02  Andrew Stubbs  <ams@codesourcery.com>
1949         * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
1950         (DEFAULT_TEAM_ARENA_SIZE): New define.
1951         (struct heap): Move to this file.
1952         (struct kernargs_abi): Likewise.
1953         * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
1954         the kernargs.
1955         * libgomp.h: Include libgomp-gcn.h.
1956         (TEAM_ARENA_SIZE): Remove.
1957         (team_malloc): Update the error message.
1958         * plugin/plugin-gcn.c (struct kernargs): Move common content to
1959         struct kernargs_abi.
1960         (struct agent_info): Rename team arenas to ephemeral memories.
1961         (struct team_arena_list): Rename ....
1962         (struct ephemeral_memories_list): to this.
1963         (struct heap): Delete.
1964         (team_arena_size): New variable.
1965         (stack_size): New variable.
1966         (print_kernel_dispatch): Update debug messages.
1967         (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
1968         Read GCN_STACK_SIZE.
1969         (get_team_arena): Rename ...
1970         (configure_ephemeral_memories): ... to this, and set up stacks.
1971         (release_team_arena): Rename ...
1972         (release_ephemeral_memories): ... to this.
1973         (destroy_team_arenas): Rename ...
1974         (destroy_ephemeral_memories): ... to this.
1975         (create_kernel_dispatch): Add num_threads parameter.
1976         Adjust for kernargs_abi refactor and ephemeral memories.
1977         (release_kernel_dispatch): Adjust for ephemeral memories.
1978         (run_kernel): Pass thread-count to create_kernel_dispatch.
1979         (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
1980         (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
1982 2023-02-02  Tobias Burnus  <tobias@codesourcery.com>
1984         * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
1986 2023-02-01  Tobias Burnus  <tobias@codesourcery.com>
1988         * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
1989         usage, remove unused -fdump-tree-original.
1990         * testsuite/libgomp.fortran/allocate-4.f90: New.
1992 2023-02-01  Tobias Burnus  <tobias@codesourcery.com>
1994         * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
1995         (GCN): Add item about 'omp requires'.
1996         (nvptx): Likewise; add item about reverse offload.
1998 2023-01-27  Tobias Burnus  <tobias@codesourcery.com>
2000         PR fortran/108558
2001         * testsuite/libgomp.fortran/has_device_addr.f90: New test.
2003 2023-01-23  Tobias Burnus  <tobias@codesourcery.com>
2005         * libgomp.texi (OpenMP 5.0): Set non-rectangular
2006         loop nest back to 'P' as Fortran support is incomplete.
2008 2023-01-19  Jakub Jelinek  <jakub@redhat.com>
2010         PR middle-end/108459
2011         * testsuite/libgomp.c/pr108459.c: New test.
2013 2023-01-17  Martin Liska  <mliska@suse.cz>
2015         * Makefile.in: Regenerate.
2016         * configure: Regenerate.
2018 2023-01-07  LIU Hao  <lh_mouse@126.com>
2020         PR middle-end/108300
2021         * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
2022         <windows.h>.
2024 2023-01-05  Jakub Jelinek  <jakub@redhat.com>
2026         PR c++/108286
2027         * testsuite/libgomp.c++/pr108286.C: New test.
2029 2023-01-02  Jakub Jelinek  <jakub@redhat.com>
2031         * libgomp.texi: Bump @copying's copyright year.
2033 2022-12-21  Chung-Lin Tang  <cltang@codesourcery.com>
2035         PR target/99555
2036         * config/nvptx/bar.c (generation_to_barrier): Remove.
2037         (futex_wait,futex_wake,do_spin,do_wait): Remove.
2038         (GOMP_WAIT_H): Remove.
2039         (#include "../linux/bar.c"): Remove.
2040         (gomp_barrier_wait_end): New function.
2041         (gomp_barrier_wait): Likewise.
2042         (gomp_barrier_wait_last): Likewise.
2043         (gomp_team_barrier_wait_end): Likewise.
2044         (gomp_team_barrier_wait): Likewise.
2045         (gomp_team_barrier_wait_final): Likewise.
2046         (gomp_team_barrier_wait_cancel_end): Likewise.
2047         (gomp_team_barrier_wait_cancel): Likewise.
2048         (gomp_team_barrier_cancel): Likewise.
2049         * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
2050         (gomp_barrier_init): Remove init of waiters, lock fields.
2051         (gomp_team_barrier_wake): Remove prototype, add new static inline
2052         function.
2054 2022-12-21  Jakub Jelinek  <jakub@redhat.com>
2056         PR c++/108180
2057         * testsuite/libgomp.c++/pr108180.C: New test.
2059 2022-12-16  Tobias Burnus  <tobias@codesourcery.com>
2061         PR libfortran/108056
2062         * testsuite/libgomp.fortran/allocate-4.f90: Remove
2063         accidentally added file.
2065 2022-12-15  Tobias Burnus  <tobias@codesourcery.com>
2067         PR libfortran/108056
2068         * testsuite/libgomp.fortran/allocate-4.f90: New file.
2070 2022-12-14  Julian Brown  <julian@codesourcery.com>
2072         * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
2073         test.
2075 2022-12-10  Tobias Burnus  <tobias@codesourcery.com>
2077         * libgomp.h (struct target_mem_desc): Predeclare; move
2078         below after 'reverse_splay_tree_node' and add rev_array
2079         member.
2080         (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
2081         (reverse_splay_tree_node, reverse_splay_tree,
2082         reverse_splay_tree_key): New typedef.
2083         (struct gomp_device_descr): Add mem_map_rev member.
2084         * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
2085         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
2086         support for GOMP_REQUIRES_REVERSE_OFFLOAD.
2087         * splay-tree.h (splay_tree_callback_stop): New typedef; like
2088         splay_tree_callback but returning int not void.
2089         (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
2090         taking splay_tree_callback_stop as argument.
2091         * splay-tree.c (splay_tree_foreach_internal_lazy,
2092         splay_tree_foreach_lazy): New; but early exit if callback returns
2093         nonzero.
2094         * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
2095         (gomp_map_lookup_rev): New.
2096         (gomp_load_image_to_device): Handle reverse-offload function
2097         lookup table.
2098         (gomp_unload_image_from_device): Free devicep->mem_map_rev.
2099         (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
2100         gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
2101         gomp_map_cdata_lookup): New auxiliary structs and functions for
2102         gomp_target_rev.
2103         (gomp_target_rev): Implement reverse offloading and its mapping.
2104         (gomp_target_init): Init current_device.mem_map_rev.root.
2105         * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
2106         * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
2107         * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
2108         * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
2109         * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
2110         mapping of on-device allocated variables.
2112 2022-12-09  Tobias Burnus  <tobias@codesourcery.com>
2114         * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
2115         item about 'align'; mark clause as 'Y' and directive as 'N'.
2116         * testsuite/libgomp.fortran/allocate-2.f90: New test.
2117         * testsuite/libgomp.fortran/allocate-3.f90: New test.
2119 2022-12-06  Marcel Vollweiler  <marcel@codesourcery.com>
2121         * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
2122         allow processing of device-specific values.
2123         (omp_set_teams_thread_limit): Likewise.
2124         (ialias): Likewise.
2125         * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
2126         (omp_set_teams_thread_limit): Likewise.
2127         (ialias): Likewise.
2128         * icv-device.c (omp_get_teams_thread_limit): Likewise.
2129         (ialias): Likewise.
2130         (omp_set_teams_thread_limit): Likewise.
2131         * icv.c (omp_set_teams_thread_limit): Removed.
2132         (omp_get_teams_thread_limit): Likewise.
2133         (ialias): Likewise.
2134         * libgomp.texi: Updated documentation for nvptx and gcn corresponding
2135         to the limitation of the number of teams.
2136         * plugin/plugin-gcn.c (limit_teams): New helper function that limits
2137         the number of teams by twice the number of compute units.
2138         (parse_target_attributes): Limit the number of teams on gcn offload
2139         devices.
2140         * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
2141         handling.
2142         (gomp_load_image_to_device): Added a size check for the ICVs struct
2143         variable.
2144         (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
2145         copy back the ICV values from device to host.
2146         (GOMP_target_ext): Update the number of teams and threads in the kernel
2147         args also considering device-specific values.
2148         * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
2149         of OMP_TEAMS_THREAD_LIMIT from the environment.
2150         * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
2151         * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
2152         * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
2153         * testsuite/libgomp.c-c++-common/icv-9.c: New test.
2154         * testsuite/libgomp.fortran/icv-5.f90: New test.
2155         * testsuite/libgomp.fortran/icv-6.f90: New test.
2157 2022-12-06  Tobias Burnus  <tobias@codesourcery.com>
2159         * libgomp.texi (OpenMP 5.2): Add missing 'the'.
2160         (TR11): Add missing '@tab N @tab'.
2162 2022-11-30  Tobias Burnus  <tobias@codesourcery.com>
2164         * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
2166 2022-11-30  Paul-Antoine Arras  <pa@codesourcery.com>
2168         * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
2169         * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
2170         * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
2171         * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
2172         * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
2173         * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
2174         * testsuite/libgomp.c/declare-variant-4.h: New header file.
2176 2022-11-28  Tobias Burnus  <tobias@codesourcery.com>
2178         * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
2180 2022-11-25  Sandra Loosemore  <sandra@codesourcery.com>
2182         * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
2183         * testsuite/libgomp.c/target-simd-clone-1.c: New.
2184         * testsuite/libgomp.c/target-simd-clone-2.c: New.
2185         * testsuite/libgomp.c/target-simd-clone-3.c: New.
2187 2022-11-25  Tobias Burnus  <tobias@codesourcery.com>
2189         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
2190         for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
2191         as valid and the code having no reverse-offload code.
2192         * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
2194 2022-11-25  Tobias Burnus  <tobias@codesourcery.com>
2196         * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
2197         and status for Technical Report (TR) 11.
2199 2022-11-21  Tobias Burnus  <tobias@codesourcery.com>
2201         * config/gcn/libgomp-gcn.h (struct output):
2202         Remove 'msg_u64' from the union, change
2203         value_u64[2] to value_u64[6].
2204         * config/gcn/target.c (GOMP_target_ext): Update accordingly.
2205         * plugin/plugin-gcn.c (process_reverse_offload, console_output):
2206         Likewise.
2208 2022-11-19  Tobias Burnus  <tobias@codesourcery.com>
2210         * config/gcn/libgomp-gcn.h: New file; contains
2211         struct output, declared previously in plugin-gcn.c.
2212         * config/gcn/target.c: Include it.
2213         (GOMP_ADDITIONAL_ICVS): Declare as extern var.
2214         (GOMP_target_ext): Handle reverse offload.
2215         * plugin/plugin-gcn.c: Include libgomp-gcn.h.
2216         (struct kernargs): Replace struct def by the one
2217         from libgomp-gcn.h for output_data.
2218         (process_reverse_offload): New.
2219         (console_output): Call it.
2221 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
2222             Andrew Stubbs  <ams@codesourcery.com>
2224         * config/gcn/team.c (gomp_gcn_enter_kernel): Use
2225         __builtin_gcn_kernarg_ptr instead of asm ("s8").
2227 2022-11-14  Martin Liska  <mliska@suse.cz>
2229         Revert:
2230         2022-11-14  Martin Liska  <mliska@suse.cz>
2232         * doc/amd-radeon-gcn.rst: New file.
2233         * doc/conf.py: New file.
2234         * doc/copyright.rst: New file.
2235         * doc/cuda-streams-usage.rst: New file.
2236         * doc/enabling-openacc.rst: New file.
2237         * doc/enabling-openmp.rst: New file.
2238         * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2239         * doc/first-invocation-openacc-library-api.rst: New file.
2240         * doc/funding.rst: New file.
2241         * doc/general-public-license-3.rst: New file.
2242         * doc/gnu-free-documentation-license.rst: New file.
2243         * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2244         * doc/index.rst: New file.
2245         * doc/indices-and-tables.rst: New file.
2246         * doc/introduction.rst: New file.
2247         * doc/memory-allocation-with-libmemkind.rst: New file.
2248         * doc/nvptx.rst: New file.
2249         * doc/offload-target-specifics.rst: New file.
2250         * doc/openacc-environment-variables.rst: New file.
2251         * doc/openacc-environment-variables/accdevicenum.rst: New file.
2252         * doc/openacc-environment-variables/accdevicetype.rst: New file.
2253         * doc/openacc-environment-variables/accproflib.rst: New file.
2254         * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2255         * doc/openacc-introduction.rst: New file.
2256         * doc/openacc-library-and-environment-variables.rst: New file.
2257         * doc/openacc-library-interoperability.rst: New file.
2258         * doc/openacc-profiling-interface.rst: New file.
2259         * doc/openacc-runtime-library-routines.rst: New file.
2260         * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2261         * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2262         * doc/openacc-runtime-library-routines/accattach.rst: New file.
2263         * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2264         * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2265         * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2266         * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2267         * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2268         * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2269         * doc/openacc-runtime-library-routines/accfree.rst: New file.
2270         * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2271         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2272         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2273         * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2274         * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2275         * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2276         * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2277         * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2278         * doc/openacc-runtime-library-routines/accinit.rst: New file.
2279         * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2280         * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2281         * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2282         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2283         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2284         * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2285         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2286         * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2287         * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2288         * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2289         * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2290         * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2291         * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2292         * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2293         * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2294         * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2295         * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2296         * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2297         * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2298         * doc/openacc-runtime-library-routines/accwait.rst: New file.
2299         * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2300         * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2301         * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2302         * doc/openmp-context-selectors.rst: New file.
2303         * doc/openmp-environment-variables.rst: New file.
2304         * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2305         * doc/openmp-environment-variables/gompdebug.rst: New file.
2306         * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2307         * doc/openmp-environment-variables/gompspincount.rst: New file.
2308         * doc/openmp-environment-variables/gompstacksize.rst: New file.
2309         * doc/openmp-environment-variables/ompcancellation.rst: New file.
2310         * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2311         * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2312         * doc/openmp-environment-variables/ompdynamic.rst: New file.
2313         * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2314         * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2315         * doc/openmp-environment-variables/ompnested.rst: New file.
2316         * doc/openmp-environment-variables/ompnumteams.rst: New file.
2317         * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2318         * doc/openmp-environment-variables/ompplaces.rst: New file.
2319         * doc/openmp-environment-variables/ompprocbind.rst: New file.
2320         * doc/openmp-environment-variables/ompschedule.rst: New file.
2321         * doc/openmp-environment-variables/ompstacksize.rst: New file.
2322         * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2323         * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2324         * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2325         * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2326         * doc/openmp-implementation-specifics.rst: New file.
2327         * doc/openmp-implementation-status.rst: New file.
2328         * doc/openmp-implementation-status/openmp-45.rst: New file.
2329         * doc/openmp-implementation-status/openmp-50.rst: New file.
2330         * doc/openmp-implementation-status/openmp-51.rst: New file.
2331         * doc/openmp-implementation-status/openmp-52.rst: New file.
2332         * doc/openmp-runtime-library-routines.rst: New file.
2333         * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2334         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2335         * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2336         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2337         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2338         * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2339         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2340         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2341         * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2342         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2343         * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2344         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2345         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2346         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2347         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2348         * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2349         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2350         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2351         * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2352         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2353         * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2354         * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2355         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2356         * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2357         * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2358         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2359         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2360         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2361         * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2362         * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2363         * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2364         * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2365         * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2366         * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2367         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2368         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2369         * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2370         * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2371         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2372         * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2373         * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2374         * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2375         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2376         * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2377         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2378         * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2379         * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2380         * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2381         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2382         * doc/reporting-bugs.rst: New file.
2383         * doc/the-libgomp-abi.rst: New file.
2384         * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2385         * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2386         * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2387         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2388         New file.
2389         * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2390         * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2391         * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2392         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2393         * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2394         * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2395         * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2396         * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2397         * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2398         * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2399         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2401 2022-11-14  Martin Liska  <mliska@suse.cz>
2403         Revert:
2404         2022-11-14  Martin Liska  <mliska@suse.cz>
2406         * Makefile.in: Support Sphinx based documentation.
2408 2022-11-14  Martin Liska  <mliska@suse.cz>
2410         Revert:
2411         2022-11-14  Martin Liska  <mliska@suse.cz>
2413         * libgomp.texi: Removed.
2415 2022-11-14  Martin Liska  <mliska@suse.cz>
2417         Revert:
2418         2022-11-14  Martin Liska  <mliska@suse.cz>
2420         * Makefile.in: Support --with-sphinx-build.
2421         * configure.ac: Likewise..
2422         * configure: Regenerate.
2424 2022-11-14  Martin Liska  <mliska@suse.cz>
2426         Revert:
2427         2022-11-09  Martin Liska  <mliska@suse.cz>
2429         * Makefile.in: Build info pages conditionally.
2431 2022-11-14  Martin Liska  <mliska@suse.cz>
2433         Revert:
2434         2022-11-14  Martin Liska  <mliska@suse.cz>
2436         * doc/amd-radeon-gcn.rst:
2437         Add trailing newline.
2438         * doc/copyright.rst:
2439         Add trailing newline.
2440         * doc/cuda-streams-usage.rst:
2441         Add trailing newline.
2442         * doc/enabling-openacc.rst:
2443         Add trailing newline.
2444         * doc/enabling-openmp.rst:
2445         Add trailing newline.
2446         * doc/first-invocation-nvidia-cublas-library-api.rst:
2447         Add trailing newline.
2448         * doc/first-invocation-openacc-library-api.rst:
2449         Add trailing newline.
2450         * doc/funding.rst:
2451         Add trailing newline.
2452         * doc/general-public-license-3.rst:
2453         Add trailing newline.
2454         * doc/gnu-free-documentation-license.rst:
2455         Add trailing newline.
2456         * doc/implementation-status-and-implementation-defined-behavior.rst:
2457         Add trailing newline.
2458         * doc/index.rst:
2459         Add trailing newline.
2460         * doc/indices-and-tables.rst:
2461         Add trailing newline.
2462         * doc/introduction.rst:
2463         Add trailing newline.
2464         * doc/memory-allocation-with-libmemkind.rst:
2465         Add trailing newline.
2466         * doc/nvptx.rst:
2467         Add trailing newline.
2468         * doc/offload-target-specifics.rst:
2469         Add trailing newline.
2470         * doc/openacc-environment-variables.rst:
2471         Add trailing newline.
2472         * doc/openacc-environment-variables/accdevicenum.rst:
2473         Add trailing newline.
2474         * doc/openacc-environment-variables/accdevicetype.rst:
2475         Add trailing newline.
2476         * doc/openacc-environment-variables/accproflib.rst:
2477         Add trailing newline.
2478         * doc/openacc-environment-variables/gccaccnotify.rst:
2479         Add trailing newline.
2480         * doc/openacc-introduction.rst:
2481         Add trailing newline.
2482         * doc/openacc-library-and-environment-variables.rst:
2483         Add trailing newline.
2484         * doc/openacc-library-interoperability.rst:
2485         Add trailing newline.
2486         * doc/openacc-profiling-interface.rst:
2487         Add trailing newline.
2488         * doc/openacc-runtime-library-routines.rst:
2489         Add trailing newline.
2490         * doc/openacc-runtime-library-routines/accasynctest.rst:
2491         Add trailing newline.
2492         * doc/openacc-runtime-library-routines/accasynctestall.rst:
2493         Add trailing newline.
2494         * doc/openacc-runtime-library-routines/accattach.rst:
2495         Add trailing newline.
2496         * doc/openacc-runtime-library-routines/acccopyin.rst:
2497         Add trailing newline.
2498         * doc/openacc-runtime-library-routines/acccopyout.rst:
2499         Add trailing newline.
2500         * doc/openacc-runtime-library-routines/acccreate.rst:
2501         Add trailing newline.
2502         * doc/openacc-runtime-library-routines/accdelete.rst:
2503         Add trailing newline.
2504         * doc/openacc-runtime-library-routines/accdetach.rst:
2505         Add trailing newline.
2506         * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2507         Add trailing newline.
2508         * doc/openacc-runtime-library-routines/accfree.rst:
2509         Add trailing newline.
2510         * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2511         Add trailing newline.
2512         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2513         Add trailing newline.
2514         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2515         Add trailing newline.
2516         * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2517         Add trailing newline.
2518         * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2519         Add trailing newline.
2520         * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2521         Add trailing newline.
2522         * doc/openacc-runtime-library-routines/accgetproperty.rst:
2523         Add trailing newline.
2524         * doc/openacc-runtime-library-routines/acchostptr.rst:
2525         Add trailing newline.
2526         * doc/openacc-runtime-library-routines/accinit.rst:
2527         Add trailing newline.
2528         * doc/openacc-runtime-library-routines/accispresent.rst:
2529         Add trailing newline.
2530         * doc/openacc-runtime-library-routines/accmalloc.rst:
2531         Add trailing newline.
2532         * doc/openacc-runtime-library-routines/accmapdata.rst:
2533         Add trailing newline.
2534         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2535         Add trailing newline.
2536         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2537         Add trailing newline.
2538         * doc/openacc-runtime-library-routines/accondevice.rst:
2539         Add trailing newline.
2540         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2541         Add trailing newline.
2542         * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2543         Add trailing newline.
2544         * doc/openacc-runtime-library-routines/accproflookup.rst:
2545         Add trailing newline.
2546         * doc/openacc-runtime-library-routines/accprofregister.rst:
2547         Add trailing newline.
2548         * doc/openacc-runtime-library-routines/accprofunregister.rst:
2549         Add trailing newline.
2550         * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2551         Add trailing newline.
2552         * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2553         Add trailing newline.
2554         * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2555         Add trailing newline.
2556         * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2557         Add trailing newline.
2558         * doc/openacc-runtime-library-routines/accshutdown.rst:
2559         Add trailing newline.
2560         * doc/openacc-runtime-library-routines/accunmapdata.rst:
2561         Add trailing newline.
2562         * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2563         Add trailing newline.
2564         * doc/openacc-runtime-library-routines/accupdateself.rst:
2565         Add trailing newline.
2566         * doc/openacc-runtime-library-routines/accwait.rst:
2567         Add trailing newline.
2568         * doc/openacc-runtime-library-routines/accwaitall.rst:
2569         Add trailing newline.
2570         * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2571         Add trailing newline.
2572         * doc/openacc-runtime-library-routines/accwaitasync.rst:
2573         Add trailing newline.
2574         * doc/openmp-context-selectors.rst:
2575         Add trailing newline.
2576         * doc/openmp-environment-variables.rst:
2577         Add trailing newline.
2578         * doc/openmp-environment-variables/gompcpuaffinity.rst:
2579         Add trailing newline.
2580         * doc/openmp-environment-variables/gompdebug.rst:
2581         Add trailing newline.
2582         * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2583         Add trailing newline.
2584         * doc/openmp-environment-variables/gompspincount.rst:
2585         Add trailing newline.
2586         * doc/openmp-environment-variables/gompstacksize.rst:
2587         Add trailing newline.
2588         * doc/openmp-environment-variables/ompcancellation.rst:
2589         Add trailing newline.
2590         * doc/openmp-environment-variables/ompdefaultdevice.rst:
2591         Add trailing newline.
2592         * doc/openmp-environment-variables/ompdisplayenv.rst:
2593         Add trailing newline.
2594         * doc/openmp-environment-variables/ompdynamic.rst:
2595         Add trailing newline.
2596         * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2597         Add trailing newline.
2598         * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2599         Add trailing newline.
2600         * doc/openmp-environment-variables/ompnested.rst:
2601         Add trailing newline.
2602         * doc/openmp-environment-variables/ompnumteams.rst:
2603         Add trailing newline.
2604         * doc/openmp-environment-variables/ompnumthreads.rst:
2605         Add trailing newline.
2606         * doc/openmp-environment-variables/ompplaces.rst:
2607         Add trailing newline.
2608         * doc/openmp-environment-variables/ompprocbind.rst:
2609         Add trailing newline.
2610         * doc/openmp-environment-variables/ompschedule.rst:
2611         Add trailing newline.
2612         * doc/openmp-environment-variables/ompstacksize.rst:
2613         Add trailing newline.
2614         * doc/openmp-environment-variables/omptargetoffload.rst:
2615         Add trailing newline.
2616         * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2617         Add trailing newline.
2618         * doc/openmp-environment-variables/ompthreadlimit.rst:
2619         Add trailing newline.
2620         * doc/openmp-environment-variables/ompwaitpolicy.rst:
2621         Add trailing newline.
2622         * doc/openmp-implementation-specifics.rst:
2623         Add trailing newline.
2624         * doc/openmp-implementation-status.rst:
2625         Add trailing newline.
2626         * doc/openmp-implementation-status/openmp-45.rst:
2627         Add trailing newline.
2628         * doc/openmp-implementation-status/openmp-50.rst:
2629         Add trailing newline.
2630         * doc/openmp-implementation-status/openmp-51.rst:
2631         Add trailing newline.
2632         * doc/openmp-implementation-status/openmp-52.rst:
2633         Add trailing newline.
2634         * doc/openmp-runtime-library-routines.rst:
2635         Add trailing newline.
2636         * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2637         Add trailing newline.
2638         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2639         Add trailing newline.
2640         * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2641         Add trailing newline.
2642         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2643         Add trailing newline.
2644         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2645         Add trailing newline.
2646         * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2647         Add trailing newline.
2648         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2649         Add trailing newline.
2650         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2651         Add trailing newline.
2652         * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2653         Add trailing newline.
2654         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2655         Add trailing newline.
2656         * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2657         Add trailing newline.
2658         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2659         Add trailing newline.
2660         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2661         Add trailing newline.
2662         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2663         Add trailing newline.
2664         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2665         Add trailing newline.
2666         * doc/openmp-runtime-library-routines/ompgetnested.rst:
2667         Add trailing newline.
2668         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2669         Add trailing newline.
2670         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2671         Add trailing newline.
2672         * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2673         Add trailing newline.
2674         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2675         Add trailing newline.
2676         * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2677         Add trailing newline.
2678         * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2679         Add trailing newline.
2680         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2681         Add trailing newline.
2682         * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2683         Add trailing newline.
2684         * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2685         Add trailing newline.
2686         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2687         Add trailing newline.
2688         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2689         Add trailing newline.
2690         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2691         Add trailing newline.
2692         * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2693         Add trailing newline.
2694         * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2695         Add trailing newline.
2696         * doc/openmp-runtime-library-routines/ompinfinal.rst:
2697         Add trailing newline.
2698         * doc/openmp-runtime-library-routines/ompinitlock.rst:
2699         Add trailing newline.
2700         * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2701         Add trailing newline.
2702         * doc/openmp-runtime-library-routines/ompinparallel.rst:
2703         Add trailing newline.
2704         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2705         Add trailing newline.
2706         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2707         Add trailing newline.
2708         * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2709         Add trailing newline.
2710         * doc/openmp-runtime-library-routines/ompsetlock.rst:
2711         Add trailing newline.
2712         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2713         Add trailing newline.
2714         * doc/openmp-runtime-library-routines/ompsetnested.rst:
2715         Add trailing newline.
2716         * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2717         Add trailing newline.
2718         * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2719         Add trailing newline.
2720         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2721         Add trailing newline.
2722         * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2723         Add trailing newline.
2724         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2725         Add trailing newline.
2726         * doc/openmp-runtime-library-routines/omptestlock.rst:
2727         Add trailing newline.
2728         * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2729         Add trailing newline.
2730         * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2731         Add trailing newline.
2732         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2733         Add trailing newline.
2734         * doc/reporting-bugs.rst:
2735         Add trailing newline.
2736         * doc/the-libgomp-abi.rst:
2737         Add trailing newline.
2738         * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2739         Add trailing newline.
2740         * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2741         Add trailing newline.
2742         * doc/the-libgomp-abi/implementing-critical-construct.rst:
2743         Add trailing newline.
2744         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2745         Add trailing newline.
2746         * doc/the-libgomp-abi/implementing-flush-construct.rst:
2747         Add trailing newline.
2748         * doc/the-libgomp-abi/implementing-for-construct.rst:
2749         Add trailing newline.
2750         * doc/the-libgomp-abi/implementing-master-construct.rst:
2751         Add trailing newline.
2752         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2753         Add trailing newline.
2754         * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2755         Add trailing newline.
2756         * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2757         Add trailing newline.
2758         * doc/the-libgomp-abi/implementing-private-clause.rst:
2759         Add trailing newline.
2760         * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2761         Add trailing newline.
2762         * doc/the-libgomp-abi/implementing-sections-construct.rst:
2763         Add trailing newline.
2764         * doc/the-libgomp-abi/implementing-single-construct.rst:
2765         Add trailing newline.
2766         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2767         Add trailing newline.
2769 2022-11-14  Martin Liska  <mliska@suse.cz>
2771         Revert:
2772         2022-11-09  Martin Liska  <mliska@suse.cz>
2774         * Makefile.in: Add missing HAS_SPHINX_BUILD.
2776 2022-11-14  Martin Liska  <mliska@suse.cz>
2778         Revert:
2779         2022-11-14  Martin Liska  <mliska@suse.cz>
2781         * doc/conf.py: Add newline at last line.
2783 2022-11-14  Martin Liska  <mliska@suse.cz>
2785         Revert:
2786         2022-11-14  Martin Liska  <mliska@suse.cz>
2788         PR other/107620
2789         * configure: Regenerate.
2790         * configure.ac: Always set sphinx-build.
2792 2022-11-13  Martin Liska  <mliska@suse.cz>
2794         PR other/107620
2795         * configure: Regenerate.
2796         * configure.ac: Always set sphinx-build.
2798 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
2800         PR libgomp/107641
2801         * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
2802         unsigned long.  Change type of upper from unsigned to unsigned long.
2804 2022-11-10  Martin Liska  <mliska@suse.cz>
2806         * doc/conf.py: Add newline at last line.
2808 2022-11-09  Martin Liska  <mliska@suse.cz>
2810         * Makefile.in: Add missing HAS_SPHINX_BUILD.
2812 2022-11-09  Martin Liska  <mliska@suse.cz>
2814         * doc/amd-radeon-gcn.rst:
2815         Add trailing newline.
2816         * doc/copyright.rst:
2817         Add trailing newline.
2818         * doc/cuda-streams-usage.rst:
2819         Add trailing newline.
2820         * doc/enabling-openacc.rst:
2821         Add trailing newline.
2822         * doc/enabling-openmp.rst:
2823         Add trailing newline.
2824         * doc/first-invocation-nvidia-cublas-library-api.rst:
2825         Add trailing newline.
2826         * doc/first-invocation-openacc-library-api.rst:
2827         Add trailing newline.
2828         * doc/funding.rst:
2829         Add trailing newline.
2830         * doc/general-public-license-3.rst:
2831         Add trailing newline.
2832         * doc/gnu-free-documentation-license.rst:
2833         Add trailing newline.
2834         * doc/implementation-status-and-implementation-defined-behavior.rst:
2835         Add trailing newline.
2836         * doc/index.rst:
2837         Add trailing newline.
2838         * doc/indices-and-tables.rst:
2839         Add trailing newline.
2840         * doc/introduction.rst:
2841         Add trailing newline.
2842         * doc/memory-allocation-with-libmemkind.rst:
2843         Add trailing newline.
2844         * doc/nvptx.rst:
2845         Add trailing newline.
2846         * doc/offload-target-specifics.rst:
2847         Add trailing newline.
2848         * doc/openacc-environment-variables.rst:
2849         Add trailing newline.
2850         * doc/openacc-environment-variables/accdevicenum.rst:
2851         Add trailing newline.
2852         * doc/openacc-environment-variables/accdevicetype.rst:
2853         Add trailing newline.
2854         * doc/openacc-environment-variables/accproflib.rst:
2855         Add trailing newline.
2856         * doc/openacc-environment-variables/gccaccnotify.rst:
2857         Add trailing newline.
2858         * doc/openacc-introduction.rst:
2859         Add trailing newline.
2860         * doc/openacc-library-and-environment-variables.rst:
2861         Add trailing newline.
2862         * doc/openacc-library-interoperability.rst:
2863         Add trailing newline.
2864         * doc/openacc-profiling-interface.rst:
2865         Add trailing newline.
2866         * doc/openacc-runtime-library-routines.rst:
2867         Add trailing newline.
2868         * doc/openacc-runtime-library-routines/accasynctest.rst:
2869         Add trailing newline.
2870         * doc/openacc-runtime-library-routines/accasynctestall.rst:
2871         Add trailing newline.
2872         * doc/openacc-runtime-library-routines/accattach.rst:
2873         Add trailing newline.
2874         * doc/openacc-runtime-library-routines/acccopyin.rst:
2875         Add trailing newline.
2876         * doc/openacc-runtime-library-routines/acccopyout.rst:
2877         Add trailing newline.
2878         * doc/openacc-runtime-library-routines/acccreate.rst:
2879         Add trailing newline.
2880         * doc/openacc-runtime-library-routines/accdelete.rst:
2881         Add trailing newline.
2882         * doc/openacc-runtime-library-routines/accdetach.rst:
2883         Add trailing newline.
2884         * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2885         Add trailing newline.
2886         * doc/openacc-runtime-library-routines/accfree.rst:
2887         Add trailing newline.
2888         * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2889         Add trailing newline.
2890         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2891         Add trailing newline.
2892         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2893         Add trailing newline.
2894         * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2895         Add trailing newline.
2896         * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2897         Add trailing newline.
2898         * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2899         Add trailing newline.
2900         * doc/openacc-runtime-library-routines/accgetproperty.rst:
2901         Add trailing newline.
2902         * doc/openacc-runtime-library-routines/acchostptr.rst:
2903         Add trailing newline.
2904         * doc/openacc-runtime-library-routines/accinit.rst:
2905         Add trailing newline.
2906         * doc/openacc-runtime-library-routines/accispresent.rst:
2907         Add trailing newline.
2908         * doc/openacc-runtime-library-routines/accmalloc.rst:
2909         Add trailing newline.
2910         * doc/openacc-runtime-library-routines/accmapdata.rst:
2911         Add trailing newline.
2912         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2913         Add trailing newline.
2914         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2915         Add trailing newline.
2916         * doc/openacc-runtime-library-routines/accondevice.rst:
2917         Add trailing newline.
2918         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2919         Add trailing newline.
2920         * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2921         Add trailing newline.
2922         * doc/openacc-runtime-library-routines/accproflookup.rst:
2923         Add trailing newline.
2924         * doc/openacc-runtime-library-routines/accprofregister.rst:
2925         Add trailing newline.
2926         * doc/openacc-runtime-library-routines/accprofunregister.rst:
2927         Add trailing newline.
2928         * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2929         Add trailing newline.
2930         * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2931         Add trailing newline.
2932         * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2933         Add trailing newline.
2934         * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2935         Add trailing newline.
2936         * doc/openacc-runtime-library-routines/accshutdown.rst:
2937         Add trailing newline.
2938         * doc/openacc-runtime-library-routines/accunmapdata.rst:
2939         Add trailing newline.
2940         * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2941         Add trailing newline.
2942         * doc/openacc-runtime-library-routines/accupdateself.rst:
2943         Add trailing newline.
2944         * doc/openacc-runtime-library-routines/accwait.rst:
2945         Add trailing newline.
2946         * doc/openacc-runtime-library-routines/accwaitall.rst:
2947         Add trailing newline.
2948         * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2949         Add trailing newline.
2950         * doc/openacc-runtime-library-routines/accwaitasync.rst:
2951         Add trailing newline.
2952         * doc/openmp-context-selectors.rst:
2953         Add trailing newline.
2954         * doc/openmp-environment-variables.rst:
2955         Add trailing newline.
2956         * doc/openmp-environment-variables/gompcpuaffinity.rst:
2957         Add trailing newline.
2958         * doc/openmp-environment-variables/gompdebug.rst:
2959         Add trailing newline.
2960         * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2961         Add trailing newline.
2962         * doc/openmp-environment-variables/gompspincount.rst:
2963         Add trailing newline.
2964         * doc/openmp-environment-variables/gompstacksize.rst:
2965         Add trailing newline.
2966         * doc/openmp-environment-variables/ompcancellation.rst:
2967         Add trailing newline.
2968         * doc/openmp-environment-variables/ompdefaultdevice.rst:
2969         Add trailing newline.
2970         * doc/openmp-environment-variables/ompdisplayenv.rst:
2971         Add trailing newline.
2972         * doc/openmp-environment-variables/ompdynamic.rst:
2973         Add trailing newline.
2974         * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2975         Add trailing newline.
2976         * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2977         Add trailing newline.
2978         * doc/openmp-environment-variables/ompnested.rst:
2979         Add trailing newline.
2980         * doc/openmp-environment-variables/ompnumteams.rst:
2981         Add trailing newline.
2982         * doc/openmp-environment-variables/ompnumthreads.rst:
2983         Add trailing newline.
2984         * doc/openmp-environment-variables/ompplaces.rst:
2985         Add trailing newline.
2986         * doc/openmp-environment-variables/ompprocbind.rst:
2987         Add trailing newline.
2988         * doc/openmp-environment-variables/ompschedule.rst:
2989         Add trailing newline.
2990         * doc/openmp-environment-variables/ompstacksize.rst:
2991         Add trailing newline.
2992         * doc/openmp-environment-variables/omptargetoffload.rst:
2993         Add trailing newline.
2994         * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2995         Add trailing newline.
2996         * doc/openmp-environment-variables/ompthreadlimit.rst:
2997         Add trailing newline.
2998         * doc/openmp-environment-variables/ompwaitpolicy.rst:
2999         Add trailing newline.
3000         * doc/openmp-implementation-specifics.rst:
3001         Add trailing newline.
3002         * doc/openmp-implementation-status.rst:
3003         Add trailing newline.
3004         * doc/openmp-implementation-status/openmp-45.rst:
3005         Add trailing newline.
3006         * doc/openmp-implementation-status/openmp-50.rst:
3007         Add trailing newline.
3008         * doc/openmp-implementation-status/openmp-51.rst:
3009         Add trailing newline.
3010         * doc/openmp-implementation-status/openmp-52.rst:
3011         Add trailing newline.
3012         * doc/openmp-runtime-library-routines.rst:
3013         Add trailing newline.
3014         * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3015         Add trailing newline.
3016         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3017         Add trailing newline.
3018         * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3019         Add trailing newline.
3020         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3021         Add trailing newline.
3022         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3023         Add trailing newline.
3024         * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3025         Add trailing newline.
3026         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3027         Add trailing newline.
3028         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3029         Add trailing newline.
3030         * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3031         Add trailing newline.
3032         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3033         Add trailing newline.
3034         * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3035         Add trailing newline.
3036         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3037         Add trailing newline.
3038         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3039         Add trailing newline.
3040         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3041         Add trailing newline.
3042         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3043         Add trailing newline.
3044         * doc/openmp-runtime-library-routines/ompgetnested.rst:
3045         Add trailing newline.
3046         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3047         Add trailing newline.
3048         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3049         Add trailing newline.
3050         * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3051         Add trailing newline.
3052         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3053         Add trailing newline.
3054         * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3055         Add trailing newline.
3056         * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3057         Add trailing newline.
3058         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3059         Add trailing newline.
3060         * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3061         Add trailing newline.
3062         * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3063         Add trailing newline.
3064         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3065         Add trailing newline.
3066         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3067         Add trailing newline.
3068         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3069         Add trailing newline.
3070         * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3071         Add trailing newline.
3072         * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3073         Add trailing newline.
3074         * doc/openmp-runtime-library-routines/ompinfinal.rst:
3075         Add trailing newline.
3076         * doc/openmp-runtime-library-routines/ompinitlock.rst:
3077         Add trailing newline.
3078         * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3079         Add trailing newline.
3080         * doc/openmp-runtime-library-routines/ompinparallel.rst:
3081         Add trailing newline.
3082         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3083         Add trailing newline.
3084         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3085         Add trailing newline.
3086         * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3087         Add trailing newline.
3088         * doc/openmp-runtime-library-routines/ompsetlock.rst:
3089         Add trailing newline.
3090         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3091         Add trailing newline.
3092         * doc/openmp-runtime-library-routines/ompsetnested.rst:
3093         Add trailing newline.
3094         * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3095         Add trailing newline.
3096         * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3097         Add trailing newline.
3098         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3099         Add trailing newline.
3100         * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3101         Add trailing newline.
3102         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3103         Add trailing newline.
3104         * doc/openmp-runtime-library-routines/omptestlock.rst:
3105         Add trailing newline.
3106         * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3107         Add trailing newline.
3108         * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3109         Add trailing newline.
3110         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3111         Add trailing newline.
3112         * doc/reporting-bugs.rst:
3113         Add trailing newline.
3114         * doc/the-libgomp-abi.rst:
3115         Add trailing newline.
3116         * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3117         Add trailing newline.
3118         * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3119         Add trailing newline.
3120         * doc/the-libgomp-abi/implementing-critical-construct.rst:
3121         Add trailing newline.
3122         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3123         Add trailing newline.
3124         * doc/the-libgomp-abi/implementing-flush-construct.rst:
3125         Add trailing newline.
3126         * doc/the-libgomp-abi/implementing-for-construct.rst:
3127         Add trailing newline.
3128         * doc/the-libgomp-abi/implementing-master-construct.rst:
3129         Add trailing newline.
3130         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3131         Add trailing newline.
3132         * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3133         Add trailing newline.
3134         * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3135         Add trailing newline.
3136         * doc/the-libgomp-abi/implementing-private-clause.rst:
3137         Add trailing newline.
3138         * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3139         Add trailing newline.
3140         * doc/the-libgomp-abi/implementing-sections-construct.rst:
3141         Add trailing newline.
3142         * doc/the-libgomp-abi/implementing-single-construct.rst:
3143         Add trailing newline.
3144         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3145         Add trailing newline.
3147 2022-11-09  Martin Liska  <mliska@suse.cz>
3149         * Makefile.in: Build info pages conditionally.
3151 2022-11-09  Martin Liska  <mliska@suse.cz>
3153         * Makefile.in: Support --with-sphinx-build.
3154         * configure.ac: Likewise..
3155         * configure: Regenerate.
3157 2022-11-09  Martin Liska  <mliska@suse.cz>
3159         * libgomp.texi: Removed.
3161 2022-11-09  Martin Liska  <mliska@suse.cz>
3163         * Makefile.in: Support Sphinx based documentation.
3165 2022-11-09  Martin Liska  <mliska@suse.cz>
3167         * doc/amd-radeon-gcn.rst: New file.
3168         * doc/conf.py: New file.
3169         * doc/copyright.rst: New file.
3170         * doc/cuda-streams-usage.rst: New file.
3171         * doc/enabling-openacc.rst: New file.
3172         * doc/enabling-openmp.rst: New file.
3173         * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
3174         * doc/first-invocation-openacc-library-api.rst: New file.
3175         * doc/funding.rst: New file.
3176         * doc/general-public-license-3.rst: New file.
3177         * doc/gnu-free-documentation-license.rst: New file.
3178         * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
3179         * doc/index.rst: New file.
3180         * doc/indices-and-tables.rst: New file.
3181         * doc/introduction.rst: New file.
3182         * doc/memory-allocation-with-libmemkind.rst: New file.
3183         * doc/nvptx.rst: New file.
3184         * doc/offload-target-specifics.rst: New file.
3185         * doc/openacc-environment-variables.rst: New file.
3186         * doc/openacc-environment-variables/accdevicenum.rst: New file.
3187         * doc/openacc-environment-variables/accdevicetype.rst: New file.
3188         * doc/openacc-environment-variables/accproflib.rst: New file.
3189         * doc/openacc-environment-variables/gccaccnotify.rst: New file.
3190         * doc/openacc-introduction.rst: New file.
3191         * doc/openacc-library-and-environment-variables.rst: New file.
3192         * doc/openacc-library-interoperability.rst: New file.
3193         * doc/openacc-profiling-interface.rst: New file.
3194         * doc/openacc-runtime-library-routines.rst: New file.
3195         * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
3196         * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
3197         * doc/openacc-runtime-library-routines/accattach.rst: New file.
3198         * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
3199         * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
3200         * doc/openacc-runtime-library-routines/acccreate.rst: New file.
3201         * doc/openacc-runtime-library-routines/accdelete.rst: New file.
3202         * doc/openacc-runtime-library-routines/accdetach.rst: New file.
3203         * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
3204         * doc/openacc-runtime-library-routines/accfree.rst: New file.
3205         * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
3206         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
3207         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
3208         * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
3209         * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
3210         * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
3211         * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
3212         * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
3213         * doc/openacc-runtime-library-routines/accinit.rst: New file.
3214         * doc/openacc-runtime-library-routines/accispresent.rst: New file.
3215         * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
3216         * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
3217         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
3218         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
3219         * doc/openacc-runtime-library-routines/accondevice.rst: New file.
3220         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
3221         * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
3222         * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
3223         * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
3224         * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
3225         * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
3226         * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
3227         * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
3228         * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
3229         * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
3230         * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
3231         * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
3232         * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
3233         * doc/openacc-runtime-library-routines/accwait.rst: New file.
3234         * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
3235         * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
3236         * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
3237         * doc/openmp-context-selectors.rst: New file.
3238         * doc/openmp-environment-variables.rst: New file.
3239         * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
3240         * doc/openmp-environment-variables/gompdebug.rst: New file.
3241         * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
3242         * doc/openmp-environment-variables/gompspincount.rst: New file.
3243         * doc/openmp-environment-variables/gompstacksize.rst: New file.
3244         * doc/openmp-environment-variables/ompcancellation.rst: New file.
3245         * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
3246         * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
3247         * doc/openmp-environment-variables/ompdynamic.rst: New file.
3248         * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
3249         * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
3250         * doc/openmp-environment-variables/ompnested.rst: New file.
3251         * doc/openmp-environment-variables/ompnumteams.rst: New file.
3252         * doc/openmp-environment-variables/ompnumthreads.rst: New file.
3253         * doc/openmp-environment-variables/ompplaces.rst: New file.
3254         * doc/openmp-environment-variables/ompprocbind.rst: New file.
3255         * doc/openmp-environment-variables/ompschedule.rst: New file.
3256         * doc/openmp-environment-variables/ompstacksize.rst: New file.
3257         * doc/openmp-environment-variables/omptargetoffload.rst: New file.
3258         * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
3259         * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
3260         * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
3261         * doc/openmp-implementation-specifics.rst: New file.
3262         * doc/openmp-implementation-status.rst: New file.
3263         * doc/openmp-implementation-status/openmp-45.rst: New file.
3264         * doc/openmp-implementation-status/openmp-50.rst: New file.
3265         * doc/openmp-implementation-status/openmp-51.rst: New file.
3266         * doc/openmp-implementation-status/openmp-52.rst: New file.
3267         * doc/openmp-runtime-library-routines.rst: New file.
3268         * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
3269         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
3270         * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
3271         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
3272         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
3273         * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
3274         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
3275         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
3276         * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
3277         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
3278         * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
3279         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
3280         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
3281         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
3282         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
3283         * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
3284         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
3285         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
3286         * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
3287         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
3288         * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
3289         * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
3290         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
3291         * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
3292         * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
3293         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
3294         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
3295         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
3296         * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
3297         * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
3298         * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
3299         * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
3300         * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
3301         * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
3302         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
3303         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
3304         * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
3305         * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
3306         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
3307         * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
3308         * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
3309         * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
3310         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
3311         * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
3312         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
3313         * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
3314         * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
3315         * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
3316         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
3317         * doc/reporting-bugs.rst: New file.
3318         * doc/the-libgomp-abi.rst: New file.
3319         * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
3320         * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
3321         * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
3322         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3323         New file.
3324         * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
3325         * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
3326         * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
3327         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
3328         * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
3329         * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
3330         * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
3331         * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
3332         * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
3333         * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
3334         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
3336 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
3338         * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
3339         * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
3340         documentation.
3341         * plugin/configfrag.ac <enable_offload_targets>
3342         [*-intelmic-* | *-intelmicemul-*]: Remove.
3343         * configure: Regenerate.
3344         * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
3345         handling.
3346         (offload_target_to_openacc_device_type)
3347         [$offload_target = *-intelmic*]: Remove.
3348         (check_effective_target_offload_device_intel_mic)
3349         (check_effective_target_offload_device_any_intel_mic): Remove.
3350         * testsuite/libgomp.c-c++-common/on_device_arch.h
3351         (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
3352         (any_device_arch_intel_mic): Remove.
3353         * testsuite/libgomp.c-c++-common/target-45.c: Remove
3354         'offload_device_any_intel_mic' XFAIL.
3355         * testsuite/libgomp.fortran/target10.f90: Likewise.
3357 2022-11-03  Tobias Burnus  <tobias@codesourcery.com>
3359         * testsuite/libgomp.fortran/target-11.f90: New test.
3360         * testsuite/libgomp.fortran/target-13.f90: New test.
3362 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
3364         PR libgomp/106643
3365         PR fortran/96668
3366         * oacc-mem.c (goacc_enter_data_internal): Support
3367         OpenACC 'declare create' with Fortran allocatable arrays, part II.
3368         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
3369         Adjust.
3370         * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
3372 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
3374         PR libgomp/106643
3375         * oacc-mem.c (goacc_enter_data_internal): Support
3376         OpenACC 'declare create' with Fortran allocatable arrays, part I.
3377         * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
3378         New.
3379         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
3380         New.
3382 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
3384         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
3385         New.
3387 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
3389         * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
3390         New.
3392 2022-11-02  Cesar Philippidis  <cesar@codesourcery.com>
3393             Thomas Schwinge  <thomas@codesourcery.com>
3395         * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
3397 2022-10-28  Julian Brown  <julian@codesourcery.com>
3398             Thomas Schwinge  <thomas@codesourcery.com>
3400         PR middle-end/90115
3401         * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
3402         * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
3403         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3404         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
3405         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3407 2022-10-24  Thomas Schwinge  <thomas@codesourcery.com>
3409         * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
3410         'ptx_dev->rev_data'.
3412 2022-10-24  Tobias Burnus  <tobias@codesourcery.com>
3414         * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
3415         'static' for this variable.
3416         * config/nvptx/libgomp-nvptx.h: New file.
3417         * config/nvptx/target.c: Include it.
3418         (GOMP_ADDITIONAL_ICVS): Declare extern var.
3419         (GOMP_REV_OFFLOAD_VAR): Declare var.
3420         (GOMP_target_ext): Handle reverse offload.
3421         * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
3422         * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
3423         * target.c (gomp_target_rev): ... this new stub function.
3424         * libgomp.h (gomp_target_rev): Declare.
3425         * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
3426         * plugin/cuda-lib.def (cuMemHostAlloc): Add.
3427         * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
3428         (struct ptx_device): Add rev_data member.
3429         (nvptx_open_device): Remove async_engines query, last used in
3430         r10-304-g1f4c5b9b; add unified-address assert check.
3431         (GOMP_OFFLOAD_get_num_devices): Claim unified address
3432         support.
3433         (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
3434         offload functions exist. Make offload var available
3435         on host and device.
3436         (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
3437         (GOMP_OFFLOAD_run): Handle reverse offload.
3439 2022-10-21  Thomas Schwinge  <thomas@codesourcery.com>
3441         PR tree-optimization/107195
3442         PR target/107344
3443         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
3444         regions checking.
3446 2022-10-20  Tobias Burnus  <tobias@codesourcery.com>
3448         * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
3449         New.
3450         * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
3451         on_device_arch_gcn): New.
3452         * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
3453         requires-4.c but using heap-allocated memory.
3455 2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
3457         PR target/105421
3458         * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
3460 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
3462         * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
3463         '-foffload-options' syntax.
3465 2022-10-13  Tobias Burnus  <tobias@codesourcery.com>
3467         * testsuite/libgomp.fortran/task-7.f90: New test.
3468         * testsuite/libgomp.fortran/task-8.f90: New test.
3469         * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
3470         * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
3471         * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
3472         * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
3473         * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
3475 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
3477         * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
3478         in deprecation bullet.
3480 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
3482         * omp.h.in (omp_in_explicit_task): Declare.
3483         * omp_lib.h.in (omp_in_explicit_task): Likewise.
3484         * omp_lib.f90.in (omp_in_explicit_task): New interface.
3485         * libgomp.map (OMP_5.2): New symbol version, export
3486         omp_in_explicit_task and omp_in_explicit_task_.
3487         * task.c (omp_in_explicit_task): New function.
3488         * fortran.c (omp_in_explicit_task): Add ialias_redirect.
3489         (omp_in_explicit_task_): New function.
3490         * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
3491         * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
3492         * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
3493         * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
3495 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
3497         * task.c (gomp_create_artificial_team): Fix up handling of invocations
3498         from within explicit task.
3499         * target.c (GOMP_target_ext): Likewise.
3500         * testsuite/libgomp.c/task-7.c: New test.
3501         * testsuite/libgomp.c/task-8.c: New test.
3502         * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
3503         * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
3505 2022-10-12  Martin Liska  <mliska@suse.cz>
3507         * configure: Regenerate.
3509 2022-10-11  Olivier Hainque  <hainque@adacore.com>
3510             Olivier Hainque  <hainque@adacore.com>
3512         * configure: Regenerate.
3514 2022-10-05  Tobias Burnus  <tobias@codesourcery.com>
3516         * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
3518 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
3520         * libgomp.texi (Support begin/end declare target syntax in C/C++):
3521         Mark as implemented.
3523 2022-09-30  Tobias Burnus  <tobias@codesourcery.com>
3525         PR fortran/105318
3526         * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
3528 2022-09-28  Tobias Burnus  <tobias@codesourcery.com>
3530         * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
3531         for C/C++. Remove duplicated 'begin declare target' entry.
3533 2022-09-24  Jakub Jelinek  <jakub@redhat.com>
3535         PR c/106981
3536         * testsuite/libgomp.c-c++-common/pr106981.c: New test.
3538 2022-09-14  Julian Brown  <julian@codesourcery.com>
3540         * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
3541         * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
3542         * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
3543         * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
3544         test to here, make "run" test.
3546 2022-09-13  Jakub Jelinek  <jakub@redhat.com>
3548         PR libgomp/106906
3549         * env.c (get_icv_member_addr): Cast false to void * before assigning
3550         it to icv_addr[1], and comment the whole assignment out.
3552 2022-09-13  Tobias Burnus  <tobias@codesourcery.com>
3554         * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
3555         (nvptx): ... here.
3557 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
3559         * libgomp.texi (Offload-Target Specifics: nvptx): Document
3560         that reverse offload requires >= -march=sm_35.
3561         * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
3562         with -misa=sm_35.
3563         * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3564         * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
3565         * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
3566         * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
3567         * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
3569 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
3571         * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
3572         (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
3574 2022-09-12  Jakub Jelinek  <jakub@redhat.com>
3576         PR libgomp/106894
3577         * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
3578         (main): Avoid tests for which corresponding non-_ALL suffixed variable
3579         is in the environment, or for OMP_NUM_TEAMS on the device
3580         OMP_NUM_TEAMS_DEV_?.
3582 2022-09-10  Iain Sandoe  <iain@sandoe.co.uk>
3584         * env.c (initialize_env): Include libiberty environ.h.
3586 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
3588         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
3589         function address table '$offload_func_table' if rev_fn_table
3590         is not NULL.
3592 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
3594         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
3595         .offload_func_table to populate rev_fn_table when requested.
3597 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
3599         * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
3600         'uint64_t **rev_fn_table' argument.
3601         * oacc-host.c (host_load_image): Likewise.
3602         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
3603         currently unused.
3604         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3605         * target.c (gomp_load_image_to_device): Update call but pass
3606         NULL for now.
3608 2022-09-09  Jakub Jelinek  <jakub@redhat.com>
3610         PR libgomp/106894
3611         * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
3612         char * for dest[1] initialization from params[1].  Formatting fixes.
3614 2022-09-08  Tobias Burnus  <tobias@codesourcery.com>
3616         PR fortran/106670
3617         * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
3619 2022-09-08  Tobias Burnus  <tobias@codesourcery.com>
3621         * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
3622         section; move OpenMP Context Selectors from ...
3623         (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
3624         'nvptx' sections.
3626 2022-09-08  Marcel Vollweiler  <marcel@codesourcery.com>
3628         * config/gcn/icv-device.c (omp_get_default_device): Return device-
3629         specific ICV.
3630         (omp_get_max_teams): Added for GCN devices.
3631         (omp_set_num_teams): Likewise.
3632         (ialias): Likewise.
3633         * config/nvptx/icv-device.c (omp_get_default_device): Return device-
3634         specific ICV.
3635         (omp_get_max_teams): Added for NVPTX devices.
3636         (omp_set_num_teams): Likewise.
3637         (ialias): Likewise.
3638         * env.c (struct gomp_icv_list): New struct to store entries of initial
3639         ICV values.
3640         (struct gomp_offload_icv_list): New struct to store entries of device-
3641         specific ICV values that are copied to the device and back.
3642         (struct gomp_default_icv_values): New struct to store default values of
3643         ICVs according to the OpenMP standard.
3644         (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
3645         (print_env_var_error): Function that prints an error for invalid values
3646         for ICVs.
3647         (parse_unsigned_long_1): Removed getenv.  Generalized.
3648         (parse_unsigned_long): Likewise.
3649         (parse_int_1): Likewise.
3650         (parse_int): Likewise.
3651         (parse_int_secure): Likewise.
3652         (parse_unsigned_long_list): Likewise.
3653         (parse_target_offload): Likewise.
3654         (parse_bind_var): Likewise.
3655         (parse_stacksize): Likewise.
3656         (parse_boolean): Likewise.
3657         (parse_wait_policy): Likewise.
3658         (parse_allocator): Likewise.
3659         (omp_display_env): Extended to output different variants of environment
3660         variables.
3661         (print_schedule): New helper function for omp_display_env which prints
3662         the values of run_sched_var.
3663         (print_proc_bind): New helper function for omp_display_env which prints
3664         the values of proc_bind_var.
3665         (enum gomp_parse_type): Collection of types used for parsing environment
3666         variables.
3667         (ENTRY): Preprocess string lengths of environment variables.
3668         (OMP_VAR_CNT): Preprocess table size.
3669         (OMP_HOST_VAR_CNT): Likewise.
3670         (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
3671         number.
3672         (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3673         (gomp_set_icv_flag): Sets a flag for a particular ICV.
3674         (print_device_specific_icvs): New helper function for omp_display_env to
3675         print device specific ICV values.
3676         (get_device_num): New helper function for parse_device_specific.
3677         Extracts the device number from an environment variable name.
3678         (get_icv_member_addr): Gets the memory address for a particular member
3679         of an ICV struct.
3680         (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3681         (initialize_icvs): New function to initialize a gomp_initial_icvs
3682         struct.
3683         (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
3684         (startswith): Checks if a string starts with a given prefix.
3685         (initialize_env): Extended to parse the new syntax of environment
3686         variables.
3687         * icv-device.c (omp_get_max_teams): Added.
3688         (ialias): Likewise.
3689         (omp_set_num_teams): Likewise.
3690         * icv.c (omp_set_num_teams): Moved to icv-device.c.
3691         (omp_get_max_teams): Likewise.
3692         (ialias): Likewise.
3693         * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
3694         (GOMP_ADDITIONAL_ICVS): New target-side struct that
3695         holds the designated ICVs of the target device.
3696         * libgomp.h (enum gomp_icvs): Collection of ICVs.
3697         (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
3698         no suffix.
3699         (enum gomp_env_suffix): Collection of possible suffixes of environment
3700         variables.
3701         (struct gomp_initial_icvs): Contains all ICVs for which we need to store
3702         initial values.
3703         (struct gomp_default_icv):New struct to hold ICVs for which we need
3704         to store initial values.
3705         (struct gomp_icv_list): Definition of a linked list that is used for
3706         storing ICVs for the devices and also for _DEV, _ALL, and without
3707         suffix.
3708         (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
3709         a device.
3710         (struct gomp_offload_icv_list): Definition of a linked list that holds
3711         device-specific ICVs that are copied to devices.
3712         (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3713         (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3714         * libgomp.texi: Updated.
3715         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
3716         further ICVs from the offload image.
3717         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3718         * target.c (gomp_get_offload_icv_item): Get a list item of
3719         gomp_offload_icv_list.
3720         (get_gomp_offload_icvs): New. Returns the ICV values
3721         depending on the device num and the variable hierarchy.
3722         (gomp_load_image_to_device): Extended to copy further ICVs to a device.
3723         * testsuite/libgomp.c-c++-common/icv-5.c: New test.
3724         * testsuite/libgomp.c-c++-common/icv-6.c: New test.
3725         * testsuite/libgomp.c-c++-common/icv-7.c: New test.
3726         * testsuite/libgomp.c-c++-common/icv-8.c: New test.
3727         * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
3728         * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
3730 2022-09-08  Jakub Jelinek  <jakub@redhat.com>
3732         * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
3733         fully supported.
3734         * testsuite/libgomp.c/doacross-4.c: New test.
3735         * testsuite/libgomp.c/doacross-5.c: New test.
3736         * testsuite/libgomp.c/doacross-6.c: New test.
3737         * testsuite/libgomp.c/doacross-7.c: New test.
3739 2022-09-05  Tobias Burnus  <tobias@codesourcery.com>
3741         * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
3743 2022-08-26  Tobias Burnus  <tobias@codesourcery.com>
3745         * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
3746         refer to 'requires'.
3747         * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
3748         * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
3749         * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
3750         * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
3752 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
3754         PR middle-end/106548
3755         * testsuite/libgomp.c/linear-2.c: New test.
3757 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
3759         * splay-tree.h: Fix splay_* macro unsetting if
3760         splay_tree_prefix is defined.
3762 2022-07-29  Tobias Burnus  <tobias@codesourcery.com>
3764         * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
3766 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
3768         PR middle-end/106449
3769         * testsuite/libgomp.c-c++-common/pr106449.c: New test.
3771 2022-07-12  Tobias Burnus  <tobias@codesourcery.com>
3773         * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
3775 2022-07-12  Thomas Schwinge  <thomas@codesourcery.com>
3777         PR middle-end/101551
3778         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
3779         'offloading_enabled' diagnostics issue.
3781 2022-07-11  Thomas Schwinge  <thomas@codesourcery.com>
3783         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
3784         '_Pragma' diagnostics verification.
3786 2022-07-10  Lewis Hyatt  <lhyatt@gmail.com>
3788         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
3789         improved warning locations.
3790         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
3792 2022-07-08  Thomas Schwinge  <thomas@codesourcery.com>
3794         * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
3795         * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
3796         * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3797         * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3798         * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3800 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
3802         * target.c (GOMP_offload_register, GOMP_offload_unregister):
3803         Denote as legacy entry points.
3804         * testsuite/lib/libgomp.exp
3805         (check_effective_target_offload_target_any): New proc.
3806         * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
3807         'offload_target_any'.
3808         * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3809         * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3810         * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3812 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
3814         * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
3815         * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3817 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
3819         * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
3821 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
3823         * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
3824         'data'.
3825         (GOMP_offload_unregister_ver): Likewise.  Fix up 'target_data'.
3827 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
3828             Jakub Jelinek  <jakub@redhat.com>
3830         * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
3832 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
3833             Chung-Lin Tang  <cltang@codesourcery.com>
3834             Thomas Schwinge  <thomas@codesourcery.com>
3836         * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
3837         omp_requires_mask arg.
3838         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
3839         return -1 when device available but omp_requires_mask != 0.
3840         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
3841         * oacc-host.c (host_get_num_devices, host_openacc_get_property):
3842         Update call.
3843         * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
3844         goacc_attach_host_thread_to_device, acc_get_num_devices,
3845         acc_set_device_num, get_property_any): Likewise.
3846         * target.c (omp_requires_mask): New global var.
3847         (gomp_requires_to_name): New.
3848         (GOMP_offload_register_ver): Handle passed omp_requires_mask.
3849         (gomp_target_init): Handle omp_requires_mask.
3850         * libgomp.texi (OpenMP 5.0): Update requires impl. status.
3851         (OpenMP 5.1): Add a missed item.
3852         (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
3853         * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
3854         * testsuite/libgomp.c-c++-common/requires-1.c: New test.
3855         * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
3856         * testsuite/libgomp.c-c++-common/requires-2.c: New test.
3857         * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
3858         * testsuite/libgomp.c-c++-common/requires-3.c: New test.
3859         * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
3860         * testsuite/libgomp.c-c++-common/requires-4.c: New test.
3861         * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
3862         * testsuite/libgomp.c-c++-common/requires-5.c: New test.
3863         * testsuite/libgomp.c-c++-common/requires-6.c: New test.
3864         * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
3865         * testsuite/libgomp.c-c++-common/requires-7.c: New test.
3866         * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
3867         * testsuite/libgomp.fortran/requires-1.f90: New test.
3869 2022-07-01  Tobias Burnus  <tobias@codesourcery.com>
3871         * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
3872         with fromto as implemented.
3874 2022-06-28  Martin Liska  <mliska@suse.cz>
3876         * acinclude.m4: Fix typo in mold linker detection.
3877         * Makefile.in: Regenerate.
3878         * configure: Regenerate.
3880 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
3881             Paul Iannetta  <piannetta@kalrayinc.com>
3883         PR libgomp/106045
3884         * testsuite/libgomp.c/target-31.c: Add private (i) clause.
3886 2022-06-17  Martin Liska  <mliska@suse.cz>
3888         * libgomp.texi: Add table header for new features of
3889         OpenMP 5.2.
3891 2022-06-15  Jakub Jelinek  <jakub@redhat.com>
3893         * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
3894         q to ddress of an automatic variable.  Use -5 instead of -1 in
3895         omp_get_mapped_ptr call.  Add test with omp_initial_device.
3896         * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
3897         of -1 in omp_get_mapped_ptr call.  Add test with omp_initial_device.
3898         Renumber stop arguments afterwards.
3900 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
3902         * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
3903         * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
3904         parameters.
3905         * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
3906         * target.c (resolve_device): Add remapped argument, handle
3907         GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
3908         for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
3909         if remapped, otherwise treat omp_initial_device that way.  For
3910         omp_invalid_device, always emit gomp_fatal, even when
3911         OMP_TARGET_OFFLOAD isn't mandatory.
3912         (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
3913         GOMP_target_update, GOMP_target_update_ext,
3914         GOMP_target_enter_exit_data): Pass true as remapped argument to
3915         resolve_device.
3916         (omp_target_alloc, omp_target_free, omp_target_is_present,
3917         omp_target_memcpy_check, omp_target_associate_ptr,
3918         omp_target_disassociate_ptr, omp_get_mapped_ptr,
3919         omp_target_is_accessible): Pass false as remapped argument to
3920         resolve_device.  Treat omp_initial_device the same as
3921         gomp_get_num_devices ().  Don't bypass resolve_device calls if
3922         device_num is negative.
3923         (omp_pause_resource): Treat omp_initial_device the same as
3924         gomp_get_num_devices ().  Call resolve_device.
3925         * icv-device.c (omp_set_default_device): Always set to device_num
3926         even when it is negative.
3927         * libgomp.texi: Document that Conforming device numbers,
3928         omp_initial_device and omp_invalid_device is implemented.
3929         * testsuite/libgomp.c/target-41.c (main): Add test with
3930         omp_initial_device.
3931         * testsuite/libgomp.c/target-45.c: New test.
3932         * testsuite/libgomp.c/target-46.c: New test.
3933         * testsuite/libgomp.c/target-47.c: New test.
3934         * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
3935         test with omp_initial_device.  Use -5 instead of -1 for negative value
3936         test.
3937         * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
3938         Likewise.  Reorder stop numbers.
3940 2022-06-10  Jakub Jelinek  <jakub@redhat.com>
3942         * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
3943         rather than "libmemkind.so".
3945 2022-06-10  Thomas Schwinge  <thomas@codesourcery.com>
3947         * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
3948         * plugin/configfrag.ac (--with-cuda-driver)
3949         (--with-cuda-driver-include, --with-cuda-driver-lib)
3950         (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
3951         (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
3952         Remove.
3953         * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
3954         (cuda_driver_lib): Remove.
3955         * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
3956         * Makefile.in: Regenerate.
3957         * configure: Likewise.
3958         * testsuite/Makefile.in: Likewise.
3960 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
3962         * config/linux/allocator.c: Fix up #include directive.
3964 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
3966         * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
3967         (enum gomp_memkind_kind): New type.
3968         (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
3969         is defined.
3970         (struct gomp_memkind_data): New type.
3971         (memkind_data, memkind_data_once): New variables.
3972         (gomp_init_memkind, gomp_get_memkind): New functions.
3973         (omp_init_allocator): Initialize data.memkind, don't fail for
3974         omp_high_bw_mem_space if libmemkind supports it.
3975         (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
3976         memkind support of LIBGOMP_USE_MEMKIND is defined.
3977         * config/linux/allocator.c: New file.
3979 2022-06-03  Tobias Burnus  <tobias@codesourcery.com>
3981         * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
3982         * testsuite/libgomp.fortran/scope-2.f90: New test.
3984 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
3986         * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
3988 2022-05-31  Jakub Jelinek  <jakub@redhat.com>
3990         * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
3991         scope construct with allocate clause.
3992         * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
3993         * testsuite/libgomp.c-c++-common/scope-2.c: New test.
3995 2022-05-28  Tobias Burnus  <tobias@codesourcery.com>
3997         * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
3998         * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
3999         explicit 'to' and 'enter' clause.
4000         * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
4002 2022-05-28  Jakub Jelinek  <jakub@redhat.com>
4004         PR libgomp/105745
4005         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
4006         defined(HAVE__ALIGNED_MALLOC) case.
4007         * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
4008         handling as last option before fallback instead of first.
4009         (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
4010         _aligned_free.
4012 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
4014         * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
4015         clauses to enter.
4016         * testsuite/libgomp.c/target-41.c: Likewise.
4018 2022-05-27  Tobias Burnus  <tobias@codesourcery.com>
4020         * libgomp.texi (Other new OpenMP 5.1 features): Add
4021         'begin declare target'.
4022         (Other new OpenMP 5.2 features): New.
4024 2022-05-25  Jakub Jelinek  <jakub@redhat.com>
4026         * task.c (gomp_task_run_post_handle_dependers): If empty_task
4027         is the last task taskwait depend depends on, wake it up.
4028         Similarly if it is the last child of a taskgroup, use atomic
4029         store instead of decrement and awak taskgroup wait if any.
4030         * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
4032 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
4034         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
4035         EF_AMDGPU_MACH_AMDGCN_GFX90a.
4036         (gcn_gfx90a_s): New.
4037         (isa_hsa_name): Support gfx90a.
4038         (isa_code): Likewise.
4040 2022-05-24  Tobias Burnus  <tobias@codesourcery.com>
4042         PR c/105378
4043         * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
4044         * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
4046 2022-05-24  Jakub Jelinek  <jakub@redhat.com>
4048         PR c/105378
4049         * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
4050         * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
4051         * task.c (empty_task): New function.
4052         (gomp_task_run_post_handle_depend_hash): Declare earlier.
4053         (gomp_task_run_post_handle_depend): Declare.
4054         (GOMP_task): Optimize fn == empty_task if there is nothing to wait
4055         for.
4056         (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
4057         (GOMP_taskwait_depend_nowait): New function.
4058         * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
4060 2022-05-23  Tobias Burnus  <tobias@codesourcery.com>
4062         PR fortran/104949
4063         * target.c (gomp_map_vars_internal, copy_firstprivate_data):
4064         Support attach for GOMP_MAP_FIRSTPRIVATE.
4065         * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
4066         * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
4067         * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
4069 2022-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
4071         * libgomp.map: Added omp_target_memcpy_async and
4072         omp_target_memcpy_rect_async.
4073         * libgomp.texi: Both functions are now supported.
4074         * omp.h.in: Added omp_target_memcpy_async and
4075         omp_target_memcpy_rect_async.
4076         * omp_lib.f90.in: Added interfaces for both new functions.
4077         * omp_lib.h.in: Likewise.
4078         * target.c (ialias_redirect): Added for GOMP_task.
4079         (omp_target_memcpy): Restructured into check and copy part.
4080         (omp_target_memcpy_check): New helper function for omp_target_memcpy and
4081         omp_target_memcpy_async that checks requirements.
4082         (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
4083         omp_target_memcpy_async that performs the memcpy.
4084         (omp_target_memcpy_async_helper): New helper function that is used in
4085         omp_target_memcpy_async for the asynchronous task.
4086         (omp_target_memcpy_async): Added.
4087         (omp_target_memcpy_rect): Restructured into check and copy part.
4088         (omp_target_memcpy_rect_check): New helper function for
4089         omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
4090         requirements.
4091         (omp_target_memcpy_rect_copy): New helper function for
4092         omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
4093         the memcpy.
4094         (omp_target_memcpy_rect_async_helper): New helper function that is used
4095         in omp_target_memcpy_rect_async for the asynchronous task.
4096         (omp_target_memcpy_rect_async): Added.
4097         * task.c (ialias): Added for GOMP_task.
4098         * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
4099         * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
4100         * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
4101         * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
4102         * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
4103         * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
4104         * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
4105         * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
4107 2022-05-18  Tobias Burnus  <tobias@codesourcery.com>
4109         * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
4110         (OpenMP Context Selectors): Add missing comma.
4111         * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
4112         * testsuite/libgomp.fortran/depend-6.f90: Likewise.
4113         * testsuite/libgomp.fortran/depend-7.f90: Likewise.
4114         * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
4116 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
4118         * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
4119         comment for omp_display_env feature.
4121 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
4123         * libgomp.texi (Offload-Target Specifics): New chapter; add section
4124         to document OpenMP context selectors.
4126 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
4128         * libgomp.h (struct gomp_task_depend_entry): Change is_in type
4129         from bool to unsigned char.
4130         * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
4131         Ignore dependencies where
4132         task->depend[i].is_in && task->depend[i].is_in == ent->is_in
4133         rather than just task->depend[i].is_in && ent->is_in.  Remember
4134         whether GOMP_DEPEND_IN loop is needed and guard the loop with that
4135         conditional.
4136         (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
4137         Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
4138         rather than just elem.is_in && ent->is_in.
4139         * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
4140         inoutset depend-kind.
4141         * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
4142         * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
4143         * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
4145 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
4147         * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
4149 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
4151         * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
4152         * testsuite/libgomp.fortran/depend-5.f90: New test.
4153         * testsuite/libgomp.fortran/depend-6.f90: New test.
4154         * testsuite/libgomp.fortran/depend-7.f90: New test.
4156 2022-05-16  Marcel Vollweiler  <marcel@codesourcery.com>
4158         * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
4159         * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
4160         * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
4162 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
4164         * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
4166 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
4168         * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
4170 2022-05-13  Thomas Schwinge  <thomas@codesourcery.com>
4172         * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
4173         [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
4174         (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
4175         append '$(PLUGIN_NVPTX_LDFLAGS)'.
4176         * Makefile.in: Regenerate.
4178 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
4180         * Makefile.am (libgomp_la_LIBADD): Initialize.
4181         * plugin/configfrag.ac (DL_LIBS): New.
4182         (PLUGIN_GCN_LIBS): Remove.
4183         (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
4184         * plugin/Makefrag.am (libgomp_la_LIBADD)
4185         (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
4186         (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
4187         * Makefile.in: Regenerate.
4188         * config.h.in: Likewise.
4189         * configure: Likewise.
4190         * testsuite/Makefile.in: Likewise.
4192 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
4194         * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
4195         * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
4196         'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
4197         * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
4198         'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
4199         'PLUGIN_NVPTX_LINK_LIBCUDA'.
4200         * Makefile.in: Regenerate.
4201         * config.h.in: Likewise.
4202         * configure: Likewise.
4204 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
4206         * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
4207         for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
4208         * Makefile.in: Regenerate.
4209         * config.h.in: Likewise.
4210         * configure: Likewise.
4211         * testsuite/Makefile.in: Likewise.
4213 2022-05-12  Jakub Jelinek  <jakub@redhat.com>
4215         * libgomp.h (struct gomp_task): Add depend_all_memory member.
4216         * task.c (gomp_init_task): Initialize depend_all_memory.
4217         (gomp_task_handle_depend): Handle omp_all_memory.
4218         (gomp_task_run_post_handle_depend_hash): Clear
4219         parent->depend_all_memory if equal to current task.
4220         (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
4221         * testsuite/libgomp.c-c++-common/depend-1.c: New test.
4222         * testsuite/libgomp.c-c++-common/depend-2.c: New test.
4223         * testsuite/libgomp.c-c++-common/depend-3.c: New test.
4225 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
4227         * plugin/configfrag.ac: Remove '--with-hsa-runtime',
4228         '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
4229         * Makefile.in: Regenerate.
4230         * configure: Likewise.
4231         * testsuite/Makefile.in: Likewise.
4233 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
4235         * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
4236         consider 'PLUGIN_GCN_CPPFLAGS'.
4237         (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
4238         'PLUGIN_GCN_LDFLAGS'.
4239         * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
4240         Remove.
4241         * Makefile.in: Regenerate.
4242         * configure: Likewise.
4243         * testsuite/Makefile.in: Likewise.
4245 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
4247         * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
4248         (HSA_RUNTIME_LDFLAGS): Remove.
4249         * configure: Regenerate.
4251 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
4253         * testsuite/lib/libgomp.exp (libgomp_init): Don't
4254         'append always_ld_library_path ":$hsa_runtime_lib"'.
4255         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
4257 2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
4259         * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
4260         multi-device testing.
4262 2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
4264         * libgomp.map: Added omp_target_is_accessible.
4265         * libgomp.texi: Tagged omp_target_is_accessible as supported.
4266         * omp.h.in: Added omp_target_is_accessible.
4267         * omp_lib.f90.in: Added interface for omp_target_is_accessible.
4268         * omp_lib.h.in: Likewise.
4269         * target.c (omp_target_is_accessible): Added implementation of
4270         omp_target_is_accessible.
4271         * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
4272         * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
4274 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
4276         * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
4278 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
4280         * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
4282 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
4284         * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
4286 2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
4288         * libgomp.map: Added omp_get_mapped_ptr.
4289         * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
4290         * omp.h.in: Added omp_get_mapped_ptr.
4291         * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
4292         * omp_lib.h.in: Likewise.
4293         * target.c (omp_get_mapped_ptr): Added implementation of
4294         omp_get_mapped_ptr.
4295         * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
4296         * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
4297         * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
4298         * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
4299         * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
4300         * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
4301         * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
4302         * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
4304 2022-04-28  Thomas Schwinge  <thomas@codesourcery.com>
4306         PR fortran/104717
4307         * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
4308         privatization scanning.  For GCN offloading compilation, raise
4309         '-mgang-private-size'.
4311 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
4313         PR libgomp/105358
4314         * work.c (gomp_init_work_share): Don't mask of adjustment for
4315         dynamic long long realignment if struct gomp_work_share has smaller
4316         alignof than long long.
4317         * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
4318         struct gomp_work_share has smaller alignof than long long or if
4319         sizeof (struct gomp_work_share) is smaller than
4320         INLINE_ORDERED_TEAM_IDS_OFF.
4321         * loop_ull.c (GOMP_loop_ull_start): Likewise.
4322         * sections.c (GOMP_sections2_start): Likewise.
4324 2022-04-25  Jakub Jelinek  <jakub@redhat.com>
4325             Thomas Schwinge  <thomas@codesourcery.com>
4327         PR fortran/104717
4328         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
4330 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
4332         * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
4334 2022-04-06  Thomas Schwinge  <thomas@codesourcery.com>
4336         * plugin/cuda/cuda.h: Remove file.
4337         * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
4338         "cuda/cuda.h" instead of <cuda.h>.
4339         * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
4340         'PLUGIN_NVPTX_CPPFLAGS'.
4341         * configure: Regenerate.
4343 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
4345         * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
4347 2022-04-04  Tom de Vries  <tdevries@suse.de>
4349         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
4350         on_device_arch_nvptx instead of offload_target_nvptx.
4351         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4353 2022-04-01  Tom de Vries  <tdevries@suse.de>
4355         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
4356         and use REC_DEPTH.
4357         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4359 2022-04-01  Tom de Vries  <tdevries@suse.de>
4361         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
4362         num_workers check.
4364 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
4365             Lulu Cheng  <chenglulu@loongson.cn>
4367         * configure.tgt: Add LoongArch triplet.
4369 2022-03-28  Tom de Vries  <tdevries@suse.de>
4371         * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
4372         instead of /libexec/.
4373         * configure: Regenerate.
4375 2022-03-25  Tom de Vries  <tdevries@suse.de>
4377         PR libgomp/105042
4378         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
4379         execution time.
4380         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
4381         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
4383 2022-03-23  Tobias Burnus  <tobias@codesourcery.com>
4385         PR middle-end/104285
4386         * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
4387         * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
4388         * testsuite/libgomp.c++/target-same-name-2.C: New test.
4389         * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
4390         * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
4391         * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
4393 2022-03-22  Tom de Vries  <tdevries@suse.de>
4395         PR target/104916
4396         PR target/104783
4397         * testsuite/libgomp.c/pr104783-2.c: New test.
4399 2022-03-18  Tobias Burnus  <tobias@codesourcery.com>
4401         PR fortran/103039
4402         * testsuite/libgomp.fortran/associate4.f90: New test.
4404 2022-03-18  Tom de Vries  <tdevries@suse.de>
4406         PR target/104952
4407         * testsuite/libgomp.c/pr104952-1.c: New test.
4408         * testsuite/libgomp.c/pr104952-2.c: New test.
4410 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
4412         * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
4413         variable next to pl variable.
4415 2022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
4417         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4418         Enhance.
4419         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4420         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4422 2022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
4424         PR middle-end/90115
4425         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
4426         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4428 2022-03-16  Marcel Vollweiler  <marcel@codesourcery.com>
4430         * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
4431         omp_set_max_active_levels.
4432         * testsuite/libgomp.fortran/icv-8.f90: New test.
4434 2022-03-16  Thomas Schwinge  <thomas@codesourcery.com>
4436         PR testsuite/102841
4437         * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
4439 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
4441         * libgomp.texi: Fix typo.
4443 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
4445         PR middle-end/100280
4446         PR middle-end/104892
4447         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
4448         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
4449         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4450         Likewise.
4451         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4452         Likewise.
4453         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4454         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4455         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4456         Likewise.
4458 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
4460         PR middle-end/104892
4461         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
4462         to PR104892.
4463         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
4464         enable '--param=openacc-kernels=decompose' and adjust.
4465         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4466         Likewise.
4467         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4468         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4469         Likewise.
4471 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
4473         PR middle-end/90115
4474         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
4475         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
4476         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4477         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
4479 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
4481         PR middle-end/100280
4482         PR middle-end/104086
4483         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4484         Merge this...
4485         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4486         ..., and this...
4487         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
4488         this, and adjust.
4489         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4490         Extend.
4492 2022-03-10  Hafiz Abid Qadeer  <abidh@codesourcery.com>
4494         * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
4495         trait.  Test last index in w and v array.  Remove redundant
4496         assignment to V(1).  Move alignment checks at the end of
4497         parallel region.
4499 2022-03-10  Tom de Vries  <tdevries@suse.de>
4501         * testsuite/libgomp.c/pr104783.c: New test.
4503 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
4505         PR middle-end/90115
4506         PR middle-end/102330
4507         PR middle-end/104774
4508         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4509         Enhance.
4510         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4511         Adjust.
4512         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4513         Likewise.
4514         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4515         Likewise.
4516         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4517         Likewise.
4518         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4519         Likewise.
4520         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4521         Likewise.
4522         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4523         Likewise.
4524         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4525         Likewise.
4526         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4527         Likewise.
4528         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4529         Likewise.
4530         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4531         Likewise.
4532         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4533         Likewise.
4534         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4535         Likewise.
4536         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
4537         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4538         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4540 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
4542         PR middle-end/90115
4543         * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
4544         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4545         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4546         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4548 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4550         PR testsuite/104791
4551         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
4552         expected diagnostics.
4554 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4556         PR middle-end/104784
4557         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4558         Test with '--param=openacc-kernels=decompose'.
4559         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4560         Likewise.
4561         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4562         Likewise.
4563         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4564         Likewise.
4565         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4566         Likewise.
4567         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4568         Likewise.
4569         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4570         Likewise.
4571         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4572         Likewise.
4573         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4574         Likewise.
4575         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4576         Likewise.
4577         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4578         Likewise.
4579         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4580         Likewise.
4581         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4582         Likewise.
4583         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4584         Likewise.
4585         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4586         Likewise.
4587         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4588         Likewise.
4589         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4590         Likewise.
4591         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4592         Likewise.
4593         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4594         Likewise.
4595         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4596         Likewise.
4597         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4598         Likewise.
4599         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4600         Likewise.
4601         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4602         Likewise.
4603         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4604         Likewise.
4605         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4606         Likewise.
4607         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4608         Likewise.
4609         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4610         Likewise.
4611         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4612         Likewise.
4613         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4614         Likewise.
4615         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4616         Likewise.
4617         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4618         Likewise.
4619         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4620         Likewise.
4621         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4622         Likewise.
4624 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4626         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4627         Test '-fopt-info-omp-all'.
4628         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4629         Likewise.
4630         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4631         Likewise.
4632         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4633         Likewise.
4634         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4635         Likewise.
4636         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4637         Likewise.
4638         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4639         Likewise.
4640         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4641         Likewise.
4642         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4643         Likewise.
4644         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4645         Likewise.
4646         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4647         Likewise.
4648         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4649         Likewise.
4650         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4651         Likewise.
4652         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4653         Likewise.
4654         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4655         Likewise.
4656         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4657         Likewise.
4658         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4659         Likewise.
4660         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4661         Likewise.
4662         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4663         Likewise.
4664         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4665         Likewise.
4666         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4667         Likewise.
4668         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4669         Likewise.
4670         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4671         Likewise.
4672         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4673         Likewise.
4674         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4675         Likewise.
4676         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4677         Likewise.
4678         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4679         Likewise.
4680         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4681         Likewise.
4682         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4683         Likewise.
4684         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4685         Likewise.
4686         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4687         Likewise.
4688         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4689         Likewise.
4690         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4691         Likewise.
4693 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4695         PR middle-end/100280
4696         PR middle-end/104132
4697         PR middle-end/104133
4698         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4699         Extend.
4701 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4703         PR middle-end/100280
4704         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4705         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4706         Likewise.
4708 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4710         PR middle-end/100280
4711         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4712         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4713         Likewise.
4715 2022-02-28  Tom de Vries  <tdevries@suse.de>
4717         * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
4718         * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
4719         * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
4720         * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
4721         * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
4722         * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
4724 2022-02-24  Tom de Vries  <tdevries@suse.de>
4726         * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
4727         * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
4728         * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
4729         * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
4730         * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
4731         * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
4732         * testsuite/libgomp.c/declare-variant-3.h: New header file.
4734 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
4736         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
4737         gang-redundant execution.
4739 2022-02-22  Tom de Vries  <tdevries@suse.de>
4741         PR target/99555
4742         * config/nvptx/bar.c (generation_to_barrier): New function, copied
4743         from config/rtems/bar.c.
4744         (futex_wait, futex_wake): New function.
4745         (do_spin, do_wait): New function, copied from config/linux/wait.h.
4746         (gomp_barrier_wait_end, gomp_barrier_wait_last)
4747         (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
4748         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
4749         and replace with include of config/linux/bar.c.
4750         * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
4751         (gomp_barrier_init): Init new fields.
4752         * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
4753         workarounds.
4754         * testsuite/libgomp.c/pr99555-1.c: Same.
4755         * testsuite/libgomp.fortran/task-detach-6.f90: Same.
4757 2022-02-22  Tom de Vries  <tdevries@suse.de>
4759         PR testsuite/104146
4760         * testsuite/libgomp.c++/pr96390.C: Add additional-option
4761         -foffload=-Wa,--verify for nvptx.
4762         * testsuite/libgomp.c-c++-common/pr96390.c: Same.
4764 2022-02-15  Tobias Burnus  <tobias@codesourcery.com>
4766         * testsuite/libgomp.fortran/depend-4.f90: New test.
4768 2022-02-10  Tobias Burnus  <tobias@codesourcery.com>
4770         PR c++/102204
4771         * testsuite/libgomp.c++/target-virtual-1.C: New test.
4773 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
4775         * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
4776         * target.c (copy_firstprivate_data): Copy only if host address is not
4777         NULL.
4778         * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
4779         * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
4780         * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
4781         * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
4782         * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
4783         * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
4784         * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
4785         * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
4786         * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
4787         * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
4789 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
4791         PR libgomp/104385
4792         * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
4793         clear task->parent.
4794         * testsuite/libgomp.c/pr104385.c: New test.
4796 2022-02-04  Tobias Burnus  <tobias@codesourcery.com>
4798         * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
4799         STOP of previous commit.
4801 2022-02-04  Tobias Burnus  <tobias@codesourcery.com>
4803         * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
4804         from is_64bit_aligned_.
4805         * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
4806         and use it, more implicit none, remove unused argument.
4808 2022-02-03  David Seifert  <soap@gentoo.org>
4809             Jakub Jelinek  <jakub@redhat.com>
4811         * configure.ac: Support --disable-werror.
4812         * configure: Regenerate.
4814 2022-02-01  Tom de Vries  <tdevries@suse.de>
4816         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
4817         PR83812 workaround.
4818         * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
4819         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
4821 2022-02-01  Tom de Vries  <tdevries@suse.de>
4823         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
4824         num_workers for nvidia accelerator to fix libgomp error 'insufficient
4825         resources'.
4826         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4827         Same.
4828         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
4830 2022-02-01  Tom de Vries  <tdevries@suse.de>
4832         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4833         recursion depth.
4834         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4836 2022-01-31  Martin Liska  <mliska@suse.cz>
4838         * acinclude.m4: Detect *_ld_is_mold and use it.
4839         * configure: Regenerate.
4841 2022-01-27  Tobias Burnus  <tobias@codesourcery.com>
4843         * libgomp.texi (OpenMP 5.0): Update implementation status.
4845 2022-01-21  Thomas Schwinge  <thomas@codesourcery.com>
4847         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
4848         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4849         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4850         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4851         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4852         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4853         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4854         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4855         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4856         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4857         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4858         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4859         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4860         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4861         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4863 2022-01-19  Marcel Vollweiler  <marcel@codesourcery.com>
4865         * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
4866         "static") to make the device num available in the offload image.
4868 2022-01-19  Martin Liska  <mliska@suse.cz>
4869             Thomas Schwinge  <thomas@codesourcery.com>
4871         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
4872         patterns.
4873         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4874         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4875         Likewise.
4876         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4877         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4878         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4879         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4880         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4881         Likewise.
4882         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
4883         Likewise.
4884         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
4885         Likewise.
4886         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
4887         Likewise.
4888         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
4889         Likewise.
4890         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
4891         Likewise.
4892         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4893         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4894         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4896 2022-01-18  Martin Liska  <mliska@suse.cz>
4898         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
4899         in dg-warning.
4900         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4901         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4902         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4903         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4904         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4905         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4906         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
4907         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
4908         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
4909         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
4910         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
4911         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
4912         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4913         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4914         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4916 2022-01-17  Thomas Schwinge  <thomas@codesourcery.com>
4918         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
4919         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4920         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4922 2022-01-17  Julian Brown  <julian@codesourcery.com>
4923             Thomas Schwinge  <thomas@codesourcery.com>
4925         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
4926         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
4927         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
4929 2022-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
4930             Andrew Stubbs   <ams@codesourcery.com>
4932         * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
4933         the number of teams and threads if necessary.
4934         (gcn_exec): Automatically set the number of gangs and workers if
4935         necessary.
4937 2022-01-13  Hafiz Abid Qadeer  <abidh@codesourcery.com>
4939         * testsuite/libgomp.fortran/allocate-1.c: New test.
4940         * testsuite/libgomp.fortran/allocate-1.f90: New test.
4941         * libgomp.texi: Remove string that says that allocate clause
4942         support is for C/C++ only.
4944 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4946         * testsuite/libgomp.c-c++-common/on_device_arch.h
4947         (any_device_arch, any_device_arch_intel_mic): New.
4948         * testsuite/lib/libgomp.exp
4949         (check_effective_target_offload_device_any_intel_mic): New.
4950         * testsuite/libgomp.c-c++-common/target-45.c: Use it.
4951         * testsuite/libgomp.fortran/target10.f90: Likewise.
4953 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4955         PR tree-optimization/102192
4956         * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
4957         '-Wuninitialized' diagnostics.
4959 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4961         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
4962         current '-Wuninitialized' diagnostics.
4963         * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
4964         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
4965         * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
4966         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
4967         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4968         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4969         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
4970         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4971         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4972         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4973         * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
4974         Likewise.
4976 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4978         * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
4979         for 'offload_device_intel_mic'.
4981 2022-01-13  Julian Brown  <julian@codesourcery.com>
4982             Thomas Schwinge  <thomas@codesourcery.com>
4984         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
4985         offloading execution XFAIL.
4987 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4989         PR middle-end/100280
4990         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4991         Update.
4992         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4993         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4994         Likewise.
4996 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4998         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4999         Enhance.
5000         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
5001         Likewise.
5002         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
5003         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
5004         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
5005         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
5006         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5007         Likewise.
5008         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5009         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5010         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5011         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
5013 2022-01-04  Tobias Burnus  <tobias@codesourcery.com>
5015         * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
5016         * testsuite/libgomp.fortran/target10.f90: Likewise.
5018 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
5020         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
5021         into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
5022         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
5024 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
5026         * libgomp.texi: Bump @copying's copyright year.
5028 2021-12-13  Tobias Burnus  <tobias@codesourcery.com>
5030         * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
5031         * testsuite/libgomp.fortran/atomic-19.f90: New test.
5033 2021-12-10  Andrew Stubbs  <ams@codesourcery.com>
5035         * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
5036         (GOMP_OFFLOAD_load_image): Locate the offload variables via the
5037         table, not individual symbols.
5039 2021-12-09  Chung-Lin Tang  <cltang@codesourcery.com>
5041         * testsuite/libgomp.c++/target-lambda-1.C: Only run under
5042         "target offload_device_nonshared_as"
5043         * testsuite/libgomp.c++/target-this-3.C: Likewise.
5044         * testsuite/libgomp.c++/target-this-4.C: Likewise.
5046 2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
5048         * target.c (gomp_map_vars_existing): Make sure attached pointer is
5049         not overwritten during cross-host/device copying.
5050         (gomp_update): Likewise.
5051         (gomp_exit_data): Likewise.
5052         * testsuite/libgomp.c++/target-11.C: Adjust testcase.
5053         * testsuite/libgomp.c++/target-12.C: Likewise.
5054         * testsuite/libgomp.c++/target-15.C: Likewise.
5055         * testsuite/libgomp.c++/target-16.C: Likewise.
5056         * testsuite/libgomp.c++/target-17.C: Likewise.
5057         * testsuite/libgomp.c++/target-21.C: Likewise.
5058         * testsuite/libgomp.c++/target-23.C: Likewise.
5059         * testsuite/libgomp.c/target-23.c: Likewise.
5060         * testsuite/libgomp.c/target-29.c: Likewise.
5061         * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
5063 2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
5065         PR middle-end/92120
5066         * libgomp.h (gomp_attach_pointer): Add bool parameter.
5067         * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
5068         (goacc_enter_data_internal): Likewise.
5069         * target.c (gomp_map_vars_existing): Update assert condition to
5070         include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
5071         (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
5072         parameter, add support for mapping a pointer with NULL target.
5073         (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
5074         parameter, add support for attaching a pointer with NULL target.
5075         (gomp_map_vars_internal): Update calls to gomp_map_pointer and
5076         gomp_attach_pointer, add handling for
5077         GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
5078         GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
5079         * testsuite/libgomp.c++/target-23.C: New testcase.
5080         * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
5081         * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
5082         * testsuite/libgomp.c++/target-this-1.C: New testcase.
5083         * testsuite/libgomp.c++/target-this-2.C: New testcase.
5084         * testsuite/libgomp.c++/target-this-3.C: New testcase.
5085         * testsuite/libgomp.c++/target-this-4.C: New testcase.
5086         * testsuite/libgomp.c++/target-this-5.C: New testcase.
5088 2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
5090         * libgomp.texi (OpenMP 5.1): Update status.
5092 2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
5094         * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
5096 2021-12-02  Chung-Lin Tang  <cltang@codesourcery.com>
5098         PR fortran/90030
5099         * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
5100         * testsuite/libgomp.fortran/pr90030.f90: New test.
5102 2021-11-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
5103             Thomas Schwinge  <thomas@codesourcery.com>
5105         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
5106         temporary skip.
5108 2021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
5109             Thomas Schwinge  <thomas@codesourcery.com>
5111         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
5112         skip.
5114 2021-11-29  Richard Biener  <rguenther@suse.de>
5116         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
5117         return.
5119 2021-11-24  Jakub Jelinek  <jakub@redhat.com>
5121         PR middle-end/103384
5122         * testsuite/libgomp.c/declare-variant-2.c: New test.
5124 2021-11-18  David Edelsohn  <dje.gcc@gmail.com>
5126         * alloc.c (gomp_aligned_alloc): Fix typo.
5128 2021-11-18  Jakub Jelinek  <jakub@redhat.com>
5130         PR libgomp/102838
5131         * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
5132         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
5133         (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
5134         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
5135         * work.c (alloc_work_share, gomp_work_share_start): Likewise.
5136         * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
5137         gomp_aligned_alloc instead of team_malloc.
5139 2021-11-18  Jakub Jelinek  <jakub@redhat.com>
5141         PR libgomp/102838
5142         * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
5143         memalign over posix_memalign over aligned_alloc over fallback
5144         with malloc instead of aligned_alloc over _aligned_alloc over
5145         posix_memalign over memalign over fallback with malloc.  For
5146         aligned_alloc, round up size up to multiple of al.
5148 2021-11-16  Jakub Jelinek  <jakub@redhat.com>
5150         * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
5151         construct as implemented.
5153 2021-11-15  Tobias Burnus  <tobias@codesourcery.com>
5155         * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
5157 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
5159         * task.c (gomp_create_target_task): Copy args array as well.
5160         * target.c (gomp_target_fallback): Add args argument.
5161         Set gomp_icv (true)->thread_limit_var if thread_limit is present.
5162         (GOMP_target): Adjust gomp_target_fallback caller.
5163         (GOMP_target_ext): Likewise.
5164         (gomp_target_task_fn): Likewise.
5165         * config/nvptx/team.c (gomp_nvptx_main): Set
5166         gomp_global_icv.thread_limit_var.
5167         * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
5169 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
5171         * config/nvptx/team.c (__gomp_team_num): Define as
5172         __attribute__((shared)) var.
5173         (gomp_nvptx_main): Initialize __gomp_team_num to 0.
5174         * config/nvptx/target.c (__gomp_team_num): Declare as
5175         extern __attribute__((shared)) var.
5176         (GOMP_teams4): Use __gomp_team_num as the team number instead of
5177         %ctaid.x.  If first, initialize it to %ctaid.x.  If num_teams_lower
5178         is bigger than num_blocks, use num_teams_lower teams and arrange for
5179         bumping of __gomp_team_num if !first and returning false once we run
5180         out of teams.
5181         * config/nvptx/teams.c (__gomp_team_num): Declare as
5182         extern __attribute__((shared)) var.
5183         (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
5185 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
5187         * testsuite/libgomp.c/teams-5.c: New test.
5189 2021-11-12  Jakub Jelinek  <jakub@redhat.com>
5191         PR target/103201
5192         * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
5193         to ...
5194         * config/gcn/teams.c: ... here.  New file.
5196 2021-11-12  Chung-Lin Tang  <cltang@codesourcery.com>
5198         * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
5199         implicit map handling to allow a "superset" existing map as valid case.
5200         (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
5201         (get_implicit): New function to extract implicit status.
5202         (gomp_map_fields_existing): Adjust arguments in calls to
5203         gomp_map_vars_existing, and add uses of get_implicit.
5204         (gomp_map_vars_internal): Likewise.
5205         * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
5207 2021-11-12  Jakub Jelinek  <jakub@redhat.com>
5209         * libgomp_g.h (GOMP_teams4): Declare.
5210         * libgomp.map (GOMP_5.1): Export GOMP_teams4.
5211         * target.c (GOMP_teams4): New function.
5212         * config/nvptx/target.c (GOMP_teams): Remove.
5213         (GOMP_teams4): New function.
5214         * config/gcn/target.c (GOMP_teams): Remove.
5215         (GOMP_teams4): New function.
5216         * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
5217         teams instead of <= 2.
5218         * testsuite/libgomp.c-c++-common/teams-2.c: New test.
5220 2021-11-11  Tobias Burnus  <tobias@codesourcery.com>
5222         * testsuite/libgomp.fortran/teams-1.f90: New test.
5224 2021-11-11  Jakub Jelinek  <jakub@redhat.com>
5226         * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
5227         * team.c (struct gomp_thread_start_data): Likewise.
5228         (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
5229         (gomp_team_start): Initialize start_data->num_teams and
5230         start_data->team_num.  Update nthr->num_teams and nthr->team_num.
5231         * teams.c (gomp_num_teams, gomp_team_num): Remove.
5232         (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
5233         instead of gomp_num_teams and gomp_team_num.
5234         (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
5235         (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
5236         * testsuite/libgomp.c/teams-4.c: New test.
5238 2021-11-11  Jakub Jelinek  <jakub@redhat.com>
5240         * testsuite/libgomp.c-c++-common/teams-1.c: New test.
5242 2021-11-09  Thomas Schwinge  <thomas@codesourcery.com>
5244         * env.c (parse_gomp_openacc_dim): Restore parsing.
5246 2021-10-30  Tobias Burnus  <tobias@codesourcery.com>
5248         PR middle-end/102972
5249         * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
5250         parallel construct.
5251         * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
5252         * testsuite/libgomp.c/target-3.c: Likewise.
5253         * testsuite/libgomp.c/target-5.c: Likewise.
5254         * testsuite/libgomp.c/target-6.c: Likewise.
5255         * testsuite/libgomp.c/target-teams-1.c: Likewise.
5256         * testsuite/libgomp.c/teams-1.c: Likewise.
5257         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5258         * testsuite/libgomp.c/thread-limit-3.c: Likewise.
5259         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
5260         * testsuite/libgomp.c/thread-limit-5.c: Likewise.
5261         * testsuite/libgomp.fortran/icv-3.f90: Likewise.
5262         * testsuite/libgomp.fortran/icv-4.f90: Likewise.
5263         * testsuite/libgomp.fortran/teams1.f90: Likewise.
5265 2021-10-29  Aldy Hernandez  <aldyh@redhat.com>
5267         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
5268         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5270 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
5272         * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
5273         aren't implemented for Fortran yet.
5275 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
5277         * testsuite/libgomp.c/loop-26.c: New test.
5278         * testsuite/libgomp.c/loop-27.c: New test.
5280 2021-10-25  Tobias Burnus  <tobias@codesourcery.com>
5282         PR testsuite/102910
5283         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
5284         instead of #include <alloca.h> + alloca.
5286 2021-10-21  Chung-Lin Tang  <cltang@codesourcery.com>
5288         * libgomp.texi (Support of strictly structured blocks in Fortran):
5289         Adjust to 'Y'.
5290         * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
5292 2021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
5294         * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
5295         * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
5297 2021-10-20  Jakub Jelinek  <jakub@redhat.com>
5299         PR libgomp/102838
5300         * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
5301         (struct gomp_work_share): Only use aligned(64) attribute if
5302         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
5303         add padding before lock to ensure lock is at offset 64 bytes
5304         into the structure.
5305         (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
5306         New poor man's static assertions.
5307         * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
5308         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
5310 2021-10-20  Aldy Hernandez  <aldyh@redhat.com>
5311             Richard Biener  <rguenther@suse.de>
5313         * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
5315 2021-10-18  Jakub Jelinek  <jakub@redhat.com>
5317         * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
5318         && gomp_places_list_len < count after nfirst <= nlast loop condition.
5320 2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
5322         PR fortran/102086
5323         PR fortran/92189
5324         PR fortran/92621
5325         PR fortran/101308
5326         PR fortran/101309
5327         PR fortran/101635
5328         PR fortran/92482
5329         * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
5331 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
5333         * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
5334         type from char [50] to const char *.
5335         (places_array): Add a testcase for simplified syntax place followed
5336         by length or length and stride.
5338 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
5340         * env.c (parse_one_place): Handle non-negative-number the same
5341         as { non-negative-number }.  Reject even !number:1 and
5342         !number:1:stride or !place:1 or !place:1:stride instead of just
5343         length other than 1.
5344         * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
5345         and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
5346         omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
5347         as implemented.
5348         * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
5349         simplified syntax.
5351 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
5353         * env.c (parse_schedule): For strtoul or strtoull calls which don't
5354         clearly reject return value 0 as invalid handle the case where end
5355         pointer is the same as first argument as invalid.
5356         (parse_unsigned_long_1): Likewise.
5357         (parse_one_place): Likewise.
5358         (parse_places_var): Likewise.
5359         (parse_stacksize): Likewise.
5360         (parse_spincount): Likewise.
5361         (parse_affinity): Likewise.
5362         (parse_gomp_openacc_dim): Likewise.  Avoid strict aliasing violation.
5363         Make code valid C89.
5364         * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
5365         For strtoul calls which don't clearly reject return value 0 as
5366         invalid handle the case where end pointer is the same as first
5367         argument as invalid.
5368         (gomp_affinity_init_level_1): Likewise.
5369         (gomp_affinity_init_numa_domains): Likewise.
5370         * config/rtems/proc.c (parse_thread_pools): Likewise.
5372 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
5374         * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
5375         after creating count places clean up and return immediately.
5376         * testsuite/libgomp.c/places-6.c: New test.
5377         * testsuite/libgomp.c/places-7.c: New test.
5378         * testsuite/libgomp.c/places-8.c: New test.
5379         * testsuite/libgomp.c/places-9.c: New test.
5380         * testsuite/libgomp.c/places-10.c: New test.
5382 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
5384         * env.c (parse_places_var): Handle numa_domains as level 5.
5385         * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
5386         function.
5387         (gomp_affinity_init_level): Use it instead of
5388         gomp_affinity_init_level_1 for level == 5.
5389         * testsuite/libgomp.c/places-5.c: New test.
5391 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
5393         * env.c (parse_places_var): Handle ll_caches as level 4.
5394         * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
5395         function.
5396         (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
5397         last level cache.
5398         (gomp_affinity_init_level): Likewise.
5399         * testsuite/libgomp.c/places-1.c: New test.
5400         * testsuite/libgomp.c/places-2.c: New test.
5401         * testsuite/libgomp.c/places-3.c: New test.
5402         * testsuite/libgomp.c/places-4.c: New test.
5404 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
5406         * libgomp.texi (OpenMP 5.0): Update entry for declare variant
5407         directive.
5409 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
5411         * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
5413 2021-10-12  Julian Brown  <julian@codesourcery.com>
5415         * target.c (gomp_copy_host2dev): Release device lock on cbuf
5416         error path.
5418 2021-10-12  Tobias Burnus  <tobias@codesourcery.com>
5420         * testsuite/libgomp.fortran/icv-3.f90: New.
5421         * testsuite/libgomp.fortran/icv-4.f90: New.
5423 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
5425         * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
5426         omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
5427         OMP_TEAMS_THREAD_LIMIT): Document.
5429 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
5431         * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
5432         to avoid makeinfo warnings.
5434 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
5436         * testsuite/libgomp.c-c++-common/icv-3.c: New test.
5437         * testsuite/libgomp.c-c++-common/icv-4.c: New test.
5439 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
5441         PR libgomp/102628
5442         PR libgomp/102668
5443         * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
5444         allocation sizes from 420 to 320 and from 768 to 568.
5445         * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
5446         * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
5447         for cr from 16 to 4.
5449 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
5451         * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
5452         * testsuite/libgomp.c/scan-12.c: Likewise.
5453         * testsuite/libgomp.c/scan-13.c: Likewise.
5454         * testsuite/libgomp.c/scan-14.c: Likewise.
5455         * testsuite/libgomp.c/scan-15.c: Likewise.
5456         * testsuite/libgomp.c/scan-16.c: Likewise.
5457         * testsuite/libgomp.c/scan-17.c: Likewise.
5458         * testsuite/libgomp.c/scan-18.c: Likewise.
5459         * testsuite/libgomp.c/scan-19.c: Likewise.
5460         * testsuite/libgomp.c/scan-20.c: Likewise.
5461         * testsuite/libgomp.c/scan-21.c: Likewise.
5462         * testsuite/libgomp.c/scan-22.c: Likewise.
5463         * testsuite/libgomp.c++/scan-9.C: Likewise.
5464         * testsuite/libgomp.c++/scan-10.C: Likewise.
5465         * testsuite/libgomp.c++/scan-11.C: Likewise.
5466         * testsuite/libgomp.c++/scan-12.C: Likewise.
5467         * testsuite/libgomp.c++/scan-13.C: Likewise.
5468         * testsuite/libgomp.c++/scan-14.C: Likewise.
5469         * testsuite/libgomp.c++/scan-15.C: Likewise.
5470         * testsuite/libgomp.c++/scan-16.C: Likewise.
5472 2021-10-12  Kewen Lin  <linkw@linux.ibm.com>
5474         * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
5476 2021-10-11  Marcel Vollweiler  <marcel@codesourcery.com>
5478         * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
5479         omp_atv_serialized.
5480         * omp.h.in: Add deprecated flag for omp_atv_sequential.
5481         * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
5482         * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
5483         * testsuite/libgomp.fortran/alloc-12.f90: New test.
5485 2021-10-11  Jakub Jelinek  <jakub@redhat.com>
5487         * omp.h.in (omp_set_num_teams, omp_get_max_teams,
5488         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5489         * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
5490         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5491         * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
5492         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5493         * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
5494         * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
5495         omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
5496         omp_set_teams_thread_limit{,_,_8_}.
5497         * icv.c (omp_set_num_teams, omp_get_max_teams,
5498         omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
5499         functions.
5500         * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
5501         (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
5502         (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
5503         vars.
5504         * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
5505         gomp_teams_thread_limit_var as fallback if not zero.  If num_teams
5506         is not specified, use gomp_nteams_var.
5507         * fortran.c (omp_set_num_teams, omp_get_max_teams,
5508         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
5509         ialias_redirect.
5510         (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
5511         omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
5512         omp_get_teams_thread_limit_): New functions.
5514 2021-10-09  liuhongt  <hongtao.liu@intel.com>
5516         * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
5517         * testsuite/libgomp.c++/scan-11.C: Ditto.
5518         * testsuite/libgomp.c++/scan-12.C: Ditto.
5519         * testsuite/libgomp.c++/scan-13.C: Ditto.
5520         * testsuite/libgomp.c++/scan-14.C: Ditto.
5521         * testsuite/libgomp.c++/scan-15.C: Ditto.
5522         * testsuite/libgomp.c++/scan-16.C: Ditto.
5523         * testsuite/libgomp.c++/scan-9.C: Ditto.
5524         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
5525         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
5526         * testsuite/libgomp.c/scan-11.c: Ditto.
5527         * testsuite/libgomp.c/scan-12.c: Ditto.
5528         * testsuite/libgomp.c/scan-13.c: Ditto.
5529         * testsuite/libgomp.c/scan-14.c: Ditto.
5530         * testsuite/libgomp.c/scan-15.c: Ditto.
5531         * testsuite/libgomp.c/scan-16.c: Ditto.
5532         * testsuite/libgomp.c/scan-17.c: Ditto.
5533         * testsuite/libgomp.c/scan-18.c: Ditto.
5534         * testsuite/libgomp.c/scan-19.c: Ditto.
5535         * testsuite/libgomp.c/scan-20.c: Ditto.
5536         * testsuite/libgomp.c/scan-21.c: Ditto.
5537         * testsuite/libgomp.c/scan-22.c: Ditto.
5539 2021-10-09  Jakub Jelinek  <jakub@redhat.com>
5541         * libgomp.texi (OpenMP 5.1): Mention implemented support for
5542         structured block sequences in C/C++.  Mention support for
5543         unconstrained/reproducible modifiers on order clause.
5544         Mention partial (C/C++ only) support of extentensions to atomics
5545         construct.  Mention partial (C/C++ on clause only) support of
5546         align/allocator modifiers on allocate clause.
5548 2021-10-02  Tobias Burnus  <tobias@codesourcery.com>
5550         * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
5551         based on libgomp.c-c++-common/order-reproducible-1.c.
5552         * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
5553         * testsuite/libgomp.fortran/my-usleep.c: New test.
5555 2021-10-01  Tobias Burnus  <tobias@codesourcery.com>
5557         * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
5558         * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
5559         * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
5560         * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
5561         based on libgomp.c-c++-common/alloc-9.c.
5563 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
5565         * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
5566         * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
5568 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
5570         * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
5571         ialias_redirect.
5572         * env.c (handle_omp_display_env): Use ialias_call.
5573         * icv-device.c: Move ialias right below each function.
5574         (omp_get_device_num): Use ialias_call.
5575         * fortran.c (omp_fulfill_event): Add ialias_redirect.
5576         * icv.c (omp_get_active_level): Add ialias_redirect.
5578 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
5580         * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
5581         __alloc_align__ (1) attribute.
5582         * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
5584 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
5586         * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
5587         for -fintrinsic-modules-path= warning of the C compiler.
5588         * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
5589         * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
5591 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
5593         * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
5594         omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
5595         * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5596         omp_realloc): Add.
5597         * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5598         omp_realloc): Add.
5599         * testsuite/libgomp.fortran/alloc-10.f90: New test.
5600         * testsuite/libgomp.fortran/alloc-6.f90: New test.
5601         * testsuite/libgomp.fortran/alloc-7.c: New test.
5602         * testsuite/libgomp.fortran/alloc-7.f90: New test.
5603         * testsuite/libgomp.fortran/alloc-8.f90: New test.
5604         * testsuite/libgomp.fortran/alloc-9.f90: New test.
5606 2021-09-30  Jakub Jelinek  <jakub@redhat.com>
5608         * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
5609         omp_realloc): New prototypes.
5610         (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
5611         attribute.
5612         * allocator.c: Include string.h.
5613         (omp_aligned_alloc): No longer static, add ialias.  Add new_alignment
5614         variable and use it instead of alignment so that when retrying the old
5615         alignment is used again.  Don't retry if new alignment is the same
5616         as old alignment, unless allocator had pool size.
5617         (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
5618         (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
5619         * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
5620         omp_aligned_calloc and omp_realloc.
5621         * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
5622         omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
5623         * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
5624         * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
5625         * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
5626         * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
5628 2021-09-28  Tobias Burnus  <tobias@codesourcery.com>
5630         PR libgomp/96661
5631         * configure.ac: Only check for int-type = 2*size_t support when
5632         building with Fortran support.
5633         * configure: Regenerate.
5635 2021-09-28  Thomas Schwinge  <thomas@codesourcery.com>
5637         * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
5638         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5640 2021-09-27  Aldy Hernandez  <aldyh@redhat.com>
5642         * team.c: Initialize start_data.
5643         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5644         * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
5646 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
5648         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
5649         dg-message back to dg-note.
5651 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
5653         PR fortran/94070
5654         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
5655         expected dg-note output.
5657 2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
5659         PR fortran/55534
5660         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
5661         r12-3722 by removing -Wno-missing-include-dirs.
5662         * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5664 2021-09-22  Jakub Jelinek  <jakub@redhat.com>
5666         * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
5667         * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
5669 2021-09-21  Tobias Burnus  <tobias@codesourcery.com>
5671         PR fortran/55534
5672         * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
5673         to ALWAYS_CFLAGS.
5674         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5676 2021-09-18  Jakub Jelinek  <jakub@redhat.com>
5678         * testsuite/libgomp.c++/default-1.C: New test.
5679         * testsuite/libgomp.c-c++-common/default-1.c: New test.
5680         * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
5681         to default clause in C and C++" as implemented.
5683 2021-09-17  Julian Brown  <julian@codesourcery.com>
5685         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
5687 2021-09-17  Julian Brown  <julian@codesourcery.com>
5689         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
5691 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
5693         * libgomp.texi (OpenMP 5.1): Spelling fix,
5694         declare variante -> declare variant.
5696 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
5698         * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
5699         Use /* */ comments instead of //.
5700         * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
5701         * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
5702         * testsuite/libgomp.c++/atomic-16.C: New test.
5703         * testsuite/libgomp.c++/atomic-17.C: New test.
5705 2021-09-10  Jakub Jelinek  <jakub@redhat.com>
5707         * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
5708         * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
5709         * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
5711 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
5713         * libgomp.texi (OpenMP Implementation Status): Extend
5714         OpenMP 5.0 section.
5715         (OpenACC Profiling Interface): Fix typo.
5717 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
5719         * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
5720         not to 4.5; link to new section.
5721         (OpenMP Implementation Status): New.
5723 2021-09-06  Thomas Schwinge  <thomas@codesourcery.com>
5725         * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
5727 2021-09-03  Tobias Burnus  <tobias@codesourcery.com>
5729         * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
5730         dg-output.
5731         * testsuite/libgomp.fortran/error-1.f90: Likewise.
5733 2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
5734             Jakub Jelinek  <jakub@redhat.com>
5736         * testsuite/libgomp.c/address-space-1.c: New file.
5738 2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
5740         * testsuite/lib/libgomp.exp
5741         (check_effective_target_offload_target_intelmic): Remove 'proc'.
5742         (check_effective_target_offload_device_intel_mic): New 'proc'.
5743         * testsuite/libgomp.c-c++-common/on_device_arch.h
5744         (device_arch_intel_mic, on_device_arch_intel_mic): New.
5745         * testsuite/libgomp.c-c++-common/target-45.c: Use that for
5746         'dg-xfail-run-if'.
5747         * testsuite/libgomp.fortran/target10.f90: Likewise.
5749 2021-08-23  Tobias Burnus  <tobias@codesourcery.com>
5751         * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
5752         * testsuite/libgomp.fortran/taskloop-4.f90: New test.
5753         * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
5754         * testsuite/libgomp.fortran/taskloop-5.f90: New test.
5756 2021-08-23  Jakub Jelinek  <jakub@redhat.com>
5758         * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
5759         * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
5760         * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
5762 2021-08-22  Thomas Schwinge  <thomas@codesourcery.com>
5764         * config/nvptx/error.c (fwrite, exit): Override, too.
5765         * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
5766         of offloading testing.
5767         * testsuite/libgomp.fortran/error-1.f90: Likewise.
5769 2021-08-20  Tobias Burnus  <tobias@codesourcery.com>
5771         * testsuite/libgomp.fortran/error-1.f90: New test.
5773 2021-08-20  Jakub Jelinek  <jakub@redhat.com>
5775         * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
5776         * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
5777         * error.c (GOMP_warning, GOMP_error): New functions.
5778         * testsuite/libgomp.c-c++-common/error-1.c: New test.
5780 2021-08-18  Tobias Burnus  <tobias@codesourcery.com>
5782         * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
5783         omp_target_free. omp_target_is_present, omp_target_memcpy,
5784         omp_target_memcpy_rect, omp_target_associate_ptr,
5785         omp_target_disassociate_ptr): Add interface.
5786         * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
5787         omp_target_free. omp_target_is_present, omp_target_memcpy,
5788         omp_target_memcpy_rect, omp_target_associate_ptr,
5789         omp_target_disassociate_ptr): Add interface.
5790         * testsuite/libgomp.fortran/alloc-1.F90: Remove local
5791         interface block for omp_alloc + omp_free.
5792         * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
5793         * testsuite/libgomp.fortran/refcount-1.f90: New test.
5794         * testsuite/libgomp.fortran/target-12.f90: New test.
5796 2021-08-18  Jakub Jelinek  <jakub@redhat.com>
5798         * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
5800 2021-08-17  Tobias Burnus  <tobias@codesourcery.com>
5802         * testsuite/libgomp.fortran/scope-1.f90: New test.
5803         * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
5805 2021-08-17  Jakub Jelinek  <jakub@redhat.com>
5807         * Makefile.am (libgomp_la_SOURCES): Add scope.c
5808         * Makefile.in: Regenerated.
5809         * libgomp_g.h (GOMP_scope_start): Declare.
5810         * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
5811         * scope.c: New file.
5812         * testsuite/libgomp.c-c++-common/scope-1.c: New test.
5813         * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
5815 2021-08-16  Thomas Schwinge  <thomas@codesourcery.com>
5817         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
5818         '?:' issues.
5820 2021-08-16  Tobias Burnus  <tobias@codesourcery.com>
5822         * testsuite/libgomp.fortran/masked-1.f90: New test.
5824 2021-08-13  Thomas Schwinge  <thomas@codesourcery.com>
5826         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
5828 2021-08-12  Jakub Jelinek  <jakub@redhat.com>
5830         * testsuite/libgomp.c-c++-common/masked-1.c: New test.
5832 2021-08-12  Tobias Burnus  <tobias@codesourcery.com>
5834         * env.c (parse_bind_var): Accept 'primary' as alias for
5835         'master'.
5836         (omp_display_env): Add TODO comment to
5837         change 'master' to 'primary' in proc_bind for OpenMP 5.1.
5838         * libgomp.texi: Change 'master thread' to 'primary thread'
5839         in line with OpenMP 5.1.
5840         (omp_get_proc_bind): Add omp_proc_bind_primary and note that
5841         omp_proc_bind_master is an alias of it.
5842         (OMP_PROC_BIND): Mention 'PRIMARY'.
5843         * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
5844         (omp_proc_bind_primary): Add.
5845         (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5846         * omp_lib.f90.in (omp_proc_bind_primary): Add.
5847         (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5848         * omp_lib.h.in (omp_proc_bind_primary): Add.
5849         * testsuite/libgomp.c/affinity-1.c: Check that
5850         'primary' works and is identical to 'master'.
5852 2021-08-09  Julian Brown  <julian@codesourcery.com>
5853             Kwok Cheung Yeung  <kcy@codesourcery.com>
5854             Thomas Schwinge  <thomas@codesourcery.com>
5856         * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
5857         16.
5858         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5859         [acc_device_radeon]: Update.
5860         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
5861         [ACC_DEVICE_TYPE_radeon]: Likewise.
5862         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5863         [acc_device_radeon]: Likewise.
5864         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
5865         [ACC_DEVICE_TYPE_radeon]: Likewise.
5866         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
5867         'openacc_radeon_accel_selected' and '-O0'.
5868         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5870 2021-08-05  Chung-Lin Tang  <cltang@codesourcery.com>
5872         * icv-device.c (omp_get_device_num): New API function, host side.
5873         * fortran.c (omp_get_device_num_): New interface function.
5874         * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
5875         * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
5876         omp_get_device_num_.
5877         * libgomp.texi (omp_get_device_num): Add documentation for new API
5878         function.
5879         * omp.h.in (omp_get_device_num): Add declaration.
5880         * omp_lib.f90.in (omp_get_device_num): Likewise.
5881         * omp_lib.h.in (omp_get_device_num): Likewise.
5882         * target.c (gomp_load_image_to_device): If additional entry for device
5883         number exists at end of returned entries from 'load_image_func' hook,
5884         copy the assigned device number over to the device variable.
5885         * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5886         (omp_get_device_num): New API function, device side.
5887         * plugin/plugin-gcn.c ("symcat.h"): Add include.
5888         (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5889         at end of returned 'target_table' entries.
5890         * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5891         (omp_get_device_num): New API function, device side.
5892         * plugin/plugin-nvptx.c ("symcat.h"): Add include.
5893         (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5894         at end of returned 'target_table' entries.
5895         * testsuite/lib/libgomp.exp
5896         (check_effective_target_offload_target_intelmic): New function for
5897         testing for intelmic offloading.
5898         * testsuite/libgomp.c-c++-common/target-45.c: New test.
5899         * testsuite/libgomp.fortran/target10.f90: New test.
5901 2021-07-30  Thomas Schwinge  <thomas@codesourcery.com>
5902             Ulrich Drepper  <drepper@redhat.com>
5904         * fortran.c (omp_display_env_, omp_display_env_8_): Only
5905         '#ifndef LIBGOMP_OFFLOADED_ONLY'.
5907 2021-07-29  Thomas Schwinge  <thomas@codesourcery.com>
5908             Julian Brown  <julian@codesourcery.com>
5909             Kwok Cheung Yeung  <kcy@codesourcery.com>
5911         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
5912         's%oaccdevlow%oaccloops%g'.
5913         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5914         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5915         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
5916         Likewise.
5917         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
5918         Likewise.
5919         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
5920         Likewise.
5921         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
5922         Likewise.
5923         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
5924         Likewise.
5925         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
5926         Likewise.
5927         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
5928         Likewise.
5929         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
5930         Likewise.
5931         * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5933 2021-07-29  Aldy Hernandez  <aldyh@redhat.com>
5935         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
5936         threader.
5937         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5939 2021-07-27  Ulrich Drepper  <drepper@gmail.com>
5941         * env.c (wait_policy, stacksize): New static variables,
5942         move out of handle_omp_display_env.
5943         (omp_display_env): New function.  The meat of the old
5944         handle_omp_display_env function.
5945         (handle_omp_display_env): Change to not take parameters
5946         and instead use the global variables.  Only perform
5947         parsing, defer to omp_display_env for the implementation.
5948         (initialize_env): Remove local variables wait_policy and
5949         stacksize.  Don't pass parameters to handle_omp_display_env.
5950         * fortran.c: Add ialias_redirect for omp_display_env.
5951         (omp_display_env_, omp_display_env_8_): New functions.
5952         * libgomp.map (OMP_5.1): New version.  Add omp_display_env,
5953         omp_display_env_, and omp_display_env_8_.
5954         * omp.h.in: Declare omp_display_env.
5955         * omp_lib.f90.in: Likewise.
5956         * omp_lib.h.in: Likewise.
5958 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
5959             Julian Brown  <julian@codesourcery.com>
5961         * target.c (gomp_coalesce_buf_add): Update comment.
5962         (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
5963         'aq && cbuf'.
5964         (gomp_map_vars_internal): Only 'if (!aq)', do
5965         'gomp_coalesce_buf_add'.
5966         * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
5967         XFAIL.
5969 2021-07-27  Julian Brown  <julian@codesourcery.com>
5970             Thomas Schwinge  <thomas@codesourcery.com>
5972         * libgomp.h (gomp_copy_host2dev): Update prototype.
5973         * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
5974         argument to gomp_copy_host2dev (false).
5975         * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
5976         (copy_data): Don't free src.
5977         (queue_push_copy): Remove free_src handling.
5978         (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
5979         (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
5980         snapshotting.
5981         (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
5982         queue_push_copy.
5983         * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
5984         (gomp_copy_host2dev): Add EPHEMERAL parameter.  Snapshot source
5985         data when true, and set up deferred freeing of temporary buffer.
5986         (gomp_copy_dev2host): Update call to goacc_device_copy_async.
5987         (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
5988         (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
5989         calls to gomp_copy_host2dev with appropriate ephemeral argument.
5990         * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
5991         XFAIL.
5993 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
5994             Tom de Vries  <tom@codesourcery.com>
5996         * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
5997         * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
5999 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
6001         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
6002         sequencing of 'async' data copying vs. profiling events.
6003         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6004         Likewise.
6006 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
6007             Julian Brown  <julian@codesourcery.com>
6009         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
6010         'async'/'wait' issue.
6011         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
6012         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
6013         * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
6015 2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
6016             Joseph Myers  <joseph@codesourcery.com>
6017             Cesar Philippidis  <cesar@codesourcery.com>
6019         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
6020         file.
6021         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
6022         Likewise.
6023         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
6024         Likewise.
6025         * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
6027 2021-07-20  Thomas Schwinge  <thomas@codesourcery.com>
6029         PR target/101484
6030         * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
6031         '-Wno-error=array-bounds'.
6032         * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
6033         * libgomp.h [__AMDGCN__]: Likewise.
6035 2021-07-19  Thomas Schwinge  <thomas@codesourcery.com>
6037         PR target/101484
6038         * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
6039         * libgomp.h [__AMDGCN__]: Likewise.
6041 2021-07-13  Jakub Jelinek  <jakub@redhat.com>
6042             Florian Weimer  <fweimer@redhat.com>
6044         * config/linux/sem.h: Don't include limits.h.
6045         (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
6046         * config/linux/affinity.c: Include limits.h.
6048 2021-07-01  Jakub Jelinek  <jakub@redhat.com>
6050         PR middle-end/94366
6051         * testsuite/libgomp.c-c++-common/pr94366.c: New test.
6053 2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
6055         PR other/67300
6056         * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
6057         -foffload=nvptx-none= by -foffload-options=nvptx-none= to
6058         avoid disabling other offload targets.
6059         * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
6060         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6061         * testsuite/libgomp.c/target-44.c: Likewise.
6063 2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
6065         * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
6066         target has shared memory and disable some scalar pointer/allocatable
6067         checks if not as firstprivate does not work.
6069 2021-06-25  Chung-Lin Tang  <cltang@codesourcery.com>
6071         PR testsuite/101114
6072         * testsuite/libgomp.c-c++-common/struct-elem-5.c:
6073         Add "target offload_device_nonshared_as" condition for enabling test.
6075 2021-06-24  Jakub Jelinek  <jakub@redhat.com>
6077         * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
6078         * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
6079         * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
6080         * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
6082 2021-06-23  Jakub Jelinek  <jakub@redhat.com>
6084         PR middle-end/101167
6085         * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
6087 2021-06-17  Chung-Lin Tang  <cltang@codesourcery.com>
6089         * hashtab.h (htab_clear): New function with initialization code
6090         factored out from...
6091         (htab_create): ...here, adjust to use htab_clear function.
6092         * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
6093         special refcount values, add comments.
6094         (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
6095         (REFCOUNT_LINK): Likewise.
6096         (REFCOUNT_STRUCTELEM): New special refcount range for structure
6097         element siblings.
6098         (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
6099         sibling maps.
6100         (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
6101         (REFCOUNT_STRUCTELEM_FLAG_LAST):  Flag to indicate last sibling.
6102         (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
6103         (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
6104         (struct splay_tree_key_s): Add structelem_refcount and
6105         structelem_refcount_ptr fields into a union with dynamic_refcount.
6106         Add comments.
6107         (gomp_map_vars): Delete declaration.
6108         (gomp_map_vars_async): Likewise.
6109         (gomp_unmap_vars): Likewise.
6110         (gomp_unmap_vars_async): Likewise.
6111         (goacc_map_vars): New declaration.
6112         (goacc_unmap_vars): Likewise.
6113         * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
6114         (goacc_enter_datum): Likewise.
6115         (goacc_enter_data_internal): Likewise.
6116         * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
6117         and goacc_unmap_vars.
6118         (GOACC_data_start): Adjust to use goacc_map_vars.
6119         (GOACC_data_end): Adjust to use goacc_unmap_vars.
6120         * target.c (hash_entry_type): New typedef.
6121         (htab_alloc): New function hook for hashtab.h.
6122         (htab_free): Likewise.
6123         (htab_hash): Likewise.
6124         (htab_eq): Likewise.
6125         (hashtab.h): Add file include.
6126         (gomp_increment_refcount): New function.
6127         (gomp_decrement_refcount): Likewise.
6128         (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
6129         gomp_increment_refcount.
6130         (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
6131         to gomp_map_vars_existing.
6132         (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
6133         variable to guard OpenMP specific paths, adjust calls to
6134         gomp_map_vars_existing, add structure element sibling splay_tree_key
6135         sequence creation code, adjust Fortran map case to avoid increment
6136         under OpenMP.
6137         (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
6138         local refcount_set if caller passed in NULL, adjust call to
6139         gomp_map_vars_internal.
6140         (gomp_map_vars_async): Adjust and rename into...
6141         (goacc_map_vars): ...this new function, adjust call to
6142         gomp_map_vars_internal.
6143         (gomp_remove_splay_tree_key): New function with code factored out from
6144         gomp_remove_var_internal.
6145         (gomp_remove_var_internal): Add code to handle removing multiple
6146         splay_tree_key sequence for structure elements, adjust code to use
6147         gomp_remove_splay_tree_key for splay-tree key removal.
6148         (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
6149         gomp_decrement_refcount.
6150         (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
6151         local refcount_set if caller passed in NULL, adjust call to
6152         gomp_unmap_vars_internal.
6153         (gomp_unmap_vars_async): Adjust and rename into...
6154         (goacc_unmap_vars): ...this new function, adjust call to
6155         gomp_unmap_vars_internal.
6156         (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
6157         gomp_unmap_vars.
6158         (GOMP_target_ext): Likewise.
6159         (gomp_target_data_fallback): Adjust call to gomp_map_vars.
6160         (GOMP_target_data): Likewise.
6161         (GOMP_target_data_ext): Likewise.
6162         (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
6163         (gomp_exit_data): Add refcount_set parameter, adjust to use
6164         gomp_decrement_refcount, adjust to queue splay-tree keys for removal
6165         after main loop.
6166         (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
6167         gomp_map_vars and gomp_exit_data.
6168         (gomp_target_task_fn): Likewise.
6169         * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
6170         * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
6171         * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
6172         * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
6173         * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
6174         * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
6176 2021-06-15  Tobias Burnus  <tobias@codesourcery.com>
6178         PR fortran/92568
6179         * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
6181 2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
6182             Thomas Schwinge  <thomas@codesourcery.com>
6184         * libgomp.map (GOACC_2.0.2): New symbol version.
6185         * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
6186         * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
6188 2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
6189             Andrew Stubbs  <ams@codesourcery.com>
6191         * oacc-mem.c (goacc_enter_exit_data_internal): New function,
6192         extracted from...
6193         (GOACC_enter_exit_data): ... here.
6194         (GOACC_declare): Use it.
6196 2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
6198         * oacc-parallel.c (GOACC_declare): Move...
6199         * oacc-mem.c: ... here.
6200         * libgomp_g.h: Adjust.
6202 2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
6203             Thomas Schwinge  <thomas@codesourcery.com>
6205         * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
6206         handling.
6208 2021-06-10  Jakub Jelinek  <jakub@redhat.com>
6210         PR tree-optimization/100981
6211         * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
6212         dsdotr and dsdoti to 0.
6214 2021-06-09  H.J. Lu  <hjl.tools@gmail.com>
6216         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
6217         if atomic compare-and-swap is supported on 'int'.
6219 2021-06-09  Richard Biener  <rguenther@suse.de>
6221         PR tree-optimization/100981
6222         * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
6224 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
6226         * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
6227         unconditionally.
6228         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6229         Update.
6230         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6231         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6233 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
6235         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
6236         '-DACC_MEM_SHARED=0'.
6237         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
6238         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6239         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6240         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6241         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6242         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6243         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6244         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6245         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6246         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6247         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
6248         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
6249         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
6250         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
6251         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
6252         'acc_device_radeon' testing.
6253         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
6254         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
6255         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
6256         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
6257         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6258         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6259         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
6260         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
6261         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
6262         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
6263         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
6264         for non-'openacc_nvidia_accel_selected'.
6265         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6266         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
6267         all implement this checking".
6268         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6269         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6270         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6271         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6272         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6274 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
6276         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
6277         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
6279 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
6281         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
6282         for 'acc_device_radeon'.
6284 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
6286         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
6287         for non-'acc_device_nvidia'.
6289 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
6291         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
6292         'acc_device_radeon' testing.
6293         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6294         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6295         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6297 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
6299         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
6300         require 'openacc_nvidia_accel_selected'.  Fix up for
6301         'ACC_DEVICE_TYPE_radeon'.
6303 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
6305         * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
6306         'openacc_nvidia_accel_selected'.
6307         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
6309 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
6311         * testsuite/lib/libgomp.exp
6312         (check_effective_target_openacc_radeon_accel_selected):
6313         Streamline.
6315 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
6317         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
6318         PR80547 workaround.
6320 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
6322         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
6323         <acc_device_nvidia>: Update comment.
6325 2021-05-28  Tobias Burnus  <tobias@codesourcery.com>
6327         * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
6329 2021-05-27  Jakub Jelinek  <jakub@redhat.com>
6331         * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
6332         check_effective_target_openacc_cublas,
6333         check_effective_target_openacc_cudart): New.
6334         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
6335         target openacc_cublas.
6336         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
6337         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
6338         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
6339         target openacc_cuda.
6340         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
6341         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
6342         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
6343         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
6344         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
6345         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
6346         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
6347         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6348         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
6349         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
6350         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
6351         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6352         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
6353         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
6354         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
6355         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6356         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
6357         targets openacc_cublas and openacc_cudart.
6358         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
6359         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
6360         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
6361         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
6362         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
6363         Require effective target openacc_cudart.
6364         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
6365         for effective target openacc_cuda and add && defined USE_CUDA_H to
6366         preprocessor conditionals.  Guard -lcuda also on openacc_cuda
6367         effective target.
6369 2021-05-26  Jakub Jelinek  <jakub@redhat.com>
6371         PR libgomp/100573
6372         * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
6373         GOMP_target_end_data, GOMP_target_update_ext,
6374         GOMP_target_enter_exit_data): New dummy entrypoints.
6375         * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
6376         GOMP_target_end_data, GOMP_target_update_ext,
6377         GOMP_target_enter_exit_data): Likewise.
6378         * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
6379         OMPFROM, OMPTO): Define.
6380         (main): Remove #pragma omp target teams around all the tests.
6381         * testsuite/libgomp.c-c++-common/target-41.c: New test.
6382         * testsuite/libgomp.c-c++-common/target-42.c: New test.
6384 2021-05-25  Jakub Jelinek  <jakub@redhat.com>
6386         PR middle-end/99928
6387         * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
6389 2021-05-24  Tobias Burnus  <tobias@codesourcery.com>
6391         PR fortran/86470
6392         * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
6393         * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
6394         * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
6396 2021-05-22  Thomas Schwinge  <thomas@codesourcery.com>
6398         PR testsuite/90115
6399         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
6400         uninteresting/varying diagnostics.
6402 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
6404         PR middle-end/90115
6405         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
6406         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
6408 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
6410         PR middle-end/90115
6411         * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
6412         file.
6413         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6414         * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
6415         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6416         Likewise.
6417         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
6418         Likewise.
6419         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
6420         Likewise.
6421         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
6422         Likewise.
6423         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
6424         Likewise.
6425         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
6426         Likewise.
6427         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
6428         Likewise.
6429         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
6430         Likewise.
6431         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
6432         Likewise.
6433         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
6434         Likewise.
6435         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
6436         Likewise.
6437         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
6438         Likewise.
6439         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
6440         Likewise.
6441         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
6442         Likewise.
6443         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
6444         Likewise.
6445         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
6446         Likewise.
6447         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
6448         Likewise.
6449         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
6450         Likewise.
6451         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
6452         Likewise.
6453         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
6454         Likewise.
6455         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
6456         Likewise.
6457         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6458         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6459         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6460         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
6461         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6462         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6463         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6464         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6465         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6466         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6467         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6468         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6469         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6470         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6471         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6472         Likewise.
6473         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
6474         Likewise.
6475         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
6476         Likewise.
6477         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6478         Likewise.
6479         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6480         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6481         Likewise.
6482         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6483         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6484         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6485         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6486         * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
6487         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6488         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6489         Likewise.
6490         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6491         Likewise.
6492         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6493         Likewise.
6494         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6495         Likewise.
6496         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
6497         Likewise.
6498         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
6499         Likewise.
6500         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
6501         Likewise.
6502         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
6503         Likewise.
6504         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
6505         Likewise.
6506         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6507         Likewise.
6508         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6509         Likewise.
6510         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6511         Likewise.
6512         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6513         Likewise.
6514         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6515         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6516         * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6517         Likewise.
6518         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6519         Likewise.
6520         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6521         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
6522         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6524 2021-05-21  Julian Brown  <julian@codesourcery.com>
6525             Chung-Lin Tang  <cltang@codesourcery.com>
6526             Thomas Schwinge  <thomas@codesourcery.com>
6528         PR middle-end/90115
6529         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
6530         test.
6531         * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6532         Likewise.
6533         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6534         Likewise.
6536 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
6538         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
6539         for nvptx offloading.
6541 2021-05-21  Tobias Burnus  <tobias@codesourcery.com>
6543         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
6545 2021-05-19  Thomas Schwinge  <thomas@codesourcery.com>
6547         PR target/83812
6548         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
6550 2021-05-19  Julian Brown  <julian@codesourcery.com>
6552         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
6554 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
6556         * testsuite/lib/libgomp.exp
6557         (check_effective_target_offload_target_nvptx): Don't shadow global
6558         'offload_targets' variable.
6560 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
6562         * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
6563         '-latomic' to nvptx offloading compilation.
6564         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6566 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
6568         * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
6569         offloading compilation.
6571 2021-05-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
6573         * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
6574         if new tasks generated.
6575         * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
6577 2021-05-14  Tobias Burnus  <tobias@codesourcery.com>
6579         * testsuite/libgomp.fortran/parallel-master.f90: New test.
6581 2021-05-13  Martin Liska  <mliska@suse.cz>
6583         PR testsuite/100569
6584         * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
6585         * testsuite/libgomp.c/pr46032-2.c: Likewise.
6586         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
6587         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
6589 2021-05-12  Tobias Burnus  <tobias@codesourcery.com>
6591         * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
6592         * testsuite/libgomp.fortran/task-detach-12.f90: New test.
6594 2021-05-11  Jakub Jelinek  <jakub@redhat.com>
6596         PR middle-end/100471
6597         * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
6598         GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
6599         reduction pointer.
6600         * testsuite/libgomp.c/task-reduction-4.c: New test.
6602 2021-05-07  Tobias Burnus  <tobias@codesourcery.com>
6603             Tom de Vries  <tdevries@suse.de>
6605         * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
6606         complex/floating-point || + && reduction with 'omp target'.
6607         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6609 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
6611         * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
6612         * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
6613         * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
6614         * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
6616 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
6618         PR testsuite/100397
6619         * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
6620         declaration to scope of non-'depend'-guarded assignment to avoid races.
6622 2021-05-03  Tom de Vries  <tdevries@suse.de>
6624         PR target/100321
6625         * testsuite/libgomp.c/target-44.c: New test.
6627 2021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
6629         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
6631 2021-04-29  Tom de Vries  <tdevries@suse.de>
6633         * testsuite/libgomp.c/pr81778.c: New test.
6635 2021-04-29  Tom de Vries  <tdevries@suse.de>
6637         PR target/100232
6638         * testsuite/libgomp.c/target-43.c: New file.
6640 2021-04-28  Jakub Jelinek  <jakub@redhat.com>
6641             Tobias Burnus  <tobias@codesourcery.com>
6643         * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
6644         * target.c (gomp_load_plugin_for_device): If set and if a plugin
6645         can't be dlopened, silently assume it has no devices.
6646         * Makefile.in: Regenerate.
6647         * config.h.in: Regenerate.
6648         * configure: Regenerate.
6650 2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
6652         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6653         Use [Ww]arning in dg-bogus as FE diagnostic and default
6654         diagnostic differ and the result depends on ENABLE_OFFLOAD.
6655         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6656         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6657         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6659 2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
6661         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6662         Correct spelling in dg-bogus to match -Wopenacc-parallelism.
6663         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6664         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6665         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6667 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
6668             Nathan Sidwell  <nathan@codesourcery.com>
6669             Tom de Vries  <vries@codesourcery.com>
6670             Julian Brown  <julian@codesourcery.com>
6671             Kwok Cheung Yeung  <kcy@codesourcery.com>
6673         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
6674         '-Wopenacc-parallelism', and match diagnostics, as appropriate.
6675         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6676         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6677         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6678         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6679         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
6680         Likewise.
6681         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6682         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6683         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6684         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6685         Likewise.
6686         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6687         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6688         Likewise.
6689         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6690         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6691         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6692         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6693         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6694         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6695         Likewise.
6696         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6697         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6698         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6699         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6700         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6701         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6702         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6703         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6704         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6705         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6706         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6708 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
6710         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
6711         compile with '-w'.
6712         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6713         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6714         Likewise.
6715         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6716         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
6717         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6718         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6719         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6720         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6721         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6723 2021-04-22  Richard Biener  <rguenther@suse.de>
6725         * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
6726         only on nvptx-none.
6728 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
6730         * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
6731         omp_depend_kind instead of defining it as 16.
6733 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
6735         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
6736         New, based on check_effective_target_offload_target_nvptx.
6737         (check_effective_target_offload_target_nvptx): Call it.
6738         (check_effective_target_offload_target_amdgcn): New.
6739         * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
6740         Require target offload_target_nvptx || offload_target_amdgcn.
6741         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
6742         * testsuite/libgomp.c/pr86416-1.c: Likewise.
6743         * testsuite/libgomp.c/pr86416-2.c: Likewise.
6745 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
6747         * testsuite/libgomp.fortran/depobj-1.f90: New test.
6749 2021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
6751         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6752         '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
6753         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6754         Likewise.
6755         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6756         Likewise.
6757         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6759 2021-04-15  Thomas Schwinge  <thomas@codesourcery.com>
6761         PR target/99555
6762         * testsuite/lib/libgomp.exp
6763         (check_effective_target_offload_device_nvptx): New.
6764         * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
6765         resolved, make sure that we exit quickly, with error status,
6766         XFAILed.
6767         * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
6768         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6770 2021-04-14  Jakub Jelinek  <jakub@redhat.com>
6772         PR testsuite/100071
6773         * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
6774         cp = omp_alloc with cp, p arguments instead of cq, q and call
6775         c_f_pointer after last cq = omp_alloc with cq, q.
6777 2021-04-11  Hafiz Abid Qadeer  <abidh@codesourcery.com>
6779         PR middle-end/98088
6780         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
6781         for loop with GT/GE condition.
6782         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6784 2021-04-09  Thomas Schwinge  <thomas@codesourcery.com>
6786         PR middle-end/84991
6787         PR middle-end/84992
6788         PR middle-end/90779
6789         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
6791 2021-04-09  Jakub Jelinek  <jakub@redhat.com>
6793         PR libgomp/99984
6794         * team.c (gomp_thread_start): Call pthread_setspecific for
6795         !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
6796         has been initialized to avoid false positive warning.
6798 2021-03-29  Tobias Burnus  <tobias@codesourcery.com>
6800         PR target/99555
6801         * testsuite/lib/on_device_arch.c: Move to ...
6802         * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
6803         * testsuite/libgomp.fortran/on_device_arch.c: New file;
6804         #include on_device_arch.h.
6805         * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
6806         on_device_arch.h instead of using dg-additional-source.
6807         * testsuite/libgomp.c/pr99555-1.c: Likewise.
6808         * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
6809         on_device_arch.c without relative paths.
6811 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
6813         * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
6814         the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
6815         * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
6816         * config.h.in: Regenerate.
6817         * configure: Likewise.
6819 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
6821         PR target/99555
6822         * testsuite/lib/on_device_arch.c: New file.
6823         * testsuite/libgomp.c/pr99555-1.c: Likewise.
6824         * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
6825         skip for nvptx offloading, with error status.
6826         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6828 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
6830         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
6831         OpenACC 'serial' construct diagnostic for nvptx offloading.
6833 2021-03-15  Tobias Burnus  <tobias@codesourcery.com>
6835         PR c++/99509
6836         * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
6838 2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
6840         PR fortran/98858
6841         * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
6843 2021-03-04  Jakub Jelinek  <jakub@redhat.com>
6845         * configure.ac: Add AC_CHECK_SIZEOF([void *]).
6846         * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
6847         checking of -m32 or -mx32 options on the command line.
6848         * config.h.in: Regenerated.
6849         * configure: Regenerated.
6851 2021-02-27  Iain Sandoe  <iain@sandoe.co.uk>
6853         * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
6854         support from the target.
6856 2021-02-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
6857             Jakub Jelinek  <jakub@redhat.com>
6859         PR libgomp/98738
6860         * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
6861         (struct gomp_task): Replace detach and completion_sem fields with
6862         union containing completion_sem and detach_team.  Add deferred_p
6863         field.
6864         (struct gomp_team): Remove task_detach_queue.
6865         * task.c: Include assert.h.
6866         (gomp_init_task): Initialize deferred_p and completion_sem fields.
6867         Rearrange initialization order of fields.
6868         (task_fulfilled_p): Delete.
6869         (GOMP_task): Use address of task as the event handle.  Remove
6870         initialization of detach field.  Initialize deferred_p field.
6871         Use automatic local for completion_sem.  Initialize detach_team field
6872         for deferred tasks.
6873         (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
6874         Set kind of suspended detach task to GOMP_TASK_DETACHED and
6875         decrement task_running_count.  Move finish_cancelled block out of
6876         else branch.  Relocate call to gomp_team_barrier_done.
6877         (GOMP_taskwait): Handle tasks with completion events that have not
6878         been fulfilled.
6879         (GOMP_taskgroup_end): Likewise.
6880         (omp_fulfill_event): Use address of task as event handle.  Post to
6881         completion_sem for undeferred tasks.  Clear detach_team if task
6882         has not finished.  For finished tasks, handle post-execution tasks,
6883         call gomp_team_barrier_wake if necessary, and free task.
6884         * team.c (gomp_new_team): Remove initialization of task_detach_queue.
6885         (free_team): Remove free of task_detach_queue.
6886         * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
6887         * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
6888         * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
6889         * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
6890         * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
6891         Change data-sharing of detach events on enclosing parallel to private.
6892         * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.  Remove
6893         taskwait directive.
6894         * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
6895         * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
6896         * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
6897         * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
6898         * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
6899         * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
6900         * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
6901         * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
6902         * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
6903         * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
6904         Change data-sharing of detach events on enclosing parallel to private.
6905         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.  Remove
6906         taskwait directive.
6907         * testsuite/libgomp.fortran/task-detach-7.f90: New.
6908         * testsuite/libgomp.fortran/task-detach-8.f90: New.
6909         * testsuite/libgomp.fortran/task-detach-9.f90: New.
6910         * testsuite/libgomp.fortran/task-detach-10.f90: New.
6911         * testsuite/libgomp.fortran/task-detach-11.f90: New.
6913 2021-02-22  Tobias Burnus  <tobias@codesourcery.com>
6915         PR fortran/99171
6916         * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
6918 2021-02-17  Julian Brown  <julian@codesourcery.com>
6920         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
6921         expected errors.
6923 2021-02-17  Julian Brown  <julian@codesourcery.com>
6925         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
6926         * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
6928 2021-02-11  UroÅ¡ Bizjak  <ubizjak@gmail.com>
6930         * config/linux/x86/futex.h (__futex_wait):
6931         Revert output type back to long.
6932         (__futex_wake): Ditto.
6933         (futex_wait): Update for revert.
6934         (futex_wake): Ditto.
6936 2021-02-11  UroÅ¡ Bizjak  <ubizjak@gmail.com>
6938         * config/linux/x86/futex.h (__futex_wait): New static inline
6939         wrapper function.  Correct output type to int and
6940         timeout type to void *.
6941         (__futex_wake): New static inline wrapper function.
6942         Correct output type to int.
6943         (futex_wait): Use __futex_wait.
6944         (futex_wake): Use __futex_wake.
6946 2021-02-10  Julian Brown  <julian@codesourcery.com>
6948         PR fortran/98979
6949         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
6950         errors.
6952 2021-02-04  Julian Brown  <julian@codesourcery.com>
6954         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
6956 2021-02-03  Andrew Stubbs  <ams@codesourcery.com>
6958         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
6959         EF_AMDGPU_MACH_AMDGCN_GFX908.
6960         (gcn_gfx908_s): New constant string.
6961         (isa_hsa_name): Add gfx908.
6962         (isa_code): Add gfx908.
6964 2021-01-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
6966         * libgomp.texi (omp_fulfill_event): New entry.
6968 2021-01-20  Jakub Jelinek  <jakub@redhat.com>
6970         * task.c (GOMP_task): Rename priority argument to priority_arg,
6971         add priority automatic variable and modify that variable.  Instead of
6972         clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
6973         check flags for that bit.
6975 2021-01-19  Tobias Burnus  <tobias@codesourcery.com>
6977         PR fortran/98476
6978         * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
6980 2021-01-18  Andreas Schwab  <schwab@suse.de>
6982         * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
6984 2021-01-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6986         * config/rtems/sem.h (gomp_sem_getcount): New function.
6988 2021-01-18  Jakub Jelinek  <jakub@redhat.com>
6990         * config/linux/sem.h (gomp_sem_getcount): New function.
6991         * config/posix/sem.h (gomp_sem_getcount): New function.
6992         * config/posix/sem.c (gomp_sem_getcount): New function.
6993         * config/accel/sem.h (gomp_sem_getcount): New function.
6994         * task.c (task_fulfilled_p): Use gomp_sem_getcount.
6995         (omp_fulfill_event): Likewise.
6997 2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
6999         * fortran.c (omp_fulfill_event_): New.
7000         * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
7001         (struct gomp_team): Add task_detach_queue and task_detach_count
7002         fields.
7003         * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
7004         * libgomp_g.h (GOMP_task): Add extra argument.
7005         * omp.h.in (enum omp_event_handle_t): New.
7006         (omp_fulfill_event): New.
7007         * omp_lib.f90.in (omp_event_handle_kind): New.
7008         (omp_fulfill_event): New.
7009         * omp_lib.h.in (omp_event_handle_kind): New.
7010         (omp_fulfill_event): Declare.
7011         * priority_queue.c (priority_tree_find): New.
7012         (priority_list_find): New.
7013         (priority_queue_find): New.
7014         * priority_queue.h (priority_queue_predicate): New.
7015         (priority_queue_find): New.
7016         * task.c (gomp_init_task): Initialize detach field.
7017         (task_fulfilled_p): New.
7018         (GOMP_task): Add detach argument.  Ignore detach argument if
7019         GOMP_TASK_FLAG_DETACH not set in flags.  Initialize completion_sem
7020         field.  Copy address of completion_sem into detach argument and
7021         into the start of the data record.  Wait for detach event if task
7022         not deferred.
7023         (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
7024         Remove completed tasks and requeue dependent tasks.
7025         (omp_fulfill_event): New.
7026         * team.c (gomp_new_team): Initialize task_detach_queue and
7027         task_detach_count fields.
7028         (free_team): Free task_detach_queue field.
7029         * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
7030         * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
7031         * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
7032         * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
7033         * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
7034         * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
7035         * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
7036         * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
7037         * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
7038         * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
7039         * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
7040         * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
7042 2021-01-15  Jakub Jelinek  <jakub@redhat.com>
7044         PR target/70454
7045         * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
7046         be added through preprocessor check on
7047         __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
7049 2021-01-14  Thomas Schwinge  <thomas@codesourcery.com>
7051         PR libgomp/65099
7052         * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
7053         configurations.
7054         * configure: Regenerate.
7055         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
7056         check.
7058 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
7060         * configure: Re-generate.
7062 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
7064         * configure: Re-generate.
7066 2021-01-05  Julian Brown  <julian@codesourcery.com>
7068         * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
7069         (struct ptx_device): Add omp_stacks struct.
7070         (nvptx_open_device): Initialise cached-stacks housekeeping info.
7071         (nvptx_close_device): Free cached stacks block and mutex.
7072         (nvptx_stacks_free): New function.
7073         (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
7074         (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
7075         (nvptx_stacks_alloc): Rename to...
7076         (nvptx_stacks_acquire): This.  Cache stacks block between runs if same
7077         size or smaller is required.
7078         (nvptx_stacks_free): Remove.
7079         (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
7080         during kernel execution.
7082 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
7084         * libgomp.texi: Bump @copying's copyright year.
7086 2020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
7088         * libgomp.texi (Top): Avoid bad "up" link.
7090 2020-12-18  Jakub Jelinek  <jakub@redhat.com>
7092         * testsuite/libgomp.c/task-6.c: New test.
7094 2020-12-09  Andrew Stubbs  <ams@codesourcery.com>
7096         * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
7097         (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
7099 2020-12-08  Tobias Burnus  <tobias@codesourcery.com>
7101         * testsuite/libgomp.fortran/scan-1.f90: New test.
7103 2020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
7105         PR target/97865
7106         * configure: Regenerate.
7108 2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
7110         * configure: Regenerate.
7112 2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
7114         * testsuite/libgomp.oacc-c++/cache-1.C: New.
7115         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
7117 2020-11-25  Andrew Stubbs  <ams@codesourcery.com>
7119         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
7120         expected results.
7122 2020-11-24  Andrew Stubbs  <ams@codesourcery.com>
7124         * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
7125         (reserved): Delete unused define.
7127 2020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
7129         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
7130         Tcl 8.5-specific behavior.
7131         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
7133 2020-11-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
7135         * env.c (gomp_global_icv): Remove nest_var field.  Add
7136         max_active_levels_var field.
7137         (gomp_max_active_levels_var): Remove.
7138         (parse_boolean): Return true on success.
7139         (handle_omp_display_env): Express OMP_NESTED in terms of
7140         max_active_levels_var.  Change format specifier for
7141         max_active_levels_var.
7142         (initialize_env): Set max_active_levels_var from
7143         OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
7144         OMP_PROC_BIND.
7145         * icv.c (omp_set_nested): Express in terms of
7146         max_active_levels_var.
7147         (omp_get_nested): Likewise.
7148         (omp_set_max_active_levels): Use max_active_levels_var field instead
7149         of gomp_max_active_levels_var.
7150         (omp_get_max_active_levels): Likewise.
7151         * libgomp.h (struct gomp_task_icv): Remove nest_var field.  Add
7152         max_active_levels_var field.
7153         (gomp_supported_active_levels): Set to UCHAR_MAX.
7154         (gomp_max_active_levels_var): Delete.
7155         * libgomp.texi (omp_get_nested): Update documentation.
7156         (omp_set_nested): Likewise.
7157         (OMP_MAX_ACTIVE_LEVELS): Likewise.
7158         (OMP_NESTED): Likewise.
7159         (OMP_NUM_THREADS): Likewise.
7160         (OMP_PROC_BIND): Likewise.
7161         * parallel.c (gomp_resolve_num_threads): Replace reference
7162         to nest_var with max_active_levels_var.  Use max_active_levels_var
7163         field instead of gomp_max_active_levels_var.
7165 2020-11-18  Tobias Burnus  <tobias@codesourcery.com>
7167         * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
7168         nvptx_usleep; use also for device={arch(gcn)}.
7170 2020-11-14  Jakub Jelinek  <jakub@redhat.com>
7172         * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
7173         (foo): Add tests for non-VLA private and firstprivate clauses on
7174         omp task.
7175         (bar): Likewise.  Remove taking of address from private/firstprivate
7176         variables.
7177         * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
7178         (foo): Add p, q, px and s arguments.  Add tests for array reductions
7179         and for non-VLA private and firstprivate clauses on omp task.
7180         (bar): Removed.
7181         (main): Adjust foo caller.  Don't call bar.
7183 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
7184             Thomas Schwinge  <thomas@codesourcery.com>
7186         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
7187         New.
7188         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
7189         Likewise.
7190         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
7191         Likewise.
7192         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
7193         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
7195 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
7196             Thomas Schwinge  <thomas@codesourcery.com>
7198         PR fortran/94358
7199         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
7201 2020-11-13  Jakub Jelinek  <jakub@redhat.com>
7203         * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
7204         for array reductions.
7205         (main): Adjust foo callers.
7207 2020-11-12  Jakub Jelinek  <jakub@redhat.com>
7209         * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
7210         * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
7211         * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
7212         * allocator.c (omp_aligned_alloc): New for now static function,
7213         add alignment argument and handle it.
7214         (omp_alloc): Reimplement using omp_aligned_alloc.
7215         (GOMP_alloc, GOMP_free): New functions.
7216         (omp_free): Add ialias.
7217         * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
7218         * testsuite/libgomp.c++/allocate-1.C: New test.
7220 2020-11-12  Thomas Schwinge  <thomas@codesourcery.com>
7222         PR fortran/97782
7223         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
7225 2020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
7227         * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
7228         usable.
7229         * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
7230         'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
7231         (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
7232         (goacc_enter_data_internal): Likewise.
7233         * target.c (gomp_map_vars_internal):
7234         Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
7235         of gomp_attach_pointer for OpenMP cases.
7236         (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
7237         (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
7238         * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
7240 2020-11-05  Ulrich Drepper  <drepper@redhat.com>
7241             Kwok Cheung Yeung  <kcy@codesourcery.com>
7243         * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
7244         * Makefile.in: Regenerate.
7245         * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
7246         pragmas to ignore -Wdeprecated-declarations warnings.
7247         * icv.c: Likewise.
7248         * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
7249         Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
7250         and omp_get_nested with __GOMP_DEPRECATED_5_0.
7251         * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
7252         deprecated.
7253         * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
7254         to test options.
7255         * testsuite/libgomp.c/affinity-1.c: Likewise.
7256         * testsuite/libgomp.c/affinity-2.c: Likewise.
7257         * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
7258         * testsuite/libgomp.c/lib-1.c: Likewise.
7259         * testsuite/libgomp.c/nested-1.c: Likewise.
7260         * testsuite/libgomp.c/nested-2.c: Likewise.
7261         * testsuite/libgomp.c/nested-3.c: Likewise.
7262         * testsuite/libgomp.c/pr32362-1.c: Likewise.
7263         * testsuite/libgomp.c/pr32362-2.c: Likewise.
7264         * testsuite/libgomp.c/pr32362-3.c: Likewise.
7265         * testsuite/libgomp.c/pr35549.c: Likewise.
7266         * testsuite/libgomp.c/pr42942.c: Likewise.
7267         * testsuite/libgomp.c/pr61200.c: Likewise.
7268         * testsuite/libgomp.c/sort-1.c: Likewise.
7269         * testsuite/libgomp.c/target-5.c: Likewise.
7270         * testsuite/libgomp.c/target-6.c: Likewise.
7271         * testsuite/libgomp.c/teams-1.c: Likewise.
7272         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
7273         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7274         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
7275         * testsuite/libgomp.fortran/affinity1.f90: Likewise.
7276         * testsuite/libgomp.fortran/lib1.f90: Likewise.
7277         * testsuite/libgomp.fortran/lib2.f: Likewise.
7278         * testsuite/libgomp.fortran/nested1.f90: Likewise.
7279         * testsuite/libgomp.fortran/teams1.f90: Likewise.
7281 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
7283         PR target/85486
7284         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
7285         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
7286         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
7288 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
7290         PR testsuite/80219
7291         PR testsuite/85303
7292         * testsuite/lib/libgomp.exp (libgomp_init): Set
7293         'gcc_warning_prefix', 'gcc_error_prefix'.
7295 2020-10-30  Jakub Jelinek  <jakub@redhat.com>
7297         * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
7298         even in field_tgt_clear initializer.
7300 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
7302         * testsuite/libgomp.c/target-42.c: New test.
7304 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
7305             Tom de Vries  <tdevries@suse.de>
7307         PR testsuite/81690
7308         * testsuite/libgomp.c/usleep.h: New file.
7309         * testsuite/libgomp.c/target-32.c: Include usleep.h.
7310         (main): Use tgt_usleep instead of usleep.
7311         * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
7312         (main): Use tgt_usleep instead of usleep.
7314 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
7316         PR lto/96680
7317         * testsuite/libgomp.c/declare-variant-1.c: New test.
7319 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
7321         * testsuite/libgomp.c/target-41.c: New test.
7323 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
7325         * icv.c (omp_get_initial_device): Remove including corresponding
7326         ialias.
7327         * icv-device.c (omp_get_initial_device): New function.  Return
7328         gomp_get_num_devices ().  Add ialias.
7329         * target.c (resolve_device): Don't fail with
7330         OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
7331         gomp_get_num_devices ().
7332         (omp_target_alloc, omp_target_free, omp_target_is_present,
7333         omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
7334         omp_target_disassociate_ptr, omp_pause_resource): Use
7335         gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
7336         first use in the functions, in uses dominated by the
7337         gomp_get_num_devices call use num_devices_openmp instead.
7338         * libgomp.texi (omp_get_initial_device): Document.
7339         * config/gcn/icv-device.c (omp_get_initial_device): New function.
7340         Add ialias.
7341         * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
7342         * testsuite/libgomp.c/target-40.c: New test.
7344 2020-10-21  Jakub Jelinek  <jakub@redhat.com>
7346         * env.c (parse_target_offload): Change new_offload var type to int,
7347         preinitialize to -1, remove found var and test new_offload != -1
7348         instead of found.
7350 2020-10-20  Jakub Jelinek  <jakub@redhat.com>
7352         * target.c (gomp_target_init): Inside of the function, use automatic
7353         variables corresponding to num_devices, num_devices_openmp and devices
7354         global variables and update the globals only at the end of the
7355         function.
7357 2020-10-20  Kwok Cheung Yeung  <kcy@codesourcery.com>
7359         * env.c (gomp_target_offload_var): New.
7360         (parse_target_offload): New.
7361         (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
7362         (initialize_env): Parse OMP_TARGET_OFFLOAD.
7363         * libgomp.h (gomp_target_offload_t): New.
7364         (gomp_target_offload_var): New.
7365         * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
7366         * target.c (resolve_device): Generate error if device not found and
7367         offloading is mandatory.
7368         (gomp_target_fallback): Generate error if offloading is mandatory.
7369         (GOMP_target): Add argument in call to gomp_target_fallback.
7370         (GOMP_target_ext): Likewise.
7371         (gomp_target_data_fallback): Generate error if offloading is mandatory.
7372         (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
7373         (GOMP_target_data_ext): Likewise.
7374         (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
7375         (gomp_target_init): Return early if offloading is disabled.
7377 2020-10-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
7379         * libgomp.texi (omp_get_max_active_levels): Modify description.
7380         (omp_get_supported_active_levels): Make descriptions consistent.
7382 2020-10-14  Jakub Jelinek  <jakub@redhat.com>
7384         * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
7386 2020-10-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
7388         * env.c (gomp_max_active_levels_var): Initialize to
7389         gomp_supported_active_levels.
7390         (initialize_env): Limit gomp_max_active_levels_var to be at most
7391         equal to gomp_supported_active_levels.
7392         * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
7393         (omp_get_supported_active_levels_): New.
7394         * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
7395         to at most equal to gomp_supported_active_levels.
7396         (omp_get_supported_active_levels): New.
7397         * libgomp.h (gomp_supported_active_levels): New.
7398         * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
7399         omp_get_supported_active_levels_.
7400         * libgomp.texi (omp_get_supported_active_levels): New.
7401         (omp_set_max_active_levels): Update.  Add reference to
7402         omp_get_supported_active_levels.
7403         * omp.h.in (omp_get_supported_active_levels): New.
7404         * omp_lib.f90.in (omp_get_supported_active_levels): New.
7405         * omp_lib.h.in (omp_get_supported_active_levels): New.
7406         * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
7407         against omp_get_supported_active_levels.
7408         * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
7410 2020-10-11  Clement Chigot  <clement.chigot@atos.net>
7412         * config/t-aix: Delete and recreate libgomp before creating
7413         FAT library.
7415 2020-10-08  Tom de Vries  <tdevries@suse.de>
7417         PR libgomp/81802
7418         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
7419         dimensions.
7421 2020-10-06  Tom de Vries  <tdevries@suse.de>
7423         * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
7425 2020-10-06  Tom de Vries  <tdevries@suse.de>
7427         PR middle-end/90861
7428         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
7430 2020-10-05  Tom de Vries  <tdevries@suse.de>
7432         PR fortran/95654
7433         * testsuite/libgomp.fortran/pr95654.f90: New test.
7435 2020-10-02  Tobias Burnus  <tobias@codesourcery.com>
7437         * Makefile.in: Regenerate with automake 1.15.1.
7438         * aclocal.m4: Likewise.
7439         * configure: Likewise.
7440         * testsuite/Makefile.in: Likewise.
7442 2020-09-30  Andrew Stubbs  <ams@codesourcery.com>
7444         * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
7445         and amdgcn targets.
7447 2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
7449         * testsuite/libgomp.fortran/declare-target-3.f90: New test.
7451 2020-09-29  Andrew Stubbs  <ams@codesourcery.com>
7453         * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
7454         total number of threads is one.
7455         (gomp_team_barrier_wake): Likewise.
7456         (gomp_team_barrier_wait_end): Likewise.
7457         (gomp_team_barrier_wait_cancel_end): Likewise.
7458         * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
7459         (gomp_team_barrier_wake): Likewise.
7460         (gomp_team_barrier_wait_end): Likewise.
7461         (gomp_team_barrier_wait_cancel_end): Likewise.
7462         * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
7464 2020-09-28  Tobias Burnus  <tobias@codesourcery.com>
7466         PR middle-end/96390
7467         * testsuite/libgomp.c++/pr96390.C: New test.
7468         * testsuite/libgomp.c-c++-common/pr96390.c: New test.
7470 2020-09-27  Clement Chigot  <clement.chigot@atos.net>
7472         * config/t-aix: Use $(AR) without -X32_64.
7474 2020-09-25  Jakub Jelinek  <jakub@redhat.com>
7476         * testsuite/libgomp.c/loop-25.c: New test.
7478 2020-09-22  Tobias Burnus  <tobias@codesourcery.com>
7480         PR fortran/95654
7481         * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
7483 2020-09-22  Tom de Vries  <tdevries@suse.de>
7485         * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
7486         fails.
7488 2020-09-16  Nathan Sidwell  <nathan@acm.org>
7490         * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
7492 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
7494         PR fortran/96668
7495         * target.c (gomp_map_vars_internal): Initialize has_nullptr.
7497 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
7499         PR fortran/96668
7500         * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
7501         * target.c (gomp_map_vars_existing): Add always_to_flag flag.
7502         (gomp_map_vars_existing): Update call to it.
7503         (gomp_map_fields_existing): Likewise
7504         (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
7505         now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
7506         remapped.
7507         (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
7508         GOMP_MAP_POINTER.
7509         * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
7510         * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
7512 2020-09-14  Tom de Vries  <tdevries@suse.de>
7514         * config/nvptx/atomic.c: New file.  Add
7515         __sync_val_compare_and_swap_16.
7516         * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
7517         target offload_target_nvptx.
7519 2020-09-08  Julian Brown  <julian@codesourcery.com>
7521         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
7522         iteration-ordering assumptions.
7524 2020-09-08  Julian Brown  <julian@codesourcery.com>
7526         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
7527         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7529 2020-08-20  Chung-Lin Tang  <cltang@codesourcery.com>
7531         * plugin/plugin-nvptx.c (nvptx_free):
7532         Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
7533         CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
7534         comments.
7536 2020-08-20  Tobias Burnus  <tobias@codesourcery.com>
7538         * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
7540 2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
7542         * testsuite/libgomp.c-c++-common/reduction-16.c: New.
7544 2020-08-13  Jakub Jelinek  <jakub@redhat.com>
7546         * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
7547         * testsuite/libgomp.c/loop-23.c (main): Likewise.
7548         * testsuite/libgomp.c/loop-24.c: New test.
7550 2020-08-08  Jakub Jelinek  <jakub@redhat.com>
7551             Tobias Burnus  <tobias@codesourcery.com>
7553         PR fortran/93553
7554         * testsuite/libgomp.fortran/pr93553.f90: New test.
7556 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
7558         * testsuite/libgomp.c/loop-22.c: New test.
7559         * testsuite/libgomp.c/loop-23.c: New test.
7561 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
7563         PR middle-end/96459
7564         * testsuite/libgomp.c/teams-3.c: New test.
7565         * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
7566         if not defined yet.
7567         (N(test)): Use it before all N(f*) calls.
7568         * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
7569         (main): Don't call all test_* functions from within
7570         #pragma omp teams reduction(|:err), call them directly.
7572 2020-08-04  Tom de Vries  <tdevries@suse.de>
7574         PR target/96428
7575         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
7576         * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
7578 2020-08-03  Julian Brown  <julian@codesourcery.com>
7579             Thomas Schwinge  <thomas@codesourcery.com>
7581         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
7582         shared-memory devices.  Extend with further checking.
7584 2020-08-03  Martin Jambor  <mjambor@suse.cz>
7586         * plugin/Makefrag.am: Remove configuration of HSA plugin.
7587         * aclocal.m4: Regenerated.
7588         * Makefile.in: Regenerated.
7589         * config.h.in: Regenerated.
7590         * configure: Regenerated.
7591         * plugin/configfrag.ac: Likewise.
7592         * plugin/hsa_ext_finalize.h: Removed.
7593         * plugin/plugin-hsa.c: Likewise.
7594         * testsuite/Makefile.in: Regenerated.
7595         * testsuite/lib/libgomp.exp
7596         (offload_target_to_openacc_device_type): Remove hsa case.
7597         (check_effective_target_hsa_offloading_selected_nocache): Removed
7598         (check_effective_target_hsa_offloading_selected): Likewise.
7599         (libgomp_init): Do not add -Wno-hsa to additional_flags.
7600         * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
7601         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
7602         * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
7603         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
7604         * testsuite/libgomp.hsa.c/c.exp: Likewise.
7605         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
7606         * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
7607         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7608         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7609         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7610         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7611         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7612         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7613         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7614         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7615         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7616         * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
7617         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7618         * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
7619         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7620         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7621         * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
7622         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
7623         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7625 2020-07-27  Julian Brown  <julian@codesourcery.com>
7626             Thomas Schwinge  <thomas@codesourcery.com>
7628         * libgomp.h (struct target_var_desc): Rename do_detach field to
7629         is_attach.
7630         * oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
7631         GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
7632         (goacc_enter_data_internal): Don't affect reference counts
7633         for attach mappings.
7634         (goacc_exit_data_internal): Don't affect reference counts for detach
7635         mappings.
7636         * target.c (gomp_map_vars_existing): Don't affect reference counts for
7637         attach mappings.
7638         (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
7639         mark attach mappings.
7640         (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
7641         reference count for attach mappings.
7642         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
7643         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7644         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7645         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
7646         test as shouldfail.
7647         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
7648         gracefully in no-finalize mode.
7649         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
7651 2020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
7653         * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
7654         use.
7655         * testsuite/libgomp.oacc-c/c.exp: Likewise.
7656         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7658 2020-07-23  Julian Brown  <julian@codesourcery.com>
7659             Thomas Schwinge  <thomas@codesourcery.com>
7661         * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
7662         finalization for detach operation.
7663         * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
7664         New test.
7666 2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
7668         * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
7669         * libgomp_f.h.in (omp_check_defines): Check whether
7670         sizeof of determined Fortran kind and C typedef match.
7671         * omp_lib.f90.in: Add omp_depened_kind.
7672         * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
7673         * configure: Regenerate.
7674         * Makefile.in: Regenerate.
7675         * testsuite/Makefile.in: Regenerate.
7677 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
7679         * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
7680         gcc/testsuite/c-c++-common/gomp/.
7681         * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
7682         * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
7683         from gcc/testsuite/gfortran.dg/gomp/.
7684         * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
7686 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
7688         * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
7689         * omp_lib.h.in: Likewise.
7691 2020-07-18  H.J. Lu  <hjl.tools@gmail.com>
7693         PR target/95620
7694         * testsuite/libgomp.c/pr95620.c: New test.
7696 2020-07-16  Julian Brown  <julian@codesourcery.com>
7697             Thomas Schwinge  <thomas@codesourcery.com>
7699         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
7700         * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
7702 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
7704         * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
7705         avoid conversion on 32bit systems from 32bit to 64bit due
7706         to -fdefault-integer-8.
7708 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
7710         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
7711         variables; add character(kind=4) tests; update TODO comment.
7713 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
7715         * allocator.c: Add ialias for omp_init_allocator and
7716         omp_destroy_allocator.
7717         * configure.ac: Set INTPTR_T_KIND.
7718         * configure: Regenerate.
7719         * Makefile.in: Regenerate.
7720         * testsuite/Makefile.in: Regenerate.
7721         * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
7722         omp_set_default_allocator_, omp_get_default_allocator_): New
7723         functions and ialias_redirect.
7724         * icv.c: Add ialias for omp_set_default_allocator and
7725         omp_get_default_allocator.
7726         * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
7727         omp_destroy_allocator_, omp_set_default_allocator_ and
7728         omp_get_default_allocator_.
7729         * omp_lib.f90.in: Add allocator traits parameters, declare
7730         allocator routines and add related kind parameters.
7731         * omp_lib.h.in: Likewise.
7732         * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
7733         * testsuite/libgomp.fortran/alloc-1.F90: New test.
7734         * testsuite/libgomp.fortran/alloc-2.F90: New test.
7735         * testsuite/libgomp.fortran/alloc-3.F: New test.
7736         * testsuite/libgomp.fortran/alloc-4.f90: New test.
7737         * testsuite/libgomp.fortran/alloc-5.f90: New test.
7739 2020-07-14  Tom de Vries  <tom@codesourcery.com>
7740             Cesar Philippidis  <cesar@codesourcery.com>
7741             Thomas Schwinge  <thomas@codesourcery.com>
7742             Kwok Cheung Yeung  <kcy@codesourcery.com>
7744         * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
7745         New variable.
7746         (acc_init_1): Set acc_init_thread to pthread_self ().  Set
7747         acc_init_state to initializing at the start, and to initialized at the
7748         end.
7749         (self_initializing_p): New function.
7750         (acc_get_device_type): Return acc_device_none if called by thread that
7751         is currently executing acc_init_1.
7752         * libgomp.texi (acc_get_device_type): Update documentation.
7753         (Implementation Status and Implementation-Defined Behavior): Likewise.
7754         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
7756 2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
7758         * config/t-aix: Set BITS from compiler cpp macro.
7760 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
7762         * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
7764 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
7766         PR fortran/67311
7767         * testsuite/libgomp.fortran/target-map-1.f90: New test.
7769 2020-07-14  Jakub Jelinek  <jakub@redhat.com>
7771         * testsuite/libgomp.c/loop-21.c: New test.
7773 2020-07-13  Julian Brown  <julian@codesourcery.com>
7774             Thomas Schwinge  <thomas@codesourcery.com>
7776         * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
7778 2020-07-10  Julian Brown  <julian@codesourcery.com>
7779             Thomas Schwinge  <thomas@codesourcery.com>
7781         * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
7782         dynamic_refcount.
7783         (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7784         * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
7785         dynamic_refcount.
7786         (acc_unmap_data): Update comment.
7787         (goacc_map_var_existing, goacc_enter_datum): Adjust for
7788         dynamic_refcount semantics.
7789         (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
7790         Adjust for dynamic_refcount semantics.
7791         (goacc_enter_data_internal): Implement "present" case of dynamic
7792         memory-map handling here.  Update "non-present" case for
7793         dynamic_refcount semantics.
7794         (goacc_exit_data_internal): Use goacc_exit_datum_1.
7795         * target.c (gomp_map_vars_internal): Remove
7796         GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
7797         handling.
7798         (gomp_unmap_vars_internal): Remove virtual_refcount handling.
7799         (gomp_load_image_to_device): Substitute dynamic_refcount for
7800         virtual_refcount.
7801         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
7802         * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
7803         * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
7804         * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
7805         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
7806         trace output.
7807         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
7808         trace output.
7809         * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
7810         test.
7811         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7812         Remove stale comment.
7813         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
7814         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7815         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7816         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7817         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7818         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
7820 2020-07-10  Julian Brown  <julian@codesourcery.com>
7821             Thomas Schwinge  <thomas@codesourcery.com>
7823         * oacc-mem.c (goacc_map_var_existing): New function.
7824         (goacc_enter_datum): Use above function.
7825         (goacc_exit_datum_1): New function.
7826         (goacc_exit_datum): Use above function.
7828 2020-07-09  Julian Brown  <julian@codesourcery.com>
7829             Thomas Schwinge  <thomas@codesourcery.com>
7831         PR middle-end/95270
7832         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
7833         * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
7835 2020-07-09  Julian Brown  <julian@codesourcery.com>
7837         * oacc-mem.c (find_group_last): Group data-movement clauses
7838         (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
7839         GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
7841 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
7843         * testsuite/libgomp.c/loop-19.c: New test.
7844         * testsuite/libgomp.c/loop-20.c: New test.
7846 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
7848         * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
7849         2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
7850         it.  Remove __omp_alloctrait_value_max__.
7851         * allocator.c (omp_init_allocator): Handle omp_atv_default for
7852         omp_atk_alignment and omp_atk_pool_size.
7854 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
7856         * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
7857         behavior for 'GOMP_MAP_FORCE_FROM'.
7858         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
7860 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
7862         * oacc-mem.c (goacc_exit_data_internal): Remove
7863         'GOMP_MAP_ALWAYS_FROM' handling.
7865 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
7867         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
7868         'scan-assembler' with 'scan-offload-rtl'.
7869         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
7870         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7871         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
7872         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
7874 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
7876         * target.c (gomp_map_vars_existing): Assert 'kind !=
7877         GOMP_MAP_ATTACH'.
7878         (gomp_map_vars_internal): Clean up.
7880 2020-06-27  Jakub Jelinek  <jakub@redhat.com>
7882         * testsuite/libgomp.c/loop-17.c: New test.
7883         * testsuite/libgomp.c/loop-18.c: New test.
7885 2020-06-26  Marek Polacek  <polacek@redhat.com>
7887         * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
7889 2020-06-23  Alexandre Oliva  <oliva@adacore.com>
7891         * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
7892         * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
7894 2020-06-22  David Edelsohn  <dje.gcc@gmail.com>
7896         * Makefile.am: Use -include.
7897         * Makefile.in: Regenerate.
7899 2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
7901         * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
7902         * Makefile.in: Regenerate
7903         * configure.ac (tmake_file): Substitute.
7904         * configure: Regenerate.
7905         * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
7906         * config/t-aix: New file.
7908 2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
7910         PR lto/94848
7911         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
7912         'dg-do run'.
7914 2020-06-17  Andrew Stubbs  <ams@codesourcery.com>
7916         * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
7917         variant for HSA_RUNTIME_LIB name.
7918         (find_executable_symbol_1): Delete.
7919         (find_executable_symbol): Delete.
7920         (init_kernel_properties): Add ".kd" suffix to symbol names.
7921         (find_load_offset): Delete.
7922         (create_and_finalize_hsa_program): Remove relocation handling.
7924 2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
7926         * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
7928 2020-06-08  Tobias Burnus  <tobias@codesourcery.com>
7930         PR lto/94848
7931         PR middle-end/95551
7932         * testsuite/libgomp.fortran/target-var.f90: New test.
7934 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
7935             Julian Brown  <julian@codesourcery.com>
7937         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
7938         special handling.
7940 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
7941             Julian Brown  <julian@codesourcery.com>
7943         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7944         Simplify.
7946 2020-06-05  Julian Brown  <julian@codesourcery.com>
7948         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
7949         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
7951 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7953         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7954         Evaluate 'copyfrom' individually for each entry.
7955         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
7957 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7959         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7960         Evaluate 'finalize' individually for each entry.
7961         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
7962         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
7963         file.
7965 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7967         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
7968         usage.
7969         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
7971 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7972             Julian Brown  <julian@codesourcery.com>
7974         * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
7975         checking.
7976         (acc_unmap_data, goacc_exit_data_internal): Restore
7977         'is_tgt_unmapped' checking.
7978         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
7979         file.
7980         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
7981         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7982         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7983         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7984         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7985         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7987 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7988             Julian Brown  <julian@codesourcery.com>
7990         * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
7992 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7994         PR libgomp/92854
7995         * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
7997 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7999         PR libgomp/92854
8000         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
8001         more.
8003 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
8004             Julian Brown  <julian@codesourcery.com>
8006         * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
8007         'gomp_map_vars'.
8008         (acc_map_data): Clean up accordingly.
8010 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
8012         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
8013         of over-eager 'finalize' clause.
8014         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
8015         file.
8016         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
8017         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
8018         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
8019         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
8020         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
8021         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
8022         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
8023         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
8025 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
8027         * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
8029 2020-06-04  Julian Brown  <julian@codesourcery.com>
8031         * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
8032         error path.
8033         (goacc_detach_internal): Likewise.
8035 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
8037         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
8038         the checkpoint.
8039         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8040         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8041         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
8042         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
8043         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
8045 2020-06-02  Jakub Jelinek  <jakub@redhat.com>
8047         * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
8048         defined.
8050 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
8052         * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
8054 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
8056         * allocator.c (omp_alloc): For size == 0, return NULL early.
8058 2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
8060         PR bootstrap/95413
8061         * configure: Regenerated.
8063 2020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
8065         PR libfortran/95191
8066         * testsuite/libgomp.fortran/async_io_9.f90: New test.
8068 2020-05-19  Jakub Jelinek  <jakub@redhat.com>
8070         * omp.h.in (omp_uintptr_t): New typedef.
8071         (__GOMP_UINTPTR_T_ENUM): Define.
8072         (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
8073         omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
8074         (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
8075         (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
8076         omp_get_default_allocator, omp_alloc, omp_free): Declare.
8077         * libgomp.h (struct gomp_team_state): Add def_allocator field.
8078         (gomp_def_allocator): Declare.
8079         * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
8080         omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
8081         omp_alloc and omp_free.
8082         * team.c (gomp_team_start): Copy over ts.def_allocator.
8083         * env.c (gomp_def_allocator): New variable.
8084         (parse_wait_policy): Adjust function comment.
8085         (parse_allocator): New function.
8086         (handle_omp_display_env): Print OMP_ALLOCATOR.
8087         (initialize_env): Call parse_allocator.
8088         * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
8089         * allocator.c: New file.
8090         * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
8091         functions.
8092         * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
8093         * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
8094         * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
8095         * Makefile.in: Regenerated.
8097 2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
8099         PR bootstrap/95147
8100         * configure: Regenerated.
8102 2020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
8104         PR libfortran/95119
8105         * testsuite/libgomp.fortran/close_errors_1.f90: New test.
8107 2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
8109         * configure: Regenerated.
8111 2020-05-14  Jakub Jelinek  <jakub@redhat.com>
8113         * testsuite/libgomp.c-c++-common/target-40.c: New test.
8115 2020-05-13  Tobias Burnus  <tobias@codesourcery.com>
8117         PR fortran/94690
8118         * testsuite/libgomp.fortran/pr66199-3.f90: New.
8119         * testsuite/libgomp.fortran/pr66199-4.f90: New.
8120         * testsuite/libgomp.fortran/pr66199-5.f90: New.
8121         * testsuite/libgomp.fortran/pr66199-6.f90: New.
8122         * testsuite/libgomp.fortran/pr66199-7.f90: New.
8123         * testsuite/libgomp.fortran/pr66199-8.f90: New.
8124         * testsuite/libgomp.fortran/pr66199-9.f90: New.
8126 2020-05-12  Jakub Jelinek  <jakub@redhat.com>
8128         * testsuite/libgomp.c/target-39.c: New test.
8130 2020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
8132         * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
8133         * openacc.f90 (acc_device_current): Likewise.
8134         * openacc.h (acc_device_current): Likewise.
8135         * openacc_lib.h (acc_device_current): Likewise.
8137         PR target/94282
8138         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
8139         'dg-allow-blank-lines-in-output'.
8141         * oacc-init.c (get_openacc_name): Handle 'gcn'.
8142         * testsuite/lib/libgomp.exp
8143         (offload_target_to_openacc_device_type) [amdgcn*]: Return
8144         'radeon'.  Adjust all users.
8145         (check_effective_target_openacc_amdgcn_accel_present): Rename
8146         to...
8147         (check_effective_target_openacc_radeon_accel_present): ... this.
8148         Adjust all users.
8149         (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
8150         (check_effective_target_openacc_radeon_accel_selected): ... this.
8151         Adjust all users.
8153         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
8154         'dg-do run'.
8156 2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
8158         PR other/94629
8160         * plugin/plugin-gcn.c (init_hsa_context): Check return value from
8161         hsa_iterate_agents.
8162         (GOMP_OFFLOAD_init_device): Check return values from both calls to
8163         hsa_agent_iterate_regions.
8165 2020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
8167         PR middle-end/94635
8168         * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
8169         run'.
8171 2020-04-20  Tobias Burnus  <tobias@codesourcery.com>
8173         PR middle-end/94120
8174         * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
8175         test case.
8177 2020-04-17  Tobias Burnus  <tobias@codesourcery.com>
8179         PR middle-end/94635
8180         * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
8182 2020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
8184         PR libgomp/92843
8185         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
8186         Rename to...
8187         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
8188         ... this.
8189         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
8190         Rename to...
8191         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
8192         ... this.
8193         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
8194         Rename to...
8195         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
8196         ... this.
8197         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
8198         Rename to...
8199         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
8200         ... this.
8201         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
8202         Rename to...
8203         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
8204         ... this.
8205         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
8206         Rename to...
8207         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
8208         ... this.
8209         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
8210         Rename to...
8211         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
8212         ... this.
8213         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
8214         Rename to...
8215         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
8216         ... this.
8217         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
8218         Rename to...
8219         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
8220         ... this.
8221         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
8222         Rename to...
8223         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
8224         ... this.
8225         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
8226         Rename to...
8227         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
8228         ... this.
8229         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
8230         Rename to...
8231         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
8232         ... this.
8233         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
8234         Rename to...
8235         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
8236         ... this.
8237         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
8238         Rename to...
8239         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
8240         ... this.
8241         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
8242         Rename to...
8243         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
8244         ... this.
8245         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
8246         Rename to...
8247         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
8248         ... this.
8250 2020-04-10  Julian Brown  <julian@codesourcery.com>
8251             Thomas Schwinge  <thomas@codesourcery.com>
8253         PR libgomp/92843
8254         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
8255         New file.
8256         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
8257         Likewise.
8258         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
8259         Likewise.
8260         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
8261         Likewise.
8262         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
8263         Likewise.
8264         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
8265         Likewise.
8266         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
8267         Likewise.
8268         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
8269         Likewise.
8270         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
8271         Likewise.
8272         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
8273         Likewise.
8274         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
8275         Likewise.
8276         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
8277         Likewise.
8278         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
8279         Likewise.
8280         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
8281         Likewise.
8282         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
8283         Likewise.
8284         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
8285         Likewise.
8287 2020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
8289         * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
8290         run'.
8292 2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
8294         PR middle-end/94120
8295         * libgomp.oacc-c++/declare-pr94120.C: New.
8297 2020-04-06  Maciej W. Rozycki  <macro@wdc.com>
8299         * configure.ac: Add testsuite/libgomp-site-extra.exp to output
8300         files.
8301         * configure: Regenerate.
8302         * testsuite/libgomp-site-extra.exp.in: New file.
8303         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
8304         variable.
8305         * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
8306         variable.
8307         * testsuite/Makefile.in: Regenerate.
8309 2020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
8311         PR tree-optimization/89713
8312         PR c/94392
8313         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
8314         'bar.sync'.
8315         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
8317 2020-03-31  Tobias Burnus  <tobias@codesourcery.com>
8319         * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
8320         * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
8322 2020-03-24  Tobias Burnus  <tobias@codesourcery.com>
8324         PR libgomp/81689
8325         * testsuite/libgomp.c/target-link-1.c: Remove xfail.
8327 2020-03-20  Tobias Burnus  <tobias@codesourcery.com>
8329         PR libgomp/94251
8330         * target.c (gomp_load_image_to_device): Fix link
8331         variable handling.
8333 2020-03-19  Jakub Jelinek  <jakub@redhat.com>
8335         PR c++/93931
8336         * testsuite/libgomp.c++/pr93931.C: New test.
8338 2020-03-19  Tobias Burnus  <tobias@codesourcery.com>
8340         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
8341         dg-allow-blank-lines-in-output.
8343 2020-03-18  Julian Brown <julian@codesourcery.com>
8344             Tobias Burnus  <tobias@codesourcery.com>
8346         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
8347         it work concurrently.
8349 2020-03-18  Tobias Burnus  <tobias@codesourcery.com>
8351         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
8352         #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
8353         * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
8355 2020-03-14  Jakub Jelinek  <jakub@redhat.com>
8357         PR middle-end/93566
8358         * testsuite/libgomp.c/pr93566.c: New test.
8360 2020-02-21  Frederik Harwath  <frederik@codesourcery.com>
8362         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
8363         changes from 2020-02-19, i.e. use integer(c_size_t) instead of
8364         integer(acc_device_property) for the type of the return value of
8365         acc_get_property.
8367 2020-02-19  Tobias Burnus  <tobias@codesourcery.com>
8369         * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
8370         * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
8371         (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
8372         * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
8373         (acc_set_device_num): Fix Fortran argument name, use same name for C.
8374         (acc_get_property): Update Fortran interface to post-OpenACC 3.0
8375         corrections; add note about the previous interface and named constant.
8376         (OpenACC library and environment variables): Fix two typos.
8377         * openacc.f90: Use for all procedures the argument names from the spec
8378         as for â€¦_h they are user visible.
8379         (openacc_kinds): Rename acc_device_property to
8380         acc_device_property_kinds and change value to int32 ; and update users.
8381         Re-add acc_device_property for for backward compatibility.
8382         (acc_get_property_string_h): Clean up as acc_device_property_kind
8383         changed.
8384         (acc_get_property_h): Likewise and return c_size_t instead of
8385         acc_device_property.
8386         (openacc): Also export acc_device_property_kinds.
8387         (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
8388         acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
8389         handling; check against /= 0 instead of == 1 to match C.
8390         * openacc_lib.h: Use for all procedures the argument names from the spec
8391         as for â€¦_h they are user visible. Place !GCC$ into the first column to
8392         be active also for fixed-form souce form.
8393         (acc_device_current, acc_device_property_kind, acc_device_property,
8394         acc_property_memory, acc_property_free_memory, acc_property_name,
8395         acc_property_vendor, acc_property_driver): New named constants.
8396         (acc_get_property, acc_get_property_string): New generic interface.
8398 2020-02-13  Frederik Harwath  <frederik@codesourcery.com>
8400         PR libgomp/93481
8401         * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
8402         * target.c (gomp_load_plugin_for_device): Make "async_run" loading
8403         optional.
8404         (gomp_target_task_fn): Assert "devicep->async_run_func".
8405         (clear_unsupported_flags): New function to remove unsupported flags
8406         (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
8407         (GOMP_target_ext): Apply clear_unsupported_flags to flags.
8408         * testsuite/libgomp.c/target-33.c:
8409         Remove xfail for offload_target_nvptx.
8410         * testsuite/libgomp.c/target-34.c: Likewise.
8412 2020-02-10  Frederik Harwath  <frederik@codesourcery.com>
8414         * testsuite/libgomp.c/target-33.c: Add xfail for execution on
8415         offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
8416         * testsuite/libgomp.c/target-34.c: Likewise.
8417         * testsuite/libgomp.c/target-link-1.c: Add xfail for
8418         offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
8420 2020-02-09  Jakub Jelinek  <jakub@redhat.com>
8422         * testsuite/libgomp.c/target-38.c: New test.
8424 2020-02-06  Jakub Jelinek  <jakub@redhat.com>
8426         PR libgomp/93515
8427         * testsuite/libgomp.c-c++-common/pr93515.c: New test.
8429 2020-02-05  Tobias Burnus  <tobias@codesourcery.com>
8431         * testsuite/lib/libgomp.exp
8432         (check_effective_target_offload_target_nvptx): Pass flags as 'options'
8433         and not as 'source' argument to libgomp_target_compile.
8435 2020-02-03  Andrew Stubbs  <ams@codesourcery.com>
8437         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
8438         (gcn_gfx801_s): Remove.
8439         (isa_hsa_name): Remove gfx801.
8440         (isa_gcc_name): Remove gfx801/carizzo.
8441         (isa_code): Remove gfx801.
8443 2020-02-03  Julian Brown  <julian@codesourcery.com>
8444             Tobias Burnus  <tobias@codesourcery.com>
8446         * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
8447         and *_finalize variants; document acc_attach and acc_detach; update
8448         references from OpenACC 2.0 to 2.6.
8449         * openacc.f90 (openacc_version): Update to 201711.
8450         * openacc_lib.h (openacc_version): Update to 201711.
8451         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
8452         openacc_version to 201711.
8453         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8455 2020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
8457         * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
8458         and vgpr_count fields.
8459         (struct kernel_info): Add a field for a hsa_kernel_description.
8460         (run_kernel): Reduce the number of threads/workers if the requested
8461         number would require too many VGPRs.
8462         (init_basic_kernel_info): Initialize description field with
8463         the hsa_kernel_description entry for the kernel.
8465 2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
8467         PR bootstrap/93409
8468         * plugin/configfrag.ac (enable_offload_targets): Skip
8469         HSA and GCN plugin besides -m32 also for -mx32.
8470         * configure: Regenerate.
8472 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
8474         * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
8476 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
8478         * plugin-gcn.c (struct agent_info): Add fields "name" and
8479         "vendor_name" ...
8480         (GOMP_OFFLOAD_init_device): ... and init from here.
8481         (struct hsa_context_info): Add field "driver_version_s" ...
8482         (init_hsa_contest): ... and init from here.
8483         (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
8484         implementation.
8485         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8486         Enable test execution for amdgcn and host offloading targets.
8487         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
8488         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8489         (expect_device_properties): Split function into ...
8490         (expect_device_string_properties): ... this new function ...
8491         (expect_device_memory): ... and this new function.
8492         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
8493         Add test.
8495 2020-01-28  Julian Brown  <julian@codesourcery.com>
8497         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
8498         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
8499         component/non-component variable refs in a single directive.
8500         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
8502 2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
8504         * configure.ac: Handle `--with-toolexeclibdir='.
8505         * Makefile.in: Regenerate.
8506         * aclocal.m4: Regenerate.
8507         * configure: Regenerate.
8508         * testsuite/Makefile.in: Regenerate.
8510 2020-01-24  Frederik Harwath  <frederik@codesourcery.com>
8512         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8513         (expect_device_properties): Remove "expected_free_mem" argument,
8514         change "expected_total_mem" argument type to size_t;
8515         change types of acc_get_property results to size_t,
8516         adapt format strings.
8517         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8518         Use %zu instead of %zd to print size_t values.
8519         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
8520         rename to ...
8521         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
8522         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
8523         rename to ...
8524         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
8526 2020-01-23  Andrew Stubbs  <ams@codesourcery.com>
8528         * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
8529         the device id.
8531 2020-01-20  Andrew Stubbs  <ams@codesourcery.com>
8533         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
8534         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
8535         Adjust test dimensions for amdgcn.
8536         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
8537         gang/worker/vector expectations dynamically.
8538         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
8539         (main): Likewise.
8540         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
8541         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
8542         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
8543         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
8544         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
8545         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
8546         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
8547         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
8548         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
8549         (acc_gang): Recognise acc_device_radeon.
8550         (acc_worker): Likewise.
8551         (acc_vector): Likewise.
8552         (main): Set expectations for amdgcn.
8553         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
8554         (main): Adjust gang/worker/vector expectations dynamically.
8555         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
8556         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
8557         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
8558         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
8559         for amdgcn.
8561 2020-01-17  Andrew Stubbs  <ams@codesourcery.com>
8563         * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
8564         acc_device_radeon.
8565         (openacc): Likewise.
8566         * openacc.f90 (openacc_kinds): Likewise.
8567         (openacc): Likewise.
8568         * openacc.h (acc_device_t): Likewise.
8569         * openacc_lib.h: Likewise.
8570         * testsuite/lib/libgomp.exp
8571         (check_effective_target_openacc_amdgcn_accel_present): Likewise.
8572         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
8573         (cb_compute_construct_end): Likewise.
8574         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
8575         (cb_enqueue_launch_start): Likewise.
8576         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
8577         (cb_enter_data_end): Likewise.
8578         (cb_exit_data_start): Likewise.
8579         (cb_exit_data_end): Likewise.
8580         (cb_compute_construct_end): Likewise.
8581         (cb_enqueue_launch_start): Likewise.
8582         (cb_enqueue_launch_end): Likewise.
8583         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
8584         (main): Likewise.
8586 2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
8588         * libgomp-plugin.h (enum goacc_property): New.  Adjust all users
8589         to use this instead of 'enum gomp_device_property'.
8590         (GOMP_OFFLOAD_get_property): Rename to...
8591         (GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
8592         * libgomp.h (struct gomp_device_descr): Move
8593         'GOMP_OFFLOAD_openacc_get_property'...
8594         (struct acc_dispatch_t): ... here.  Adjust all users.
8595         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
8597         * target.c (gomp_map_vars_internal)
8598         <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
8599         paths.
8601 2020-01-10  Jakub Jelinek  <jakub@redhat.com>
8603         PR libgomp/93219
8604         * libgomp.h (gomp_print_string): Change return type from void to int.
8605         * affinity-fmt.c (gomp_print_string): Likewise.  Return true if
8606         not all characters have been written.
8608 2020-01-08  Tobias Burnus  <tobias@codesourcery.com>
8610         * libgomp.texi: Fix typos, use https.
8612 2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
8614         * testsuite/libgomp.fortran/optional-map.f90: Add test for
8615         unallocated/disassociated actual arguments to nonallocatable/nonpointer
8616         dummy arguments; those are/shall be regarded as absent arguments.
8617         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8618         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
8620 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
8622         Update copyright years.
8624         * libgomp.texi: Bump @copying's copyright year.
8626 2019-12-31  Ayush Mittal  <ayush.m@samsung.com>
8628         PR libgomp/93065
8629         * oacc-init.c (goacc_runtime_deinitialize): New function.
8631 2019-12-28  Jakub Jelinek  <jakub@redhat.com>
8633         PR bootstrap/93074
8634         * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
8635         (cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
8637 2019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
8638             Frederik Harwath  <frederik@codesourcery.com>
8639             Thomas Schwinge  <tschwinge@codesourcery.com>
8641         * libgomp.h (gomp_device_descr): Add `get_property_func' member.
8642         * libgomp-plugin.h (gomp_device_property_value): New union.
8643         (gomp_device_property_value): New prototype.
8644         * openacc.h (acc_device_t): Add `acc_device_current' enumeration
8645         constant.
8646         (acc_device_property_t): New enum.
8647         (acc_get_property, acc_get_property_string): New prototypes.
8648         * oacc-init.c (acc_get_device_type): Also assert that result
8649         is not `acc_device_current'.
8650         (get_property_any, acc_get_property, acc_get_property_string):
8651         New functions.
8652         * openacc.f90 (openacc_kinds): Add `acc_device_current' and
8653         `acc_property_memory', `acc_property_free_memory',
8654         `acc_property_name', `acc_property_vendor' and
8655         `acc_property_driver' constants.  Add `acc_device_property' data
8656         type.
8657         (openacc_internal): Add `acc_get_property' and
8658         `acc_get_property_string' interfaces.  Add `acc_get_property_h',
8659         `acc_get_property_string_h', `acc_get_property_l' and
8660         `acc_get_property_string_l'.
8661         * oacc-host.c (host_get_property): New function.
8662         (host_dispatch): Wire it.
8663         * target.c (gomp_load_plugin_for_device): Handle `get_property'.
8664         * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
8665         `acc_get_property_string' and `acc_get_property_string_h_' symbols.
8666         * libgomp.texi (OpenACC Runtime Library Routines): Add
8667         `acc_get_property'.
8668         (acc_get_property): New node.
8669         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
8670         function (stub).
8671         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
8672         * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
8673         `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
8674         calls.
8675         (GOMP_OFFLOAD_get_property): New function.
8676         (struct ptx_device): Add new field "name".
8677         (cuda_driver_version_s): Add new static variable ...
8678         (nvptx_init): ... and init from here.
8680         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
8681         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
8682         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
8683         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
8684         with test helper functions.
8686         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
8688 2019-12-22  Maciej W. Rozycki  <macro@wdc.com>
8690         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
8691         variable.
8693 2019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
8695         * target.c (gomp_map_vars_internal): Restore 'omp declare target
8696         link' handling.
8698 2019-12-19  Julian Brown  <julian@codesourcery.com>
8700         * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
8701         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
8702         * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
8704 2019-12-19  Julian Brown  <julian@codesourcery.com>
8705             Cesar Philippidis  <cesar@codesourcery.com>
8707         * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
8708         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
8709         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
8710         * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
8711         * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
8712         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
8713         * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
8714         * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
8715         * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
8716         * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
8717         * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
8718         * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
8719         * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
8721 2019-12-19  Julian Brown  <julian@codesourcery.com>
8723         * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
8724         * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
8725         * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
8726         * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
8727         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
8728         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
8729         * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
8730         * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
8731         * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
8732         * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
8733         * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
8734         * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
8736 2019-12-19  Julian Brown  <julian@codesourcery.com>
8738         * libgomp.h (struct target_var_desc): Add do_detach flag.
8739         * oacc-init.c (acc_shutdown_1): Free aux block if present.
8740         * oacc-mem.c (find_group_last): Add SIZES parameter. Support
8741         struct components.  Tidy up and add some new checks.
8742         (goacc_enter_data_internal): Update call to find_group_last.
8743         (goacc_exit_data_internal): Support detach operations and
8744         GOMP_MAP_STRUCT.
8745         (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
8746         GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
8747         attach/detach in enter/exit data detection code.
8748         * target.c (gomp_map_vars_existing): Initialise do_detach field of
8749         tgt_var_desc.
8750         (gomp_map_vars_internal): Support attach.
8751         (gomp_unmap_vars_internal): Support detach.
8753 2019-12-19  Julian Brown  <julian@codesourcery.com>
8754             Thomas Schwinge  <thomas@codesourcery.com>
8756         * libgomp.h (struct splay_tree_aux): Add attach_count field.
8757         (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
8758         * libgomp.map (OACC_2.6): New section. Add acc_attach,
8759         acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
8760         acc_detach_finalize_async.
8761         * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
8762         acc_detach, acc_detach_async, acc_detach_finalize,
8763         acc_detach_finalize_async): New functions.
8764         * openacc.h (acc_attach, acc_attach_async, acc_detach,
8765         (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
8766         prototypes.
8767         * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
8768         (gomp_remove_var_internal): Free attachment counts if present.
8769         * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
8770         * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
8772 2019-12-19  Julian Brown  <julian@codesourcery.com>
8773             Cesar Philippidis  <cesar@codesourcery.com>
8775         * libgomp.h (gomp_map_val): Add prototype.
8776         * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
8777         open-coding device-address calculation.
8778         * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
8779         non-present case.
8781 2019-12-19  Julian Brown  <julian@codesourcery.com>
8783         * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
8784         field for virtual_refcount.
8785         (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
8786         (gomp_free_memmap): Remove prototype.
8787         * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
8788         instead of calling gomp_free_memmap.
8789         * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
8790         dynamic_refcount.
8791         (acc_unmap_data): Open code instead of forcing target_mem_desc's
8792         to_free field to NULL then calling gomp_unmap_vars.  Handle
8793         REFCOUNT_INFINITY on target blocks.
8794         (goacc_enter_data): Rename to...
8795         (goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
8796         handling for mapping groups.  Use virtual_refcount instead of
8797         dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
8798         map_map_vars_async call.  Re-do lookup for target pointer return value.
8799         (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
8800         renamed goacc_enter_datum function.
8801         (goacc_exit_data): Rename to...
8802         (goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
8803         (acc_delete, acc_delete_async, acc_delete_finalize,
8804         acc_delete_finalize_async, acc_copyout, acc_copyout_async,
8805         acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
8806         goacc_exit_datum function.
8807         (gomp_acc_remove_pointer, find_pointer): Remove functions.
8808         (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
8809         New functions.
8810         (GOACC_enter_exit_data): Use goacc_enter_data_internal and
8811         goacc_exit_data_internal helper functions.
8812         * target.c (gomp_map_vars_internal): Handle
8813         GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
8814         semantics.
8815         (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
8816         (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
8817         virtual_refcount field instead of dynamic_refcount.
8818         (gomp_free_memmap): Remove function.
8819         * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
8820         * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
8821         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
8823 2019-12-19  Julian Brown  <julian@codesourcery.com>
8824             Thomas Schwinge  <thomas@codesourcery.com>
8826         * libgomp.h (struct splay_tree_aux): New.
8827         (struct splay_tree_key_s): Replace link_key field with aux pointer.
8828         * target.c (gomp_map_vars_internal): Adjust for link_key being moved
8829         to aux struct.
8830         (gomp_remove_var_internal): Free aux block if present.
8831         (gomp_load_image_to_device): Zero-initialise aux field instead of
8832         link_key field.
8833         (omp_target_associate_pointer): Zero-initialise aux field.
8835 2019-12-18  Jakub Jelinek  <jakub@redhat.com>
8837         PR middle-end/86416
8838         * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
8839         q or none.
8840         * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
8841         L or none.
8843 2019-12-19  Julian Brown  <julian@codesourcery.com>
8844             Maciej W. Rozycki  <macro@codesourcery.com>
8845             Tobias Burnus  <tobias@codesourcery.com>
8846             Thomas Schwinge  <thomas@codesourcery.com>
8848         * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
8849         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8850         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
8851         * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
8852         * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
8853         * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
8854         * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
8855         * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
8856         * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
8858 2019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
8860         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8861         called...
8862         (goacc_insert_pointer): ... from here, "present" case.
8863         (goacc_insert_pointer): Inline function into...
8864         (GOACC_enter_exit_data): ... here, and simplify.
8866         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8867         called...
8868         (goacc_insert_pointer): ... from here, "not present" case.
8870         * oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
8871         all users.
8873         * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
8874         'goacc_enter_data', 'goacc_exit_data'.
8876         * oacc-mem.c (delete_copyout): Refactor into...
8877         (goacc_exit_data): ... this.  Adjust all users.
8879         * oacc-mem.c (present_create_copy): Refactor into...
8880         (goacc_enter_data): ... this.  Adjust all users.
8882         * target.c (gomp_unmap_vars_internal): Add a safeguard to
8883         'gomp_remove_var'.
8885         * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
8886         like 'GOMP_MAP_FROM'.
8888         PR libgomp/92726
8889         PR libgomp/92970
8890         PR libgomp/92984
8891         * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
8892         fails.
8893         (GOACC_enter_exit_data): Simplify accordingly.
8894         * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
8895         subsuming...
8896         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
8897         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
8898         file.
8899         * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
8900         subsuming...
8901         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
8902         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
8903         file.
8904         * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
8905         subsuming...
8906         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
8908         * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
8909         'finalize' handling.
8911         PR libgomp/92848
8912         * oacc-mem.c (acc_map_data, present_create_copy)
8913         (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
8914         (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
8915         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
8916         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
8917         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
8918         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
8919         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
8920         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8921         Remove "XFAIL"s.
8923         * target.c (gomp_unmap_tgt): Make it 'static'.
8924         * libgomp.h (gomp_unmap_tgt): Remove.
8926 2019-12-18  Tobias Burnus  <tobias@codesourcery.com>
8928         PR middle-end/86416
8929         * testsuite/libgomp.c/pr86416-1.c: New.
8930         * testsuite/libgomp.c/pr86416-2.c: New.
8932 2019-12-17  Tobias Burnus  <tobias@codesourcery.com>
8934         * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
8935         all symbols as public except for the 'use â€¦, only' imported symbol,
8936         which is private.
8937         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8938         all symbols from module openacc_kinds as PUBLIC
8939         * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
8940         fix comment typo.
8941         * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
8943 2019-12-13  Julian Brown  <julian@codesourcery.com>
8945         PR libgomp/92881
8947         * libgomp.h (gomp_remove_var_async): Add prototype.
8948         * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
8949         gomp_remove_var.
8950         * target.c (gomp_unref_tgt): Change return type to bool, indicating
8951         whether target_mem_desc was unmapped.
8952         (gomp_unref_tgt_void): New.
8953         (gomp_remove_var): Reimplement in terms of...
8954         (gomp_remove_var_internal): ...this new helper function.
8955         (gomp_remove_var_async): New, implemented using above helper function.
8956         (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
8957         gomp_unref_tgt.
8959 2019-12-13  Andrew Stubbs  <ams@codesourcery.com>
8961         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
8962         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
8963         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
8964         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
8965         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
8966         Likewise.
8967         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
8968         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
8970 2019-12-13  Tobias Burnus  <tobias@codesourcery.com>
8972         * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
8973         as public except for the 'use â€¦, only' imported symbol, which is
8974         private.
8975         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8976         all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
8977         attributes for acc_copyout_finalize and acc_delete_finalize.
8979 2019-12-11  Jakub Jelinek  <jakub@redhat.com>
8981         PR fortran/92899
8982         * testsuite/libgomp.fortran/atomic1.f90: New test.
8984 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
8986         PR libgomp/92843
8987         * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
8988         reference counting for structured 'REFCOUNT_INFINITY'.  Add some
8989         assertions.
8990         (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
8991         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
8992         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
8993         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8994         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8996         * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
8997         * oacc-mem.c: ... here.
8998         (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
8999         'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
9000         * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
9001         Remove.
9002         * libgomp_g.h: Update.
9004         * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
9005         * oacc-async.c: ... here.
9006         * oacc-int.h (goacc_wait): Declare.
9007         * libgomp_g.h: Update
9009         PR libgomp/92854
9010         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
9011         New file.
9012         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
9013         Likewise.
9014         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
9015         Likewise.
9016         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
9017         Likewise.
9018         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
9019         Likewise.
9020         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
9021         Likewise.
9023 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
9024             Julian Brown  <julian@codesourcery.com>
9026         * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
9027         Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
9029 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
9031         * omp_lib.h.in: Fix spelling of function declaration
9032         omp_get_cancell(l)ation.
9033         * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
9034         Fix typos.
9035         * env.c: Fix comment typos.
9036         * oacc-host.c: Likewise.
9037         * ordered.c: Likewise.
9038         * task.c: Likewise.
9039         * team.c: Likewise.
9040         * config/gcn/task.c: Likewise.
9041         * config/gcn/team.c: Likewise.
9042         * config/nvptx/task.c: Likewise.
9043         * config/nvptx/team.c: Likewise.
9044         * plugin/plugin-gcn.c: Likewise.
9045         * testsuite/libgomp.fortran/jacobi.f: Likewise.
9046         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9047         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
9049 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
9051         * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
9052         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
9053         unnecessary 'dg-additional-options "-w"'.
9055 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
9056             Julian Brown  <julian@codesourcery.com>
9058         PR libgomp/92116
9059         PR libgomp/92877
9061         * oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
9062         * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
9063         Adjust all users.
9064         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
9065         Remove XFAIL.
9066         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
9067         Likewise.
9068         * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
9070 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
9072         PR libgomp/92503
9073         * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
9074         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
9075         file.
9076         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
9077         Likewise.
9078         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
9079         Likewise.
9080         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
9081         Likewise.
9082         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
9083         Likewise.
9084         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
9085         Likewise.
9086         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
9087         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
9088         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
9089         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
9090         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
9091         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
9092         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9093         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9094         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9095         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9097         PR libgomp/92840
9098         * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
9099         (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
9100         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
9101         New file.
9102         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
9103         Likewise.
9104         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
9105         Likewise.
9106         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
9107         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
9109         PR libgomp/92511
9110         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
9111         this file...
9112         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
9113         this file...
9114         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
9115         file...
9116         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
9117         file...
9118         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
9119         ... with their content moved into, and extended in this new file.
9120         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
9121         New file.
9122         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
9123         Likewise.
9124         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
9125         Likewise.
9126         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
9127         Likewise.
9129         * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
9131         PR libgomp/92854
9132         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
9134         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
9136         * target.c (gomp_exit_data): Use 'gomp_remove_var'.
9138 2019-12-09  Tobias Burnus  <tobias@codesourcery.com>
9140         * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
9141         unique.
9142         * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
9143         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
9144         * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
9145         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
9146         Ditto.
9147         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
9148         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
9150 2019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
9152         * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
9154 2019-12-06  Tobias Burnus  <tobias@codesourcery.com>
9155             Kwok Cheung Yeung <kcy@codesourcery.com>
9157         * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
9158         if input it a NULL pointer.
9159         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
9160         diagnostic of NULL pointer.
9161         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
9162         * testsuite/libgomp.fortran/optional-map.f90: New.
9163         * testsuite/libgomp.fortran/use_device_addr-1.f90
9164         (test_dummy_opt_callee_1_absent): New.
9165         (test_dummy_opt_call_1): Call it.
9166         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
9167         * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
9168         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
9169         * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
9170         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
9171         * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
9172         * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
9173         * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
9174         * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
9175         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
9176         * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
9177         * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
9178         * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
9179         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
9180         * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
9181         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
9183 2019-12-05  Tobias Burnus  <tobias@codesourcery.com>
9185         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
9186         expect dg-output of 'Error termination.' for GCN.
9187         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
9188         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
9190 2019-12-04  Jakub Jelinek  <jakub@redhat.com>
9192         PR fortran/92756
9193         * testsuite/libgomp.fortran/teams1.f90: New test.
9194         * testsuite/libgomp.fortran/teams2.f90: New test.
9196 2019-12-03  Frederik Harwath  <frederik@codesourcery.com>
9198         * oacc-init.c (acc_known_device_type): Add function.
9199         (unknown_device_type_error): Add function.
9200         (name_of_acc_device_t): Change to call unknown_device_type_error
9201         on unknown type.
9202         (resolve_device): Use acc_known_device_type.
9203         (acc_init): Fail if acc_device_t argument is not valid.
9204         (acc_shutdown): Likewise.
9205         (acc_get_num_devices): Likewise.
9206         (acc_set_device_type): Likewise.
9207         (acc_get_device_num): Likewise.
9208         (acc_set_device_num): Likewise.
9209         (acc_on_device): Add comment that argument validity is not checked.
9211 2019-12-03  Andrew Stubbs  <ams@codesourcery.com>
9213         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
9214         Recognize amdgcn.
9215         (check_effective_target_openacc_amdgcn_accel_present): New proc.
9216         (check_effective_target_openacc_amdgcn_accel_selected): New proc.
9217         * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
9218         * testsuite/libgomp.oacc-c/c.exp: Likewise.
9219         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9221 2019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
9223         PR libgomp/91938
9224         * configure.tgt: Avoid IE tls on *-*-musl*.
9226 2019-11-29  Tobias Burnus  <tobias@codesourcery.com>
9228         * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
9229         adding a common-block test case.
9231 2019-11-29  Jakub Jelinek  <jakub@redhat.com>
9233         PR c++/60228
9234         * testsuite/libgomp.c++/udr-20.C: New test.
9235         * testsuite/libgomp.c++/udr-21.C: New test.
9237 2019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
9239         * testsuite/lib/libgomp.exp
9240         (check_effective_target_offload_target_nvptx): New proc.
9241         * testsuite/libgomp.fortran/target-print-1.f90: Use it with
9242         'dg-skip-if'.
9243         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
9244         * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
9245         * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
9247 2019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9249         * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
9250         * testsuite/libgomp.c/pr39591-2.c: Likewise.
9251         * testsuite/libgomp.c/pr39591-3.c: Likewise.
9252         * testsuite/libgomp.c/private-1.c: Likewise.
9253         * testsuite/libgomp.c/task-1.c: Likewise.
9254         * testsuite/libgomp.c/task-5.c: Renamed err to serr.
9256 2019-11-20  Julian Brown  <julian@codesourcery.com>
9258         * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
9259         aq->mutex here.
9260         (queue_push_launch): Lock aq->mutex before calling
9261         wait_for_queue_nonfull.
9262         (queue_push_callback): Likewise.
9263         (queue_push_asyncwait): Likewise.
9264         (queue_push_placeholder): Likewise.
9266 2019-11-20  Julian Brown  <julian@codesourcery.com>
9268         * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
9269         (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
9270         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
9271         return code.
9273 2019-11-20  Julian Brown  <julian@codesourcery.com>
9275         PR libgomp/92511
9277         * oacc-mem.c (present_create_copy): Fix device pointer return value in
9278         case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
9279         in non-present/create case.
9280         (delete_copyout): Change error condition to fail only on copies outside
9281         of mapped block.  Adjust error message accordingly.
9282         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
9283         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
9284         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
9285         message.
9286         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9287         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
9288         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9290 2019-11-20  Maciej W. Rozycki  <macro@wdc.com>
9292         * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
9293         libatomic in build-tree testing.
9295 2019-11-18  Maciej W. Rozycki  <macro@wdc.com>
9297         * testsuite/Makefile.in: Regenerate.
9299 2019-11-15  Andrew Stubbs  <ams@codesourcery.com>
9301         * testsuite/libgomp.c/target-print-1.c: New file.
9302         * testsuite/libgomp.fortran/target-print-1.f90: New file.
9303         * testsuite/libgomp.oacc-c/print-1.c: New file.
9304         * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
9306 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
9307             Kwok Cheung Yeung  <kcy@codesourcery.com>
9308             Julian Brown  <julian@codesourcery.com>
9309             Tom de Vries  <tom@codesourcery.com>
9311         * plugin/Makefrag.am: Add amdgcn plugin support.
9312         * plugin/configfrag.ac: Likewise.
9313         * plugin/plugin-gcn.c: New file.
9314         * configure: Regenerate.
9315         * Makefile.in: Regenerate.
9316         * testsuite/Makefile.in: Regenerate.
9318 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
9320         * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
9321         and use team_malloc variants.
9322         (gomp_gcn_exit_kernel): Use team_free.
9323         * libgomp.h (TEAM_ARENA_SIZE): Define.
9324         (TEAM_ARENA_START): Define.
9325         (TEAM_ARENA_FREE): Define.
9326         (TEAM_ARENA_END): Define.
9327         (team_malloc): New function.
9328         (team_malloc_cleared): New function.
9329         (team_free): New function.
9330         * team.c (gomp_new_team): Initialize and use team_malloc.
9331         (free_team): Use team_free.
9332         (gomp_free_thread): Use team_free.
9333         (gomp_pause_host): Use team_free.
9334         * work.c (gomp_init_work_share): Use team_malloc.
9335         (gomp_fini_work_share): Use team_free.
9337 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
9338             Kwok Cheung Yeung  <kcy@codesourcery.com>
9339             Julian Brown  <julian@codesourcery.com>
9340             Tom de Vries  <tom@codesourcery.com>
9342         * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
9343         * Makefile.in: Regenerate.
9344         * config.h.in (PLUGIN_GCN): Add new undef.
9345         * config/accel/openacc.f90 (acc_device_gcn): New parameter.
9346         * config/gcn/affinity-fmt.c: New file.
9347         * config/gcn/bar.c: New file.
9348         * config/gcn/bar.h: New file.
9349         * config/gcn/doacross.h: New file.
9350         * config/gcn/icv-device.c: New file.
9351         * config/gcn/oacc-target.c: New file.
9352         * config/gcn/simple-bar.h: New file.
9353         * config/gcn/target.c: New file.
9354         * config/gcn/task.c: New file.
9355         * config/gcn/team.c: New file.
9356         * config/gcn/time.c: New file.
9357         * configure.ac: Add amdgcn*-*-*.
9358         * configure: Regenerate.
9359         * configure.tgt: Add amdgcn*-*-*.
9360         * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
9361         * libgomp.h (gcn_thrs): Add amdgcn variant.
9362         (set_gcn_thrs): Likewise.
9363         (gomp_thread): Likewise.
9364         * oacc-int.h (goacc_thread): Likewise.
9365         * oacc-target.c: New file.
9366         * openacc.f90 (acc_device_gcn): New parameter.
9367         * openacc.h (acc_device_t): Add acc_device_gcn.
9368         * team.c (gomp_free_pool_helper): Add amdgcn support.
9370 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
9371             Julian Brown  <julian@codesourcery.com>
9373         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
9374         parameter.
9375         * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
9376         queue constructor.
9377         * oacc-host.c (host_openacc_async_construct): Add device parameter.
9378         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
9379         device parameter.
9381 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
9383         * configure.tgt (nvptx*-*-*): Add "accel" directory.
9384         * config/nvptx/libgomp-plugin.c: Move ...
9385         * config/accel/libgomp-plugin.c: ... to here.
9386         * config/nvptx/lock.c: Move ...
9387         * config/accel/lock.c: ... to here.
9388         * config/nvptx/mutex.c: Move ...
9389         * config/accel/mutex.c: ... to here.
9390         * config/nvptx/mutex.h: Move ...
9391         * config/accel/mutex.h: ... to here.
9392         * config/nvptx/oacc-async.c: Move ...
9393         * config/accel/oacc-async.c: ... to here.
9394         * config/nvptx/oacc-cuda.c: Move ...
9395         * config/accel/oacc-cuda.c: ... to here.
9396         * config/nvptx/oacc-host.c: Move ...
9397         * config/accel/oacc-host.c: ... to here.
9398         * config/nvptx/oacc-init.c: Move ...
9399         * config/accel/oacc-init.c: ... to here.
9400         * config/nvptx/oacc-mem.c: Move ...
9401         * config/accel/oacc-mem.c: ... to here.
9402         * config/nvptx/oacc-plugin.c: Move ...
9403         * config/accel/oacc-plugin.c: ... to here.
9404         * config/nvptx/omp-lock.h: Move ...
9405         * config/accel/omp-lock.h: ... to here.
9406         * config/nvptx/openacc.f90: Move ...
9407         * config/accel/openacc.f90: ... to here.
9408         * config/nvptx/pool.h: Move ...
9409         * config/accel/pool.h: ... to here.
9410         * config/nvptx/proc.c: Move ...
9411         * config/accel/proc.c: ... to here.
9412         * config/nvptx/ptrlock.c: Move ...
9413         * config/accel/ptrlock.c: ... to here.
9414         * config/nvptx/ptrlock.h: Move ...
9415         * config/accel/ptrlock.h: ... to here.
9416         * config/nvptx/sem.c: Move ...
9417         * config/accel/sem.c: ... to here.
9418         * config/nvptx/sem.h: Move ...
9419         * config/accel/sem.h: ... to here.
9420         * config/nvptx/thread-stacksize.h: Move ...
9421         * config/accel/thread-stacksize.h: ... to here.
9423 2019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
9424             Tobias Burnus  <tobias@codesourcery.com>
9425             Frederik Harwath  <frederik@codesourcery.com>
9426             Thomas Schwinge  <thomas@codesourcery.com>
9428         libgomp/
9429         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
9430         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
9431         * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
9433 2019-11-11  Tobias Burnus  <tobias@codesourcery.com>
9434             Kwok Cheung Yeung  <kcy@codesourcery.com>
9436         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
9437         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
9439 2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
9441         * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
9443         * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
9444         run'.
9445         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
9446         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
9448 2019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
9450         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
9451         Add expected warnings about missing reduction clauses.
9452         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9453         Likewise.
9454         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
9455         Likewise.
9456         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
9457         Likewise.
9459 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
9461         * testsuite/libgomp.fortran/pr66199-1.f90: Remove
9462         'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
9463         * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
9464         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9465         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9466         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9468 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
9470         PR fortran/92305
9471         * testsuite/libgomp.fortran/allocatable2.f90: Use
9472         unique numbers with 'stop'.
9473         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9474         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9475         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
9476         * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
9477         * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
9479 2019-11-01  Tobias Burnus  <tobias@codesourcery.com>
9481         * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
9482         test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
9483         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
9484         * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
9485         * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
9486         * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
9488 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
9490         * testsuite/libgomp.fortran/target9.f90: New.
9492 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
9494         * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
9495         * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
9496         * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
9497         * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
9498         * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
9499         * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
9500         * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
9501         * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
9502         * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
9503         * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
9504         * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
9505         * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
9506         * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
9507         * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
9508         * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
9509         * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
9510         * testsuite/libgomp.fortran/associate1.f90: Ditto.
9511         * testsuite/libgomp.fortran/associate2.f90: Ditto.
9512         * testsuite/libgomp.fortran/associate3.f90: Ditto.
9513         * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
9514         * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
9515         * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
9516         * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
9517         * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
9518         * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
9519         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
9520         * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
9521         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
9522         * testsuite/libgomp.fortran/character1.f90: Ditto.
9523         * testsuite/libgomp.fortran/character2.f90: Ditto.
9524         * testsuite/libgomp.fortran/collapse1.f90: Ditto.
9525         * testsuite/libgomp.fortran/collapse2.f90: Ditto.
9526         * testsuite/libgomp.fortran/collapse3.f90: Ditto.
9527         * testsuite/libgomp.fortran/collapse4.f90: Ditto.
9528         * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
9529         * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
9530         * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
9531         * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
9532         * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
9533         * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
9534         * testsuite/libgomp.fortran/depend-1.f90: Ditto.
9535         * testsuite/libgomp.fortran/depend-2.f90: Ditto.
9536         * testsuite/libgomp.fortran/depend-3.f90: Ditto.
9537         * testsuite/libgomp.fortran/do1.f90: Ditto.
9538         * testsuite/libgomp.fortran/do2.f90: Ditto.
9539         * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
9540         * testsuite/libgomp.fortran/doacross1.f90: Ditto.
9541         * testsuite/libgomp.fortran/doacross2.f90: Ditto.
9542         * testsuite/libgomp.fortran/doacross3.f90: Ditto.
9543         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
9544         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
9545         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
9546         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
9547         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
9548         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
9549         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
9550         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
9551         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
9552         * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
9553         * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
9554         * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
9555         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
9556         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
9557         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
9558         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
9559         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
9560         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
9561         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
9562         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
9563         * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
9564         * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
9565         * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
9566         * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
9567         * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
9568         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
9569         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
9570         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
9571         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
9572         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
9573         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
9574         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
9575         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
9576         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
9577         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
9578         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
9579         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
9580         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
9581         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
9582         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
9583         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
9584         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
9585         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
9586         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
9587         * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
9588         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9589         * testsuite/libgomp.fortran/lib1.f90: Ditto.
9590         * testsuite/libgomp.fortran/lib4.f90: Ditto.
9591         * testsuite/libgomp.fortran/lock-1.f90: Ditto.
9592         * testsuite/libgomp.fortran/lock-2.f90: Ditto.
9593         * testsuite/libgomp.fortran/nested1.f90: Ditto.
9594         * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
9595         * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
9596         * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
9597         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9598         * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
9599         * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
9600         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
9601         * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
9602         * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
9603         * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
9604         * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
9605         * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
9606         * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
9607         * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
9608         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
9609         * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
9610         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
9611         * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
9612         * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
9613         * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
9614         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
9615         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
9616         * testsuite/libgomp.fortran/pointer1.f90: Ditto.
9617         * testsuite/libgomp.fortran/pointer2.f90: Ditto.
9618         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9619         * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
9620         * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
9621         * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
9622         * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
9623         * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
9624         * testsuite/libgomp.fortran/pr28390.f: Ditto.
9625         * testsuite/libgomp.fortran/pr29629.f90: Ditto.
9626         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9627         * testsuite/libgomp.fortran/pr33880.f90: Ditto.
9628         * testsuite/libgomp.fortran/pr34020.f90: Ditto.
9629         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9630         * testsuite/libgomp.fortran/pr42162.f90: Ditto.
9631         * testsuite/libgomp.fortran/pr46753.f90: Ditto.
9632         * testsuite/libgomp.fortran/pr48894.f90: Ditto.
9633         * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
9634         * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
9635         * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
9636         * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
9637         * testsuite/libgomp.fortran/pr65597.f90: Ditto.
9638         * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
9639         * testsuite/libgomp.fortran/pr71014.f90: Ditto.
9640         * testsuite/libgomp.fortran/pr81304.f90: Ditto.
9641         * testsuite/libgomp.fortran/pr81841.f90: Ditto.
9642         * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
9643         * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
9644         * testsuite/libgomp.fortran/procptr1.f90: Ditto.
9645         * testsuite/libgomp.fortran/recursion1.f90: Ditto.
9646         * testsuite/libgomp.fortran/reduction1.f90: Ditto.
9647         * testsuite/libgomp.fortran/reduction2.f90: Ditto.
9648         * testsuite/libgomp.fortran/reduction3.f90: Ditto.
9649         * testsuite/libgomp.fortran/reduction4.f90: Ditto.
9650         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9651         * testsuite/libgomp.fortran/reduction6.f90: Ditto.
9652         * testsuite/libgomp.fortran/reference1.f90: Ditto.
9653         * testsuite/libgomp.fortran/reference2.f90: Ditto.
9654         * testsuite/libgomp.fortran/retval1.f90: Ditto.
9655         * testsuite/libgomp.fortran/retval2.f90: Ditto.
9656         * testsuite/libgomp.fortran/sharing1.f90: Ditto.
9657         * testsuite/libgomp.fortran/sharing2.f90: Ditto.
9658         * testsuite/libgomp.fortran/simd1.f90: Ditto.
9659         * testsuite/libgomp.fortran/simd2.f90: Ditto.
9660         * testsuite/libgomp.fortran/simd3.f90: Ditto.
9661         * testsuite/libgomp.fortran/simd4.f90: Ditto.
9662         * testsuite/libgomp.fortran/simd5.f90: Ditto.
9663         * testsuite/libgomp.fortran/simd6.f90: Ditto.
9664         * testsuite/libgomp.fortran/simd7.f90: Ditto.
9665         * testsuite/libgomp.fortran/stack.f90: Ditto.
9666         * testsuite/libgomp.fortran/strassen.f90: Ditto.
9667         * testsuite/libgomp.fortran/tabs1.f90: Ditto.
9668         * testsuite/libgomp.fortran/tabs2.f: Ditto.
9669         * testsuite/libgomp.fortran/target1.f90: Ditto.
9670         * testsuite/libgomp.fortran/target2.f90: Ditto.
9671         * testsuite/libgomp.fortran/target3.f90: Ditto.
9672         * testsuite/libgomp.fortran/target4.f90: Ditto.
9673         * testsuite/libgomp.fortran/target5.f90: Ditto.
9674         * testsuite/libgomp.fortran/target6.f90: Ditto.
9675         * testsuite/libgomp.fortran/target7.f90: Ditto.
9676         * testsuite/libgomp.fortran/target8.f90: Ditto.
9677         * testsuite/libgomp.fortran/task1.f90: Ditto.
9678         * testsuite/libgomp.fortran/task2.f90: Ditto.
9679         * testsuite/libgomp.fortran/task3.f90: Ditto.
9680         * testsuite/libgomp.fortran/task4.f90: Ditto.
9681         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9682         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9683         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9684         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9685         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9686         * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
9687         * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
9688         * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
9689         * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
9690         * testsuite/libgomp.fortran/udr1.f90: Ditto.
9691         * testsuite/libgomp.fortran/udr10.f90: Ditto.
9692         * testsuite/libgomp.fortran/udr11.f90: Ditto.
9693         * testsuite/libgomp.fortran/udr12.f90: Ditto.
9694         * testsuite/libgomp.fortran/udr13.f90: Ditto.
9695         * testsuite/libgomp.fortran/udr14.f90: Ditto.
9696         * testsuite/libgomp.fortran/udr15.f90: Ditto.
9697         * testsuite/libgomp.fortran/udr2.f90: Ditto.
9698         * testsuite/libgomp.fortran/udr3.f90: Ditto.
9699         * testsuite/libgomp.fortran/udr4.f90: Ditto.
9700         * testsuite/libgomp.fortran/udr5.f90: Ditto.
9701         * testsuite/libgomp.fortran/udr6.f90: Ditto.
9702         * testsuite/libgomp.fortran/udr7.f90: Ditto.
9703         * testsuite/libgomp.fortran/udr8.f90: Ditto.
9704         * testsuite/libgomp.fortran/udr9.f90: Ditto.
9705         * testsuite/libgomp.fortran/vla1.f90: Ditto.
9706         * testsuite/libgomp.fortran/vla2.f90: Ditto.
9707         * testsuite/libgomp.fortran/vla3.f90: Ditto.
9708         * testsuite/libgomp.fortran/vla4.f90: Ditto.
9709         * testsuite/libgomp.fortran/vla5.f90: Ditto.
9710         * testsuite/libgomp.fortran/vla6.f90: Ditto.
9711         * testsuite/libgomp.fortran/vla7.f90: Ditto.
9712         * testsuite/libgomp.fortran/vla8.f90: Ditto.
9713         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9714         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9716 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
9718         * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
9719         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
9720         Ditto; add 'dg-do run' for torture testing.
9721         * testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
9722         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9723         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9724         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9725         * testsuite/libgomp.fortran/pr28390.f: Ditto.
9726         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9727         * testsuite/libgomp.fortran/pr90779.f90: Ditto.
9728         * testsuite/libgomp.fortran/task2.f90: Ditto.
9729         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9730         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9731         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9732         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9733         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9734         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9736 2019-10-28  Tobias Burnus  <tobias@codesourcery.com>
9738         * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
9739         * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
9740         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
9741         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
9742         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
9743         * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
9744         * testsuite/libgomp.oacc-fortran/common-block-1.f90:
9745         Use 'stop' not abort().
9746         * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
9747         * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
9748         * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
9749         * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
9750         * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
9751         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
9752         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
9753         * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
9754         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
9755         * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
9756         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
9757         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
9758         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
9759         * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
9760         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
9761         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
9762         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9763         Ditto.
9764         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9765         Ditto.
9766         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9767         Ditto.
9768         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9769         Ditto.
9770         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9771         Ditto.
9772         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
9773         Ditto.
9774         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
9775         Ditto.
9776         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
9777         Ditto.
9778         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
9779         Ditto.
9780         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
9781         Ditto.
9782         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
9783         Ditto.
9784         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
9785         Ditto.
9786         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
9787         Ditto.
9788         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
9789         Ditto.
9790         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
9791         * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
9792         * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
9793         * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
9794         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9795         Likewise and also add 'dg-do run'.
9796         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9797         Ditto.
9799 2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
9800             Tobias Burnus  <tobias@codesourcery.com>
9802         * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
9803         * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
9804         * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
9806 2019-10-14  Jakub Jelinek  <jakub@redhat.com>
9808         PR libgomp/92081
9809         * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
9810         than 0.
9812 2019-10-11  Tobias Burnus  <tobias@codesourcery.com>
9814         * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
9815         * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
9817 2019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
9819         PR middle-end/92036
9820         * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
9821         file.
9823 2019-10-09  Tobias Burnus  <tobias@codesourcery.com>
9825         PR testsuite/91884
9826         * testsuite/libgomp.fortran/fortran.exp: Conditionally
9827         add -lquadmath.
9828         * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
9830 2019-10-09  Jakub Jelinek  <jakub@redhat.com>
9832         PR libgomp/92028
9833         * target.c (gomp_map_vars_internal): Readd the previous
9834         GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
9835         though do that just in the !not_found_cnt case.
9837 2019-10-08  Tobias Burnus  <tobias@codesourcery.com>
9839         * gfortran.dg/gomp/target-simd.f90: New.
9841 2019-10-02  Julian Brown  <julian@codesourcery.com>
9842             Cesar Philippidis  <cesar@codesourcery.com>
9844         * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
9845         * target.c (FIELD_TGT_EMPTY): Define.
9846         (gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
9847         as switch instead of list of ifs.
9848         (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
9850 2019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
9852         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
9853         include. Replace alloca () with __builtin_alloca ().
9854         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
9856 2019-10-01  Jakub Jelinek  <jakub@redhat.com>
9858         * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
9859         * libgomp.h: Include <stdint.h> instead of "gstdint.h".
9860         * oacc-parallel.c: Don't include "libgomp_g.h".
9861         * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
9862         * plugin/plugin-nvptx.c: Don't include "gstdint.h".
9863         * aclocal.m4: Regenerated.
9864         * config.h.in: Regenerated.
9865         * configure: Regenerated.
9866         * Makefile.in: Regenerated.
9868 2019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
9870         * libgomp_g.h: Include stdint.h instead of gstdint.h.
9872 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
9874         * configure: Regenerate.
9876 2019-09-13  Tobias Burnus  <tobias@codesourcery.com>
9878         * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
9879         string is initialized.
9881 2019-09-06  Florian Weimer  <fweimer@redhat.com>
9883         * configure: Regenerate.
9885 2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
9887         PR other/79543
9888         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
9889         scanning to conform to the GNU Coding Standards.
9890         * configure: Regenerate.
9892 2019-08-28  Jakub Jelinek  <jakub@redhat.com>
9894         PR libgomp/91530
9895         * testsuite/libgomp.c/scan-21.c: New test.
9896         * testsuite/libgomp.c/scan-22.c: New test.
9898 2019-08-27  Jakub Jelinek  <jakub@redhat.com>
9900         PR libgomp/91530
9901         * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
9902         targets.
9903         * testsuite/libgomp.c/scan-12.c: Likewise.
9904         * testsuite/libgomp.c/scan-13.c: Likewise.
9905         * testsuite/libgomp.c/scan-14.c: Likewise.
9906         * testsuite/libgomp.c/scan-15.c: Likewise.
9907         * testsuite/libgomp.c/scan-16.c: Likewise.
9908         * testsuite/libgomp.c/scan-17.c: Likewise.
9909         * testsuite/libgomp.c/scan-18.c: Likewise.
9910         * testsuite/libgomp.c/scan-19.c: Likewise.
9911         * testsuite/libgomp.c/scan-20.c: Likewise.
9912         * testsuite/libgomp.c++/scan-9.C: Likewise.
9913         * testsuite/libgomp.c++/scan-10.C: Likewise.
9914         * testsuite/libgomp.c++/scan-11.C: Likewise.
9915         * testsuite/libgomp.c++/scan-12.C: Likewise.
9916         * testsuite/libgomp.c++/scan-14.C: Likewise.
9917         * testsuite/libgomp.c++/scan-15.C: Likewise.
9918         * testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
9919         instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
9920         * testsuite/libgomp.c++/scan-16.C: Likewise.
9922 2019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
9924         PR fortran/91473
9925         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
9926         -std=legacy so invalid code in the test case is accepted.
9928 2019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
9930         PR fortran/91422
9931         * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
9932         dimension.
9934 2019-08-08  Jakub Jelinek  <jakub@redhat.com>
9936         * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
9937         perform the lookup in the first loop only if !not_found_cnt, otherwise
9938         perform lookups for it in the second loop guarded with
9939         if (not_found_cnt || has_firstprivate).
9940         * testsuite/libgomp.c/target-37.c: New test.
9941         * testsuite/libgomp.c++/target-22.C: New test.
9943 2019-08-07  Jakub Jelinek  <jakub@redhat.com>
9945         * testsuite/libgomp.c/target-18.c (struct S): New type.
9946         (foo): Use use_device_addr clause instead of use_device_ptr clause
9947         where required by OpenMP 5.0, add further tests for both use_device_ptr
9948         and use_device_addr clauses.
9949         * testsuite/libgomp.c++/target-9.C (struct S): New type.
9950         (foo): Use use_device_addr clause instead of use_device_ptr clause
9951         where required by OpenMP 5.0, add further tests for both use_device_ptr
9952         and use_device_addr clauses.  Add t and u arguments.
9953         (main): Adjust caller.
9955 2019-08-06  Jakub Jelinek  <jakub@redhat.com>
9957         * testsuite/libgomp.c++/loop-13.C: New test.
9958         * testsuite/libgomp.c++/loop-14.C: New test.
9959         * testsuite/libgomp.c++/loop-15.C: New test.
9961 2019-07-31  Jakub Jelinek  <jakub@redhat.com>
9963         PR middle-end/91301
9964         * testsuite/libgomp.c++/for-27.C: New test.
9966 2019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
9968         * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
9969         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9971 2019-07-20  Jakub Jelinek  <jakub@redhat.com>
9973         * testsuite/libgomp.c-c++-common/loop-1.c: New test.
9975 2019-07-08  Jakub Jelinek  <jakub@redhat.com>
9977         * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
9978         * testsuite/libgomp.c++/scan-16.C: Likewise.
9980 2019-07-06  Jakub Jelinek  <jakub@redhat.com>
9982         * testsuite/libgomp.c/scan-19.c: New test.
9983         * testsuite/libgomp.c/scan-20.c: New test.
9985         * testsuite/libgomp.c/scan-11.c: New test.
9986         * testsuite/libgomp.c/scan-12.c: New test.
9987         * testsuite/libgomp.c/scan-13.c: New test.
9988         * testsuite/libgomp.c/scan-14.c: New test.
9989         * testsuite/libgomp.c/scan-15.c: New test.
9990         * testsuite/libgomp.c/scan-16.c: New test.
9991         * testsuite/libgomp.c/scan-17.c: New test.
9992         * testsuite/libgomp.c/scan-18.c: New test.
9993         * testsuite/libgomp.c++/scan-9.C: New test.
9994         * testsuite/libgomp.c++/scan-10.C: New test.
9995         * testsuite/libgomp.c++/scan-11.C: New test.
9996         * testsuite/libgomp.c++/scan-12.C: New test.
9997         * testsuite/libgomp.c++/scan-13.C: New test.
9998         * testsuite/libgomp.c++/scan-14.C: New test.
9999         * testsuite/libgomp.c++/scan-15.C: New test.
10000         * testsuite/libgomp.c++/scan-16.C: New test.
10002 2019-07-04  Jakub Jelinek  <jakub@redhat.com>
10004         * testsuite/libgomp.c/scan-9.c: New test.
10005         * testsuite/libgomp.c/scan-10.c: New test.
10007 2019-07-03  Jakub Jelinek  <jakub@redhat.com>
10009         * testsuite/libgomp.c++/scan-1.C: New test.
10010         * testsuite/libgomp.c++/scan-2.C: New test.
10011         * testsuite/libgomp.c++/scan-3.C: New test.
10012         * testsuite/libgomp.c++/scan-4.C: New test.
10013         * testsuite/libgomp.c++/scan-5.C: New test.
10014         * testsuite/libgomp.c++/scan-6.C: New test.
10015         * testsuite/libgomp.c++/scan-7.C: New test.
10016         * testsuite/libgomp.c++/scan-8.C: New test.
10017         * testsuite/libgomp.c/scan-1.c: New test.
10018         * testsuite/libgomp.c/scan-2.c: New test.
10019         * testsuite/libgomp.c/scan-3.c: New test.
10020         * testsuite/libgomp.c/scan-4.c: New test.
10021         * testsuite/libgomp.c/scan-5.c: New test.
10022         * testsuite/libgomp.c/scan-6.c: New test.
10023         * testsuite/libgomp.c/scan-7.c: New test.
10024         * testsuite/libgomp.c/scan-8.c: New test.
10026 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
10028         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
10029         * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
10030         Likewise.
10032         * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
10033         check.
10035 2019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
10037         * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
10038         file.
10040 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
10042         PR fortran/90743
10043         * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
10044         case.
10045         * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
10046         * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
10047         * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
10048         * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
10050         PR testsuite/90861
10051         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
10053         PR middle-end/90862
10054         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
10056 2019-06-16  Tom de Vries  <tdevries@suse.de>
10058         PR tree-optimization/89376
10059         * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
10061 2019-06-15  Tom de Vries  <tdevries@suse.de>
10063         PR tree-optimization/89713
10064         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
10065         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
10067 2019-06-15  Jakub Jelinek  <jakub@redhat.com>
10069         PR middle-end/90779
10070         * testsuite/libgomp.c/pr90779.c: New test.
10071         * testsuite/libgomp.fortran/pr90779.f90: New test.
10073 2019-06-15  Tom de Vries  <tdevries@suse.de>
10075         PR tree-optimization/90009
10076         * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
10078 2019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
10080         PR tree-optimization/89713
10081         * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
10083 2019-06-11  Jakub Jelinek  <jakub@redhat.com>
10085         PR target/90811
10086         * testsuite/libgomp.c/pr90811.c: New test.
10088 2019-06-05  Jakub Jelinek  <jakub@redhat.com>
10090         * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
10091         * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
10093 2019-06-04  Jakub Jelinek  <jakub@redhat.com>
10095         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
10096         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
10097         * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
10098         * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
10100 2019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10102         * configure.ac: Call AX_COUNT_CPUS.
10103         Substitute CPU_COUNT.
10104         * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
10105         count fallback.
10106         * aclocal.m4: Regenerate.
10107         * configure: Regenerate.
10108         * Makefile.in, testsuite/Makefile.in: Regenerate.
10110 2019-05-29  Jakub Jelinek  <jakub@redhat.com>
10112         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
10113         to ...
10114         * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
10115         * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
10116         * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
10118 2019-05-27  Jakub Jelinek  <jakub@redhat.com>
10120         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
10122         * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
10124         PR libgomp/90641
10125         * work.c (gomp_init_work_share): Instead of aligning final ordered
10126         value to multiples of long long alignment, align to that the
10127         first part (ordered team ids) and if inline_ordered_team_ids
10128         is not on a long long alignment boundary within the structure,
10129         use __alignof__ (long long) - 1 pad size always.
10130         * loop.c (GOMP_loop_start): Fix *mem computation if
10131         inline_ordered_team_ids is not aligned on long long alignment boundary
10132         within the structure.
10133         * loop-ull.c (GOMP_loop_ull_start): Likewise.
10134         * sections.c (GOMP_sections2_start): Likewise.
10136 2019-05-24  Jakub Jelinek  <jakub@redhat.com>
10138         * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
10139         * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
10141         PR libgomp/90585
10142         * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
10143         HAVE_INTTYPES_H is defined.
10144         (print_uint64_t): New typedef.
10145         (PRIu64): Define if HAVE_INTTYPES_H is not defined.
10146         (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
10147         "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
10148         (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
10149         before casting to void *.
10150         * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
10151         * oacc-mem.c: Don't include config.h nor stdint.h.
10152         * target.c: Don't include config.h.
10153         * oacc-cuda.c: Likewise.
10154         * oacc-host.c: Don't include stdint.h.
10156 2019-05-20  Jakub Jelinek  <jakub@redhat.com>
10158         PR libgomp/90527
10159         * alloc.c (_GNU_SOURCE): Define.
10161 2019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
10163         * acc_prof.h: New file.
10164         * oacc-profiling.c: Likewise.
10165         * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
10166         Add these, respectively.
10167         * Makefile.in: Regenerate.
10168         * env.c (initialize_env): Call goacc_profiling_initialize.
10169         * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
10170         (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
10171         * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
10172         (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
10173         * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
10174         acc_prof_register, acc_prof_unregister, and acc_register_library.
10175         (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
10176         GOMP_PLUGIN_goacc_thread.
10177         * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
10178         prof_callbacks_enabled members.
10179         (goacc_prof_enabled, goacc_profiling_initialize)
10180         (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
10181         (goacc_profiling_dispatch): Declare.
10182         (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
10183         (GOACC_PROFILING_SETUP_P): Define.
10184         * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
10185         (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
10186         OpenACC Profiling Interface.
10187         * oacc-cuda.c (acc_get_current_cuda_device)
10188         (acc_get_current_cuda_context, acc_get_cuda_stream)
10189         (acc_set_cuda_stream): Likewise.
10190         * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
10191         (acc_init, acc_set_device_type, acc_get_device_type)
10192         (acc_get_device_num, goacc_lazy_initialize): Likewise.
10193         * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
10194         (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
10195         (acc_unmap_data, present_create_copy, delete_copyout)
10196         (update_dev_host): Likewise.
10197         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
10198         (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
10199         Likewise.
10200         * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
10201         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
10202         Likewise.
10203         * libgomp.texi: Update.
10204         * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
10205         file.
10206         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
10207         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
10208         Likewise.
10209         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
10210         Likewise.
10211         * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
10212         Likewise.
10213         * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
10214         Likewise.
10216 2019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
10218         * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
10219         (struct goacc_asyncqueue_list): Likewise.
10220         (goacc_aq): Likewise.
10221         (goacc_aq_list): Likewise.
10222         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
10223         (GOMP_OFFLOAD_openacc_async_test): Remove.
10224         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
10225         (GOMP_OFFLOAD_openacc_async_wait): Remove.
10226         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
10227         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
10228         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
10229         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
10230         (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
10231         (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
10232         (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
10233         (GOMP_OFFLOAD_openacc_async_exec): Declare.
10234         (GOMP_OFFLOAD_openacc_async_construct): Declare.
10235         (GOMP_OFFLOAD_openacc_async_destruct): Declare.
10236         (GOMP_OFFLOAD_openacc_async_test): Declare.
10237         (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
10238         (GOMP_OFFLOAD_openacc_async_serialize): Declare.
10239         (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
10240         (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
10241         (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
10243         * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
10244         (gomp_acc_insert_pointer): Adjust declaration.
10245         (gomp_copy_host2dev): New declaration.
10246         (gomp_copy_dev2host): Likewise.
10247         (gomp_map_vars_async): Likewise.
10248         (gomp_unmap_tgt): Likewise.
10249         (gomp_unmap_vars_async): Likewise.
10250         (gomp_fini_device): Likewise.
10252         * oacc-async.c (get_goacc_thread): New function.
10253         (get_goacc_thread_device): New function.
10254         (lookup_goacc_asyncqueue): New function.
10255         (get_goacc_asyncqueue): New function.
10256         (acc_async_test): Adjust code to use new async design.
10257         (acc_async_test_all): Likewise.
10258         (acc_wait): Likewise.
10259         (acc_wait_async): Likewise.
10260         (acc_wait_all): Likewise.
10261         (acc_wait_all_async): Likewise.
10262         (goacc_async_free): New function.
10263         (goacc_init_asyncqueues): Likewise.
10264         (goacc_fini_asyncqueues): Likewise.
10265         * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
10266         design.
10267         (acc_set_cuda_stream): Likewise.
10268         * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
10269         (host_openacc_register_async_cleanup): Remove.
10270         (host_openacc_async_exec): New function.
10271         (host_openacc_async_test): Adjust parameters.
10272         (host_openacc_async_test_all): Remove.
10273         (host_openacc_async_wait): Remove.
10274         (host_openacc_async_wait_async): Remove.
10275         (host_openacc_async_wait_all): Remove.
10276         (host_openacc_async_wait_all_async): Remove.
10277         (host_openacc_async_set_async): Remove.
10278         (host_openacc_async_synchronize): New function.
10279         (host_openacc_async_serialize): New function.
10280         (host_openacc_async_host2dev): New function.
10281         (host_openacc_async_dev2host): New function.
10282         (host_openacc_async_queue_callback): New function.
10283         (host_openacc_async_construct): New function.
10284         (host_openacc_async_destruct): New function.
10285         (struct gomp_device_descr host_dispatch): Remove initialization of old
10286         interface, add initialization of new async sub-struct.
10287         * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
10288         (goacc_attach_host_thread_to_device): Remove old async code usage.
10289         * oacc-int.h (goacc_init_asyncqueues): New declaration.
10290         (goacc_fini_asyncqueues): Likewise.
10291         (goacc_async_copyout_unmap_vars): Likewise.
10292         (goacc_async_free): Likewise.
10293         (get_goacc_asyncqueue): Likewise.
10294         (lookup_goacc_asyncqueue): Likewise.
10295         * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
10296         design.
10297         (present_create_copy): Adjust code to use new async design.
10298         (delete_copyout): Likewise.
10299         (update_dev_host): Likewise.
10300         (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
10301         async design.
10302         (gomp_acc_remove_pointer): Adjust code to use new async design.
10303         * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
10304         design.
10305         (GOACC_enter_exit_data): Likewise.
10306         (goacc_wait): Likewise.
10307         (GOACC_update): Likewise.
10308         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
10309         when called, warn as obsolete in comment.
10310         * target.c (goacc_device_copy_async): New function.
10311         (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
10312         add goacc_device_copy_async case.
10313         (gomp_copy_dev2host): Likewise.
10314         (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
10315         (gomp_map_pointer): Likewise.
10316         (gomp_map_fields_existing): Likewise.
10317         (gomp_map_vars_internal): New always_inline function, renamed from
10318         gomp_map_vars.
10319         (gomp_map_vars): Implement by calling gomp_map_vars_internal.
10320         (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
10321         passing goacc_asyncqueue argument.
10322         (gomp_unmap_tgt): Remove static, add attribute_hidden.
10323         (gomp_unref_tgt): New function.
10324         (gomp_unmap_vars_internal): New always_inline function, renamed from
10325         gomp_unmap_vars.
10326         (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
10327         (gomp_unmap_vars_async): Implement by calling
10328         gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
10329         (gomp_fini_device): New function.
10330         (gomp_exit_data): Adjust gomp_copy_dev2host call.
10331         (gomp_load_plugin_for_device): Remove old interface, adjust to load
10332         new async interface.
10333         (gomp_target_fini): Adjust code to call gomp_fini_device.
10335         * plugin/plugin-nvptx.c (struct cuda_map): Remove.
10336         (struct ptx_stream): Remove.
10337         (struct nvptx_thread): Remove current_stream field.
10338         (cuda_map_create): Remove.
10339         (cuda_map_destroy): Remove.
10340         (map_init): Remove.
10341         (map_fini): Remove.
10342         (map_pop): Remove.
10343         (map_push): Remove.
10344         (struct goacc_asyncqueue): Define.
10345         (struct nvptx_callback): Define.
10346         (struct ptx_free_block): Define.
10347         (struct ptx_device): Remove null_stream, active_streams, async_streams,
10348         stream_lock, and next fields.
10349         (enum ptx_event_type): Remove.
10350         (struct ptx_event): Remove.
10351         (ptx_event_lock): Remove.
10352         (ptx_events): Remove.
10353         (init_streams_for_device): Remove.
10354         (fini_streams_for_device): Remove.
10355         (select_stream_for_async): Remove.
10356         (nvptx_init): Remove ptx_events and ptx_event_lock references.
10357         (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
10358         case.
10359         (nvptx_open_device): Add free_blocks initialization, remove
10360         init_streams_for_device call.
10361         (nvptx_close_device): Remove fini_streams_for_device call, add
10362         free_blocks destruct code.
10363         (event_gc): Remove.
10364         (event_add): Remove.
10365         (nvptx_exec): Adjust parameters and code.
10366         (nvptx_free): Likewise.
10367         (nvptx_host2dev): Remove.
10368         (nvptx_dev2host): Remove.
10369         (nvptx_set_async): Remove.
10370         (nvptx_async_test): Remove.
10371         (nvptx_async_test_all): Remove.
10372         (nvptx_wait): Remove.
10373         (nvptx_wait_async): Remove.
10374         (nvptx_wait_all): Remove.
10375         (nvptx_wait_all_async): Remove.
10376         (nvptx_get_cuda_stream): Remove.
10377         (nvptx_set_cuda_stream): Remove.
10378         (GOMP_OFFLOAD_alloc): Adjust code.
10379         (GOMP_OFFLOAD_free): Likewise.
10380         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
10381         (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
10382         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
10383         (GOMP_OFFLOAD_openacc_async_wait): Remove.
10384         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
10385         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
10386         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
10387         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
10388         (cuda_free_argmem): New function.
10389         (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
10390         (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
10391         (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
10392         (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
10393         (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
10394         (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
10395         (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
10396         (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
10397         (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
10398         (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
10399         (cuda_callback_wrapper): New function.
10400         (cuda_memcpy_sanity_check): New function.
10401         (GOMP_OFFLOAD_host2dev): Remove and re-implement.
10402         (GOMP_OFFLOAD_dev2host): Remove and re-implement.
10403         (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
10404         (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
10406 2019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
10408         PR target/87835
10409         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
10411 2019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
10413         * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
10415 2019-03-27  Kevin Buettner  <kevinb@redhat.com>
10417         * team.c (gomp_team_start): Initialize pool->threads[0].
10419 2019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
10421         * testsuite/libgomp.oacc-c++/c++.exp: Specify
10422         "-foffload=$offload_target".
10423         * testsuite/libgomp.oacc-c/c.exp: Likewise.
10424         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10425         * testsuite/lib/libgomp.exp
10426         (check_effective_target_openacc_nvidia_accel_configured): Remove,
10427         as (conceptually) merged into
10428         check_effective_target_openacc_nvidia_accel_selected.  Adjust all
10429         users.
10431         * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
10432         * testsuite/libgomp-test-support.exp.in: Adjust.
10433         * testsuite/lib/libgomp.exp: Likewise.  Don't populate
10434         openacc_device_types_s.
10435         (offload_target_to_openacc_device_type): New proc.
10436         * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
10437         * testsuite/libgomp.oacc-c/c.exp: Likewise.
10438         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10439         * Makefile.in: Regenerate.
10440         * configure: Likewise.
10441         * testsuite/Makefile.in: Likewise.
10443         * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
10444         instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
10445         instead of OFFLOAD_TARGETS.
10446         * target.c (gomp_target_init): Adjust.
10447         * testsuite/libgomp-test-support.exp.in: Likewise.
10448         * testsuite/lib/libgomp.exp: Likewise.  Populate
10449         openacc_device_types_s instead of offload_targets_s_openacc.
10450         (check_effective_target_openacc_nvidia_accel_selected)
10451         (check_effective_target_openacc_host_selected): Adjust.
10452         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
10453         * testsuite/libgomp.oacc-c/c.exp: Likewise.
10454         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10455         * Makefile.in: Regenerate.
10456         * config.h.in: Likewise.
10457         * configure: Likewise.
10458         * testsuite/Makefile.in: Likewise.
10460         * testsuite/lib/libgomp.exp: Error out for unknown offload target.
10461         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
10462         "offloading: supported, but hardware not accessible".
10463         * testsuite/libgomp.oacc-c/c.exp: Likewise.
10464         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10466 2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
10468         PR c/87924
10469         * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
10470         goacc_wait().
10471         (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
10472         and related adjustment.
10474 2019-01-30  Jakub Jelinek  <jakub@redhat.com>
10476         PR c++/88988
10477         * testsuite/libgomp.c++/pr88988.C: New test.
10479 2019-01-28  Jakub Jelinek  <jakub@redhat.com>
10481         PR middle-end/89002
10482         * testsuite/libgomp.c/pr89002.c: New test.
10484 2019-01-28  Richard Biener  <rguenther@suse.de>
10486         PR testsuite/89064
10487         PR tree-optimization/86865
10488         * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
10490 2019-01-24  Tom de Vries  <tdevries@suse.de>
10492         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
10493         once instantiated_devices drops to 0.
10495 2019-01-23  Tom de Vries  <tdevries@suse.de>
10497         PR target/PR88946
10498         * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
10499         cuMemFree.
10500         (nvptx_exec): Don't call map_push if mapnum == 0.
10501         * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
10503 2019-01-23  Tom de Vries  <tdevries@suse.de>
10505         PR target/88941
10506         PR target/88939
10507         * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
10508         (map_fini): Remove "assert (!s->map->active)".
10509         * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
10511 2019-01-23  Tom de Vries  <tdevries@suse.de>
10513         PR target/87835
10514         * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
10515         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
10517 2019-01-15  Tom de Vries  <tdevries@suse.de>
10519         PR target/80547
10520         * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
10521         New test.
10523 2019-01-12  Tom de Vries  <tdevries@suse.de>
10525         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
10526         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
10527         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
10528         * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
10530 2019-01-12  Tom de Vries  <tdevries@suse.de>
10532         * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
10534 2019-01-12  Tom de Vries  <tdevries@suse.de>
10536         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
10537         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
10538         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
10540 2019-01-12  Tom de Vries  <tdevries@suse.de>
10542         PR target/85486
10543         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
10544         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
10546 2019-01-12  Tom de Vries  <tdevries@suse.de>
10548         PR target/85381
10549         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
10550         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
10552 2019-01-12  Tom de Vries  <tdevries@suse.de>
10554         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
10555         * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
10556         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
10558 2019-01-12  Tom de Vries  <tdevries@suse.de>
10560         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
10561         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
10562         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
10564 2019-01-12  Tom de Vries  <tdevries@suse.de>
10566         * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
10567         resources diagnostic.
10569 2019-01-12  Tom de Vries  <tdevries@suse.de>
10571         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
10572         vector length to be 128.
10573         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
10574         length 2097152 to be reduced to 1024 instead of 32.
10576 2019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
10577             James Norris  <jnorris@codesourcery.com>
10579         * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
10580         Library Routines", and "Environment Variables".
10582 2019-01-11  Tom de Vries  <tdevries@suse.de>
10584         * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
10585         num_workers 16.
10587 2019-01-11  Tom de Vries  <tdevries@suse.de>
10589         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
10590         -foffload=-w.
10591         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
10592         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
10593         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
10594         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
10596 2019-01-11  Tom de Vries  <tdevries@suse.de>
10598         * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
10599         test.
10601 2019-01-10  Nathan Sidwell  <nathan@acm.org>
10602             Julian Brown  <julian@codesourcery.com>
10604         PR lto/71959
10605         * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
10606         * testsuite/libgomp.oacc-c++/pr71959.C: New.
10608 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10610         * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
10611         and paste code.
10613 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10615         * config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
10616         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10617         write.
10619 2019-01-09  Tom de Vries  <tdevries@suse.de>
10621         PR target/88756
10622         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
10623         #define instead of "const int".
10624         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
10625         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
10626         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
10627         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
10629 2019-01-09  Tom de Vries  <tdevries@suse.de>
10631         * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
10632         one worker.
10634 2019-01-07  Tom de Vries  <tdevries@suse.de>
10636         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
10637         GOMP_OPENACC_DIM argument.
10639 2019-01-03  Tom de Vries  <tdevries@suse.de>
10641         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
10642         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
10644 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
10646         Update copyright years.
10648 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
10650         * libgomp.texi: Bump @copying's copyright year.
10652 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
10654         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
10655         (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
10656         (GOACC_declare): Redefine the "device" argument to "flags".
10658 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
10659             Cesar Philippidis  <cesar@codesourcery.com>
10661         * target.c (struct gomp_coalesce_chunk): New structure.
10662         (struct gomp_coalesce_buf): Update the chunks member to use that
10663         type.  Adjust all users.
10665 2018-12-19  Tom de Vries  <tdevries@suse.de>
10667         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
10668         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
10669         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
10671 2018-12-19  Tom de Vries  <tdevries@suse.de>
10673         * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
10674         * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
10675         gcc/testsuite/gcc.dg/goacc.
10676         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
10678 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
10679             Chung-Lin Tang  <cltang@codesourcery.com>
10681         * oacc-mem.c (acc_present_or_create): Remove definition and change
10682         to alias of acc_create.
10683         (acc_present_or_copyin): Remove definition and change to alias of
10684         acc_copyin.
10685         * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
10686         of acc_present_or_create.
10687         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
10688         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10689         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10690         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10691         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10692         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10693         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10694         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10695         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10696         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10697         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10698         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10699         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10700         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10701         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10702         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10704 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
10706         PR libgomp/88495
10707         * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
10708         "identical parameters".
10709         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
10710         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
10712         PR libgomp/88484
10713         * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
10714         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
10716         PR libgomp/88407
10717         * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
10718         (nvptx_wait_async): Unseen async-argument is a no-op.
10719         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
10720         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
10721         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10722         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10723         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10724         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
10725         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
10726         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
10727         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
10729         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
10730         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10732 2018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
10734         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
10735         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10736         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10738 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
10740         PR libgomp/88370
10741         * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
10742         (acc_set_cuda_stream): Clarify.
10743         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10744         "async_valid_p".
10745         * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
10746         acc_async_sync".
10747         * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
10748         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
10749         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
10750         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10752 2018-12-14  Tom de Vries  <tdevries@suse.de>
10754         * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
10755         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
10756         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
10757         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
10758         * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
10760 2018-12-13  Tom de Vries  <tdevries@suse.de>
10762         * affinity-fmt.c (gomp_print_string): New function, factored out of ...
10763         (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
10764         * fortran.c (omp_display_affinity_): ... here.
10765         * libgomp.h (gomp_print_string): Declare.
10766         * config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
10767         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10768         write.
10770 2018-12-13  Jakub Jelinek  <jakub@redhat.com>
10772         PR libgomp/88460
10773         * testsuite/libgomp.c++/for-24.C (results): Include it in
10774         omp declare target region.
10775         (main): Use map (always, tofrom: results) instead of
10776         map (tofrom: results).
10778 2018-12-12  Jakub Jelinek  <jakub@redhat.com>
10780         PR fortran/88463
10781         * testsuite/libgomp.fortran/pr88463-1.f90: New test.
10782         * testsuite/libgomp.fortran/pr88463-2.f90: New test.
10784         * testsuite/libgomp.c-c++-common/for-16.c: New test.
10786 2018-12-12  Andreas Schwab  <schwab@suse.de>
10788         * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
10789         clobbered.
10791 2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
10793         PR fortran/88411
10794         * testsuite/libgomp.fortran/async_io_8.f90: New test.
10796 2018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
10797             Jakub Jelinek  <jakub@redhat.com>
10799         * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
10800         devicep->host2dev_func.
10802 2018-12-08  Jakub Jelinek  <jakub@redhat.com>
10804         PR libgomp/87995
10805         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
10806         tls_runtime effective target.
10807         (t): New threadprivate variable.
10808         (main): Set t in threads which execute iterations of the worksharing
10809         loop.  Propagate that to the task after the loop and don't abort
10810         if the current taskgroup hasn't been cancelled.
10812 2018-12-02  Jakub Jelinek  <jakub@redhat.com>
10814         * testsuite/libgomp.c/task-reduction-3.c: New test.
10816         * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
10818 2018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
10820         PR libgomp/88288
10821         * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
10822         * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
10824 2018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
10826         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
10828 2018-10-19  Richard Biener  <rguenther@suse.de>
10830         PR tree-optimization/88182
10831         * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
10833 2018-11-26  Jakub Jelinek  <jakub@redhat.com>
10835         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
10836         (RUNTEST): Don't define.
10837         (RUNTESTDEFAULTFLAGS): Add.
10838         (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
10839         (distclean-am): Depend on distclean-DEJAGNU.
10840         (check-am): If -j% option is present in MFLAGS and if
10841         `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
10842         (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
10843         * testsuite/Makefile.in: Regenerated.
10845 2018-11-26  Richard Biener  <rguenther@suse.de>
10847         PR tree-optimization/88182
10848         * testsuite/libgomp.c++/pr88182.C: New testcase.
10850 2018-11-20  Jakub Jelinek  <jakub@redhat.com>
10852         PR bootstrap/88106
10853         * config/mingw32/affinity-fmt.c: New file.
10855 2018-11-09  Jakub Jelinek  <jakub@redhat.com>
10857         * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
10858         (gomp_display_affinity): Use __builtin_choose_expr to handle
10859         properly handle argument having integral, or pointer or some other
10860         type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
10861         with uint64_t type instead of %llx and unsigned long long.
10863         * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
10864         * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
10866 2018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10868         * affinity.c: Include <string.h>, <stdio.h>.
10869         (gomp_display_affinity_place): Remove cpusetp.
10870         * teams.c: Include <limits.h>.
10872 2018-11-08  Jakub Jelinek  <jakub@redhat.com>
10874         * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
10875         in_reduction clause for s[0].
10877         * affinity.c (gomp_display_affinity_place): New function.
10878         * affinity-fmt.c: New file.
10879         * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
10880         * config/linux/affinity.c (gomp_display_affinity_place): New function.
10881         * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
10882         Move these functions to ...
10883         * config/nvptx/teams.c: ... here.  New file.
10884         * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
10885         New functions.
10886         * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
10887         functions.
10888         * configure.ac: Check for aligned_alloc, posix_memalign, memalign
10889         and _aligned_malloc.
10890         (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
10891         * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
10892         * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
10893         gomp_affinity_format_len): New variables.
10894         (parse_schedule): Parse monotonic and nonmonotonic modifiers in
10895         OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
10896         (handle_omp_display_env): Display monotonic/nonmonotonic schedule
10897         modifiers.  Display (non-default) chunk sizes.  Print
10898         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
10899         (initialize_env): Don't call pthread_attr_setdetachstate.  Handle
10900         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
10901         * fortran.c: Include stdio.h and string.h.
10902         (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
10903         (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
10904         (omp_set_affinity_format_, omp_get_affinity_format_,
10905         omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
10906         omp_pause_resource_all_): New functions.
10907         * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
10908         switch.
10909         * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
10910         functions to ...
10911         * teams.c: ... here.  New file.
10912         * libgomp_g.h: Include gstdint.h.
10913         (GOMP_loop_nonmonotonic_runtime_start,
10914         GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
10915         GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
10916         GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
10917         GOMP_parallel_loop_nonmonotonic_runtime,
10918         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10919         GOMP_loop_ull_nonmonotonic_runtime_start,
10920         GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
10921         GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
10922         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10923         GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
10924         GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
10925         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10926         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10927         GOMP_teams_reg): Declare.
10928         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
10929         gomp_aligned_alloc uses fallback implementation.
10930         (gomp_aligned_alloc, gomp_aligned_free): Declare.
10931         (enum gomp_schedule_type): Add GFS_MONOTONIC.
10932         (struct gomp_doacross_work_share): Add extra field.
10933         (struct gomp_work_share): Add task_reductions field.
10934         (struct gomp_taskgroup): Add workshare and reductions fields.
10935         (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
10936         (gomp_thread_handle): New typedef.
10937         (gomp_display_affinity_place, gomp_set_affinity_format,
10938         gomp_display_string, gomp_display_affinity,
10939         gomp_display_affinity_thread): Declare.
10940         (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
10941         (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
10942         gomp_workshare_task_reduction_register): Declare.
10943         (gomp_team_start): Add taskgroup argument.
10944         (gomp_pause_host): Declare.
10945         (gomp_init_work_share, gomp_work_share_start): Change bool argument
10946         to size_t.
10947         (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
10948         * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
10949         GOMP_loop_ordered_start, GOMP_loop_doacross_start,
10950         GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10951         GOMP_loop_ull_doacross_start,
10952         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10953         GOMP_loop_maybe_nonmonotonic_runtime_next,
10954         GOMP_loop_maybe_nonmonotonic_runtime_start,
10955         GOMP_loop_nonmonotonic_runtime_next,
10956         GOMP_loop_nonmonotonic_runtime_start,
10957         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10958         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10959         GOMP_loop_ull_nonmonotonic_runtime_next,
10960         GOMP_loop_ull_nonmonotonic_runtime_start,
10961         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10962         GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
10963         GOMP_taskgroup_reduction_register,
10964         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10965         GOMP_teams_reg and GOMP_taskwait_depend.
10966         (OMP_5.0): Export omp_pause_resource{,_all}{,_},
10967         omp_{capture,display}_affinity{,_}, and
10968         omp_[gs]et_affinity_format{,_}.
10969         * loop.c: Include string.h.
10970         (GOMP_loop_runtime_next): Add ialias.
10971         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10972         (gomp_loop_static_start, gomp_loop_dynamic_start,
10973         gomp_loop_guided_start, gomp_loop_ordered_static_start,
10974         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10975         gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10976         gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
10977         or gomp_doacross_init callers.
10978         (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
10979         GOMP_loop_doacross_start): New functions.
10980         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10981         GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
10982         Mask off GFS_MONOTONIC bit.
10983         (GOMP_loop_maybe_nonmonotonic_runtime_next,
10984         GOMP_loop_maybe_nonmonotonic_runtime_start,
10985         GOMP_loop_nonmonotonic_runtime_next,
10986         GOMP_loop_nonmonotonic_runtime_start,
10987         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10988         GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
10989         functions.
10990         (gomp_parallel_loop_start): Pass NULL as taskgroup to
10991         gomp_team_start.
10992         * loop_ull.c: Include string.h.
10993         (GOMP_loop_ull_runtime_next): Add ialias.
10994         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10995         (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
10996         gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
10997         gomp_loop_ull_ordered_dynamic_start,
10998         gomp_loop_ull_ordered_guided_start,
10999         gomp_loop_ull_doacross_static_start,
11000         gomp_loop_ull_doacross_dynamic_start,
11001         gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
11002         and gomp_doacross_ull_init callers.
11003         (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
11004         GOMP_loop_ull_doacross_start): New functions.
11005         (GOMP_loop_ull_runtime_start,
11006         GOMP_loop_ull_ordered_runtime_start,
11007         GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
11008         (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
11009         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
11010         GOMP_loop_ull_nonmonotonic_runtime_next,
11011         GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
11012         * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
11013         * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
11014         (omp_pause_resource_t, omp_depend_t): New typedefs.
11015         (enum omp_lock_hint_t): Renamed to ...
11016         (enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
11017         enumerators using numbers and omp_lock_hint_* as their aliases.
11018         (omp_lock_hint_t): New typedef.  Rename to ...
11019         (omp_sync_hint_t): ... this.
11020         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
11021         omp_sync_hint_t instead of omp_lock_hint_t.
11022         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
11023         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
11024         Declare.
11025         (omp_target_is_present, omp_target_disassociate_ptr):
11026         Change first argument from void * to const void *.
11027         (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
11028         from void * to const void *.
11029         (omp_target_associate_ptr): Change first and second arguments from
11030         void * to const void *.
11031         * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
11032         omp_pause_hard): New parameters.
11033         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
11034         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
11035         New interfaces.
11036         * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
11037         omp_pause_hard): New parameters.
11038         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
11039         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
11040         New externals.
11041         * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
11042         EXTRA argument.  If not needed to prepare array, if extra is 0,
11043         clear ws->doacross, otherwise allocate just doacross structure and
11044         extra payload.  If array is needed, allocate also extra payload.
11045         (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
11046         GOMP_doacross_ull_wait): Handle doacross->array == NULL like
11047         doacross == NULL.
11048         * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
11049         gomp_team_start.
11050         (GOMP_parallel): Likewise.  Formatting fix.
11051         (GOMP_parallel_reductions): New function.
11052         (GOMP_cancellation_point): If taskgroup has workshare
11053         flag set, check cancelled of prev taskgroup if any.
11054         (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
11055         on prev taskgroup if any.
11056         * sections.c: Include string.h.
11057         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
11058         (GOMP_sections_start): Adjust gomp_work_share_start caller.
11059         (GOMP_sections2_start): New function.
11060         (GOMP_parallel_sections_start, GOMP_parallel_sections):
11061         Pass NULL as taskgroup to gomp_team_start.
11062         * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
11063         gomp_work_share_start callers.
11064         * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
11065         If taskgroup has workshare flag set, check cancelled on prev
11066         taskgroup if any.  Guard all cancellation tests with
11067         gomp_cancel_var test.
11068         (omp_target_is_present, omp_target_disassociate_ptr):
11069         Change ptr argument from void * to const void *.
11070         (omp_target_memcpy): Change src argument from void * to const void *.
11071         (omp_target_memcpy_rect): Likewise.
11072         (omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
11073         instead of char * where needed.
11074         (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
11075         from void * to const void *.
11076         (omp_pause_resource, omp_pause_resource_all): New functions.
11077         * task.c (gomp_task_handle_depend): Handle new depend array format
11078         in addition to the old.  Handle mutexinoutset kinds the same as
11079         inout for now, handle unspecified kinds.
11080         (gomp_create_target_task): If taskgroup has workshare flag set, check
11081         cancelled on prev taskgroup if any.  Guard all cancellation tests with
11082         gomp_cancel_var test.  Handle new depend array format count in
11083         addition to the old.
11084         (GOMP_task): Likewise.  Adjust function comment.
11085         (gomp_task_run_pre): If taskgroup has workshare flag set, check
11086         cancelled on prev taskgroup if any.  Guard all cancellation tests with
11087         gomp_cancel_var test.
11088         (GOMP_taskwait_depend): New function.
11089         (gomp_task_maybe_wait_for_dependencies): Handle new depend array
11090         format in addition to the old.  Handle mutexinoutset kinds the same as
11091         inout for now, handle unspecified kinds.  Fix a function comment typo.
11092         (gomp_taskgroup_init): New function.
11093         (GOMP_taskgroup_start): Use it.
11094         (gomp_reduction_register, gomp_create_artificial_team,
11095         GOMP_taskgroup_reduction_register,
11096         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
11097         gomp_parallel_reduction_register,
11098         gomp_workshare_task_reduction_register,
11099         gomp_workshare_taskgroup_start,
11100         GOMP_workshare_task_reduction_unregister): New functions.
11101         * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
11102         check cancelled on prev taskgroup if any.  Guard all cancellation
11103         tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
11104         by calling GOMP_taskgroup_reduction_register.
11105         * team.c (gomp_thread_attr): Remove comment.
11106         (struct gomp_thread_start_data): Add handle field.
11107         (gomp_thread_start): Call pthread_detach.
11108         (gomp_new_team): Adjust gomp_init_work_share caller.
11109         (gomp_free_pool_helper): Call pthread_detach.
11110         (gomp_team_start): Add taskgroup argument, initialize implicit
11111         tasks' taskgroup field to that.  Don't call
11112         pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
11113         (gomp_team_end): Determine nesting by thr->ts.level != 0
11114         rather than thr->ts.team != NULL.
11115         (gomp_pause_pool_helper, gomp_pause_host): New functions.
11116         * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
11117         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
11118         (gomp_init_work_share): Change ORDERED argument from bool to size_t,
11119         if more than 1 allocate also extra payload at the end of array.  Never
11120         keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
11121         (gomp_work_share_start): Change ORDERED argument from bool to size_t,
11122         return true instead of ws.
11123         * Makefile.in: Regenerated.
11124         * configure: Regenerated.
11125         * config.h.in: Regenerated.
11126         * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
11127         in some cases.
11128         * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
11129         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
11130         * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
11131         * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
11132         * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
11133         * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
11134         * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
11135         * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
11136         * testsuite/libgomp.c-c++-common/for-10.c: New test.
11137         * testsuite/libgomp.c-c++-common/for-11.c: New test.
11138         * testsuite/libgomp.c-c++-common/for-12.c: New test.
11139         * testsuite/libgomp.c-c++-common/for-13.c: New test.
11140         * testsuite/libgomp.c-c++-common/for-14.c: New test.
11141         * testsuite/libgomp.c-c++-common/for-15.c: New test.
11142         * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
11143         define a different N(test), don't define N(f0) to N(f14), but instead
11144         define N(f20) to N(f34) using != comparisons.
11145         * testsuite/libgomp.c-c++-common/for-7.c: New test.
11146         * testsuite/libgomp.c-c++-common/for-8.c: New test.
11147         * testsuite/libgomp.c-c++-common/for-9.c: New test.
11148         * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
11149         * testsuite/libgomp.c-c++-common/pause-1.c: New test.
11150         * testsuite/libgomp.c-c++-common/pause-2.c: New test.
11151         * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
11152         * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
11153         * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
11154         * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
11155         * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
11156         * testsuite/libgomp.c-c++-common/simd-1.c: New test.
11157         * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
11158         * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
11159         * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
11160         * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
11161         * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
11162         * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
11163         * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
11164         * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
11165         * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
11166         * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
11167         * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
11168         * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
11169         * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
11170         * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
11171         * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
11172         * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
11173         * testsuite/libgomp.c++/depend-1.C: New test.
11174         * testsuite/libgomp.c++/depend-iterator-1.C: New test.
11175         * testsuite/libgomp.c++/depobj-1.C: New test.
11176         * testsuite/libgomp.c++/for-16.C: New test.
11177         * testsuite/libgomp.c++/for-21.C: New test.
11178         * testsuite/libgomp.c++/for-22.C: New test.
11179         * testsuite/libgomp.c++/for-23.C: New test.
11180         * testsuite/libgomp.c++/for-24.C: New test.
11181         * testsuite/libgomp.c++/for-25.C: New test.
11182         * testsuite/libgomp.c++/for-26.C: New test.
11183         * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
11184         * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
11185         * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
11186         * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
11187         * testsuite/libgomp.c++/task-reduction-10.C: New test.
11188         * testsuite/libgomp.c++/task-reduction-11.C: New test.
11189         * testsuite/libgomp.c++/task-reduction-12.C: New test.
11190         * testsuite/libgomp.c++/task-reduction-13.C: New test.
11191         * testsuite/libgomp.c++/task-reduction-14.C: New test.
11192         * testsuite/libgomp.c++/task-reduction-15.C: New test.
11193         * testsuite/libgomp.c++/task-reduction-16.C: New test.
11194         * testsuite/libgomp.c++/task-reduction-17.C: New test.
11195         * testsuite/libgomp.c++/task-reduction-18.C: New test.
11196         * testsuite/libgomp.c++/task-reduction-19.C: New test.
11197         * testsuite/libgomp.c/task-reduction-1.c: New test.
11198         * testsuite/libgomp.c++/task-reduction-1.C: New test.
11199         * testsuite/libgomp.c/task-reduction-2.c: New test.
11200         * testsuite/libgomp.c++/task-reduction-2.C: New test.
11201         * testsuite/libgomp.c++/task-reduction-3.C: New test.
11202         * testsuite/libgomp.c++/task-reduction-4.C: New test.
11203         * testsuite/libgomp.c++/task-reduction-5.C: New test.
11204         * testsuite/libgomp.c++/task-reduction-6.C: New test.
11205         * testsuite/libgomp.c++/task-reduction-7.C: New test.
11206         * testsuite/libgomp.c++/task-reduction-8.C: New test.
11207         * testsuite/libgomp.c++/task-reduction-9.C: New test.
11208         * testsuite/libgomp.c/teams-1.c: New test.
11209         * testsuite/libgomp.c/teams-2.c: New test.
11210         * testsuite/libgomp.c/thread-limit-4.c: New test.
11211         * testsuite/libgomp.c/thread-limit-5.c: New test.
11212         * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
11214 2018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
11216         * oacc-mem.c (memcpy_tofrom_device): New function, combined from
11217         acc_memcpy_to/from_device functions, now with async parameter.
11218         (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
11219         (acc_memcpy_from_device): Likewise.
11220         (acc_memcpy_to_device_async): New API function.
11221         (acc_memcpy_from_device_async): Likewise.
11222         (present_create_copy): Add async parameter and async setting/unsetting.
11223         (acc_create): Adjust present_create_copy call.
11224         (acc_copyin): Likewise.
11225         (acc_present_or_create): Likewise.
11226         (acc_present_or_copyin): Likewise.
11227         (acc_create_async): New API function.
11228         (acc_copyin_async): New API function.
11229         (delete_copyout): Add async parameter and async setting/unsetting.
11230         (acc_delete): Adjust delete_copyout call.
11231         (acc_copyout): Likewise.
11232         (acc_delete_async): New API function.
11233         (acc_copyout_async): Likewise.
11234         (update_dev_host): Add async parameter and async setting/unsetting.
11235         (acc_update_device): Adjust update_dev_host call.
11236         (acc_update_self): Likewise.
11237         (acc_update_device_async): New API function.
11238         (acc_update_self_async): Likewise.
11239         * openacc.h (acc_copyin_async): Declare new API function.
11240         (acc_create_async): Likewise.
11241         (acc_copyout_async): Likewise.
11242         (acc_delete_async): Likewise.
11243         (acc_update_device_async): Likewise.
11244         (acc_update_self_async): Likewise.
11245         (acc_memcpy_to_device_async): Likewise.
11246         (acc_memcpy_from_device_async): Likewise.
11247         * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
11248         (acc_copyin_async_64_h): New subroutine.
11249         (acc_copyin_async_array_h): New subroutine.
11250         (acc_create_async_32_h): New subroutine.
11251         (acc_create_async_64_h): New subroutine.
11252         (acc_create_async_array_h): New subroutine.
11253         (acc_copyout_async_32_h): New subroutine.
11254         (acc_copyout_async_64_h): New subroutine.
11255         (acc_copyout_async_array_h): New subroutine.
11256         (acc_delete_async_32_h): New subroutine.
11257         (acc_delete_async_64_h): New subroutine.
11258         (acc_delete_async_array_h): New subroutine.
11259         (acc_update_device_async_32_h): New subroutine.
11260         (acc_update_device_async_64_h): New subroutine.
11261         (acc_update_device_async_array_h): New subroutine.
11262         (acc_update_self_async_32_h): New subroutine.
11263         (acc_update_self_async_64_h): New subroutine.
11264         (acc_update_self_async_array_h): New subroutine.
11265         * openacc.f90 (acc_copyin_async_32_h): New subroutine.
11266         (acc_copyin_async_64_h): New subroutine.
11267         (acc_copyin_async_array_h): New subroutine.
11268         (acc_create_async_32_h): New subroutine.
11269         (acc_create_async_64_h): New subroutine.
11270         (acc_create_async_array_h): New subroutine.
11271         (acc_copyout_async_32_h): New subroutine.
11272         (acc_copyout_async_64_h): New subroutine.
11273         (acc_copyout_async_array_h): New subroutine.
11274         (acc_delete_async_32_h): New subroutine.
11275         (acc_delete_async_64_h): New subroutine.
11276         (acc_delete_async_array_h): New subroutine.
11277         (acc_update_device_async_32_h): New subroutine.
11278         (acc_update_device_async_64_h): New subroutine.
11279         (acc_update_device_async_array_h): New subroutine.
11280         (acc_update_self_async_32_h): New subroutine.
11281         (acc_update_self_async_64_h): New subroutine.
11282         (acc_update_self_async_array_h): New subroutine.
11283         * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
11284         acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
11285         acc_delete_finalize_async*, acc_memcpy_from_device_async*,
11286         acc_memcpy_to_device_async*, acc_update_device_async*, and
11287         acc_update_self_async* entries.
11288         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
11289         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
11290         * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
11292 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
11294         PR bootstrap/82856
11295         * Makefile.am: Include multilib.am
11296         (AUTOMAKE_OPTIONS): Add info-in-builddir.
11297         (CLEANFILES): Remove libgomp.info.
11298         * configure.ac: Remove AC_PREREQ.
11299         * testsuite/Makefile.am (RUNTEST): Remove quotes.
11300         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
11301         Regenerate.
11303 2018-10-29  Joseph Myers  <joseph@codesourcery.com>
11304             Julian Brown  <julian@codesourcery.com>
11306         * testsuite/libgomp.oacc-c++/this.C: New.
11308 2018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
11310         * plugin/plugin-nvptx.c (struct cuda_map): New.
11311         (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
11312         h_tail with (cuda_map *) map.
11313         (cuda_map_create): New function.
11314         (cuda_map_destroy): New function.
11315         (map_init): Update to use a linked list of cuda_map objects.
11316         (map_fini): Likewise.
11317         (map_pop): Likewise.
11318         (map_push): Likewise.  Return CUdeviceptr instead of void.
11319         (init_streams_for_device): Remove stales references to ptx_stream
11320         members.
11321         (select_stream_for_async): Likewise.
11322         (nvptx_exec): Update call to map_init.
11324 2018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
11325             Julian Brown  <julian@codesourcery.com>
11327         PR middle-end/86336
11328         * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
11330 2018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
11331         Thomas Koenig <tkoenig@gcc.gnu.org>
11333         PR fortran/25829
11334         * testsuite/libgomp.fortran/async_io_1.f90: New test.
11335         * testsuite/libgomp.fortran/async_io_2.f90: New test.
11336         * testsuite/libgomp.fortran/async_io_3.f90: New test.
11337         * testsuite/libgomp.fortran/async_io_4.f90: New test.
11338         * testsuite/libgomp.fortran/async_io_5.f90: New test.
11339         * testsuite/libgomp.fortran/async_io_6.f90: New test.
11340         * testsuite/libgomp.fortran/async_io_7.f90: New test.
11342 2018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
11343             Tom de Vries  <tdevries@suse.de>
11345         PR target/85590
11346         * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
11347         (cuOccupancyMaxPotentialBlockSize): Declare.
11348         * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
11349         CUDA_ONE_CALL_MAYBE_NULL.
11350         * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
11351         CUoccupancyB2DSize and declare
11352         cuOccupancyMaxPotentialBlockSize.
11353         (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
11354         default num_gangs and num_workers when the driver supports it.
11356 2018-08-08  Tom de Vries  <tdevries@suse.de>
11358         * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
11359         CUDA_ONE_CALL_MAYBE_NULL.
11360         * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
11361         (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
11362         (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
11363         are not found.
11365 2018-08-08  Tom de Vries  <tdevries@suse.de>
11367         * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
11368         * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
11369         present.
11371 2018-08-08  Tom de Vries  <tdevries@suse.de>
11373         * plugin/plugin-nvptx.c
11374         (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
11375         (nvptx_open_device): Use
11376         CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
11378 2018-08-08  Tom de Vries  <tdevries@suse.de>
11380         * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
11381         (cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
11383 2018-08-07  Tom de Vries  <tdevries@suse.de>
11385         * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
11386         (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
11387         (init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
11388         corresponding call in CUDA_ONE_CALL.  Add def/undef of
11389         CUDA_ONE_CALL_MAYBE_NULL.
11390         (CUDA_CALL_EXISTS): Define.
11392 2018-08-07  Tom de Vries  <tdevries@suse.de>
11394         * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
11395         CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
11396         corresponding undefs right after.
11398 2018-08-04  Tom de Vries  <tdevries@suse.de>
11400         * plugin/configfrag.ac: For --without-cuda-driver, set
11401         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
11402         CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
11403         * configure: Regenerate.
11405 2018-08-02  Tom de Vries  <tdevries@suse.de>
11407         PR target/86660
11408         * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
11409         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
11410         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
11411         Same.
11412         * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
11413         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
11414         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
11416 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
11417             Thomas Schwinge <thomas@codesourcery.com>
11419         * config/nvptx/oacc-parallel.c: Truncate.
11421 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
11422             James Norris <jnorris@codesourcery.com>
11424         * plugin/plugin-nvptx.c (struct map): Removed.
11425         (map_init, map_pop): Remove use of struct map.
11426         (map_push): Likewise and change argument list.
11427         * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
11429 2018-08-01  Tom de Vries  <tdevries@suse.de>
11431         * plugin/cuda-lib.def: New file.  Factor out of ...
11432         * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
11433         (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
11434         using CUDA_CALLS.
11436 2018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
11438         Revert 'AsyncI/O patch committed'.
11439         2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
11440                 Thomas Koenig <tkoenig@gcc.gnu.org>
11442         PR fortran/25829
11443         * testsuite/libgomp.fortran/async_io_1.f90: New test.
11444         * testsuite/libgomp.fortran/async_io_2.f90: New test.
11445         * testsuite/libgomp.fortran/async_io_3.f90: New test.
11446         * testsuite/libgomp.fortran/async_io_4.f90: New test.
11447         * testsuite/libgomp.fortran/async_io_5.f90: New test.
11448         * testsuite/libgomp.fortran/async_io_6.f90: New test.
11449         * testsuite/libgomp.fortran/async_io_7.f90: New test.
11451 2018-07-30  Tom de Vries  <tdevries@suse.de>
11453         * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
11454         (nvptx_exec): Ensure worker and vector default dims don't exceed
11455         targ_fn->max_threads_per_block.
11457 2018-07-30  Tom de Vries  <tdevries@suse.de>
11459         * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
11460         (nvptx_open_device): Init default_dims for device.
11461         (nvptx_exec): Use default_dims from device.
11463 2018-07-26  Jakub Jelinek  <jakub@redhat.com>
11465         PR testsuite/86660
11466         * testsuite/libgomp.c++/for-15.C (results): Include it in
11467         omp declare target region.
11468         (main): Use map (always, tofrom: results) instead of
11469         map (tofrom: results).
11471         PR middle-end/86660
11472         * testsuite/libgomp.c/pr86660.c: New test.
11474 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
11475             Tom de Vries  <tdevries@suse.de>
11477         * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
11478         sufficient resources to launch a kernel, and give a hint on how to fix
11479         it.
11481 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
11482             Tom de Vries  <tdevries@suse.de>
11484         * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
11485         max_threads_per_block and max_threads_per_multiprocessor fields.
11486         (nvptx_open_device): Initialize new fields.
11487         (nvptx_exec): Use num_sms, and new fields.
11489 2018-07-26  Tom de Vries  <tdevries@suse.de>
11491         * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
11492         to correct locations.  Remove xfail.
11494 2018-07-26  Tom de Vries  <tdevries@suse.de>
11496         * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
11497         acc_wait.  Move acc_async_test calls to correct locations.  Remove
11498         xfail.
11500 2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
11501         Thomas Koenig <tkoenig@gcc.gnu.org>
11503         PR fortran/25829
11504         * testsuite/libgomp.fortran/async_io_1.f90: New test.
11505         * testsuite/libgomp.fortran/async_io_2.f90: New test.
11506         * testsuite/libgomp.fortran/async_io_3.f90: New test.
11507         * testsuite/libgomp.fortran/async_io_4.f90: New test.
11508         * testsuite/libgomp.fortran/async_io_5.f90: New test.
11509         * testsuite/libgomp.fortran/async_io_6.f90: New test.
11510         * testsuite/libgomp.fortran/async_io_7.f90: New test.
11512 2018-07-17  Jakub Jelinek  <jakub@redhat.com>
11514         PR middle-end/86542
11515         * testsuite/libgomp.c++/pr86542.C: New test.
11517         PR middle-end/86539
11518         * testsuite/libgomp.c++/pr86539.C: New test.
11520 2018-07-11  Jakub Jelinek  <jakub@redhat.com>
11522         PR c++/86443
11523         * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
11524         (results): Make sure the variable is not inside declare target region.
11525         (qux): Remove unused function.
11527 2018-07-10  Jakub Jelinek  <jakub@redhat.com>
11529         PR c++/86443
11530         * testsuite/libgomp.c++/for-15.C: New test.
11532 2018-06-26  Jakub Jelinek  <jakub@redhat.com>
11534         PR c++/86291
11535         * testsuite/libgomp.c++/pr86291.C: New test.
11537 2018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
11539         * libgomp.texi (Top): Move www.openmp.org to https.
11540         (Enabling OpenMP): Ditto.
11541         (omp_get_active_level): Ditto.
11542         (omp_get_ancestor_thread_num): Ditto.
11543         (omp_get_cancellation): Ditto.
11544         (omp_get_default_device): Ditto.
11545         (omp_get_dynamic): Ditto.
11546         (omp_get_level): Ditto.
11547         (omp_get_max_active_levels): Ditto.
11548         (omp_get_max_task_priority): Ditto.
11549         (omp_get_max_threads): Ditto.
11550         (omp_get_nested): Ditto.
11551         (omp_get_num_devices): Ditto.
11552         (omp_get_num_procs): Ditto.
11553         (omp_get_num_teams): Ditto.
11554         (omp_get_num_threads): Ditto.
11555         (omp_get_proc_bind): Ditto.
11556         (omp_get_schedule): Ditto.
11557         (omp_get_team_num): Ditto.
11558         (omp_get_team_size): Ditto.
11559         (omp_get_thread_limit): Ditto.
11560         (omp_get_thread_num): Ditto.
11561         (omp_in_parallel): Ditto.
11562         (omp_in_final): Ditto.
11563         (omp_is_initial_device): Ditto.
11564         (omp_set_default_device): Ditto.
11565         (omp_set_dynamic): Ditto.
11566         (omp_set_max_active_levels): Ditto.
11567         (omp_set_nested): Ditto.
11568         (omp_set_num_threads): Ditto.
11569         (omp_set_schedule): Ditto.
11570         (omp_init_lock): Ditto.
11571         (omp_set_lock): Ditto.
11572         (omp_test_lock): Ditto.
11573         (omp_unset_lock): Ditto.
11574         (omp_destroy_lock): Ditto.
11575         (omp_init_nest_lock): Ditto.
11576         (omp_set_nest_lock): Ditto.
11577         (omp_test_nest_lock): Ditto.
11578         (omp_unset_nest_lock): Ditto.
11579         (omp_destroy_nest_lock): Ditto.
11580         (omp_get_wtick): Ditto.
11581         (omp_get_wtime): Ditto.
11582         (OMP_CANCELLATION): Ditto.
11583         (OMP_DISPLAY_ENV): Ditto.
11584         (OMP_DEFAULT_DEVICE): Ditto.
11585         (OMP_DYNAMIC): Ditto.
11586         (OMP_MAX_ACTIVE_LEVELS): Ditto.
11587         (OMP_MAX_TASK_PRIORITY): Ditto.
11588         (OMP_NESTED): Ditto.
11589         (OMP_NUM_THREADS): Ditto.
11590         (OMP_PROC_BIND): Ditto.
11591         (OMP_PLACES): Ditto.
11592         (OMP_STACKSIZE): Ditto.
11593         (OMP_SCHEDULE): Ditto.
11594         (OMP_THREAD_LIMIT): Ditto.
11595         (OMP_WAIT_POLICY): Ditto.
11597 2018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
11598             James Norris  <jnorris@codesourcery.com>
11599             Julian Brown  <julian@codesourcery.com>
11600             Thomas Schwinge  <thomas@codesourcery.com>
11601             Tom de Vries  <tom@codesourcery.com>
11603         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
11604         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
11605         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
11606         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
11607         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11608         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11609         * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
11610         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
11611         * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
11612         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
11613         Likewise.
11614         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
11615         Likewise.
11616         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
11617         Likewise.
11618         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
11619         Likewise.
11620         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
11621         Likewise.
11622         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
11623         Likewise.
11624         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
11625         Likewise.
11626         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
11627         Likewise.
11628         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
11629         Likewise.
11630         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
11631         Likewise.
11632         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
11633         Likewise.
11634         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
11635         Likewise.
11636         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
11637         Likewise.
11638         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
11639         Likewise.
11640         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
11641         Likewise.
11642         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
11643         Likewise.
11644         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
11645         Likewise.
11646         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
11647         Likewise.
11648         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
11649         Likewise.
11650         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
11651         Likewise.
11652         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
11653         Likewise.
11654         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
11655         Likewise.
11656         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
11657         Likewise.
11658         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
11659         Likewise.
11660         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
11661         Likewise.
11662         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
11663         Likewise.
11664         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
11665         Likewise.
11666         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
11667         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
11668         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
11669         * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
11670         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
11671         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
11672         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
11673         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
11674         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
11675         Likewise.
11676         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
11677         Likewise.
11678         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
11679         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
11680         * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
11681         Likewise.
11682         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
11683         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
11684         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
11685         Likewise.
11686         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
11687         Likewise.
11688         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
11689         Likewise.
11690         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
11691         Likewise.
11692         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
11693         Likewise.
11694         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
11695         Likewise.
11696         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
11697         Likewise.
11698         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
11699         Likewise.
11700         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
11701         Likewise.
11702         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
11703         Likewise.
11704         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
11705         Likewise.
11706         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
11707         Likewise.
11708         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
11709         Likewise.
11710         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
11711         Likewise.
11712         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
11713         Likewise.
11714         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11715         * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
11716         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
11717         * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
11718         * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
11719         * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
11720         * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
11722 2018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
11723             Thomas Schwinge <thomas@codesourcery.com>
11724             Cesar Philippidis  <cesar@codesourcery.com>
11726         * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
11727         (gomp_acc_remove_pointer): Update declaration.
11728         (gomp_acc_declare_allocate): Declare.
11729         (gomp_remove_var): Declare.
11730         * libgomp.map (OACC_2.5): Define.
11731         * oacc-mem.c (acc_map_data): Update refcount.
11732         (acc_unmap_data): Likewise.
11733         (present_create_copy): Likewise.
11734         (acc_create): Add FLAG_PRESENT when calling present_create_copy.
11735         (acc_copyin): Likewise.
11736         (FLAG_FINALIZE): Define.
11737         (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
11738         (acc_delete_finalize): New function.
11739         (acc_delete_finalize_async): New function.
11740         (acc_copyout_finalize): New function.
11741         (acc_copyout_finalize_async): New function.
11742         (gomp_acc_insert_pointer): Update refcounts.
11743         (gomp_acc_remove_pointer): Return if data is not present on the
11744         accelerator.
11745         * oacc-parallel.c (find_pset): Rename to find_pointer.
11746         (find_pointer): Add support for GOMP_MAP_POINTER.
11747         (handle_ftn_pointers): New function.
11748         (GOACC_parallel_keyed): Update refcounts of variables.
11749         (GOACC_enter_exit_data): Add support for finalized data mappings.
11750         Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
11751         of fortran arrays.
11752         (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
11753         (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
11754         for GOMP_MAP_FORCE_FROM.
11755         * openacc.f90 (module openacc_internal): Add
11756         acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
11757         acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
11758         acc_copyout_finalize and acc_delete_finalize.
11759         (acc_copyout_finalize_32_h): New subroutine.
11760         (acc_copyout_finalize_64_h): New subroutine.
11761         (acc_copyout_finalize_array_h): New subroutine.
11762         (acc_delete_finalize_32_h): New subroutine.
11763         (acc_delete_finalize_64_h): New subroutine.
11764         (acc_delete_finalize_array_h): New subroutine.
11765         * openacc.h (acc_copyout_finalize): Declare.
11766         (acc_copyout_finalize_async): Declare.
11767         (acc_delete_finalize): Declare.
11768         (acc_delete_finalize_async): Declare.
11769         * openacc_lib.h (acc_copyout_finalize): New interface.
11770         (acc_delete_finalize): New interface.
11771         * target.c (gomp_map_vars): Update dynamic_refcount.
11772         (gomp_remove_var): New function.
11773         (gomp_unmap_vars): Use it.
11774         (gomp_unload_image_from_device): Likewise.
11775         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
11776         case to utilize OpenACC 2.5 data clause semantics.
11777         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11778         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11779         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11780         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11781         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11782         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11783         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11784         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11785         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11786         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11787         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11788         * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
11789         * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
11790         utilize OpenACC 2.5 data clause semantics.
11791         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11792         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11793         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11794         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11795         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11796         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11797         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11798         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11799         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11801 2018-05-21  Janus Weil  <janus@gcc.gnu.org>
11803         PR fortran/85841
11804         PR testsuite/85865
11805         * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
11806         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
11807         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
11808         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
11809         * testsuite/libgomp.fortran/task2.f90: Ditto.
11810         * testsuite/libgomp.fortran/vla1.f90: Ditto.
11811         * testsuite/libgomp.fortran/vla2.f90: Ditto.
11812         * testsuite/libgomp.fortran/vla3.f90: Ditto.
11813         * testsuite/libgomp.fortran/vla4.f90: Ditto.
11814         * testsuite/libgomp.fortran/vla5.f90: Ditto.
11815         * testsuite/libgomp.fortran/vla6.f90: Ditto.
11816         * testsuite/libgomp.fortran/vla8.f90: Ditto.
11817         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
11818         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
11820 2018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
11822         PR c++/85782
11823         * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
11825 2018-05-09  Tom de Vries  <tom@codesourcery.com>
11827         PR libgomp/82901
11828         * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
11829         to GOACC_enter_exit_data.
11831 2018-05-09  Tom de Vries  <tom@codesourcery.com>
11833         PR libgomp/83792
11834         * oacc-int.h (async_valid_stream_id_p, async_valid_p)
11835         (async_synchronous_p): New function.
11836         * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
11837         async_valid_p.
11838         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
11839         async_valid_stream_id_p.
11840         * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11841         * oacc-parallel.c (GOACC_parallel_keyed): Same.
11843 2018-05-07  Tom de Vries  <tom@codesourcery.com>
11845         PR testsuite/85677
11846         * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
11847         include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
11849 2018-05-03  Tom de Vries  <tom@codesourcery.com>
11851         PR testsuite/85106
11852         * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
11853         extra_tool_flags if it contains an -foffload=-fdump-* flag.
11854         * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
11855         * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
11857 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11859         PR libgomp/85411
11860         * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
11861         GOMP_OPENACC_DIM ...
11862         * env.c (parse_gomp_openacc_dim): ... here.  New function.
11863         (initialize_env): Call parse_gomp_openacc_dim.
11864         (goacc_default_dims): Define.
11865         * libgomp.h (goacc_default_dims): Declare.
11866         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
11867         * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
11868         * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
11869         GOMP_PLUGIN_acc_default_dim.
11870         * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
11871         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
11873 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11875         PR testsuite/83791
11876         * testsuite/libgomp.c++/udr-9.C: Update.
11877         * testsuite/libgomp.c++/atomic-16.C: Remove.
11878         * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
11879         * testsuite/libgomp.c++/loop-13.C: Remove.
11880         * testsuite/libgomp.c++/loop-14.C: Remove.
11881         * testsuite/libgomp.c++/loop-15.C: Remove.
11882         * testsuite/libgomp.c++/monotonic-1.C: Remove.
11883         * testsuite/libgomp.c++/monotonic-2.C: Remove.
11884         * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
11885         * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
11886         * testsuite/libgomp.c++/ordered-1.C: Remove.
11887         * testsuite/libgomp.c++/pr45784.C: Remove.
11888         * testsuite/libgomp.c++/pr64824.C: Remove.
11889         * testsuite/libgomp.c++/pr64868.C: Remove.
11890         * testsuite/libgomp.c++/pr66199-1.C: Remove.
11891         * testsuite/libgomp.c++/pr66199-2.C: Remove.
11892         * testsuite/libgomp.c++/pr66199-3.C: Remove.
11893         * testsuite/libgomp.c++/pr66199-4.C: Remove.
11894         * testsuite/libgomp.c++/pr66199-5.C: Remove.
11895         * testsuite/libgomp.c++/pr66199-6.C: Remove.
11896         * testsuite/libgomp.c++/pr66199-7.C: Remove.
11897         * testsuite/libgomp.c++/pr66199-8.C: Remove.
11898         * testsuite/libgomp.c++/pr66199-9.C: Remove.
11899         * testsuite/libgomp.c++/pr69389.C: Remove.
11900         * testsuite/libgomp.c++/simd10.C: Remove.
11901         * testsuite/libgomp.c++/simd11.C: Remove.
11902         * testsuite/libgomp.c++/simd12.C: Remove.
11903         * testsuite/libgomp.c++/simd13.C: Remove.
11904         * testsuite/libgomp.c++/target-1.C: Remove.
11905         * testsuite/libgomp.c++/target-3.C: Remove.
11906         * testsuite/libgomp.c++/target-4.C: Remove.
11907         * testsuite/libgomp.c++/target-5.C: Remove.
11908         * testsuite/libgomp.c++/taskgroup-1.C: Remove.
11909         * testsuite/libgomp.c++/taskloop-1.C: Remove.
11910         * testsuite/libgomp.c++/taskloop-2.C: Remove.
11911         * testsuite/libgomp.c++/taskloop-3.C: Remove.
11912         * testsuite/libgomp.c++/taskloop-4.C: Remove.
11913         * testsuite/libgomp.c++/udr-9.C: Remove.
11914         * testsuite/libgomp.c++/for-10.C: Remove.
11915         * testsuite/libgomp.c++/for-11.C: Remove.
11916         * testsuite/libgomp.c++/for-12.C: Remove.
11917         * testsuite/libgomp.c++/for-13.C: Remove.
11918         * testsuite/libgomp.c++/for-14.C: Remove.
11919         * testsuite/libgomp.c++/for-9.C: Remove.
11920         * testsuite/libgomp.c/atomic-18.c: Move ...
11921         * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
11922         * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
11923         * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
11924         * testsuite/libgomp.c/loop-13.c: Move ...
11925         * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
11926         * testsuite/libgomp.c/loop-14.c: Move ...
11927         * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
11928         * testsuite/libgomp.c/loop-15.c: Remove.
11929         * testsuite/libgomp.c-c++-common/loop-15.c: New test.
11930         * testsuite/libgomp.c/monotonic-1.c: Move ...
11931         * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
11932         * testsuite/libgomp.c/monotonic-2.c: Move ...
11933         * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
11934         * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
11935         * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
11936         * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
11937         * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
11938         * testsuite/libgomp.c/ordered-4.c: Move ...
11939         * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
11940         * testsuite/libgomp.c/pr45784.c: Move ...
11941         * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
11942         * testsuite/libgomp.c/pr64824.c: Move ...
11943         * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
11944         * testsuite/libgomp.c/pr64868.c: Move ...
11945         * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
11946         * testsuite/libgomp.c/pr66199-1.c: Move ...
11947         * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
11948         * testsuite/libgomp.c/pr66199-2.c: Move ...
11949         * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
11950         * testsuite/libgomp.c/pr66199-3.c: Move ...
11951         * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
11952         * testsuite/libgomp.c/pr66199-4.c: Move ...
11953         * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
11954         * testsuite/libgomp.c/pr66199-5.c: Move ...
11955         * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
11956         * testsuite/libgomp.c/pr66199-6.c: Move ...
11957         * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
11958         * testsuite/libgomp.c/pr66199-7.c: Move ...
11959         * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
11960         * testsuite/libgomp.c/pr66199-8.c: Move ...
11961         * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
11962         * testsuite/libgomp.c/pr66199-9.c: Move ...
11963         * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
11964         * testsuite/libgomp.c/pr69389.c: Move ...
11965         * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
11966         * testsuite/libgomp.c/simd-14.c: Move ...
11967         * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
11968         * testsuite/libgomp.c/simd-15.c: Move ...
11969         * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
11970         * testsuite/libgomp.c/simd-16.c: Move ...
11971         * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
11972         * testsuite/libgomp.c/simd-17.c: Move ...
11973         * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
11974         * testsuite/libgomp.c/target-1.c: Move ...
11975         * testsuite/libgomp.c-c++-common/target-1.c: ... here.
11976         * testsuite/libgomp.c/target-10.c: Move ...
11977         * testsuite/libgomp.c-c++-common/target-10.c: ... here.
11978         * testsuite/libgomp.c/target-13.c: Move ...
11979         * testsuite/libgomp.c-c++-common/target-13.c: ... here.
11980         * testsuite/libgomp.c/target-2.c: Move ...
11981         * testsuite/libgomp.c-c++-common/target-2.c: ... here.
11982         * testsuite/libgomp.c/taskgroup-1.c: Move ...
11983         * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
11984         * testsuite/libgomp.c/taskloop-1.c: Move ...
11985         * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
11986         * testsuite/libgomp.c/taskloop-2.c: Move ...
11987         * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
11988         * testsuite/libgomp.c/taskloop-3.c: Move ...
11989         * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
11990         * testsuite/libgomp.c/taskloop-4.c: Move ...
11991         * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
11992         * testsuite/libgomp.c/udr-1.c: Move ...
11993         * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
11994         * testsuite/libgomp.c/for-1.c: Move ...
11995         * testsuite/libgomp.c-c++-common/for-1.c: ... here.
11996         * testsuite/libgomp.c/for-1.h: Move ...
11997         * testsuite/libgomp.c-c++-common/for-1.h: ... here.
11998         * testsuite/libgomp.c/for-2.c: Move ...
11999         * testsuite/libgomp.c-c++-common/for-2.c: ... here.
12000         * testsuite/libgomp.c/for-2.h: Move ...
12001         * testsuite/libgomp.c-c++-common/for-2.h: ... here.
12002         * testsuite/libgomp.c/for-3.c: Move ...
12003         * testsuite/libgomp.c-c++-common/for-3.c: ... here.
12004         * testsuite/libgomp.c/for-4.c: Move ...
12005         * testsuite/libgomp.c-c++-common/for-4.c: ... here.
12006         * testsuite/libgomp.c/for-5.c: Move ...
12007         * testsuite/libgomp.c-c++-common/for-5.c: ... here.
12008         * testsuite/libgomp.c/for-6.c: Move ...
12009         * testsuite/libgomp.c-c++-common/for-6.c: ... here.
12011 2018-05-02  Tom de Vries  <tom@codesourcery.com>
12013         PR libgomp/82428
12014         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
12015         __builtin_goacc_parlevel_{id,size}.
12016         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
12017         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
12018         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
12019         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
12020         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
12021         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
12022         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
12023         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
12024         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
12025         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
12026         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
12027         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
12028         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
12029         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
12030         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
12031         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
12032         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
12033         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
12034         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
12035         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
12036         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
12037         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
12038         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
12040 2018-05-02  Tom de Vries  <tom@codesourcery.com>
12042         PR testsuite/85106
12043         * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
12045 2018-05-02  Tom de Vries  <tom@codesourcery.com>
12047         PR testsuite/85106
12048         * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
12050 2018-04-29  Julian Brown  <julian@codesourcery.com>
12051             Tom de Vries  <tom@codesourcery.com>
12053         PR testsuite/85527
12054         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
12055         arbitrary order for iterations of atomic subtract check.
12057 2018-04-28  Tom de Vries  <tom@codesourcery.com>
12059         PR testsuite/85527
12060         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
12061         atomic capture results obtained in parallel loop to an array, instead of
12062         to a scalar.
12064 2018-04-26  Tom de Vries  <tom@codesourcery.com>
12066         PR libgomp/84020
12067         * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
12068         * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
12069         (process_GOMP_NVPTX_JIT): New function.
12070         (link_ptx): Use process_GOMP_NVPTX_JIT.
12072 2018-04-26  Richard Biener <rguenther@suse.de>
12073             Tom de Vries  <tom@codesourcery.com>
12075         PR lto/85422
12076         * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
12078 2018-04-26  Tom de Vries  <tom@codesourcery.com>
12080         PR target/85519
12081         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
12082         recursion depth from 25 to 23.
12083         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
12085 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
12087         * configure: Regenerated.
12089 2018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
12090             Tom de Vries  <tom@codesourcery.com>
12092         PR target/85445
12093         * testsuite/libgomp.oacc-c++/ref-1.C: New.
12095 2018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
12097         PR libgomp/85463
12098         * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
12099         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
12100         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
12101         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
12102         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
12103         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
12105         PR libfortran/85166
12106         * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
12107         abort".
12108         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12110 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
12112         * configure: Regenerated.
12114 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
12116         PR jit/85384
12117         * configure: Regenerate.
12119 2018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
12120             Tom de Vries  <tom@codesourcery.com>
12122         PR middle-end/84955
12123         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
12124         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
12126 2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
12128         PR fortran/83064
12129         PR testsuite/85346
12130         * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
12131         test from gfortran.dg to here.
12133 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
12135         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
12136         * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
12138 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
12140         PR middle-end/84955
12141         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
12142         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
12144 2018-04-05  Tom de Vries  <tom@codesourcery.com>
12146         PR target/85204
12147         * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
12149 2018-03-26  Tom de Vries  <tom@codesourcery.com>
12151         PR tree-optimization/85063
12152         * testsuite/libgomp.c/switch-conversion-2.c: New test.
12153         * testsuite/libgomp.c/switch-conversion.c: New test.
12154         * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
12155         * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
12157 2018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
12159         PR fortran/84381
12160         * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
12161         call abort by STOP n.
12162         * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
12163         * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
12164         * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
12165         * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
12166         * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
12167         * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
12168         * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
12169         * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
12170         * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
12171         * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
12172         * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
12173         * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
12174         * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
12175         * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
12176         * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
12177         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
12178         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
12179         * testsuite/libgomp.fortran/associate1.f90: Likewise.
12180         * testsuite/libgomp.fortran/associate2.f90: Likewise.
12181         * testsuite/libgomp.fortran/associate3.f90: Likewise.
12182         * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
12183         * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
12184         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
12185         * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
12186         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
12187         * testsuite/libgomp.fortran/character1.f90: Likewise.
12188         * testsuite/libgomp.fortran/character2.f90: Likewise.
12189         * testsuite/libgomp.fortran/collapse1.f90: Likewise.
12190         * testsuite/libgomp.fortran/collapse2.f90: Likewise.
12191         * testsuite/libgomp.fortran/collapse3.f90: Likewise.
12192         * testsuite/libgomp.fortran/collapse4.f90: Likewise.
12193         * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
12194         * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
12195         * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
12196         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
12197         * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
12198         * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
12199         * testsuite/libgomp.fortran/depend-1.f90: Likewise.
12200         * testsuite/libgomp.fortran/depend-2.f90: Likewise.
12201         * testsuite/libgomp.fortran/depend-3.f90: Likewise.
12202         * testsuite/libgomp.fortran/do1.f90: Likewise.
12203         * testsuite/libgomp.fortran/do2.f90: Likewise.
12204         * testsuite/libgomp.fortran/doacross1.f90: Likewise.
12205         * testsuite/libgomp.fortran/doacross2.f90: Likewise.
12206         * testsuite/libgomp.fortran/doacross3.f90: Likewise.
12207         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
12208         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
12209         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
12210         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
12211         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
12212         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
12213         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
12214         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
12215         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
12216         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
12217         * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
12218         * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
12219         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
12220         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
12221         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
12222         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
12223         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
12224         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
12225         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
12226         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
12227         * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
12228         * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
12229         * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
12230         * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
12231         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
12232         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
12233         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
12234         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
12235         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
12236         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
12237         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
12238         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
12239         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
12240         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
12241         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
12242         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
12243         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
12244         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
12245         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
12246         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
12247         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
12248         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
12249         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
12250         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
12251         * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
12252         * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
12253         * testsuite/libgomp.fortran/lib1.f90: Likewise.
12254         * testsuite/libgomp.fortran/lib2.f: Likewise.
12255         * testsuite/libgomp.fortran/lib3.f: Likewise.
12256         * testsuite/libgomp.fortran/lib4.f90: Likewise.
12257         * testsuite/libgomp.fortran/lock-1.f90: Likewise.
12258         * testsuite/libgomp.fortran/lock-2.f90: Likewise.
12259         * testsuite/libgomp.fortran/nested1.f90: Likewise.
12260         * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
12261         * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
12262         * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
12263         * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
12264         * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
12265         * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
12266         * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
12267         * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
12268         * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
12269         * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
12270         * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
12271         * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
12272         * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
12273         * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
12274         * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
12275         * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
12276         * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
12277         * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
12278         * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
12279         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12280         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
12281         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
12282         * testsuite/libgomp.fortran/pointer1.f90: Likewise.
12283         * testsuite/libgomp.fortran/pointer2.f90: Likewise.
12284         * testsuite/libgomp.fortran/pr25162.f: Likewise.
12285         * testsuite/libgomp.fortran/pr25219.f90: Likewise.
12286         * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
12287         * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
12288         * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
12289         * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
12290         * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
12291         * testsuite/libgomp.fortran/pr28390.f: Likewise.
12292         * testsuite/libgomp.fortran/pr29629.f90: Likewise.
12293         * testsuite/libgomp.fortran/pr32550.f90: Likewise.
12294         * testsuite/libgomp.fortran/pr33880.f90: Likewise.
12295         * testsuite/libgomp.fortran/pr34020.f90: Likewise.
12296         * testsuite/libgomp.fortran/pr35130.f90: Likewise.
12297         * testsuite/libgomp.fortran/pr42162.f90: Likewise.
12298         * testsuite/libgomp.fortran/pr46753.f90: Likewise.
12299         * testsuite/libgomp.fortran/pr48894.f90: Likewise.
12300         * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
12301         * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
12302         * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
12303         * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
12304         * testsuite/libgomp.fortran/pr65597.f90: Likewise.
12305         * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
12306         * testsuite/libgomp.fortran/pr71014.f90: Likewise.
12307         * testsuite/libgomp.fortran/pr81304.f90: Likewise.
12308         * testsuite/libgomp.fortran/pr81841.f90: Likewise.
12309         * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
12310         * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
12311         * testsuite/libgomp.fortran/procptr1.f90: Likewise.
12312         * testsuite/libgomp.fortran/recursion1.f90: Likewise.
12313         * testsuite/libgomp.fortran/reduction1.f90: Likewise.
12314         * testsuite/libgomp.fortran/reduction2.f90: Likewise.
12315         * testsuite/libgomp.fortran/reduction3.f90: Likewise.
12316         * testsuite/libgomp.fortran/reduction4.f90: Likewise.
12317         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
12318         * testsuite/libgomp.fortran/reduction6.f90: Likewise.
12319         * testsuite/libgomp.fortran/reference1.f90: Likewise.
12320         * testsuite/libgomp.fortran/reference2.f90: Likewise.
12321         * testsuite/libgomp.fortran/retval1.f90: Likewise.
12322         * testsuite/libgomp.fortran/retval2.f90: Likewise.
12323         * testsuite/libgomp.fortran/sharing1.f90: Likewise.
12324         * testsuite/libgomp.fortran/sharing2.f90: Likewise.
12325         * testsuite/libgomp.fortran/simd1.f90: Likewise.
12326         * testsuite/libgomp.fortran/simd2.f90: Likewise.
12327         * testsuite/libgomp.fortran/simd3.f90: Likewise.
12328         * testsuite/libgomp.fortran/simd4.f90: Likewise.
12329         * testsuite/libgomp.fortran/simd5.f90: Likewise.
12330         * testsuite/libgomp.fortran/simd6.f90: Likewise.
12331         * testsuite/libgomp.fortran/simd7.f90: Likewise.
12332         * testsuite/libgomp.fortran/stack.f90: Likewise.
12333         * testsuite/libgomp.fortran/strassen.f90: Likewise.
12334         * testsuite/libgomp.fortran/tabs1.f90: Likewise.
12335         * testsuite/libgomp.fortran/tabs2.f: Likewise.
12336         * testsuite/libgomp.fortran/target1.f90: Likewise.
12337         * testsuite/libgomp.fortran/target2.f90: Likewise.
12338         * testsuite/libgomp.fortran/target3.f90: Likewise.
12339         * testsuite/libgomp.fortran/target4.f90: Likewise.
12340         * testsuite/libgomp.fortran/target5.f90: Likewise.
12341         * testsuite/libgomp.fortran/target6.f90: Likewise.
12342         * testsuite/libgomp.fortran/target7.f90: Likewise.
12343         * testsuite/libgomp.fortran/target8.f90: Likewise.
12344         * testsuite/libgomp.fortran/task1.f90: Likewise.
12345         * testsuite/libgomp.fortran/task2.f90: Likewise.
12346         * testsuite/libgomp.fortran/task3.f90: Likewise.
12347         * testsuite/libgomp.fortran/task4.f90: Likewise.
12348         * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
12349         * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
12350         * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
12351         * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
12352         * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
12353         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
12354         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
12355         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
12356         * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
12357         * testsuite/libgomp.fortran/udr1.f90: Likewise.
12358         * testsuite/libgomp.fortran/udr10.f90: Likewise.
12359         * testsuite/libgomp.fortran/udr11.f90: Likewise.
12360         * testsuite/libgomp.fortran/udr12.f90: Likewise.
12361         * testsuite/libgomp.fortran/udr13.f90: Likewise.
12362         * testsuite/libgomp.fortran/udr14.f90: Likewise.
12363         * testsuite/libgomp.fortran/udr15.f90: Likewise.
12364         * testsuite/libgomp.fortran/udr2.f90: Likewise.
12365         * testsuite/libgomp.fortran/udr3.f90: Likewise.
12366         * testsuite/libgomp.fortran/udr4.f90: Likewise.
12367         * testsuite/libgomp.fortran/udr5.f90: Likewise.
12368         * testsuite/libgomp.fortran/udr6.f90: Likewise.
12369         * testsuite/libgomp.fortran/udr7.f90: Likewise.
12370         * testsuite/libgomp.fortran/udr8.f90: Likewise.
12371         * testsuite/libgomp.fortran/udr9.f90: Likewise.
12372         * testsuite/libgomp.fortran/vla1.f90: Likewise.
12373         * testsuite/libgomp.fortran/vla2.f90: Likewise.
12374         * testsuite/libgomp.fortran/vla3.f90: Likewise.
12375         * testsuite/libgomp.fortran/vla4.f90: Likewise.
12376         * testsuite/libgomp.fortran/vla5.f90: Likewise.
12377         * testsuite/libgomp.fortran/vla6.f90: Likewise.
12378         * testsuite/libgomp.fortran/vla7.f90: Likewise.
12379         * testsuite/libgomp.fortran/vla8.f90: Likewise.
12380         * testsuite/libgomp.fortran/workshare1.f90: Likewise.
12381         * testsuite/libgomp.fortran/workshare2.f90: Likewise.
12382         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12383         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12384         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12385         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12386         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12387         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12388         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12389         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12390         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
12391         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
12392         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
12393         * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
12394         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
12395         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12396         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12397         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12398         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12399         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12400         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12401         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12402         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12403         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
12404         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
12405         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12406         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12407         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12408         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12409         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12410         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
12411         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12412         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12413         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12414         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12415         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12416         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
12417         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
12418         * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
12419         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
12420         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
12421         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12422         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
12423         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
12424         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
12425         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
12426         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
12427         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
12428         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12429         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12430         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12431         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12432         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
12433         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12434         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12435         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12436         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12437         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12438         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12439         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12440         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
12441         * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
12442         * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
12443         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12444         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12445         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12446         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
12447         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12448         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
12449         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12450         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
12451         * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
12452         * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
12453         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
12454         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
12455         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12456         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12457         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12458         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12459         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12460         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12461         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12462         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
12463         * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
12464         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12465         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12466         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12467         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12468         * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
12469         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
12470         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
12471         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12472         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12473         * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
12475 2018-03-20  Richard Biener  <rguenther@suse.de>
12477         * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
12478         parallelizable loop.
12480 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
12482         PR target/84148
12483         * configure: Regenerate.
12485 2018-02-16  Jakub Jelinek  <jakub@redhat.com>
12487         PR fortran/84418
12488         * libgomp.fortran/pr84418-1.f90: New test.
12489         * libgomp.fortran/pr84418-2.f90: New test.
12491 2018-02-14  Jakub Jelinek  <jakub@redhat.com>
12493         PR fortran/84313
12494         * testsuite/libgomp.fortran/threadprivate4.f90: Add
12495         -std=f2003 -fall-intrinsics into dg-additional-options.
12497 2018-02-08  Martin Jambor  <mjambor@suse.cz>
12499         * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
12500         clonable.
12502 2018-02-08  Martin Jambor  <mjambor@suse.cz>
12504         * testsuite/libgomp.hsa.c/staticvar.c: New test.
12506 2018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12508         * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
12509         [__cplusplus]: Declare extern "C".
12511 2018-02-07  Tom de Vries  <tom@codesourcery.com>
12513         PR libgomp/84217
12514         * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
12516 2018-01-29  Christoph Spiel  <cspiel@freenet.de>
12517             Jakub Jelinek  <jakub@redhat.com>
12519         PR libgomp/84096
12520         * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
12521         instead of omp_lock_t.
12523 2018-01-25  Tom de Vries  <tom@codesourcery.com>
12525         PR target/84028
12526         * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
12528 2018-01-24  Tom de Vries  <tom@codesourcery.com>
12530         PR target/83589
12531         * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
12533 2018-01-24  Tom de Vries  <tom@codesourcery.com>
12535         PR target/81352
12536         * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
12538 2018-01-19  Tom de Vries  <tom@codesourcery.com>
12539             Cesar Philippidis  <cesar@codesourcery.com>
12541         PR target/83920
12542         * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
12543         * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
12545 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
12547         Update copyright years.
12549         * libgomp.texi: Bump @copying's copyright year.
12551 2017-12-30  Tom de Vries  <tom@codesourcery.com>
12553         PR libgomp/83046
12554         * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
12555         * testsuite/libgomp.c-c++-common/pr83046.c: New test.
12557 2017-12-27  Tom de Vries  <tom@codesourcery.com>
12559         PR c++/83046
12560         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
12561         (test_nonstatic): Fix return type to workaround PR83046.
12563 2017-12-05  Jakub Jelinek  <jakub@redhat.com>
12565         PR testsuite/83281
12566         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
12567         j suffix instead of i.
12568         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
12569         Likewise.
12571 2017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
12573         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
12574         call to acc_wait (1).
12576 2017-11-24  Jakub Jelinek  <jakub@redhat.com>
12578         PR fortran/81304
12579         * testsuite/libgomp.fortran/pr81304.f90: New test.
12581 2017-11-23  Jakub Jelinek  <jakub@redhat.com>
12583         PR fortran/81841
12584         * libgomp.fortran/pr81841.f90: New test.
12586 2017-11-22  Jakub Jelinek  <jakub@redhat.com>
12588         PR libgomp/83106
12589         * target.c (gomp_target_init): Compute lengths just once and
12590         use them in both malloc size and subsequent copying.
12592 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
12594         * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
12595         * acinclude.m4: Add cet.m4.
12596         * configure: Regenerate.
12597         * Makefile.in: Likewise.
12598         * testsuite/Makefile.in: Likewise.
12600 2017-11-15  Tom de Vries  <tom@codesourcery.com>
12602         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
12603         from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
12604         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
12605         from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
12606         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
12607         from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
12609 2017-11-14  Tom de Vries  <tom@codesourcery.com>
12611         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
12612         non-nvidia devices.
12614 2017-11-07  Jakub Jelinek  <jakub@redhat.com>
12616         PR c++/82835
12617         * testsuite/libgomp.c++/pr82835.C: New test.
12619 2017-11-06  Martin Liska  <mliska@suse.cz>
12621         * testsuite/libgomp.c++/loop-2.C: Return a value
12622         for functions with non-void return type, or change type to void,
12623         or add -Wno-return-type for test.
12624         * testsuite/libgomp.c++/loop-4.C: Likewise.
12625         * testsuite/libgomp.c++/parallel-1.C: Likewise.
12626         * testsuite/libgomp.c++/shared-1.C: Likewise.
12627         * testsuite/libgomp.c++/single-1.C: Likewise.
12628         * testsuite/libgomp.c++/single-2.C: Likewise.
12630 2017-10-31  Tom de Vries  <tom@codesourcery.com>
12632         * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
12633         "do {} while (false)".
12634         (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
12635         after HSA_DEBUG call.
12637 2017-10-28  Jakub Jelinek  <jakub@redhat.com>
12639         * target.c (struct gomp_coalesce_buf): New type.
12640         (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
12641         (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
12642         (gomp_copy_host2dev): Add CBUF argument, if copying into
12643         the cached ranges, memcpy into buffer instead of copying
12644         into device.
12645         (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
12646         Add CBUF argument, pass it through to other calls.
12647         (gomp_map_vars): Aggregate copies from host to device if small enough
12648         and with small enough gaps in between into memcpy into a buffer and
12649         fewer host to device copies from the buffer.
12650         (gomp_update): Adjust gomp_copy_host2dev caller.
12652 2017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
12654         * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
12655         run" directive.
12656         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12657         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12658         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12659         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12661 2017-10-16  Tom de Vries  <tom@codesourcery.com>
12663         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
12664         openacc_nvidia_accel_selected.
12665         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
12666         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
12667         * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
12668         * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
12669         * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
12670         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
12671         openacc_nvidia_accel_selected. Skip for shared memory device.
12672         * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
12673         * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
12675 2017-10-09  Martin Jambor  <mjambor@suse.cz>
12677         PR hsa/82416
12678         * testsuite/libgomp.hsa.c/pr82416.c: New test.
12680 2017-10-07  Tom de Vries  <tom@codesourcery.com>
12682         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
12683         Remove acc_device_nvidia references.
12684         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
12685         Same.
12687 2017-10-05  Tom de Vries  <tom@codesourcery.com>
12689         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
12690         vector_length(32) clause from acc parallel directive.
12691         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
12693 2017-10-04  Tom de Vries  <tom@codesourcery.com>
12695         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
12696         (main): Reduce sum of arr elements.  Assert that hres is exactly
12697         representable in 32-bit floating point.
12698         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
12699         (main): Reduce sum of arr elements.  Assert that hres and hmres are
12700         exactly representable in 32-bit floating point.
12701         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
12703 2017-09-28  Tom de Vries  <tom@codesourcery.com>
12705         * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
12706         setting.
12707         * testsuite/libgomp.c++/pr69393.C: Same.
12708         * testsuite/libgomp.c++/taskloop-1.C: Same.
12709         * testsuite/libgomp.c++/taskloop-3.C: Same.
12710         * testsuite/libgomp.c++/taskloop-4.C: Same.
12711         * testsuite/libgomp.c/for-4.c: Same.
12712         * testsuite/libgomp.c/pr66199-3.c: Same.
12713         * testsuite/libgomp.c/pr66199-4.c: Same.
12714         * testsuite/libgomp.c/pr66199-6.c: Same.
12715         * testsuite/libgomp.c/taskloop-1.c: Same.
12716         * testsuite/libgomp.c/taskloop-3.c: Same.
12717         * testsuite/libgomp.c/taskloop-4.c: Same.
12718         * testsuite/libgomp.fortran/aligned1.f03: Same.
12719         * testsuite/libgomp.fortran/condinc1.f: Same.
12720         * testsuite/libgomp.fortran/condinc3.f90: Same.
12721         * testsuite/libgomp.fortran/crayptr1.f90: Same.
12722         * testsuite/libgomp.fortran/crayptr2.f90: Same.
12723         * testsuite/libgomp.fortran/crayptr3.f90: Same.
12724         * testsuite/libgomp.fortran/omp_cond1.f: Same.
12725         * testsuite/libgomp.fortran/omp_cond3.F90: Same.
12726         * testsuite/libgomp.fortran/pr66199-1.f90: Same.
12727         * testsuite/libgomp.fortran/pr66199-2.f90: Same.
12728         * testsuite/libgomp.fortran/recursion1.f90: Same.
12729         * testsuite/libgomp.fortran/target2.f90: Same.
12730         * testsuite/libgomp.fortran/target5.f90: Same.
12731         * testsuite/libgomp.fortran/task3.f90: Same.
12733 2017-09-28  Tom de Vries  <tom@codesourcery.com>
12735         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
12736         vector_length(32) clause from acc parallel directive.
12737         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
12739 2017-09-27  Tom de Vries  <tom@codesourcery.com>
12741         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
12742         Remove acc_device_nvidia references.
12744 2017-09-16  Tom de Vries  <tom@codesourcery.com>
12746         PR c/81875
12747         * testsuite/libgomp.c-c++-common/pr81875.c: New test.
12749 2017-09-14  Tom de Vries  <tom@codesourcery.com>
12751         * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
12752         * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
12753         * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
12754         * testsuite/libgomp.c/c.exp: Include test-cases from
12755         libgomp.c-c++-common.
12756         * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
12757         files.
12759 2017-09-14  Jakub Jelinek  <jakub@redhat.com>
12761         PR c++/81314
12762         * testsuite/libgomp.c++/pr81314.C: New test.
12764 2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
12766         * libgomp.texi (Top): www.openacc.org now uses https.
12767         (Enabling OpenACC): Ditto.
12768         (acc_get_num_devices): Ditto.
12769         (acc_set_device_type): Ditto.
12770         (acc_get_device_type): Ditto.
12771         (acc_set_device_num): Ditto.
12772         (acc_get_device_num): Ditto.
12773         (acc_async_test): Ditto.
12774         (acc_async_test_all): Ditto.
12775         (acc_wait): Ditto.
12776         (acc_wait_all): Ditto.
12777         (acc_wait_all_async): Ditto.
12778         (acc_wait_async): Ditto.
12779         (acc_init): Ditto.
12780         (acc_shutdown): Ditto.
12781         (acc_on_device): Ditto.
12782         (acc_malloc): Ditto.
12783         (acc_free): Ditto.
12784         (acc_copyin): Ditto.
12785         (acc_present_or_copyin): Ditto.
12786         (acc_create): Ditto.
12787         (acc_present_or_create): Ditto.
12788         (acc_copyout): Ditto.
12789         (acc_delete): Ditto.
12790         (acc_update_device): Ditto.
12791         (acc_update_self): Ditto.
12792         (acc_map_data): Ditto.
12793         (acc_unmap_data): Ditto.
12794         (acc_deviceptr): Ditto.
12795         (acc_hostptr): Ditto.
12796         (acc_is_present): Ditto.
12797         (acc_memcpy_to_device): Ditto.
12798         (acc_memcpy_from_device): Ditto.
12799         (acc_get_current_cuda_device): Ditto.
12800         (acc_get_current_cuda_context): Ditto.
12801         (acc_get_cuda_stream): Ditto.
12802         (acc_set_cuda_stream): Ditto.
12803         (ACC_DEVICE_TYPE): Ditto.
12804         (ACC_DEVICE_NUM): Ditto.
12805         (OpenACC Library Interoperability): Ditto.
12807 2017-08-09  Jakub Jelinek  <jakub@redhat.com>
12809         PR c/81687
12810         * testsuite/libgomp.c/pr81687-1.c: New test.
12811         * testsuite/libgomp.c/pr81687-2.c: New test.
12813 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
12815         PR c/69389
12816         * testsuite/libgomp.c/pr69389.c: New test.
12817         * testsuite/libgomp.c++/pr69389.C: New test.
12819 2017-08-07  Tom de Vries  <tom@codesourcery.com>
12821         PR middle-end/78266
12822         * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
12823         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
12825 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
12827         PR c/45784
12828         * testsuite/libgomp.c/pr45784.c: New test.
12829         * testsuite/libgomp.c++/pr45784.C: New test.
12831 2017-07-19  Tom de Vries  <tom@codesourcery.com>
12833         * testsuite/libgomp.oacc-c/vec.c: New test.
12835 2017-07-03  Tom de Vries  <tom@codesourcery.com>
12837         * plugin/plugin-hsa.c: Fix secure_getenv.h include.
12839 2017-06-27  Tom de Vries  <tom@codesourcery.com>
12841         * plugin/plugin-nvptx.c (notify_var): New function.
12842         (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
12844 2017-06-27  Tom de Vries  <tom@codesourcery.com>
12846         * env.c (parse_unsigned_long_1): Factor out of ...
12847         (parse_unsigned_long): ... here.
12848         (parse_int_1): Factor out of ...
12849         (parse_int): ... here.
12850         (parse_int_secure): New function.
12851         (initialize_env): Use parse_int_secure for GOMP_DEBUG.
12852         * secure_getenv.h: Factor out of ...
12853         * plugin/plugin-hsa.c: ... here.
12854         * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
12856 2017-06-21  Jakub Jelinek  <jakub@redhat.com>
12858         PR c++/81130
12859         * testsuite/libgomp.c++/pr81130.C: New test.
12861 2017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12863         * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
12864         default args.
12865         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
12866         dg-xfail-run-if default args.
12868 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
12870         * testsuite/libgomp.c/pr39591-2.c: Fix test case.
12871         * testsuite/libgomp.c/pr39591-3.c: Likewise.
12873 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
12875         PR libgomp/80822
12876         * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
12877         (gomp_affinity_init_level): Use it.  Always analyze the core and thread
12878         sibling lists, depending on level just pick up what CPUs to put
12879         together into a place vs. whether add multiple ordered places.
12881 2017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
12883         * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
12884         * libgomp.map (OACC_2.0.1): Add these.
12885         * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
12886         for "acc_wait", and "acc_wait_all", respectively.
12887         * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
12888         for "acc_wait", and "acc_wait_all", respectively.
12889         * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
12890         * libgomp.texi (acc_wait, acc_wait_all): Update.
12891         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
12892         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
12893         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12895         * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
12896         acc_present_or_copyin and acc_present_or_create procedures,
12897         respectively.
12898         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
12899         generally different variants of OpenACC Runtime Library functions.
12900         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12902         * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
12903         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12905         * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
12906         of preprocessor definitions.
12907         * libgomp.h (strong_alias): Guard by "#ifdef
12908         HAVE_ATTRIBUTE_ALIAS".
12909         * oacc-mem.c: Provide "acc_pcreate" as alias for
12910         "acc_present_or_create", and "acc_pcopyin" as alias for
12911         "acc_present_or_copyin".
12912         * libgomp.map: New version "OACC_2.0.1".
12913         (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
12914         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
12915         its content into...
12916         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
12917         Extend testing.
12919         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
12920         when disabling nvptx offloading.
12922 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
12924         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
12925         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12926         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12928         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
12929         * testsuite/lib/libgomp.exp
12930         (check_effective_target_openacc_nvidia_accel_configured): New
12931         proc.
12932         * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
12933         (check_effective_target_c++): New procs.
12934         * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
12935         (check_effective_target_c++): Likewise.
12937 2017-05-22  Jakub Jelinek  <jakub@redhat.com>
12939         PR middle-end/80809
12940         * testsuite/libgomp.c/pr80809-2.c: New test.
12941         * testsuite/libgomp.c/pr80809-3.c: New test.
12943         PR middle-end/80809
12944         * testsuite/libgomp.c/pr80809-1.c: New test.
12946         PR middle-end/80853
12947         * testsuite/libgomp.c/pr80853.c: New test.
12949 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
12951         * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
12952         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
12953         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12954         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12955         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12957         * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
12958         Debug output for failure.
12960 2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12962         * testsuite/lib/libgomp.exp: Load scanlang.exp.
12964 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
12966         PR bootstrap/80531
12967         * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
12968         bootstrap compare failures.
12970 2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
12972         * testsuite/libgomp.c/target-36.c: New testcase.
12974 2017-04-13  Jakub Jelinek  <jakub@redhat.com>
12976         * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
12977         instead of char.
12979 2017-04-11  Jakub Jelinek  <jakub@redhat.com>
12981         PR libgomp/80394
12982         * testsuite/libgomp.c/pr80394.c: New test.
12984 2017-04-04  Jakub Jelinek  <jakub@redhat.com>
12986         PR libgomp/79876
12987         * config/posix/thread-stacksize.h: New file.
12988         * config/darwin/thread-stacksize.h: New file.
12989         * config/nvptx/thread-stacksize.h: New file.
12990         * env.c: Include thread-stacksize.h.
12991         (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
12992         instead of 0.  Call pthread_attr_setstacksize even if
12993         GOMP_DEFAULT_STACKSIZE is non-zero.
12995 2017-03-30  Jakub Jelinek  <jakub@redhat.com>
12997         * env.c (initialize_env): Initialize stacksize to 0.
12999 2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
13001         PR c++/80029
13002         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
13004 2017-03-08  Jakub Jelinek  <jakub@redhat.com>
13006         PR c/79940
13007         * testsuite/libgomp.c/pr79940.c: New test.
13009 2017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
13011         * testsuite/libgomp.c/pr48591.c: Enable on all __float128
13012         targets.
13013         Add __float128 options.
13015 2017-02-11  John David Anglin  <danglin@gcc.gnu.org>
13017         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
13018         hppa*-*-* dg-skip-if directive.
13020 2017-02-09  Jakub Jelinek  <jakub@redhat.com>
13022         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
13023         dg-skip-if directive into a comment.
13025 2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
13026             Chung-Lin Tang  <cltang@codesourcery.com>
13028         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
13029         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
13030         add additional case.
13031         * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
13032         "openacc_nvidia_accel_selected".
13033         * libgomp.oacc-fortran/nested-function-1.f90 (test2):
13034         Add num_workers(8) clause.
13036 2017-02-08  John David Anglin  <danglin@gcc.gnu.org>
13038         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
13039         hppa*-*-*.
13040         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
13041         include complex.h on hppa*-*-hpux*.
13042         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
13044 2017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
13046         * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
13048         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
13049         GOMP_OFFLOAD_openacc_exec.  Adjust all users.
13050         (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
13051         GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
13052         (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
13053         GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
13054         (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
13055         GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
13056         (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
13057         GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
13059 2017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
13061         * libgomp-plugin.h: #include <stdbool.h>.
13062         (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
13063         (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
13064         (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
13065         (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
13066         (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
13067         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
13068         (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
13069         (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
13070         (GOMP_OFFLOAD_openacc_register_async_cleanup)
13071         (GOMP_OFFLOAD_openacc_async_test)
13072         (GOMP_OFFLOAD_openacc_async_test_all)
13073         (GOMP_OFFLOAD_openacc_async_wait)
13074         (GOMP_OFFLOAD_openacc_async_wait_async)
13075         (GOMP_OFFLOAD_openacc_async_wait_all)
13076         (GOMP_OFFLOAD_openacc_async_wait_all_async)
13077         (GOMP_OFFLOAD_openacc_async_set_async)
13078         (GOMP_OFFLOAD_openacc_create_thread_data)
13079         (GOMP_OFFLOAD_openacc_destroy_thread_data)
13080         (GOMP_OFFLOAD_openacc_get_current_cuda_device)
13081         (GOMP_OFFLOAD_openacc_get_current_cuda_context)
13082         (GOMP_OFFLOAD_openacc_get_cuda_stream)
13083         (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
13084         * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
13085         these.
13086         * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
13087         (GOMP_OFFLOAD_unload_image): Fix argument types.
13089 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
13091         * testsuite/lib/libgomp.exp
13092         (check_effective_target_hsa_offloading_selected_nocache): Fix up
13093         check_compile invocation.  Fix up removal of executable.  Drop
13094         bogus "2>&1" argument.
13096         * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
13097         directive.
13099 2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
13100             Martin Jambor  <mjambor@suse.cz>
13102         * plugin/hsa.h: Moved to top level include.
13103         * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
13105 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
13107         PR other/79046
13108         * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
13109         of cat to get version from BASE-VER file.
13110         * testsuite/Makefile.in: Regenerated.
13112 2017-01-19  Jakub Jelinek  <jakub@redhat.com>
13114         * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
13115         for _WIN64.
13117 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
13119         * plugin/hsa.h: Add GCC runtime library exception.
13120         * plugin/hsa_ext_finalize.h: Likewise.
13122         * plugin/configfrag.ac: For --without-cuda-driver don't initialize
13123         CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
13124         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
13125         cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
13126         plugin/include/cuda as include dir and -ldl instead of -lcuda as
13127         library to link ptx plugin against.
13128         * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
13129         (CUDA_CALLS): Define.
13130         (cuda_lib, cuda_lib_inited): New variables.
13131         (init_cuda_lib): New function.
13132         (CUDA_CALL_PREFIX): Define.
13133         (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
13134         (CUDA_CALL): Use FN instead of (FN).
13135         (CUDA_CALL_NOCHECK): Define.
13136         (cuda_error, fini_streams_for_device, select_stream_for_async,
13137         nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
13138         event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
13139         nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
13140         nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
13141         CUDA_CALL_NOCHECK.
13142         (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
13143         CUDA_CALL_NOCHECK.
13144         (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
13145         Use CUDA_CALL_NOCHECK.
13146         * plugin/cuda/cuda.h: New file.
13147         * config.h.in: Regenerated.
13148         * configure: Regenerated.
13150         PR other/79046
13151         * configure.ac: Add GCC_BASE_VER.
13152         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
13153         get version from BASE-VER file.
13154         * testsuite/Makefile.in: Regenerated.
13155         * configure: Regenerated.
13156         * Makefile.in: Regenerated.
13158 2017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
13160         PR libgomp/60670
13161         * Makefile.am: Make fincludedir multilib-aware.
13162         * Makefile.in: Regenerate.
13164 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
13166         Update copyright years.
13168         * libgomp.texi: Bump @copying's copyright year.
13170 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
13172         * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
13173         pthread_spinlock_t instead of gomp_mutex_t lock.
13174         (gomp_get_thread_pool): Likewise.
13175         (gomp_release_thread_pool): Likewise.
13176         * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
13177         Likewise.
13179 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
13181         * config/rtems/pool.h (gomp_get_thread_pool): Return proper
13182         thread pool in case nthreads == 1.
13184 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
13186         * config/nvptx/env.c: Delete.
13187         * icv.c: Move definitions of ICV variables back ...
13188         * env.c: ...here.  Do not compile environment-related functionality if
13189         LIBGOMP_OFFLOADED_ONLY is set.
13191 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
13193         * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
13194         (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
13195         * configure: Regenerate.
13196         * config.h.in: Likewise.
13198 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
13200         * Makefile.in: Regenerate with automake-1.11.6.
13201         * aclocal.m4: Likewise.
13202         * configure: Likewise.
13203         * testsuite/Makefile.in: Likewise.
13205 2016-11-28  Alexander Monakov  <amonakov@ispras.ru>
13207         * config/nvptx/critical.c: Delete to use generic implementation.
13209 2016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
13211         * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
13212         ../../affinity.c as fallback.
13213         * config/nvptx/affinity.c: Delete to use fallback implementation.
13215 2016-11-23  Alexander Monakov  <amonakov@ispras.ru>
13216             Jakub Jelinek  <jakub@redhat.com>
13217             Dmitry Melnik  <dm@ispras.ru>
13219         * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
13220         * Makefile.in. Regenerate.
13221         * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
13222         (LIBGOMP_USE_PTHREADS): ...here; new define.
13223         * configure: Regenerate.
13224         * config.h.in: Likewise.
13225         * config/posix/affinity.c: Move to...
13226         * affinity.c: ...here (new file).  Guard use of Pthreads-specific
13227         interface by LIBGOMP_USE_PTHREADS. 
13228         * critical.c: Split out GOMP_atomic_{start,end} into...
13229         * atomic.c: ...here (new file).
13230         * env.c: Split out ICV definitions into...
13231         * icv.c: ...here (new file) and...
13232         * icv-device.c: ...here. New file.
13233         * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
13234         (gomp_destroy_lock_30): Ditto.
13235         (gomp_set_lock_30): Ditto.
13236         (gomp_unset_lock_30): Ditto.
13237         (gomp_test_lock_30): Ditto.
13238         (gomp_init_nest_lock_30): Ditto.
13239         (gomp_destroy_nest_lock_30): Ditto.
13240         (gomp_set_nest_lock_30): Ditto.
13241         (gomp_unset_nest_lock_30): Ditto.
13242         (gomp_test_nest_lock_30): Ditto.
13243         * lock.c: New.
13244         * config/nvptx/lock.c: New.
13245         * config/nvptx/bar.c: New.
13246         * config/nvptx/bar.h: New.
13247         * config/nvptx/doacross.h: New.
13248         * config/nvptx/error.c: New.
13249         * config/nvptx/icv-device.c: New.
13250         * config/nvptx/mutex.h: New.
13251         * config/nvptx/pool.h: New.
13252         * config/nvptx/proc.c: New.
13253         * config/nvptx/ptrlock.h: New.
13254         * config/nvptx/sem.h: New.
13255         * config/nvptx/simple-bar.h: New.
13256         * config/nvptx/target.c: New.
13257         * config/nvptx/task.c: New.
13258         * config/nvptx/team.c: New.
13259         * config/nvptx/time.c: New.
13260         * config/posix/simple-bar.h: New.
13261         * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
13262         (gomp_num_teams_var): Declare.
13263         (struct gomp_thread_pool): Change threads_dock member to
13264         gomp_simple_barrier_t.
13265         [__nvptx__] (gomp_thread): New implementation.
13266         (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
13267         (gomp_thread_destructor): Ditto.
13268         (gomp_init_thread_affinity): Ditto.
13269         * team.c: Guard uses of Pthreads-specific interfaces by
13270         LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
13271         (gomp_free_thread) [__nvptx__]: Do not call 'free'.
13272         * config/nvptx/alloc.c: Delete.
13273         * config/nvptx/barrier.c: Ditto.
13274         * config/nvptx/fortran.c: Ditto.
13275         * config/nvptx/iter.c: Ditto.
13276         * config/nvptx/iter_ull.c: Ditto.
13277         * config/nvptx/loop.c: Ditto.
13278         * config/nvptx/loop_ull.c: Ditto.
13279         * config/nvptx/ordered.c: Ditto.
13280         * config/nvptx/parallel.c: Ditto.
13281         * config/nvptx/priority_queue.c: Ditto.
13282         * config/nvptx/sections.c: Ditto.
13283         * config/nvptx/single.c: Ditto.
13284         * config/nvptx/splay-tree.c: Ditto.
13285         * config/nvptx/work.c: Ditto.
13286         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
13287         -foffload=-lgfortran in addition to -lgfortran.
13288         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
13289         * plugin/plugin-nvptx.c: Include <limits.h>.
13290         (struct targ_fn_descriptor): Add new fields.
13291         (struct ptx_device): Ditto.  Set them...
13292         (nvptx_open_device): ...here.
13293         (nvptx_adjust_launch_bounds): New.
13294         (nvptx_host2dev): Allow NULL 'nvthd'.
13295         (nvptx_dev2host): Ditto.
13296         (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
13297         (link_ptx): Adjust log sizes.
13298         (nvptx_host2dev): Allow NULL 'nvthd'.
13299         (nvptx_dev2host): Ditto.
13300         (nvptx_set_clocktick): New.  Use it...
13301         (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
13302         fields.
13303         (GOMP_OFFLOAD_dev2dev): New.
13304         (nvptx_adjust_launch_bounds): New.
13305         (nvptx_stacks_size): New.
13306         (nvptx_stacks_alloc): New.
13307         (nvptx_stacks_free): New.
13308         (GOMP_OFFLOAD_run): New.
13309         (GOMP_OFFLOAD_async_run): New (stub).
13311 2016-11-23  Martin Jambor  <mjambor@suse.cz>
13313         * testsuite/libgomp.hsa.c/bits-insns.c: New test.
13314         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
13315         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
13317 2016-11-23  Martin Liska  <mliska@suse.cz>
13318             Martin Jambor  <mjambor@suse.cz>
13320         * plugin/hsa.h: New file.
13321         * plugin/hsa_ext_finalize.h: New file.
13322         * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
13323         header file unistd.h, and functions secure_getenv, __secure_getenv,
13324         getuid, geteuid, getgid and getegid.
13325         * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
13326         -D_GNU_SOURCE.
13327         * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
13328         Handle various cases of secure_getenv presence, add an implementation
13329         when we can test effective UID and GID.
13330         (struct hsa_runtime_fn_info): New structure.
13331         (hsa_runtime_fn_info hsa_fns): New variable.
13332         (hsa_runtime_lib): Likewise.
13333         (support_cpu_devices): Likewise.
13334         (init_enviroment_variables): Load newly introduced ENV
13335         variables.
13336         (hsa_warn): Call hsa run-time functions via hsa_fns structure.
13337         (hsa_fatal): Likewise.
13338         (DLSYM_FN): New macro.
13339         (init_hsa_runtime_functions): New function.
13340         (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
13341         structure.  Depending on environment, also allow CPU devices.
13342         (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
13343         (get_kernarg_memory_region): Likewise.
13344         (GOMP_OFFLOAD_init_device): Likewise.
13345         (destroy_hsa_program): Likewise.
13346         (init_basic_kernel_info): New function.
13347         (GOMP_OFFLOAD_load_image): Use it.
13348         (create_and_finalize_hsa_program): Call hsa run-time functions via
13349         hsa_fns structure.
13350         (create_single_kernel_dispatch): Likewise.
13351         (release_kernel_dispatch): Likewise.
13352         (init_single_kernel): Likewise.
13353         (parse_target_attributes): Allow up multiple HSA grid dimensions.
13354         (get_group_size): New function.
13355         (run_kernel): Likewise.
13356         (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
13357         (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
13358         structure.
13359         * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
13360         * testsuite/libgomp-test-support.exp.in: Likewise.
13361         * Makefile.in: Regenerated.
13362         * aclocal.m4: Likewise.
13363         * config.h.in: Likewise.
13364         * configure: Likewise.
13365         * testsuite/Makefile.in: Likewise.
13367 2016-11-15  Martin Jambor  <mjambor@suse.cz>
13368             Alexander Monakov  <amonakov@ispras.ru>
13370         * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
13371         mapping clauses to target constructs.
13372         * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
13374 2016-11-15  Matthias Klose  <doko@ubuntu.com>
13376         * configure: Regenerate.
13378 2016-11-10  Jakub Jelinek  <jakub@redhat.com>
13380         * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
13381         * omp_lib.h.in (openmp_version): Likewise.
13382         * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
13383         of 201307.
13384         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13386         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
13387         (fib_wrapper): Add map(from: x) clause.
13388         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
13389         (e_53_2): Likewise.
13390         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
13391         (accum): Add map(tmp) clause.
13392         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
13393         (accum): Add map(tofrom: tmp) clause.
13394         * testsuite/libgomp.fortran/examples-4/target_data-3.f90
13395         (gramSchmidt): Likewise.
13396         * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
13397         map(tofrom: sum) clause.
13398         * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
13399         map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
13400         * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
13401         only allowed on the loop iterator.
13402         * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
13403         * testsuite/libgomp.fortran/taskloop2.f90: New test.
13404         * testsuite/libgomp.fortran/taskloop4.f90: New test.
13405         * testsuite/libgomp.fortran/doacross1.f90: New test.
13406         * testsuite/libgomp.fortran/doacross3.f90: New test.
13407         * testsuite/libgomp.fortran/taskloop1.f90: New test.
13408         * testsuite/libgomp.fortran/taskloop3.f90: New test.
13409         * testsuite/libgomp.fortran/doacross2.f90: New test.
13410         * testsuite/libgomp.c/doacross-1.c (main): Add missing
13411         #pragma omp atomic read.
13412         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
13413         * testsuite/libgomp.c/doacross-3.c (main): Likewise.
13415 2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
13416             Nathan Sidwell  <nathan@acm.org>
13418         * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
13419         to determine default geometry.
13420         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
13421         dimension.
13423 2016-11-01  Jakub Jelinek  <jakub@redhat.com>
13425         * hashtab.h: Use standard GPLv3 with runtime exception
13426         boilerplate.
13428 2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
13430         * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
13431         size when allocating new thread.
13433 2016-09-14  Marek Polacek  <polacek@redhat.com>
13435         * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
13437 2016-08-19  Jakub Jelinek  <jakub@redhat.com>
13439         PR fortran/71014
13440         * testsuite/libgomp.fortran/pr71014.f90: New test.
13442 2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
13444         PR middle-end/70895
13445         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
13446         firstprivate clauses.
13447         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
13448         copy clauses.
13449         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13450         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
13451         * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
13452         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13453         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13454         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
13455         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13456         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
13457         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13458         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13459         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13460         * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
13462 2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
13464         PR fortran/70598
13465         * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
13467 2016-08-08  Jakub Jelinek  <jakub@redhat.com>
13469         PR c++/58706
13470         * testsuite/libgomp.c++/pr58706.C: New test.
13472 2016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
13474         * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
13475         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
13476         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
13477         Likewise.
13478         * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
13479         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
13480         Likewise.
13481         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
13483         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
13484         test, and don't hardcode -O0.
13486 2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
13488         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
13490 2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
13492         * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
13493         test.
13495 2016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
13497         PR middle-end/71734
13498         * testsuite/libgomp.fortran/pr71734-1.f90: New test.
13499         * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
13501 2016-07-01  Jakub Jelinek  <jakub@redhat.com>
13503         PR fortran/71717
13504         * testsuite/libgomp.fortran/associate3.f90: New test.
13506 2016-06-17  Jakub Jelinek  <jakub@redhat.com>
13508         * testsuite/libgomp.c++/target-21.C: New test.
13510 2016-06-16  Jakub Jelinek  <jakub@redhat.com>
13512         * testsuite/libgomp.c++/target-20.C: New test.
13514 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
13515             Cesar Philippidis  <cesar@codesourcery.com>
13517         PR middle-end/71373
13518         * libgomp.oacc-c/nested-function-1.c: New file.
13519         * libgomp.oacc-c/nested-function-2.c: Likewise.
13520         * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
13521         * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
13522         * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
13524 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
13526         PR c/71381
13527         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
13528         "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
13529         * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
13531 2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
13533         * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
13534         * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
13536 2016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
13538         PR c/70688
13539         * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
13541 2016-05-26  Jakub Jelinek  <jakub@redhat.com>
13543         * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
13544         instead of invalid schedule(static, 0).
13545         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
13547 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
13549         * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
13550         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
13551         parameter, use to set async stream around call to gomp_unmap_vars,
13552         call gomp_unmap_vars() with 'do_copyfrom' set to true.
13553         * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
13554         (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
13555         events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
13556         (event_add): Add int parameter, initialize 'val' field when
13557         adding new ptx_event struct.
13558         (nvptx_evec): Adjust event_add() call arguments.
13559         (nvptx_host2dev): Likewise.
13560         (nvptx_dev2host): Likewise.
13561         (nvptx_wait_async): Likewise.
13562         (nvptx_wait_all_async): Likewise.
13563         (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
13564         pass to event_add() call.
13565         * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
13566         parameter.
13567         * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
13568         call openacc.register_async_cleanup_func() hook.
13569         * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
13570         * target.c (gomp_copy_from_async): Delete function.
13571         (gomp_map_vars): Remove async_refcount.
13572         (gomp_unmap_vars): Likewise.
13573         (gomp_load_image_to_device): Likewise.
13574         (omp_target_associate_ptr): Likewise.
13575         * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
13576         (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
13577         (gomp_copy_from_async): Remove.
13579 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
13581         * target.c (gomp_device_copy): New function.
13582         (gomp_copy_host2dev): Likewise.
13583         (gomp_copy_dev2host): Likewise.
13584         (gomp_free_device_memory): Likewise.
13585         (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
13586         (gomp_map_pointer): Likewise.
13587         (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
13588         NULL value from alloc_func plugin hook.
13589         (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
13590         (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
13591         (gomp_unmap_vars): Likewise.
13592         (gomp_update): Adjust to call gomp_copy_dev2host and
13593         gomp_copy_host2dev functions.
13594         (gomp_unload_image_from_device): Handle false value from
13595         unload_image_func plugin hook.
13596         (gomp_init_device): Handle false value from init_device_func
13597         plugin hook.
13598         (gomp_exit_data): Adjust to call gomp_copy_dev2host.
13599         (omp_target_free): Adjust to call gomp_free_device_memory.
13600         (omp_target_memcpy): Handle return values from host2dev_func,
13601         dev2host_func, and dev2dev_func plugin hooks.
13602         (omp_target_memcpy_rect_worker): Likewise.
13603         (gomp_target_fini): Handle false value from fini_device_func
13604         plugin hook.
13605         * libgomp.h (struct gomp_device_descr): Adjust return type of
13606         init_device_func, fini_device_func, unload_image_func, free_func,
13607         dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
13608         * oacc-init.c (acc_shutdown_1): Handle false value from
13609         fini_device_func plugin hook.
13610         * oacc-host.c (host_init_device): Change return type to bool.
13611         (host_fini_device): Likewise.
13612         (host_unload_image): Likewise.
13613         (host_free): Likewise.
13614         (host_dev2host): Likewise.
13615         (host_host2dev): Likewise.
13616         * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
13617         (acc_memcpy_to_device): Likewise.
13618         (acc_memcpy_from_device): Likewise.
13619         (delete_copyout): Add libfnname parameter, handle free_func
13620         hook fatal error case.
13621         (acc_delete): Adjust delete_copyout call.
13622         (acc_copyout): Likewise.
13623         (update_dev_host): Move gomp_mutex_unlock to after
13624         host2dev/dev2host hook calls.
13626         * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
13627         to 'hsa_error_msg', for clarity.
13628         (hsa_fatal): Likewise.
13629         (hsa_error): New function.
13630         (init_hsa_context): Change return type to bool, adjust to return
13631         false on error.
13632         (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
13633         return value.
13634         (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
13635         return false on error.
13636         (get_agent_info): Adjust to return NULL on error.
13637         (destroy_hsa_program): Change return type to bool, adjust to
13638         return false on error.
13639         (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
13640         (destroy_module): Change return type to bool, adjust to
13641         return false on error.
13642         (GOMP_OFFLOAD_unload_image): Likewise.
13643         (GOMP_OFFLOAD_fini_device): Likewise.
13644         (GOMP_OFFLOAD_alloc): Change to return NULL when called.
13645         (GOMP_OFFLOAD_free): Change to return false when called.
13646         (GOMP_OFFLOAD_dev2host): Likewise.
13647         (GOMP_OFFLOAD_host2dev): Likewise.
13648         (GOMP_OFFLOAD_dev2dev): Likewise.
13650         * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
13651         (CUDA_CALL): Likewise.
13652         (CUDA_CALL_ASSERT): Likewise.
13653         (map_init): Change return type to bool, use CUDA_CALL* macros.
13654         (map_fini): Likewise.
13655         (init_streams_for_device): Change return type to bool, adjust
13656         call to map_init.
13657         (fini_streams_for_device): Change return type to bool, adjust
13658         call to map_fini.
13659         (select_stream_for_async): Release stream_lock before calls to
13660         GOMP_PLUGIN_fatal, adjust call to map_init.
13661         (nvptx_init): Use CUDA_CALL* macros.
13662         (nvptx_attach_host_thread_to_device): Change return type to bool,
13663         use CUDA_CALL* macros.
13664         (nvptx_open_device): Use CUDA_CALL* macros.
13665         (nvptx_close_device): Change return type to bool, use CUDA_CALL*
13666         macros.
13667         (nvptx_get_num_devices): Use CUDA_CALL* macros.
13668         (link_ptx): Change return type to bool, use CUDA_CALL* macros.
13669         (nvptx_exec): Use CUDA_CALL* macros.
13670         (nvptx_alloc): Use CUDA_CALL* macros.
13671         (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
13672         (nvptx_host2dev): Likewise.
13673         (nvptx_dev2host): Likewise.
13674         (nvptx_wait): Use CUDA_CALL* macros.
13675         (nvptx_wait_async): Likewise.
13676         (nvptx_wait_all): Likewise.
13677         (nvptx_wait_all_async): Likewise.
13678         (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
13679         use CUDA_CALL* macros, adjust call to map_fini.
13680         (GOMP_OFFLOAD_init_device): Change return type to bool,
13681         adjust code accordingly.
13682         (GOMP_OFFLOAD_fini_device): Likewise.
13683         (GOMP_OFFLOAD_load_image): Adjust calls to
13684         nvptx_attach_host_thread_to_device/link_ptx to handle errors,
13685         use CUDA_CALL* macros.
13686         (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
13687         return code.
13688         (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
13689         (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
13690         handle error return.
13691         (GOMP_OFFLOAD_dev2host): Likewise.
13692         (GOMP_OFFLOAD_host2dev): Likewise.
13693         (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
13694         (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
13696 2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
13698         * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
13699         (acc_free): Likewise.
13700         (acc_memcpy_to_device): Likewise.
13701         (acc_memcpy_from_device): Likewise.
13702         (acc_deviceptr): Likewise.
13703         (acc_hostptr): Likewise.
13704         (acc_is_present): Likewise.
13705         (acc_map_data): Likewise.
13706         (acc_unmap_data): Likewise.
13707         (present_create_copy): Likewise.
13708         (delete_copyout): Likewise.
13709         (update_dev_host): Likewise.
13710         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
13711         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
13712         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
13713         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13714         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
13715         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
13716         it only runs on nvptx targets.
13717         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13718         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13719         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13720         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13721         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13722         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13723         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13724         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13725         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13726         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13727         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13728         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13729         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13730         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13731         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13732         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13733         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13734         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13735         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13736         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13737         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13738         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13739         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13741 2016-05-23  Martin Jambor  <mjambor@suse.cz>
13743         * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
13745 2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
13747         * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
13748         to gomp_init_targets_once.
13749         (acc_set_device_type): Remove !cached_base_dev condition on call to
13750         gomp_init_targets_once, move call to before acc_device_lock acquire,
13751         to avoid deadlock.
13752         (acc_get_device_num): Remove !cached_base_dev condition on call to
13753         gomp_init_targets_once.
13754         (acc_set_device_num): Likewise.
13756 2016-05-16  Martin Jambor  <mjambor@suse.cz>
13758         * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
13760 2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
13762         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
13763         expected partitioning.
13765 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
13767         PR middle-end/70626
13768         * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
13769         * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
13770         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
13772 2016-04-21  Alexander Monakov  <amonakov@ispras.ru>
13774         * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
13775         non-fatal.
13777 2016-04-19  Jakub Jelinek  <jakub@redhat.com>
13779         PR middle-end/70680
13780         * testsuite/libgomp.c/pr70680-1.c: New test.
13781         * testsuite/libgomp.c/pr70680-2.c: New test.
13783 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
13785         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
13786         pass parameter variables to subroutines.
13788 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
13790         PR middle-end/70643
13791         * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
13793 2016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
13795         PR testsuite/68242
13796         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
13797         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13799 2016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
13801         * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
13802         GOACC_parallel_keyed, restore GOACC_parallel prototype, new
13803         GOACC_declare prototype.
13805         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
13806         Merge this file, and...
13807         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
13808         ... this file, and...
13809         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
13810         ... this file, and...
13811         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
13812         ... this file, and...
13813         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
13814         ... this file, and...
13815         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
13816         ... this file, and...
13817         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
13818         ... this file, and...
13819         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
13820         ... this file, and...
13821         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
13822         ... this file, and...
13823         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
13824         ... this file, and...
13825         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
13826         ... this file, and...
13827         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
13828         ... this file, and...
13829         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
13830         ... this file into...
13831         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
13832         file.
13834         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
13835         Make failure observable.
13837 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
13839         * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
13840         field.
13841         * target.c (gomp_target_fallback_firstprivate,
13842         gomp_target_unshare_firstprivate): Removed.
13843         (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
13844         before waiting for dependencies.
13845         (gomp_target_task_fn): Don't copy firstprivate vars here.
13846         * task.c (GOMP_PLUGIN_target_task_completion): Don't free
13847         firstprivate_copies here.
13848         (gomp_create_target_task): Don't initialize firstprivate_copies field.
13849         * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
13850         explicit/implicit firstprivate.
13852 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
13854         PR lto/70289
13855         PR ipa/70348
13856         PR tree-optimization/70373
13857         PR middle-end/70533
13858         PR middle-end/70534
13859         PR middle-end/70535
13860         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
13861         test.
13862         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
13863         test.
13864         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
13865         test.
13866         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
13867         test.
13868         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
13869         test.
13870         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
13871         test.
13872         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
13873         test.
13874         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
13875         test.
13876         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
13877         test.
13878         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
13879         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
13880         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
13881         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
13882         test.
13883         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
13884         test.
13885         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
13886         test.
13887         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
13888         test.
13889         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
13890         coverage.
13891         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13892         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
13893         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
13894         * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
13895         * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
13896         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
13897         coverage.
13898         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13899         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13900         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13901         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13902         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
13903         * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
13904         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
13905         * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
13906         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
13907         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13908         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13909         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13910         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13911         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13912         * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
13914 2016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
13915             James Norris  <jnorris@codesourcery.com>
13916             Nathan Sidwell  <nathan@codesourcery.com>
13917             Julian Brown  <julian@codesourcery.com>
13918             Cesar Philippidis  <cesar@codesourcery.com>
13919             Chung-Lin Tang  <cltang@codesourcery.com>
13920             Tom de Vries  <tom@codesourcery.com>
13922         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
13923         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13924         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13925         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
13926         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13927         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13928         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13929         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
13930         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13931         XFAIL.
13932         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
13933         Incorporate...
13934         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
13935         file.
13936         * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
13937         * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
13938         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
13939         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
13940         Likewise.
13941         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
13942         Likewise.
13943         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13944         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
13945         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
13946         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
13947         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
13948         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
13949         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
13950         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
13951         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
13952         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
13953         Likewise.
13954         * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
13955         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
13956         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
13957         file...
13958         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
13959         file into...
13960         * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
13961         file.  Update.
13962         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
13963         file.
13964         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
13965         Likewise.
13966         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
13967         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
13968         ... this new file.  Update.
13969         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
13970         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
13971         ... this new file.  Update.
13972         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
13973         file.  Incorporate...
13974         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
13975         file, and...
13976         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
13977         file, and...
13978         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
13979         file.
13980         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
13982 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
13984         * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
13985         set-torture-options.
13987 2016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
13989         * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
13990         gcc-dg-runtest.
13991         * testsuite/libgomp.oacc-c/c.exp: Likewise.
13992         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
13993         -fno-builtin-acc_on_device instead of -O0.
13994         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
13995         -O0.
13996         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13997         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
13998         Likewise.
13999         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
14000         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
14001         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
14002         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
14003         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
14004         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
14005         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
14006         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
14007         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14008         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
14009         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
14010         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
14011         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
14012         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
14013         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
14014         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
14015         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
14016         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
14017         Don't specify -O2.
14018         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
14019         Likewise.
14020         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
14021         Likewise.
14023 2016-03-24  Martin Liska  <mliska@suse.cz>
14025         * plugin/plugin-hsa.c (packet_store_release): New function
14026         that is taken from the HSA runtime manual.
14027         (GOMP_OFFLOAD_run): Use the function.
14029 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
14031         PR c++/70376
14032         * testsuite/libgomp.c++/pr70376.C: New test.
14034 2016-03-23  Tom de Vries  <tom@codesourcery.com>
14036         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
14037         initialization of lresult and lvresult.
14038         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
14040 2016-03-23  James Norris  <jnorris@codesourcery.com>
14041             Daichi Fukuoka <dc-fukuoka@sgi.com>
14043         PR libgomp/69414
14044         * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
14045         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
14046         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
14047         * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
14049 2016-03-23  Martin Liska  <mliska@suse.cz>
14051         PR hsa/70337
14052         * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
14053         argument just in case a dispatched kernel uses that argument.
14055 2016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
14057         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
14058         -ftree-parallelize-loops/-fopenacc changes.
14059         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
14060         Likewise.
14061         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
14062         Likewise.
14063         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
14064         Likewise.
14065         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
14066         Likewise.
14067         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
14068         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
14070 2016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
14072         * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
14073         always_ld_library_path the path to libgcc_s.
14075 2016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
14077         PR testsuite/70009
14078         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
14080 2016-03-09  Tom de Vries  <tom@codesourcery.com>
14082         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
14083         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
14084         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
14085         Same.
14086         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
14087         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
14088         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
14089         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
14091 2016-03-07  Martin Jambor  <mjambor@suse.cz>
14093         * testsuite/lib/libgomp.exp
14094         (check_effective_target_hsa_offloading_selected_nocache): New.
14095         (check_effective_target_hsa_offloading_selected): Likewise.
14096         * testsuite/libgomp.hsa.c/c.exp: Likewise.
14097         * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
14098         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
14099         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
14100         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
14101         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
14102         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
14103         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
14104         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
14105         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
14106         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
14107         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
14108         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
14109         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
14110         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
14111         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
14112         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
14114 2016-03-07  Martin Jambor  <mjambor@suse.cz>
14116         * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
14117         non-shared memory accelerators.
14118         * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
14119         * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
14120         * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
14121         * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
14122         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
14123         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
14124         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
14125         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
14126         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
14128 2016-03-07  Martin Jambor  <mjambor@suse.cz>
14130         * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
14131         ALWAYS_CFLAGS.
14133 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
14135         PR libgomp/69555
14136         * testsuite/libgomp.c++/pr69555-1.C: New test.
14137         * testsuite/libgomp.c++/pr69555-2.C: New test.
14139 2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
14140             Martin Jambor  <mjambor@suse.cz>
14142         * testsuite/lib/libgomp.exp
14143         (check_effective_target_offload_device_shared_as): New proc.
14144         * testsuite/libgomp.c++/declare_target-1.C: New test.
14146 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
14148         PR driver/68463
14149         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
14151 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
14153         * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
14154         * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
14155         dims.
14156         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
14157         -ftree-parallelize-loops/-fopenacc changes.
14158         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
14159         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
14160         Likewise.
14161         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
14162         Likewise.
14163         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
14164         Likewise.
14165         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
14166         Likewise.
14167         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
14168         Likewise.
14169         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
14170         Likewise.
14171         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
14172         Likewise.
14173         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
14174         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
14175         Likewise.
14176         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
14177         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
14178         Likewise.
14179         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
14180         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
14181         Likewise.
14183 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
14185         * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
14187 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
14189         PR driver/69805
14190         * testsuite/libgomp.c/pr69805.c: New test.
14192 2016-02-16  Tom de Vries  <tom@codesourcery.com>
14194         PR lto/67709
14195         * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
14197 2016-02-09  Tom de Vries  <tom@codesourcery.com>
14199         PR tree-optimization/69599
14200         * testsuite/libgomp.c/omp-nested-3.c: New test.
14201         * testsuite/libgomp.c/pr46032-2.c: New test.
14202         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
14203         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
14205 2016-02-09  Tom de Vries  <tom@codesourcery.com>
14207         PR lto/69707
14208         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
14210 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
14212         * testsuite/libgomp.c/target-31.c: Fix testcase.
14214 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
14216         * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
14217         clause.
14218         * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
14219         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
14220         reduction and map clauses.
14221         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
14223 2016-02-02  James Norris  <jnorris@codesourcery.com>
14225         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
14227 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
14229         * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
14230         * oacc-parallel.c (GOACC_host_data): Remove function definition.
14232         * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
14233         cases.
14235         * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
14236         variables.
14237         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
14238         (hsa_kmt_lib): Set variables.
14239         * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
14240         always_ld_library_path.
14241         * Makefile.in: Regenerate.
14242         * configure: Likewise.
14243         * testsuite/Makefile.in: Likewise.
14245         * plugin/configfrag.ac (offload_additional_options)
14246         (offload_additional_lib_paths): Don't amend for hsa offloading.
14247         * configure: Regenerate.
14249         * plugin/configfrag.ac: Don't configure for offloading target if
14250         we don't build the corresponding plugin.
14251         * configure: Regenerate.
14253 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
14255         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
14256         * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
14258 2016-01-26  Tom de Vries  <tom@codesourcery.com>
14260         PR tree-optimization/69110
14261         * testsuite/libgomp.c/pr69110.c: New test.
14263 2016-01-25  Richard Biener  <rguenther@suse.de>
14265         PR lto/69393
14266         * testsuite/libgomp.c++/pr69393.C: New testcase.
14268 2016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
14270         * target.c (gomp_get_target_fn_addr): Allow host fallback if target
14271         function wasn't mapped to the device with non-shared memory.
14273 2016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
14275         * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
14277 2016-01-19  Martin Jambor  <mjambor@suse.cz>
14278             Martin Liska  <mliska@suse.cz>
14280         * plugin/Makefrag.am: Add HSA plugin requirements.
14281         * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
14282         (HSA_RUNTIME_LIB): Likewise.
14283         (HSA_RUNTIME_CPPFLAGS): Likewise.
14284         (HSA_RUNTIME_INCLUDE): New substitution.
14285         (HSA_RUNTIME_LIB): Likewise.
14286         (HSA_RUNTIME_LDFLAGS): Likewise.
14287         (hsa-runtime): New configure option.
14288         (hsa-runtime-include): Likewise.
14289         (hsa-runtime-lib): Likewise.
14290         (PLUGIN_HSA): New substitution variable.
14291         Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
14292         configure options.
14293         (PLUGIN_HSA_CPPFLAGS): Likewise.
14294         (PLUGIN_HSA_LDFLAGS): Likewise.
14295         (PLUGIN_HSA_LIBS): Likewise.
14296         Check that we have access to HSA run-time.
14297         * libgomp-plugin.h (offload_target_type): New element
14298         OFFLOAD_TARGET_TYPE_HSA.
14299         * libgomp.h (gomp_target_task): New fields firstprivate_copies and
14300         args.
14301         (bool gomp_create_target_task): Updated.
14302         (gomp_device_descr): Extra parameter of run_func and async_run_func,
14303         new field can_run_func.
14304         * libgomp_g.h (GOMP_target_ext): Update prototype.
14305         * oacc-host.c (host_run): Added a new parameter args.
14306         * target.c (calculate_firstprivate_requirements): New function.
14307         (copy_firstprivate_data): Likewise.
14308         (gomp_target_fallback_firstprivate): Use them.
14309         (gomp_target_unshare_firstprivate): New function.
14310         (gomp_get_target_fn_addr): Allow returning NULL for shared memory
14311         devices.
14312         (GOMP_target): Do host fallback for all shared memory devices.  Do not
14313         pass any args to plugins.
14314         (GOMP_target_ext): Introduce device-specific argument parameter args.
14315         Allow host fallback if device shares memory.  Do not remap data if
14316         device has shared memory.
14317         (gomp_target_task_fn): Likewise.  Also treat shared memory devices
14318         like host fallback for mappings.
14319         (GOMP_target_data): Treat shared memory devices like host fallback.
14320         (GOMP_target_data_ext): Likewise.
14321         (GOMP_target_update): Likewise.
14322         (GOMP_target_update_ext): Likewise.  Also pass NULL as args to
14323         gomp_create_target_task.
14324         (GOMP_target_enter_exit_data): Likewise.
14325         (omp_target_alloc): Treat shared memory devices like host fallback.
14326         (omp_target_free): Likewise.
14327         (omp_target_is_present): Likewise.
14328         (omp_target_memcpy): Likewise.
14329         (omp_target_memcpy_rect): Likewise.
14330         (omp_target_associate_ptr): Likewise.
14331         (gomp_load_plugin_for_device): Also load can_run.
14332         * task.c (GOMP_PLUGIN_target_task_completion): Free
14333         firstprivate_copies.
14334         (gomp_create_target_task): Accept new argument args and store it to
14335         ttask.
14336         * plugin/plugin-hsa.c: New file.
14338 2016-01-18  Tom de Vries  <tom@codesourcery.com>
14340         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
14341         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
14342         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
14343         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
14344         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
14345         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
14346         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
14347         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
14348         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
14349         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
14350         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
14351         Same.
14352         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
14353         Same.
14354         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
14355         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
14356         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
14357         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
14358         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
14359         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
14360         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
14361         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
14362         Same.
14363         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
14365 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
14367         * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
14369 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
14371         * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
14373 2016-01-12  James Norris  <jnorris@codesourcery.com>
14375         * libgomp.texi: Updates for OpenACC.
14377 2016-01-11  Alexander Monakov  <amonakov@ispras.ru>
14379         * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
14381 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
14383         PR fortran/66680
14384         * testsuite/libgomp.fortran/pr66680.f90: New test.
14386 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
14388         PR middle-end/68960
14389         * testsuite/libgomp.c/pr68960.c: New test.
14391 2016-01-06  Nathan Sidwell  <nathan@acm.org>
14393         * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
14394         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
14396 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
14398         Update copyright years.
14400         * libgomp.texi: Bump @copying's copyright year.
14402 2015-12-31  Nathan Sidwell  <nathan@acm.org>
14404         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
14405         dg-additional-options syntax.
14406         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
14407         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
14408         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
14409         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
14410         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
14411         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
14412         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
14413         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
14414         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
14415         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
14416         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
14417         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
14418         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
14419         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
14420         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
14421         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
14422         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
14423         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
14425 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
14427         * libgomp.h (REFCOUNT_LINK): Define.
14428         (struct splay_tree_key_s): Add link_key.
14429         * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
14430         Replace target address of the pointer with target address of newly
14431         mapped object in the splay tree.  Set link pointer on target to the
14432         device address of the mapped object.
14433         (gomp_unmap_vars): Restore target address of the pointer in the splay
14434         tree for REFCOUNT_LINK objects after unmapping.
14435         (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
14436         declare target link" objects.
14437         (gomp_unload_image_from_device): Replace j with i.  Force unmap of all
14438         "omp declare target link" objects, which were mapped for the image.
14439         (gomp_exit_data): Restore target address of the pointer in the splay
14440         tree for REFCOUNT_LINK objects after unmapping.
14441         * testsuite/libgomp.c/target-link-1.c: New file.
14443 2015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
14445         * libgomp.h (gomp_device_state): New enum.
14446         (struct gomp_device_descr): Replace is_initialized with state.
14447         (gomp_fini_device): Remove declaration.
14448         * oacc-host.c (host_dispatch): Use state instead of is_initialized.
14449         * oacc-init.c (acc_init_1): Use state instead of is_initialized.
14450         (acc_shutdown_1): Likewise.  Inline gomp_fini_device.
14451         (acc_set_device_type): Use state instead of is_initialized.
14452         (acc_set_device_num): Likewise.
14453         * target.c (resolve_device): Use state instead of is_initialized.
14454         Do not initialize finalized device.
14455         (gomp_map_vars): Do nothing if device is finalized.
14456         (gomp_unmap_vars): Likewise.
14457         (gomp_update): Likewise.
14458         (GOMP_offload_register_ver): Use state instead of is_initialized.
14459         (GOMP_offload_unregister_ver): Likewise.
14460         (gomp_init_device): Likewise.
14461         (gomp_unload_device): Likewise.
14462         (gomp_fini_device): Remove.
14463         (gomp_get_target_fn_addr): Do nothing if device is finalized.
14464         (GOMP_target): Go to host fallback if device is finalized.
14465         (GOMP_target_ext): Likewise.
14466         (gomp_exit_data): Do nothing if device is finalized.
14467         (gomp_target_task_fn): Go to host fallback if device is finalized.
14468         (gomp_target_fini): New static function.
14469         (gomp_target_init): Use state instead of is_initialized.
14470         Call gomp_target_fini at exit.
14472 2015-12-09  Tom de Vries  <tom@codesourcery.com>
14474         PR tree-optimization/68716
14475         * testsuite/libgomp.c/omp-nested-2.c: New test.
14477 2015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
14479         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
14480         target openacc_nvidia_accel_selected.
14481         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
14482         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
14483         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
14484         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
14486 2015-12-01  Julian Brown  <julian@codesourcery.com>
14487             James Norris  <James_Norris@mentor.com>
14489         * oacc-parallel.c (GOACC_host_data): New function.
14490         * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
14491         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
14492         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
14493         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
14494         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
14495         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
14496         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
14498 2015-11-30  James Norris  <jnorris@codesourcery.com>
14499             Cesar Philippidis  <cesar@codesourcery.com>
14501         libgomp/
14502         * libgomp.oacc-fortran/routine-5.f90: New test.
14503         * libgomp.oacc-fortran/routine-7.f90: New test.
14504         * libgomp.oacc-fortran/routine-9.f90: New test.
14506 2015-11-30  Tom de Vries  <tom@codesourcery.com>
14508         PR tree-optimization/46032
14509         * testsuite/libgomp.c/pr46032.c: New test.
14511 2015-11-27  Jakub Jelinek  <jakub@redhat.com>
14513         PR libgomp/68579
14514         * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
14515         (gomp_create_target_task): Call it before freeing
14516         GOMP_TARGET_TASK_DATA tasks.
14518         PR c/63326
14519         * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
14520         in between case label and OpenMP standalone directives.
14521         * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
14523 2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
14525         * configure: Regenerate.
14527 2015-11-26  Jakub Jelinek  <jakub@redhat.com>
14529         * testsuite/libgomp.c/target-35.c: New test.
14531 2015-11-22  James Norris  <jnorris@codesourcery.com>
14532             Cesar Philippidis  <cesar@codesourcery.com>
14534         * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
14535         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
14536         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
14537         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
14538         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
14540 2015-11-20  Jakub Jelinek  <jakub@redhat.com>
14542         PR middle-end/68221
14543         * testsuite/libgomp.c/reduction-11.c: Remove xfail.
14544         * testsuite/libgomp.c/reduction-12.c: Likewise.
14545         * testsuite/libgomp.c++/reduction-11.C: Likewise.
14546         * testsuite/libgomp.c++/reduction-12.C: Likewise.
14548 2015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
14550         * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
14551         * libgomp.oacc-c-c++-common/reduction-flt.c: New.
14552         * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
14553         * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
14554         * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
14555         and fix.
14556         * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14557         * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14559 2015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
14561         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
14562         worker & gang cases.
14563         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
14565 2015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
14567         * config/nvptx/priority_queue.c: New file.
14569 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
14571         * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
14572         sections.
14574 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
14575             Aldy Hernandez  <aldyh@redhat.com>
14576             Ilya Verbin  <ilya.verbin@intel.com>
14578         * ordered.c (gomp_doacross_init, GOMP_doacross_post,
14579         GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
14580         GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
14581         iterators or IV by chunk size.
14582         * parallel.c (gomp_resolve_num_threads): Don't assume that
14583         if thr->ts.team is non-NULL, then pool must be non-NULL.
14584         * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
14585         * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
14586         GOMP_PLUGIN_target_task_completion.
14587         * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
14588         * Makefile.in: Regenerate.
14589         * libgomp.h: Shuffle prototypes and forward definitions around so
14590         priority queues can be defined.
14591         (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
14592         (enum gomp_target_task_state): New enum.
14593         (struct gomp_target_task): Add state, tgt, task and team fields.
14594         (gomp_create_target_task): Change return type to bool, add
14595         state argument.
14596         (gomp_target_task_fn): Change return type to bool.
14597         (struct gomp_device_descr): Add async_run_func.
14598         (struct gomp_task): Remove children, next_child, prev_child,
14599         next_queue, prev_queue, next_taskgroup, prev_taskgroup.
14600         Add pnode field.
14601         (struct gomp_taskgroup): Remove children.
14602         Add taskgroup_queue.
14603         (struct gomp_team): Change task_queue type to a priority queue.
14604         (splay_compare): Define inline.
14605         (priority_queue_offset): New.
14606         (priority_node_to_task): New.
14607         (task_to_priority_node): New.
14608         * oacc-mem.c: Do not include splay-tree.h.
14609         * priority_queue.c: New file.
14610         * priority_queue.h: New file.
14611         * splay-tree.c: Do not include splay-tree.h.
14612         (splay_tree_foreach_internal): New.
14613         (splay_tree_foreach): New.
14614         * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
14615         (splay_tree_callback): Define typedef.
14616         * target.c (splay_compare): Move to libgomp.h.
14617         (GOMP_target): Don't adjust *thr in any way around running offloaded
14618         task.
14619         (GOMP_target_ext): Likewise.  Handle target nowait.
14620         (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
14621         return value from gomp_create_target_task, if false, fallthrough
14622         as if no dependencies exist.
14623         (gomp_target_task_fn): Change return type to bool, return true
14624         if the task should have another part scheduled later.  Handle
14625         target nowait.
14626         (gomp_load_plugin_for_device): Initialize async_run.
14627         * task.c (gomp_init_task): Initialize children_queue.
14628         (gomp_clear_parent_in_list): New.
14629         (gomp_clear_parent_in_tree): New.
14630         (gomp_clear_parent): Handle priorities.
14631         (GOMP_task): Likewise.
14632         (priority_queue_move_task_first,
14633         gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
14634         New functions.
14635         (gomp_create_target_task): Use priority queues.  Change return type
14636         to bool, add state argument, return false if for async
14637         {{enter,exit} data,update} constructs no dependencies need to be
14638         waited for, handle target nowait.  Set task->fn to NULL instead of
14639         gomp_target_task_fn.
14640         (verify_children_queue): Remove.
14641         (priority_list_upgrade_task): New.
14642         (priority_queue_upgrade_task): New.
14643         (verify_task_queue): Remove.
14644         (priority_list_downgrade_task): New.
14645         (priority_queue_downgrade_task): New.
14646         (gomp_task_run_pre): Use priority queues.
14647         Abstract code out to priority_queue_downgrade_task.
14648         (gomp_task_run_post_handle_dependers): Use priority queues.
14649         (gomp_task_run_post_remove_parent): Likewise.
14650         (gomp_task_run_post_remove_taskgroup): Likewise.
14651         (gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
14652         tasks specially.
14653         (GOMP_taskwait): Likewise.
14654         (gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
14655         priority-queue_upgrade_task.
14656         (GOMP_taskgroup_start): Use priority queues.
14657         (GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
14658         specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
14659         barrier.
14660         * taskloop.c (GOMP_taskloop): Handle priorities.
14661         * team.c (gomp_new_team): Call priority_queue_init.
14662         (free_team): Call priority_queue_free.
14663         (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
14664         team created for target nowait in implicit parallel region.
14665         (gomp_team_start): For nested check, test thr->ts.level instead of
14666         thr->ts.team != NULL.
14667         * testsuite/libgomp.c/doacross-3.c: New test.
14668         * testsuite/libgomp.c/ordered-5.c: New test.
14669         * testsuite/libgomp.c/priority.c: New test.
14670         * testsuite/libgomp.c/target-31.c: New test.
14671         * testsuite/libgomp.c/target-32.c: New test.
14672         * testsuite/libgomp.c/target-33.c: New test.
14673         * testsuite/libgomp.c/target-34.c: New test.
14675 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
14677         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
14679         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
14680         loop is sequential.
14682 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
14684         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
14685         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
14687 2015-11-12  James Norris  <jnorris@codesourcery.com>
14688             Joseph Myers  <joseph@codesourcery.com>
14690         * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
14691         * oacc-parallel.c (GOACC_declare): New function.
14692         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
14693         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
14694         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
14695         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
14696         * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
14698 2015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
14700         * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
14702 2015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
14704         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
14705         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
14707 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
14709         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
14710         inadvertent commit.
14712 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
14714         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
14715         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
14716         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
14717         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
14718         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
14720 2015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
14722         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
14723         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14725 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
14726             Ilya Verbin  <ilya.verbin@intel.com>
14728         * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
14729         GOMP_loop_nonmonotonic_dynamic_start,
14730         GOMP_loop_nonmonotonic_guided_next,
14731         GOMP_loop_nonmonotonic_guided_start,
14732         GOMP_loop_ull_nonmonotonic_dynamic_next,
14733         GOMP_loop_ull_nonmonotonic_dynamic_start,
14734         GOMP_loop_ull_nonmonotonic_guided_next,
14735         GOMP_loop_ull_nonmonotonic_guided_start,
14736         GOMP_parallel_loop_nonmonotonic_dynamic,
14737         GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
14738         (GOMP_target_41): Renamed to ...
14739         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
14740         arguments.
14741         (GOMP_target_data_41): Renamed to ...
14742         (GOMP_target_data_ext): ... this.
14743         (GOMP_target_update_41): Renamed to ...
14744         (GOMP_target_update_ext): ... this.
14745         * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
14746         GOMP_target_data_ext and GOMP_target_update_ext instead of
14747         GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
14748         Export GOMP_loop_nonmonotonic_dynamic_next,
14749         GOMP_loop_nonmonotonic_dynamic_start,
14750         GOMP_loop_nonmonotonic_guided_next,
14751         GOMP_loop_nonmonotonic_guided_start,
14752         GOMP_loop_ull_nonmonotonic_dynamic_next,
14753         GOMP_loop_ull_nonmonotonic_dynamic_start,
14754         GOMP_loop_ull_nonmonotonic_guided_next,
14755         GOMP_loop_ull_nonmonotonic_guided_start,
14756         GOMP_parallel_loop_nonmonotonic_dynamic and
14757         GOMP_parallel_loop_nonmonotonic_guided.
14758         * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
14759         GOMP_parallel_loop_nonmonotonic_guided,
14760         GOMP_loop_nonmonotonic_dynamic_start,
14761         GOMP_loop_nonmonotonic_guided_start,
14762         GOMP_loop_nonmonotonic_dynamic_next,
14763         GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
14764         * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
14765         GOMP_loop_ull_nonmonotonic_guided_start,
14766         GOMP_loop_ull_nonmonotonic_dynamic_next,
14767         GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
14768         * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
14769         functions.
14770         (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
14771         GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
14772         Use gomp_map_val function.
14773         (gomp_target_fallback_firstprivate): New static function.
14774         (GOMP_target_41): Renamed to ...
14775         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
14776         arguments.  Move firstprivate fallback handling into a new
14777         function.
14778         (GOMP_target_data_41): Renamed to ...
14779         (GOMP_target_data_ext): ... this.
14780         (GOMP_target_update_41): Renamed to ...
14781         (GOMP_target_update_ext): ... this.
14782         (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
14783         gomp_map_0len_lookup instead of gomp_map_lookup.
14784         (omp_target_is_present): Use gomp_map_0len_lookup instead of
14785         gomp_map_lookup.
14786         * testsuite/libgomp.c/target-28.c: Likewise.
14787         * testsuite/libgomp.c/monotonic-1.c: New test.
14788         * testsuite/libgomp.c/monotonic-2.c: New test.
14789         * testsuite/libgomp.c/nonmonotonic-1.c: New test.
14790         * testsuite/libgomp.c/nonmonotonic-2.c: New test.
14791         * testsuite/libgomp.c/pr66199-5.c: New test.
14792         * testsuite/libgomp.c/pr66199-6.c: New test.
14793         * testsuite/libgomp.c/pr66199-7.c: New test.
14794         * testsuite/libgomp.c/pr66199-8.c: New test.
14795         * testsuite/libgomp.c/pr66199-9.c: New test.
14796         * testsuite/libgomp.c/reduction-11.c: New test.
14797         * testsuite/libgomp.c/reduction-12.c: New test.
14798         * testsuite/libgomp.c/reduction-13.c: New test.
14799         * testsuite/libgomp.c/reduction-14.c: New test.
14800         * testsuite/libgomp.c/reduction-15.c: New test.
14801         * testsuite/libgomp.c/target-12.c (main): Adjust for
14802         omp_target_is_present change for one-past-last element.
14803         * testsuite/libgomp.c/target-17.c (foo): Drop tests where
14804         the same var is both mapped and privatized.
14805         * testsuite/libgomp.c/target-19.c (foo): Adjust for different
14806         handling of zero-length array sections.
14807         * testsuite/libgomp.c/target-28.c: New test.
14808         * testsuite/libgomp.c/target-29.c: New test.
14809         * testsuite/libgomp.c/target-30.c: New test.
14810         * testsuite/libgomp.c/target-teams-1.c: New test.
14811         * testsuite/libgomp.c++/member-6.C: New test.
14812         * testsuite/libgomp.c++/member-7.C: New test.
14813         * testsuite/libgomp.c++/monotonic-1.C: New test.
14814         * testsuite/libgomp.c++/monotonic-2.C: New test.
14815         * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
14816         * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
14817         * testsuite/libgomp.c++/pr66199-3.C: New test.
14818         * testsuite/libgomp.c++/pr66199-4.C: New test.
14819         * testsuite/libgomp.c++/pr66199-5.C: New test.
14820         * testsuite/libgomp.c++/pr66199-6.C: New test.
14821         * testsuite/libgomp.c++/pr66199-7.C: New test.
14822         * testsuite/libgomp.c++/pr66199-8.C: New test.
14823         * testsuite/libgomp.c++/pr66199-9.C: New test.
14824         * testsuite/libgomp.c++/reduction-11.C: New test.
14825         * testsuite/libgomp.c++/reduction-12.C: New test.
14826         * testsuite/libgomp.c++/target-13.C: New test.
14827         * testsuite/libgomp.c++/target-14.C: New test.
14828         * testsuite/libgomp.c++/target-15.C: New test.
14829         * testsuite/libgomp.c++/target-16.C: New test.
14830         * testsuite/libgomp.c++/target-17.C: New test.
14831         * testsuite/libgomp.c++/target-18.C: New test.
14832         * testsuite/libgomp.c++/target-19.C: New test.
14834 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
14836         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
14837         and reduction copy.
14838         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
14839         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
14840         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
14841         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14842         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
14843         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14844         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
14845         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14846         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14847         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
14848         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
14849         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
14850         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
14851         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
14853 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
14855         * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
14856         * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
14857         * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
14858         * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
14859         * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
14860         * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
14861         * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
14862         * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
14864 2015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
14866         * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
14867         * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
14868         (GOMP_OFFLOAD_openacc_parallel): Likewise.
14869         * oacc-host.c (host_openacc_exec): Likewise.
14870         * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
14872 2015-11-03  Julian Brown  <julian@codesourcery.com>
14873             Thomas Schwinge  <thomas@codesourcery.com>
14875         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
14876         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14877         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
14878         Likewise.
14879         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
14880         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
14882 2015-11-03  James Norris  <jnorris@codesourcery.com>
14884         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
14885         file.
14886         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
14887         Likewise.
14888         * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
14889         * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
14890         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
14891         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
14892         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
14894 2015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
14896         * openacc.h (enum acc_device_t): Reformat. Ensure layout
14897         compatibility.
14898         (enum acc_async_t): Reformat.
14899         (acc_on_device): Declare compatible with builtin and provide C++
14900         wrapper.
14901         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
14903 2015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
14904             Cesar Philippidis  <cesar@codesourcery.com>
14906         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
14907         * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
14908         ... this.  Add a description of the test at the top of the file.
14909         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
14910         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
14911         ... this.  Add a description of the test at the top of the file.
14913 2015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
14915         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14916         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
14917         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
14918         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
14919         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
14920         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
14922 2015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
14924         * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
14925         dimensions.
14927 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
14929         PR testsuite/68063
14930         * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
14932 2015-10-27  James Norris  <jnorris@codesourcery.com>
14934         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
14935         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
14937 2015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
14939         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
14940         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14942         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
14943         acc_device_nvidia usage.
14944         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
14945         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14946         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
14948         * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
14949         * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
14951         PR libgomp/66518
14952         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
14954         PR libgomp/65437
14955         PR libgomp/66518
14956         * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
14957         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
14959 2015-10-23  Tom de Vries  <tom@codesourcery.com>
14961         PR testsuite/68063
14962         * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
14964 2015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
14966         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
14967         vector_length.
14968         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14970 2015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
14971             Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
14973         * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
14974         to 0 when mapnum is 0.
14976 2015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14978         * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
14979         Cast to int from int32_t.
14981 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
14982             Aldy Hernandez  <aldyh@redhat.com>
14983             Ilya Verbin  <ilya.verbin@intel.com>
14985         * config/linux/affinity.c (omp_get_place_num_procs,
14986         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14987         * config/linux/doacross.h: New file.
14988         * config/posix/affinity.c (omp_get_place_num_procs,
14989         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14990         * config/posix/doacross.h: New file.
14991         * env.c: Include gomp-constants.h.
14992         (struct gomp_task_icv): Rename run_sched_modifier to
14993         run_sched_chunk_size.
14994         (gomp_max_task_priority_var): New variable.
14995         (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
14996         (handle_omp_display_env): Change _OPENMP value from 201307 to
14997         201511.  Print OMP_MAX_TASK_PRIORITY.
14998         (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
14999         (omp_set_schedule, omp_get_schedule): Rename modifier argument to
15000         chunk_size and run_sched_modifier to run_sched_chunk_size.
15001         (omp_get_max_task_priority, omp_get_initial_device,
15002         omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
15003         omp_get_partition_place_nums): New functions.
15004         * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
15005         omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
15006         to chunk_size.
15007         (omp_get_num_places_, omp_get_place_num_procs_,
15008         omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
15009         omp_get_place_proc_ids_8_, omp_get_place_num_,
15010         omp_get_partition_num_places_, omp_get_partition_place_nums_,
15011         omp_get_partition_place_nums_8_, omp_get_initial_device_,
15012         omp_get_max_task_priority_): New functions.
15013         * libgomp_g.h (GOMP_loop_doacross_static_start,
15014         GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
15015         GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
15016         GOMP_loop_ull_doacross_dynamic_start,
15017         GOMP_loop_ull_doacross_guided_start,
15018         GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
15019         GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
15020         GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
15021         GOMP_target_data_41, GOMP_target_update_41,
15022         GOMP_target_enter_exit_data): New prototypes.
15023         (GOMP_task): Add prototype argument.
15024         * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
15025         (struct gomp_doacross_work_share): New type.
15026         (struct gomp_work_share): Add doacross field.
15027         (struct gomp_task_icv): Rename run_sched_modifier to
15028         run_sched_chunk_size.
15029         (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
15030         GOMP_TASK_UNDEFERRED.  Add comments.
15031         (struct gomp_task_depend_entry): Add comments.
15032         (struct gomp_task): Likewise.
15033         (struct gomp_taskgroup): Likewise.
15034         (struct gomp_target_task): New type.
15035         (struct gomp_team): Add comment.
15036         (gomp_get_place_proc_ids_8, gomp_doacross_init,
15037         gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
15038         gomp_create_target_task, gomp_target_task_fn): New prototypes.
15039         (struct target_var_desc): New type.
15040         (struct target_mem_desc): Adjust comment.  Use struct
15041         target_var_desc instead of splay_tree_key for list.
15042         (REFCOUNT_INFINITY): Define.
15043         (struct splay_tree_key_s): Remove copy_from field.
15044         (struct gomp_device_descr): Add dev2dev_func field.
15045         (enum gomp_map_vars_kind): New enum.
15046         (gomp_map_vars): Add one argument.
15047         * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
15048         omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
15049         omp_get_place_num_procs, omp_get_place_num_procs_,
15050         omp_get_place_num_procs_8_, omp_get_place_proc_ids,
15051         omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
15052         omp_get_place_num_, omp_get_partition_num_places,
15053         omp_get_partition_num_places_, omp_get_partition_place_nums,
15054         omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
15055         omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
15056         omp_target_free, omp_target_is_present, omp_target_memcpy,
15057         omp_target_memcpy_rect, omp_target_associate_ptr and
15058         omp_target_disassociate_ptr.
15059         (GOMP_4.0.2): Renamed to ...
15060         (GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
15061         GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
15062         GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
15063         GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
15064         GOMP_loop_doacross_static_start, GOMP_doacross_post,
15065         GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
15066         GOMP_loop_ull_doacross_guided_start,
15067         GOMP_loop_ull_doacross_runtime_start,
15068         GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
15069         GOMP_doacross_ull_wait.
15070         * libgomp.texi: Document omp_get_max_task_priority.
15071         Rename modifier argument to chunk_size for omp_set_schedule and
15072         omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
15073         * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
15074         to run_sched_chunk_size renaming.
15075         (GOMP_loop_ordered_runtime_start): Likewise.
15076         (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
15077         gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
15078         GOMP_parallel_loop_runtime_start): New functions.
15079         (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
15080         to run_sched_chunk_size renaming.
15081         (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
15082         GOMP_loop_doacross_guided_start): New functions or aliases.
15083         * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
15084         run_sched_modifier to run_sched_chunk_size renaming.
15085         (GOMP_loop_ull_ordered_runtime_start): Likewise.
15086         (gomp_loop_ull_doacross_static_start,
15087         gomp_loop_ull_doacross_dynamic_start,
15088         gomp_loop_ull_doacross_guided_start,
15089         GOMP_loop_ull_doacross_runtime_start): New functions.
15090         (GOMP_loop_ull_doacross_static_start,
15091         GOMP_loop_ull_doacross_dynamic_start,
15092         GOMP_loop_ull_doacross_guided_start): New functions or aliases.
15093         * oacc-mem.c (acc_map_data, present_create_copy,
15094         gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
15095         to gomp_map_vars.
15096         (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
15097         * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
15098         instead of false to gomp_map_vars.
15099         (GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
15100         * omp.h.in (omp_lock_hint_t): New type.
15101         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
15102         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
15103         omp_get_place_num, omp_get_partition_num_places,
15104         omp_get_partition_place_nums, omp_get_initial_device,
15105         omp_get_max_task_priority, omp_target_alloc, omp_target_free,
15106         omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
15107         omp_target_associate_ptr, omp_target_disassociate_ptr): New
15108         prototypes.
15109         * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
15110         (omp_lock_hint_none, omp_lock_hint_uncontended,
15111         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
15112         omp_lock_hint_speculative): New parameters.
15113         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
15114         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
15115         omp_get_place_num, omp_get_partition_num_places,
15116         omp_get_partition_place_nums, omp_get_initial_device,
15117         omp_get_max_task_priority): New interfaces.
15118         (omp_set_schedule, omp_get_schedule): Rename modifier argument
15119         to chunk_size.
15120         * omp_lib.h.in (omp_lock_hint_kind): New parameter.
15121         (omp_lock_hint_none, omp_lock_hint_uncontended,
15122         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
15123         omp_lock_hint_speculative): New parameters.
15124         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
15125         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
15126         omp_get_place_num, omp_get_partition_num_places,
15127         omp_get_partition_place_nums, omp_get_initial_device,
15128         omp_get_max_task_priority): New functions and subroutines.
15129         * ordered.c: Include stdarg.h and string.h.
15130         (MAX_COLLAPSED_BITS): Define.
15131         (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
15132         gomp_doacross_ull_init, GOMP_doacross_ull_post,
15133         GOMP_doacross_ull_wait): New functions.
15134         * target.c: Include errno.h.
15135         (resolve_device): If device is not initialized, call
15136         gomp_init_device on it.
15137         (gomp_map_lookup): New function.
15138         (gomp_map_vars_existing): Add tgt_var argument, fill it in.
15139         Don't bump refcount if REFCOUNT_INFINITY.  Handle
15140         GOMP_MAP_ALWAYS_TO_P.
15141         (get_kind): Rename is_openacc argument to short_mapkind.
15142         (gomp_map_pointer): Use gomp_map_lookup.
15143         (gomp_map_fields_existing): New function.
15144         (gomp_map_vars): Rename is_openacc argument to short_mapkind
15145         and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
15146         handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
15147         GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
15148         Adjust for tgt->list changed type and copy_from living in there.
15149         (gomp_copy_from_async): Adjust for tgt->list changed type and
15150         copy_from living in there.
15151         (gomp_unmap_vars): Likewise.
15152         (gomp_update): Likewise.  Rename is_openacc argument to
15153         short_mapkind.  Don't fail if object is not mapped.
15154         (gomp_load_image_to_device): Initialize refcount to
15155         REFCOUNT_INFINITY.
15156         (gomp_target_fallback): New function.
15157         (gomp_get_target_fn_addr): Likewise.
15158         (GOMP_target): Adjust gomp_map_vars caller, use
15159         gomp_get_target_fn_addr and gomp_target_fallback.
15160         (GOMP_target_41): New function.
15161         (gomp_target_data_fallback): New function.
15162         (GOMP_target_data): Use it, adjust gomp_map_vars caller.
15163         (GOMP_target_data_41): New function.
15164         (GOMP_target_update): Adjust gomp_update caller.
15165         (GOMP_target_update_41): New function.
15166         (gomp_exit_data, GOMP_target_enter_exit_data,
15167         gomp_target_task_fn, omp_target_alloc, omp_target_free,
15168         omp_target_is_present, omp_target_memcpy,
15169         omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
15170         omp_target_associate_ptr, omp_target_disassociate_ptr,
15171         gomp_load_plugin_for_device): New functions.
15172         * task.c: Include gomp-constants.h.  Include taskloop.c
15173         twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
15174         (gomp_task_handle_depend): New function.
15175         (GOMP_task): Use it.  Add priority argument.  Use
15176         gomp-constant.h constants instead of hardcoded numbers.
15177         Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
15178         (gomp_create_target_task): New function.
15179         (verify_children_queue, verify_taskgroup_queue,
15180         verify_task_queue): New functions.
15181         (gomp_task_run_pre): Call verify_*_queue functions.
15182         If an upcoming tied task is about to leave the sibling or
15183         taskgroup queues in an invalid state, adjust appropriately.
15184         Remove taskgroup argument.  Add comments.
15185         (gomp_task_run_post_handle_dependers): Add comments.
15186         (gomp_task_run_post_remove_parent): Likewise.
15187         (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
15188         (GOMP_taskwait): Likewise.  Add comments.
15189         (gomp_task_maybe_wait_for_dependencies): Fix scheduling
15190         problem such that the first non parent_depends_on task does not
15191         end up at the end of the children queue.
15192         (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
15193         GOMP_TASK_UNDEFERRED.
15194         (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
15195         * taskloop.c: New file.
15196         * testsuite/lib/libgomp.exp
15197         (check_effective_target_offload_device_nonshared_as): New proc.
15198         * testsuite/libgomp.c/affinity-2.c: New test.
15199         * testsuite/libgomp.c/doacross-1.c: New test.
15200         * testsuite/libgomp.c/doacross-2.c: New test.
15201         * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
15202         Add map clause to target.
15203         * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
15204         * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
15205         * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
15206         * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
15207         * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
15208         Likewise.
15209         * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
15210         * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
15211         * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
15212         * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
15213         not defined.  Use those where needed.
15214         * testsuite/libgomp.c/for-4.c: New test.
15215         * testsuite/libgomp.c/for-5.c: New test.
15216         * testsuite/libgomp.c/for-6.c: New test.
15217         * testsuite/libgomp.c/linear-1.c: New test.
15218         * testsuite/libgomp.c/ordered-4.c: New test.
15219         * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
15220         only allowed on the loop iterator.
15221         * testsuite/libgomp.c/pr66199-3.c: New test.
15222         * testsuite/libgomp.c/pr66199-4.c: New test.
15223         * testsuite/libgomp.c/reduction-7.c: New test.
15224         * testsuite/libgomp.c/reduction-8.c: New test.
15225         * testsuite/libgomp.c/reduction-9.c: New test.
15226         * testsuite/libgomp.c/reduction-10.c: New test.
15227         * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
15228         map(tofrom:s).
15229         * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
15230         * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
15231         * testsuite/libgomp.c/target-11.c: New test.
15232         * testsuite/libgomp.c/target-12.c: New test.
15233         * testsuite/libgomp.c/target-13.c: New test.
15234         * testsuite/libgomp.c/target-14.c: New test.
15235         * testsuite/libgomp.c/target-15.c: New test.
15236         * testsuite/libgomp.c/target-16.c: New test.
15237         * testsuite/libgomp.c/target-17.c: New test.
15238         * testsuite/libgomp.c/target-18.c: New test.
15239         * testsuite/libgomp.c/target-19.c: New test.
15240         * testsuite/libgomp.c/target-20.c: New test.
15241         * testsuite/libgomp.c/target-21.c: New test.
15242         * testsuite/libgomp.c/target-22.c: New test.
15243         * testsuite/libgomp.c/target-23.c: New test.
15244         * testsuite/libgomp.c/target-24.c: New test.
15245         * testsuite/libgomp.c/target-25.c: New test.
15246         * testsuite/libgomp.c/target-26.c: New test.
15247         * testsuite/libgomp.c/target-27.c: New test.
15248         * testsuite/libgomp.c/taskloop-1.c: New test.
15249         * testsuite/libgomp.c/taskloop-2.c: New test.
15250         * testsuite/libgomp.c/taskloop-3.c: New test.
15251         * testsuite/libgomp.c/taskloop-4.c: New test.
15252         * testsuite/libgomp.c++/ctor-13.C: New test.
15253         * testsuite/libgomp.c++/doacross-1.C: New test.
15254         * testsuite/libgomp.c++/examples-4/declare_target-2.C:
15255         Replace offload_device with offload_device_nonshared_as.
15256         * testsuite/libgomp.c++/for-12.C: New test.
15257         * testsuite/libgomp.c++/for-13.C: New test.
15258         * testsuite/libgomp.c++/for-14.C: New test.
15259         * testsuite/libgomp.c++/linear-1.C: New test.
15260         * testsuite/libgomp.c++/member-1.C: New test.
15261         * testsuite/libgomp.c++/member-2.C: New test.
15262         * testsuite/libgomp.c++/member-3.C: New test.
15263         * testsuite/libgomp.c++/member-4.C: New test.
15264         * testsuite/libgomp.c++/member-5.C: New test.
15265         * testsuite/libgomp.c++/ordered-1.C: New test.
15266         * testsuite/libgomp.c++/reduction-5.C: New test.
15267         * testsuite/libgomp.c++/reduction-6.C: New test.
15268         * testsuite/libgomp.c++/reduction-7.C: New test.
15269         * testsuite/libgomp.c++/reduction-8.C: New test.
15270         * testsuite/libgomp.c++/reduction-9.C: New test.
15271         * testsuite/libgomp.c++/reduction-10.C: New test.
15272         * testsuite/libgomp.c++/reference-1.C: New test.
15273         * testsuite/libgomp.c++/simd14.C: New test.
15274         * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
15275         * testsuite/libgomp.c++/target-5.C: New test.
15276         * testsuite/libgomp.c++/target-6.C: New test.
15277         * testsuite/libgomp.c++/target-7.C: New test.
15278         * testsuite/libgomp.c++/target-8.C: New test.
15279         * testsuite/libgomp.c++/target-9.C: New test.
15280         * testsuite/libgomp.c++/target-10.C: New test.
15281         * testsuite/libgomp.c++/target-11.C: New test.
15282         * testsuite/libgomp.c++/target-12.C: New test.
15283         * testsuite/libgomp.c++/taskloop-1.C: New test.
15284         * testsuite/libgomp.c++/taskloop-2.C: New test.
15285         * testsuite/libgomp.c++/taskloop-3.C: New test.
15286         * testsuite/libgomp.c++/taskloop-4.C: New test.
15287         * testsuite/libgomp.c++/taskloop-5.C: New test.
15288         * testsuite/libgomp.c++/taskloop-6.C: New test.
15289         * testsuite/libgomp.c++/taskloop-7.C: New test.
15290         * testsuite/libgomp.c++/taskloop-8.C: New test.
15291         * testsuite/libgomp.c++/taskloop-9.C: New test.
15292         * testsuite/libgomp.fortran/affinity1.f90: New test.
15293         * testsuite/libgomp.fortran/affinity2.f90: New test.
15295 2015-10-13  Tom de Vries  <tom@codesourcery.com>
15297         PR tree-optimization/67476
15298         * testsuite/libgomp.c/autopar-3.c: New test.
15299         * testsuite/libgomp.c/autopar-4.c: New test.
15300         * testsuite/libgomp.c/autopar-5.c: New test.
15301         * testsuite/libgomp.c/autopar-6.c: New test.
15302         * testsuite/libgomp.c/autopar-7.c: New test.
15303         * testsuite/libgomp.c/autopar-8.c: New test.
15305 2015-10-12  James Norris  <jnorris@codesourcery.com>
15307         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
15308         initializer.
15310 2015-10-09  David Malcolm  <dmalcolm@redhat.com>
15312         * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
15313         using load_gcc_lib.
15315 2015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
15317         * oacc-ptx.h: Remove file, moving its content into...
15318         * config/nvptx/fortran.c: ... here...
15319         * config/nvptx/oacc-init.c: ..., here...
15320         * config/nvptx/oacc-parallel.c: ..., and here.
15321         * config/nvptx/openacc.f90: New file.
15322         * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
15323         (link_ptx): Don't link in predefined bits of PTX code.
15325 2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
15326             Bernd Schmidt <bernds@codesourcery.com>
15328         * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
15329         (struct targ_ptx_obj): New.
15330         (nvptx_tdata): Move earlier, change data format.
15331         (link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
15332         objects.
15333         (GOMP_OFFLOAD_load_image): Adjust.
15335 2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
15337         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
15338         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
15339         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
15340         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
15341         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15342         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
15343         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
15344         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
15345         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
15346         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
15347         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15348         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15349         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15350         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15351         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15352         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15353         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15354         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15355         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15356         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15357         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15358         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15359         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15360         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15361         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15362         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15363         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15364         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15365         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15366         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15367         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15368         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15369         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15370         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15371         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15372         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15373         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15374         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15375         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15376         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15377         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15378         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15379         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15380         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15381         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15382         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15383         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15384         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15385         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15386         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15387         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15388         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15389         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15390         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15391         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
15392         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15393         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15394         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
15395         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
15396         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
15397         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
15398         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
15399         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15401 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
15403         * oacc-init.c (acc_on_device): Force optimization level.
15405 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
15407         * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
15408         (cuda_errlist): Delete.
15409         (cuda_error): Reimplement.
15411 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
15413         * libgomp.h (acc_dispatch_t): Replace separate geometry args with
15414         array.
15415         * libgomp.map (GOACC_parallel_keyed): New.
15416         * oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
15417         all callers.
15418         (GOACC_parallel_keyed): New interface.  Lose geometry arguments
15419         and take keyed varargs list.  Adjust call to exec_func.
15420         (GOACC_parallel): Force host fallback.
15421         * libgomp_g.h (GOACC_parallel): Remove.
15422         (GOACC_parallel_keyed): Declare.
15423         * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
15424         (struct targ_gn_descriptor): Replace name field with launch field.
15425         (nvptx_exec): Lose separate geometry args, take array.  Process
15426         dynamic dimensions and adjust.
15427         (struct nvptx_tdata): Replace fn_names field with fn_descs.
15428         (GOMP_OFFLOAD_load_image): Adjust for change in function table
15429         data.
15430         (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
15431         passing.
15432         * oacc-host.c (host_openacc_exec): Adjust for change in dimension
15433         passing.
15435 2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
15437         PR libgomp/67141
15438         * oacc-int.h (goacc_host_init): Add declaration.
15439         * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
15440         * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
15442 2015-09-08  Aditya Kumar  <hiraditya@msn.com>
15443             Sebastian Pop  <s.pop@samsung.com>
15445         * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
15446         match o/p.
15447         * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
15448         * testsuite/libgomp.graphite/force-parallel-4.c: Same.
15449         * testsuite/libgomp.graphite/force-parallel-5.c: Same.
15450         * testsuite/libgomp.graphite/force-parallel-7.c: Same.
15451         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
15453 2015-09-03  Jakub Jelinek  <jakub@redhat.com>
15455         * configure.tgt: Add missing ;; in between nvptx and rtems
15456         snippets.
15458 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15460         * config/posix/pool.h (gomp_adjust_thread_attr): New.
15461         * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
15462         (gomp_thread_pool_reservoir): Add priority member.
15463         * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
15464         priority.
15465         (parse_thread_pools): Likewise.
15466         * team.c (gomp_team_start): Call configuration provided
15467         gomp_adjust_thread_attr(). Destroy thread attributes if
15468         necessary.
15469         * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
15471 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15473         * config/posix/pool.h: New.
15474         * config/rtems/pool.h: Likewise.
15475         * config/rtems/proc.c: Likewise.
15476         * libgomp.h (gomp_thread_destructor): Declare.
15477         * team.c: Include configuration provided "pool.h".
15478         (gomp_get_thread_pool): Define in configuration.
15479         (gomp_team_end): Call configuration defined
15480         gomp_release_thread_pool().
15482 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15484         * config/rtems/bar.c: New.
15485         * config/rtems/bar.h: Likewise.
15486         * config/rtems/mutex.c: Likewise.
15487         * config/rtems/mutex.h: Likewise.
15488         * config/rtems/sem.c: Likewise.
15489         * config/rtems/sem.h: Likewise.
15490         * configure.ac (*-*-rtems*): Check that Newlib provides a proper
15491         <sys/lock.h> header file.
15492         * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
15493         supported by Newlib.
15494         * configure: Regenerate.
15496 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15498         * team.c (gomp_new_thread_pool): Delete and move content to ...
15499         (gomp_get_thread_pool): ... new function.  Allocate and
15500         initialize thread pool on demand.
15501         (get_last_team): Use gomp_get_thread_pool().
15502         (gomp_team_start): Delete thread pool initialization.
15504 2015-09-03  Tom de Vries  <tom@codesourcery.com>
15506         PR tree-optimization/65637
15507         * testsuite/libgomp.c/autopar-2.c: New test.
15509 2015-08-29  Tom de Vries  <tom@codesourcery.com>
15511         PR tree-optimization/46193
15512         * testsuite/libgomp.c/pr46193.c: New test.
15514 2015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
15516         libgomp/
15517         * libgomp.map: Add 4.0.2 version.
15518         * target.c (offload_image_descr): Add version field.
15519         (gomp_load_image_to_device): Add version argument.  Adjust plugin
15520         call.  Improve load mismatch diagnostic.
15521         (gomp_unload_image_from_device): Add version argument.  Adjust plugin
15522         call.
15523         (GOMP_offload_regster): Make stub function, move bulk to ...
15524         (GOMP_offload_register_ver): ... here.  Process version argument.
15525         (GOMP_offload_unregister): Make stub function, move bulk to ...
15526         (GOMP_offload_unregister_ver): ... here.  Process version argument.
15527         (gomp_init_device): Process version field.
15528         (gomp_unload_device): Process version field.
15529         (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
15530         macros.  Check plugin version.
15531         * libgomp.h (gomp_device_descr): Add version function field.  Adjust
15532         loader and unloader types.
15533         * oacc-host.c: Include gomp-constants.h.
15534         (host_version): New.
15535         (host_load_image, host_unload_image): Adjust.
15536         (host_dispatch): Add host_version.
15537         * plugin/plugin-nvptx.c: Include gomp-constants.h.
15538         (GOMP_OFFLOAD_version): New.
15539         (GOMP_OFFLOAD_load_image): Add version arg and check it.
15540         (GOMP_OFFLOAD_unload_image): Likewise.
15541         * plugin/plugin-host.c: Include gomp-constants.h.
15542         (GOMP_OFFLOAD_version): New.
15543         (GOMP_OFFLOAD_load_image): Add version arg.
15544         (GOMP_OFFLOAD_unload_image): Likewise.
15546 2015-08-24  Tom de Vries  <tom@codesourcery.com>
15548         PR tree-optimization/65468
15549         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
15551 2015-08-24  Tom de Vries  <tom@codesourcery.com>
15553         PR tree-optimization/65468
15554         * testsuite/libgomp.c/static-chunk-size-one.c: New test.
15556 2015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
15558         PR libgomp/66761
15559         PR libgomp/67303
15560         * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
15561         (gomp_iter_guided_next): Idem.
15562         * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
15563         (gomp_iter_ull_guided_next): Idem.
15564         * config/linux/wait.h (do_spin): Idem.
15566 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
15568         * libgomp-plugin.h (enum offload_target_type): Remove
15569         OFFLOAD_TARGET_TYPE_HOST_NONSHM.
15570         * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
15571         * openacc.h (enum acc_device_t): Likewise.
15572         * openacc_lib.h: Likewise.
15573         * oacc-init.c (name_of_acc_device_t): Don't handle it.
15574         (acc_on_device): Just use __builtin_acc_on_device.
15575         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
15576         of acc_on_device builtin.
15577         * plugin/plugin-host.h: Remove file.
15578         * plugin/plugin-host.c: Likewise, but salvage some content into...
15579         * oacc-host.c: ... this file.
15580         * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
15581         * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
15582         * Makefile.in: Regenerate.
15583         * configure: Likewise.
15584         * testsuite/lib/libgomp.exp
15585         (check_effective_target_openacc_host_nonshm_selected): Remove.
15586         * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
15587         ACC_DEVICE_TYPE=host_nonshm.
15588         * testsuite/libgomp.oacc-c/c.exp: Likewise.
15589         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15590         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15591         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15592         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15593         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15595 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
15596             Jakub Jelinek  <jakub@redhat.com>
15598         * config/nvptx/affinity.c: New file.
15599         * config/nvptx/alloc.c: Likewise.
15600         * config/nvptx/bar.c: Likewise.
15601         * config/nvptx/barrier.c: Likewise.
15602         * config/nvptx/critical.c: Likewise.
15603         * config/nvptx/env.c: Likewise.
15604         * config/nvptx/error.c: Likewise.
15605         * config/nvptx/fortran.c: Likewise.
15606         * config/nvptx/iter.c: Likewise.
15607         * config/nvptx/iter_ull.c: Likewise.
15608         * config/nvptx/libgomp-plugin.c: Likewise.
15609         * config/nvptx/lock.c: Likewise.
15610         * config/nvptx/loop.c: Likewise.
15611         * config/nvptx/loop_ull.c: Likewise.
15612         * config/nvptx/mutex.c: Likewise.
15613         * config/nvptx/oacc-async.c: Likewise.
15614         * config/nvptx/oacc-cuda.c: Likewise.
15615         * config/nvptx/oacc-host.c: Likewise.
15616         * config/nvptx/oacc-init.c: Likewise.
15617         * config/nvptx/oacc-mem.c: Likewise.
15618         * config/nvptx/oacc-parallel.c: Likewise.
15619         * config/nvptx/oacc-plugin.c: Likewise.
15620         * config/nvptx/omp-lock.h: Likewise.
15621         * config/nvptx/ordered.c: Likewise.
15622         * config/nvptx/parallel.c: Likewise.
15623         * config/nvptx/proc.c: Likewise.
15624         * config/nvptx/ptrlock.c: Likewise.
15625         * config/nvptx/sections.c: Likewise.
15626         * config/nvptx/sem.c: Likewise.
15627         * config/nvptx/single.c: Likewise.
15628         * config/nvptx/splay-tree.c: Likewise.
15629         * config/nvptx/target.c: Likewise.
15630         * config/nvptx/task.c: Likewise.
15631         * config/nvptx/team.c: Likewise.
15632         * config/nvptx/time.c: Likewise.
15633         * config/nvptx/work.c: Likewise.
15634         * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
15635         * configure: Regenerate.
15636         * configure.tgt (config_path): Set to "nvptx" for target
15637         nvptx*-*-*.
15639 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
15641         * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
15643 2015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
15645         * plugin/plugin-nvptx.c: Don't include dlfcn.h.
15646         (cuda_errlist): Constify.
15647         (errmsg):  Move into ...
15648         (cuda_error): ... here.  Make smaller.
15649         (_XSTR, _STR): Delete.
15650         (cuda_synames): Delete.
15651         (verify_device_library): Delete.
15652         (nvptx_init): Don't call it.
15654 2015-07-28  Tom de Vries  <tom@codesourcery.com>
15656         * testsuite/libgomp.c/uns-outer-4.c: New test.
15658 2015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
15660         * testsuite/libgomp.c/pr66714.c: New test.
15662 2015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
15664         PR libgomp/66950
15665         * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
15666         (fib_ref): New function.
15667         (fib): Correct corner cases in the recursion.
15668         (main): Replace the non-simd loop with fib_ref call.
15669         * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
15670         subroutine.
15671         (fibonacci): Lower the parameter N to 30.  Correct accordingly check
15672         for the last array element value.  Replace the non-simd loop with
15673         fib_ref call.  Remove redundant b_ref array.  Remove the comparison
15674         of the last array element with according Fibonacci sequence element.
15675         (fib): Correct corner cases in the recursion.
15677 2015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
15679         * target.c (gomp_offload_image_to_device): Rename to ...
15680         (gomp_load_image_to_device): ... here.
15681         (GOMP_offload_register): Adjust call.
15682         (gomp_init_device): Likewise.
15683         (gomp_unload_image_from_device): New.  Broken out of ...
15684         (GOMP_offload_unregister): ... here.  Call it.
15685         (gomp_unload_device): New.
15686         * libgomp.h (gomp_unload_device): Declare.
15687         * oacc-init.c (acc_shutdown_1): Unload from device before deleting
15688         mem maps.
15690 2015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
15692         * oacc-parallel.c (GOACC_parallel): Move variadic handling into
15693         wait=-specific if.
15694         (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
15695         !=0 condition.
15696         (goacc_waits): Move !num_waits handling to ...
15697         (GOACC_wait): ... here, the only caller that might have zero waits.
15699         * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
15700         (struct ptx_image_data): Move earlier, add fns field.
15701         (struct ptx_device): Add images and image_lock fields.
15702         (ptx_images, ptx_image_lock): Delete.
15703         (nvptx_open_device): Initialize images and image_lock fields.
15704         (nvptx_close_device): Destroy image_lock.
15705         (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
15706         (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
15707         fields.
15709 2015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
15711         * target.c (GOMP_offload_register): Use int for device type arg.
15712         (GOMP_offload_unregister): Likewise.
15714         * target.c (struct_offload_image_descr): Constify host_table.
15715         (gomp_offload_image_to_device): Likewise.
15716         (GOMP_offload_register, GOMP_offload_unregister): Likewise.
15718         * libgomp.h (gomp_device_descr): Constify target data arguments.
15719         * target.c (struct offload_image_descr): Constify target_data.
15720         (gomp_offload_image_to_device): Likewise.
15721         (GOMP_offload_register): Likewise.
15722         (GOMP_offload_unregister): Likewise.
15723         * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
15724         GOMP_OFFLOAD_unload_image): Constify target data.
15725         * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
15726         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
15728 2015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
15730         * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
15731         Workaround driver library const error.
15732         (struct nvptx_tdata, nvptx_tdata_t): New.
15733         (GOMP_OFFLOAD_load_image): Use struct for target_data's real
15734         type.
15736 2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
15738         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
15739         of EPS parameter from integer to real.
15740         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
15741         type of EPS parameter from integer to real.
15743 2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15745         * team.c (get_last_team): New.
15746         (gomp_new_team): Recycle last non-nested team if possible.
15747         (gomp_team_end): Move team work share list free lock destruction
15748         to ...
15749         (free_team): ... here.
15751 2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
15753         * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
15754         and ref from int to double.  Replaced their comparison with
15755         an inequality of their difference and EPS.
15756         * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
15757         comparison of pri and a reference number with an inequality of their
15758         difference and EPS.
15759         * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
15760         the comparison of sum and sum_ref with an inequality of their
15761         difference and EPS.
15762         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
15763         the comparison of pri and a reference number with an inequality of
15764         their difference and EPS.
15766 2015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
15768         * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
15769         * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
15770         * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
15771         * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
15772         * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
15773         * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
15774         * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
15775         * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
15776         * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
15777         * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
15778         * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
15779         * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
15780         (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
15781         variables.
15782         (vec_mult): Likewise.  Add #pragma omp taskwait.
15783         (main): Adjust caller.
15784         * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
15785         * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
15786         * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
15787         * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
15788         * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
15789         * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
15790         * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
15791         * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
15792         * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
15793         * testsuite/libgomp.c/examples-4/device-1.c: ...this.
15794         * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
15795         * testsuite/libgomp.c/examples-4/device-2.c: ...this.
15796         * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
15797         * testsuite/libgomp.c/examples-4/device-3.c: ...this.
15798         * testsuite/libgomp.c/examples-4/simd-1.c: New file.
15799         * testsuite/libgomp.c/examples-4/simd-2.c: New file.
15800         * testsuite/libgomp.c/examples-4/simd-3.c: New file.
15801         * testsuite/libgomp.c/examples-4/simd-4.c: New file.
15802         * testsuite/libgomp.c/examples-4/simd-5.c: New file.
15803         * testsuite/libgomp.c/examples-4/simd-6.c: New file.
15804         * testsuite/libgomp.c/examples-4/simd-7.c: New file.
15805         * testsuite/libgomp.c/examples-4/simd-8.c: New file.
15806         * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
15807         * testsuite/libgomp.c/examples-4/target-1.c: ...this.
15808         * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
15809         * testsuite/libgomp.c/examples-4/target-2.c: ...this.
15810         * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
15811         * testsuite/libgomp.c/examples-4/target-3.c: ...this.
15812         * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
15813         * testsuite/libgomp.c/examples-4/target-4.c: ...this.
15814         * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
15815         * testsuite/libgomp.c/examples-4/target-5.c: ...this.
15816         * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
15817         * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
15818         * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
15819         * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
15820         * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
15821         * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
15822         * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
15823         * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
15824         * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
15825         * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
15826         * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
15827         * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
15828         * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
15829         * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
15830         * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
15831         * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
15832         * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
15833         * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
15834         * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
15835         * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
15836         * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
15837         * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
15838         * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
15839         * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
15840         * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
15841         * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
15842         * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
15843         * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
15844         * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
15845         * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
15846         * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
15847         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
15848         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
15849         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
15850         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
15851         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
15852         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
15853         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
15854         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
15855         (vec_mult): Add !$omp taskwait.
15856         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
15857         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
15858         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
15859         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
15860         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
15861         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
15862         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
15863         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
15864         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
15865         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
15866         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
15867         * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
15868         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
15869         * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
15870         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
15871         * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
15872         * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
15873         * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
15874         * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
15875         * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
15876         * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
15877         * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
15878         * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
15879         * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
15880         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
15881         * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
15882         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
15883         * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
15884         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
15885         * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
15886         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
15887         * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
15888         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
15889         * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
15890         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
15891         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
15892         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
15893         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
15894         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
15895         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
15896         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
15897         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
15898         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
15899         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
15900         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
15901         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
15902         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
15903         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
15904         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
15905         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
15906         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
15907         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
15908         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
15909         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
15910         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
15911         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
15912         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
15913         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
15914         * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
15915         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
15916         * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
15917         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
15918         * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
15919         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
15920         * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
15921         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
15922         * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
15924 2015-07-10  Tom de Vries  <tom@codesourcery.com>
15926         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
15927         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
15929 2015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
15931         PR libgomp/65099
15932         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
15933         in a 64-bit configuration.
15934         * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
15935         offloading testing if no such device is available.
15936         * testsuite/libgomp.oacc-c/c.exp: Likewise.
15937         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15939 2015-07-08  Tom de Vries  <tom@codesourcery.com>
15941         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
15942         second call to f.
15943         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15945 2015-07-07  Tom de Vries  <tom@codesourcery.com>
15947         PR tree-optimization/66642
15948         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
15949         iteration count case.
15950         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
15951         function, factor out of ...
15952         (main): ... here.  Test low iteration count case.
15954 2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15956         * libgomp.h (gomp_thread_pool): Comment last_team field.
15958 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
15960         * testsuite/libgomp.c++/pr66702-1.C: Require
15961         vect_simd_clones effective target.
15962         * testsuite/libgomp.c++/pr66702-2.C: Ditto.
15964 2015-06-30  Tom de Vries  <tom@codesourcery.com>
15966         * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15967         already set.  Use DEFAULT_CFLAGS in dg-runtest.
15968         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
15969         "-O2".
15971 2015-06-30  Tom de Vries  <tom@codesourcery.com>
15973         * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15974         already set.  Use DEFAULT_CFLAGS in dg-runtest.
15975         * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
15976         * testsuite/libgomp.c++/pr64824.C: Same.
15977         * testsuite/libgomp.c++/pr64868.C: Same.
15978         * testsuite/libgomp.c++/pr66199-1.C: Same.
15979         * testsuite/libgomp.c++/pr66199-2.C: Same.
15980         * testsuite/libgomp.c++/target-2.C: Same.
15981         * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
15982         -std=<standard> option.
15983         * testsuite/libgomp.c++/udr-11.C: Same.
15984         * testsuite/libgomp.c++/udr-12.C: Same.
15985         * testsuite/libgomp.c++/udr-13.C: Same.
15986         * testsuite/libgomp.c++/udr-14.C: Same.
15987         * testsuite/libgomp.c++/udr-15.C: Same.
15988         * testsuite/libgomp.c++/udr-16.C: Same.
15989         * testsuite/libgomp.c++/udr-17.C: Same.
15990         * testsuite/libgomp.c++/udr-18.C: Same.
15991         * testsuite/libgomp.c++/udr-19.C: Same.
15992         * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
15993         * testsuite/libgomp.c++/simd-1.C: Same.
15994         * testsuite/libgomp.c++/simd-2.C: Same.
15995         * testsuite/libgomp.c++/simd-3.C: Same.
15996         * testsuite/libgomp.c++/simd-4.C: Same.
15997         * testsuite/libgomp.c++/simd-5.C: Same.
15998         * testsuite/libgomp.c++/simd-6.C: Same.
15999         * testsuite/libgomp.c++/simd-7.C: Same.
16000         * testsuite/libgomp.c++/simd-8.C: Same.
16001         * testsuite/libgomp.c++/simd-9.C: Same.
16002         * testsuite/libgomp.c++/simd10.C: Same.
16003         * testsuite/libgomp.c++/simd11.C: Same.
16004         * testsuite/libgomp.c++/simd12.C: Same.
16005         * testsuite/libgomp.c++/simd13.C: Same.
16007 2015-06-30  Jakub Jelinek  <jakub@redhat.com>
16009         PR middle-end/66702
16010         * testsuite/libgomp.c++/pr66702-1.C: New test.
16011         * testsuite/libgomp.c++/pr66702-2.C: New test.
16013 2015-06-30  Tom de Vries  <tom@codesourcery.com>
16015         * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
16016         * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
16017         * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
16018         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
16020 2015-06-30  Tom de Vries  <tom@codesourcery.com>
16022         PR tree-optimization/66652
16023         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
16024         using restrict pointers.
16025         (main): Add arguments to calls to f.
16026         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
16028 2015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
16030         * configure.ac: Fix check for header <sys/sysctl.h>.
16031         * configure: Regenerate.
16032         * config.h.in: Likewise.
16034 2015-06-23  Tom de Vries  <tom@codesourcery.com>
16036         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
16037         abort.
16038         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
16040 2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
16042         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
16043         acc_device_nvidia.
16045         PR libgomp/66518
16046         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
16047         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16049 2015-06-15  Tom de Vries  <tom@codesourcery.com>
16051         * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
16052         dg-additional-options for any remaining options.
16053         * testsuite/libgomp.c/atomic-2.c: Same.
16054         * testsuite/libgomp.c/atomic-4.c: Same.
16055         * testsuite/libgomp.c/atomic-5.c: Same.
16056         * testsuite/libgomp.c/atomic-6.c: Same.
16057         * testsuite/libgomp.c/autopar-1.c: Same.
16058         * testsuite/libgomp.c/copyin-1.c: Same.
16059         * testsuite/libgomp.c/copyin-2.c: Same.
16060         * testsuite/libgomp.c/copyin-3.c: Same.
16061         * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
16062         * testsuite/libgomp.c/nestedfn-5.c: Same.
16063         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
16064         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
16065         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
16066         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
16067         * testsuite/libgomp.c/pr32362-1.c: Same.
16068         * testsuite/libgomp.c/pr32362-2.c: Same.
16069         * testsuite/libgomp.c/pr32362-3.c: Same.
16070         * testsuite/libgomp.c/pr39591-1.c: Same.
16071         * testsuite/libgomp.c/pr39591-2.c: Same.
16072         * testsuite/libgomp.c/pr39591-3.c: Same.
16073         * testsuite/libgomp.c/pr58392.c: Same.
16074         * testsuite/libgomp.c/pr58756.c: Same.
16075         * testsuite/libgomp.c/simd-1.c: Same.
16076         * testsuite/libgomp.c/simd-10.c: Same.
16077         * testsuite/libgomp.c/simd-11.c: Same.
16078         * testsuite/libgomp.c/simd-12.c: Same.
16079         * testsuite/libgomp.c/simd-13.c: Same.
16080         * testsuite/libgomp.c/simd-14.c: Same.
16081         * testsuite/libgomp.c/simd-15.c: Same.
16082         * testsuite/libgomp.c/simd-2.c: Same.
16083         * testsuite/libgomp.c/simd-3.c: Same.
16084         * testsuite/libgomp.c/simd-4.c: Same.
16085         * testsuite/libgomp.c/simd-5.c: Same.
16086         * testsuite/libgomp.c/simd-6.c: Same.
16087         * testsuite/libgomp.c/simd-7.c: Same.
16088         * testsuite/libgomp.c/simd-8.c: Same.
16089         * testsuite/libgomp.c/simd-9.c: Same.
16091 2015-06-15  Tom de Vries  <tom@codesourcery.com>
16093         * testsuite/libgomp.c/pr35625.c: Fix typo.
16095 2015-06-15  Tom de Vries  <tom@codesourcery.com>
16097         * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
16098         in dg-options.
16099         * testsuite/libgomp.c/atomic-3.c: Same.
16100         * testsuite/libgomp.c/debug-1.c: Same.
16101         * testsuite/libgomp.c/nqueens-1.c: Same.
16102         * testsuite/libgomp.c/pr26171.c: Same.
16103         * testsuite/libgomp.c/pr48591.c: Same.
16104         * testsuite/libgomp.c/pr64824.c: Same.
16105         * testsuite/libgomp.c/pr64868.c: Same.
16106         * testsuite/libgomp.c/pr66133.c: Same.
16107         * testsuite/libgomp.c/pr66199-1.c: Same.
16108         * testsuite/libgomp.c/pr66199-2.c: Same.
16109         * testsuite/libgomp.c/target-8.c: Same.
16111 2015-06-15  Tom de Vries  <tom@codesourcery.com>
16113         * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
16114         -std={gnu99,c99}.
16115         * testsuite/libgomp.c/for-1.c: Same.
16116         * testsuite/libgomp.c/for-2.c: Same.
16117         * testsuite/libgomp.c/for-3.c: Same.
16118         * testsuite/libgomp.c/pr35625.c: Same.
16119         * testsuite/libgomp.c/pr39154.c: Same.
16120         * testsuite/libgomp.c/simd-16.c: Same.
16121         * testsuite/libgomp.c/simd-17.c: Same.
16123 2015-06-13  Tom de Vries  <tom@codesourcery.com>
16125         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
16127 2015-06-13  Tom de Vries  <tom@codesourcery.com>
16129         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
16130         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
16131         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
16132         (N): Define.
16133         (main): Use N instead of hardcoded constants.
16135 2015-06-05  Tom de Vries  <tom@codesourcery.com>
16137         merge from gomp4 branch:
16138         2015-05-28  Tom de Vries  <tom@codesourcery.com>
16140         PR tree-optimization/65443
16141         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
16142         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
16143         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
16145 2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
16147         * testsuite/libgomp.graphite/bounds.c: Adjust for
16148         cleanup-tree-dump removal.
16149         * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
16150         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
16151         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
16152         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
16153         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
16154         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
16155         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16156         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16157         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
16158         * testsuite/libgomp.graphite/pr41118.c: Likewise.
16160 2015-05-28  Uros Bizjak  <ubizjak@gmail.com>
16162         * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
16163         (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
16164         (futex_wake) [!__x86_64__]: Ditto.
16166 2015-05-28  Julian Brown  <julian@codesourcery.com>
16168         * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
16169         function comment. Only call gomp_fatal if new argument is true.
16170         (acc_dev_num_out_of_range): New function.
16171         (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
16172         acc_dev_num_out_of_range as appropriate.
16173         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
16174         (acc_get_device_num, acc_set_device_num): Update calls to
16175         resolve_device.
16176         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
16177         output.
16179 2015-05-28  Julian Brown  <julian@codesourcery.com>
16181         PR libgomp/65742
16182         * oacc-init.c (plugin/plugin-host.h): Include.
16183         (acc_on_device): Check whether we're in an offloaded region for
16184         host_nonshm
16185         plugin. Don't use __builtin_acc_on_device.
16186         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
16187         nonshm_exec flag in thread-local data.
16188         (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
16189         data for host_nonshm plugin.
16190         (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
16191         for host_nonshm plugin.
16192         * plugin/plugin-host.h: New.
16194 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
16196         * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
16198 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
16200         * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
16201         Declare as int.
16202         (FUTEX_PRIVATE_FLAG): Remove L suffix.
16203         * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
16204         Declare as int.
16206 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
16208         * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
16210 2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
16212         * target.c (gomp_map_pointer): New function abstracting out
16213         GOMP_MAP_POINTER handling.
16214         (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
16215         gomp_map_pointer().
16217 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
16219         PR middle-end/66199
16220         * testsuite/libgomp.c/pr66199-1.c: New test.
16221         * testsuite/libgomp.c/pr66199-2.c: New test.
16222         * testsuite/libgomp.c++/pr66199-1.C: New test.
16223         * testsuite/libgomp.c++/pr66199-2.C: New test.
16224         * testsuite/libgomp.fortran/pr66199-1.f90: New test.
16225         * testsuite/libgomp.fortran/pr66199-2.f90: New test.
16227 2015-05-19  Julian Brown  <julian@codesourcery.com>
16229         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
16230         on cuInit failure.
16232 2015-05-13  Jakub Jelinek  <jakub@redhat.com>
16234         PR middle-end/66133
16235         * testsuite/libgomp.c/pr66133.c: New test.
16237 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
16239         * Makefile.in: Regenerated with automake-1.11.6.
16240         * aclocal.m4: Likewise.
16241         * config.h.in: Likewise.
16242         * configure: Likewise.
16243         * testsuite/Makefile.in: Likewise.
16245 2015-05-08  Jason Merrill  <jason@redhat.com>
16247         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
16248         _Complex.
16250         * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
16252 2015-05-06  Julian Brown  <julian@codesourcery.com>
16254         * oacc-init.c (acc_device_lock): Add explanatory comment.
16255         (resolve_device): Add comment about locking requirement.
16256         (acc_init_1, acc_shutdown_1): Likewise. Add locking around
16257         gomp_init_device and gomp_fini_device calls.
16258         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
16259         (acc_get_device_num, acc_set_device_num): Add locking around
16260         resolve_device and gomp_init_device calls.
16262 2015-05-06  Julian Brown  <julian@codesourcery.com>
16264         * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
16265         goacc_thread_lock on error paths.
16266         * oacc-mem.c (lookup_host): Remove locking from function. Note
16267         locking requirement for caller in function comment.
16268         (lookup_dev): Likewise.
16269         (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
16270         (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
16271         (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
16272         Add locking.
16274 2015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
16276         PR testsuite/65205
16277         PR libgomp/65993
16278         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
16279         don't expect "0x" prefix for "%p" format specifier, don't expect
16280         "(nil)" for NULL pointer.
16281         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16282         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16283         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16284         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16285         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16286         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16287         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16288         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16289         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16290         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16291         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16292         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16293         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16294         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16295         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16296         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16297         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16298         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16299         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16300         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16301         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16302         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16303         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16304         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16305         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16306         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16307         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16308         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16309         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
16310         accurately specify what we're looking for.
16311         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16312         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16313         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16314         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16315         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16317 2015-04-30  James Norris  <jnorris@codesourcery.com>
16319         PR testsuite/65205
16320         * testsuite/lib/libgomp.exp
16321         (check_effective_target_openacc_host_selected)
16322         (check_effective_target_openacc_host_nonshm_selected): New
16323         procedures.
16324         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
16325         dg-shouldfail.
16326         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16327         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16328         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16329         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16330         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16331         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16332         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16333         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16334         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16335         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16336         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16337         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16338         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16339         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16340         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16341         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16342         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16343         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16344         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16345         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16346         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16347         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16348         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16349         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16350         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16351         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16352         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16353         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16354         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16355         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16356         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16357         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16358         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16359         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16360         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16361         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16362         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16363         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16364         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16365         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16366         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16367         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16368         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16370 2015-04-08  Julian Brown  <julian@codesourcery.com>
16372         * libgomp.h (target_mem_desc: Remove mem_map field.
16373         (acc_dispatch_t): Remove open_device_func, close_device_func,
16374         get_device_num_func, set_device_num_func, target_data members.
16375         Change create_thread_data_func argument to device number instead of
16376         generic pointer.
16377         * oacc-async.c (assert.h): Include.
16378         (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
16379         (acc_wait_all, acc_wait_all_async): Use current host thread's
16380         active device, not base_dev.
16381         * oacc-cuda.c (acc_get_current_cuda_device)
16382         (acc_get_current_cuda_context, acc_get_cuda_stream)
16383         (acc_set_cuda_stream): Likewise.
16384         * oacc-host.c (host_dispatch): Don't set open_device_func,
16385         close_device_func, get_device_num_func or set_device_num_func.
16386         * oacc-init.c (base_dev, init_key): Remove.
16387         (cached_base_dev): New.
16388         (name_of_acc_device_t): New.
16389         (acc_init_1): Initialise default-numbered device, not zeroth.
16390         (acc_shutdown_1): Close all devices of a given type.
16391         (goacc_destroy_thread): Don't use base_dev.
16392         (lazy_open, lazy_init, lazy_init_and_open): Remove.
16393         (goacc_attach_host_thread_to_device): New.
16394         (acc_init): Reimplement with goacc_attach_host_thread_to_device.
16395         (acc_get_num_devices): Don't use base_dev.
16396         (acc_set_device_type): Reimplement.
16397         (acc_get_device_type): Don't use base_dev.
16398         (acc_get_device_num): Tweak logic.
16399         (acc_set_device_num): Likewise.
16400         (acc_on_device): Use acc_get_device_type.
16401         (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
16402         (goacc_lazy_initialize): Reimplement with acc_init and
16403         goacc_attach_host_thread_to_device.
16404         * oacc-int.h (goacc_thread): Add base_dev field.
16405         (base_dev): Remove extern declaration.
16406         (goacc_attach_host_thread_to_device): Add prototype.
16407         * oacc-mem.c (acc_malloc): Use current thread's device instead of
16408         base_dev.
16409         (acc_free): Likewise.
16410         (acc_memcpy_to_device): Likewise.
16411         (acc_memcpy_from_device): Likewise.
16412         * oacc-parallel.c (select_acc_device): Remove. Replace calls with
16413         goacc_lazy_initialize (throughout).
16414         (GOACC_parallel): Use tgt_offset to locate target functions.
16415         * target.c (gomp_map_vars): Don't set tgt->mem_map.
16416         (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
16417         (gomp_load_plugin_for_device): Remove open_device, close_device,
16418         get_device_num, set_device_num openacc hook initialisation. Don't set
16419         openacc.target_data.
16420         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
16421         (GOMP_OFFLOAD_openacc_close_device)
16422         (GOMP_OFFLOAD_openacc_get_device_num)
16423         (GOMP_OFFLOAD_openacc_set_device_num): Remove.
16424         (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
16425         to int.
16426         * plugin/plugin-nvptx.c (ptx_inited): Remove.
16427         (instantiated_devices, ptx_dev_lock): New.
16428         (struct ptx_image_data): New.
16429         (ptx_devices, ptx_images, ptx_image_lock): New.
16430         (fini_streams_for_device): Reorder cuStreamDestroy call.
16431         (nvptx_get_num_devices): Remove forward declaration.
16432         (nvptx_init): Change return type to bool.
16433         (nvptx_fini): Remove.
16434         (nvptx_attach_host_thread_to_device): New.
16435         (nvptx_open_device): Return struct ptx_device* instead of void*.
16436         (nvptx_close_device): Change argument type to struct ptx_device*,
16437         return type to void.
16438         (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
16439         (kernel_target_data, kernel_host_table): Remove static globals.
16440         (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
16441         (GOMP_OFFLOAD_init_device): Reimplement.
16442         (GOMP_OFFLOAD_fini_device): Likewise.
16443         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
16444         (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
16445         (GOMP_OFFLOAD_host2dev): Use ORD argument.
16446         (GOMP_OFFLOAD_openacc_open_device)
16447         (GOMP_OFFLOAD_openacc_close_device)
16448         (GOMP_OFFLOAD_openacc_set_device_num)
16449         (GOMP_OFFLOAD_openacc_get_device_num): Remove.
16450         (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
16451         (device number).
16453         testsuite/
16454         * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
16456 2015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
16458         * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
16459         * libgomp.h (struct gomp_memory_mapping): Remove.
16460         (struct target_mem_desc): Change type of mem_map from
16461         gomp_memory_mapping * to splay_tree_s *.
16462         (struct gomp_device_descr): Remove register_image_func, get_table_func.
16463         Add load_image_func, unload_image_func.
16464         Change type of mem_map from gomp_memory_mapping to splay_tree_s.
16465         Remove offload_regions_registered.
16466         (gomp_init_tables): Remove.
16467         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16468         to splay_tree_s *.
16469         * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
16470         * oacc-host.c (host_dispatch): Do not initialize register_image_func,
16471         get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
16472         offload_regions_registered.
16473         Initialize load_image_func, unload_image_func, mem_map.root.
16474         (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
16475         * oacc-init.c (lazy_open): Don't call gomp_init_tables.
16476         (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
16477         * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
16478         gomp_memory_mapping *.  Use dev's lock and splay_tree.
16479         (lookup_dev): Use dev's lock.
16480         (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
16481         (acc_is_present): Likewise.
16482         (acc_map_data): Likewise.
16483         (acc_unmap_data): Likewise.  Use dev's lock.
16484         (present_create_copy): Likewise.
16485         (delete_copyout): Pass dev to lookup_host instead of mem_map.
16486         (update_dev_host): Likewise.
16487         (gomp_acc_remove_pointer): Likewise.  Use dev's lock.
16488         * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
16489         * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
16490         (GOMP_OFFLOAD_get_table): Remove
16491         (GOMP_OFFLOAD_load_image): New function.
16492         (GOMP_OFFLOAD_unload_image): New function.
16493         * target.c (register_lock): New mutex for offload image registration.
16494         (num_devices): Do not guard with PLUGIN_SUPPORT.
16495         (gomp_realloc_unlock): New static function.
16496         (gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
16497         before gomp_fatal.
16498         (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
16499         Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
16500         (gomp_copy_from_async): Use dev's lock and splay_tree instead of
16501         mem_map's.
16502         (gomp_unmap_vars): Likewise.
16503         (gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
16504         splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
16505         (gomp_offload_image_to_device): New static function.
16506         (GOMP_offload_register): Add mutex lock.
16507         Call gomp_offload_image_to_device for all initialized devices.
16508         Replace gomp_realloc with gomp_realloc_unlock.
16509         (GOMP_offload_unregister): New function.
16510         (gomp_init_tables): Replace with gomp_init_device.  Replace a call to
16511         get_table_func from the plugin with calls to init_device_func and
16512         gomp_offload_image_to_device.
16513         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16514         to splay_tree_s *.
16515         (GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
16516         splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
16517         (GOMP_target_data): Do not call gomp_init_tables.
16518         (GOMP_target_update): Likewise.  Remove argument from gomp_update.
16519         (gomp_load_plugin_for_device): Replace register_image and get_table
16520         with load_image and unload_image in DLSYM ().
16521         (gomp_register_images_for_device): Remove function.
16522         (gomp_target_init): Do not initialize current_device.mem_map.*,
16523         current_device.offload_regions_registered.
16524         Remove call to gomp_register_images_for_device.
16525         Do not free offload_images and num_offload_images.
16527 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
16529         PR fortran/65597
16530         * testsuite/libgomp.fortran/pr65597.f90: New test.
16532 2015-03-27  Tom de Vries  <tom@codesourcery.com>
16534         PR testsuite/65594
16535         * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
16536         (init, check): New function.
16537         (foo): Change return type to void.
16538         (main): Call init and check.
16540 2015-03-27  Tom de Vries  <tom@codesourcery.com>
16542         PR testsuite/65594
16543         * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
16544         (foo): Use M for non-inner loops to scale down test-case.
16546 2015-03-25  Kai Tietz  <ktietz@redhat.com>
16548         PR libgomp/64972
16549         * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
16550         (GOACC_data_start): Likewise.
16551         * target.c (gomp_map_vars): Likewise.
16553 2015-03-21  John David Anglin  <danglin@gcc.gnu.org>
16555         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
16556         hppa*-*-hpux*.
16558 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
16560         * testsuite/libgomp.c/target-10.c: New test.
16561         * testsuite/libgomp.c++/target-4.C: New test.
16563 2015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
16565         * testsuite/libgomp.fortran/declare-target-1.f90: New test.
16566         * testsuite/libgomp.fortran/declare-target-2.f90: New file.
16568 2015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
16570         * configure.tgt (*-*-rtems*): Use local-exec TLS model.
16571         * configure.ac (*-*-rtems*): Assume Pthread is supported.
16572         (pthread.h): Check for this header file.
16573         * configure: Regenerate.
16575 2015-02-25  Tom de Vries  <tom@codesourcery.com>
16577         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
16578         (check_reduction_op, check_reduction_macro, max, min):
16579         Declare.
16580         (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
16581         function.
16582         (main): Use new functions.
16584 2015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
16586         * target.c (gomp_load_plugin_for_device): Use const char * instead of
16587         char * for variables holding dlerror return values.
16588         (DLSYM_OPT): Ditto.
16590 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
16592         * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
16594 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
16595             Cesar Philippidis  <cesar@codesourcery.com>
16597         * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
16598         GOACC_ctaid, and GOACC_nctaid routines.
16600 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
16602         PR c/64824
16603         * testsuite/libgomp.c/atomic-18.c: New test.
16604         * testsuite/libgomp.c++/atomic-16.C: New test.
16606 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
16608         PR c/64824
16609         PR c/64868
16610         * testsuite/libgomp.c/pr64824.c: New test.
16611         * testsuite/libgomp.c/pr64868.c: New test.
16612         * testsuite/libgomp.c++/pr64824.C: New test.
16613         * testsuite/libgomp.c++/pr64868.C: New test.
16615 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
16617         PR libgomp/64635
16618         * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
16619         Link with -lpthread.
16620         * config/aix/plugin-suffix.h: Delete.
16622 2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
16624         PR libgomp/64635
16625         * configure.tgt (*-*-aix*): Use config_path "aix posix".
16626         (*-*-darwin*): Use config_path "bsd darwin posix".
16627         (*-*-hpux*): Use config_path "hpux posix".
16628         * target.c: Add include of plugin-suffix.h and use
16629         SONAME_SUFFIX macro.
16630         * config/aix/plugin-suffix.h: New file.
16631         * config/darwin/plugin-suffix.h: New file.
16632         * config/hpux/plugin-suffix.h: New file.
16633         * config/posix/plugin-suffix.h: New file.
16635 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
16637         PR middle-end/64734
16638         * libgomp.c/pr64734.c: New test.
16640 2015-01-23  Tom de Vries  <tom@codesourcery.com>
16642         PR libgomp/64672
16643         * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
16645 2015-01-23  Tom de Vries  <tom@codesourcery.com>
16647         PR libgomp/64707
16648         * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
16649         dg-options.
16651 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
16653         PR libgomp/64625
16654         * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
16655         (GOACC_parallel, GOACC_update): Remove const_void *offload_table
16656         formal parameter.  Update all users.
16657         * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
16658         Document unused formal parameter.
16660 2015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
16662         * oacc-parallel.c: Don't include <alloca.h>.
16663         (GOACC_parallel): Use gomp_alloca instead of alloca.
16665 2015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
16667         * target.c (num_devices): Guard with PLUGIN_SUPPORT.
16669 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
16670             James Norris  <jnorris@codesourcery.com>
16671             Tom de Vries  <tom@codesourcery.com>
16672             Julian Brown  <julian@codesourcery.com>
16673             Cesar Philippidis  <cesar@codesourcery.com>
16674             Nathan Sidwell  <nathan@codesourcery.com>
16675             Tobias Burnus  <burnus@net-b.de>
16677         * Makefile.am (search_path): Add $(top_srcdir)/../include.
16678         (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
16679         oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
16680         oacc-async.c, oacc-plugin.c, oacc-cuda.c.
16681         [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
16682         Include $(top_srcdir)/plugin/Makefrag.am.
16683         (nodist_libsubinclude_HEADERS): Add openacc.h.
16684         [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
16685         openacc.f90, openacc.mod, openacc_kinds.mod.
16686         (omp_lib.mod): Generalize into...
16687         (%.mod): ... this new rule.
16688         (openacc_kinds.mod, openacc.mod): New rules.
16689         * plugin/configfrag.ac: New file.
16690         * configure.ac: Move plugin/offloading support into it.  Include
16691         it.  Instantiate testsuite/libgomp-test-support.pt.exp.
16692         * plugin/Makefrag.am: New file.
16693         * testsuite/Makefile.am (OFFLOAD_TARGETS)
16694         (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
16695         export.
16696         (libgomp-test-support.exp): New rule.
16697         (all-local): Depend on it.
16698         * Makefile.in: Regenerate.
16699         * testsuite/Makefile.in: Regenerate.
16700         * config.h.in: Likewise.
16701         * configure: Likewise.
16702         * configure.tgt: Harden shell syntax.
16703         * env.c: Include "oacc-int.h".
16704         (parse_acc_device_type): New function.
16705         (gomp_debug_var, goacc_device_type, goacc_device_num): New
16706         variables.
16707         (initialize_env): Initialize those.  Call
16708         goacc_runtime_initialize.
16709         * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
16710         (gomp_fatal): Call gomp_vfatal.
16711         * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
16712         (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
16713         (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
16714         (splay_tree_node, splay_tree, splay_tree_key)
16715         (struct target_mem_desc, struct splay_tree_key_s)
16716         (struct gomp_memory_mapping, struct acc_dispatch_t)
16717         (struct gomp_device_descr, gomp_acc_insert_pointer)
16718         (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
16719         (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
16720         (gomp_free_memmap, gomp_fini_device): New declarations.
16721         (gomp_vdebug, gomp_debug): New macros.
16722         Include "splay-tree.h".
16723         * libgomp.map (OACC_2.0): New symbol version.  Use for
16724         acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
16725         acc_set_device_type_h_, acc_get_device_type,
16726         acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
16727         acc_get_device_num, acc_get_device_num_h_, acc_async_test,
16728         acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
16729         acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
16730         acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
16731         acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
16732         acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
16733         acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
16734         acc_copyin_array_h_, acc_present_or_copyin,
16735         acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
16736         acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
16737         acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
16738         acc_present_or_create_32_h_, acc_present_or_create_64_h_,
16739         acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
16740         acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
16741         acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
16742         acc_update_device, acc_update_device_32_h_,
16743         acc_update_device_64_h_, acc_update_device_array_h_,
16744         acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
16745         acc_update_self_array_h_, acc_map_data, acc_unmap_data,
16746         acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
16747         acc_is_present_64_h_, acc_is_present_array_h_,
16748         acc_memcpy_to_device, acc_memcpy_from_device,
16749         acc_get_current_cuda_device, acc_get_current_cuda_context,
16750         acc_get_cuda_stream, acc_set_cuda_stream.
16751         (GOACC_2.0): New symbol version.  Use for GOACC_data_end,
16752         GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
16753         GOACC_update, GOACC_wait, GOACC_get_thread_num,
16754         GOACC_get_num_threads.
16755         (GOMP_PLUGIN_1.0): New symbol version.  Use for
16756         GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
16757         GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
16758         GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
16759         GOMP_PLUGIN_acc_thread.
16760         * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
16761         environment variable.
16762         * libgomp_g.h (GOACC_data_start, GOACC_data_end)
16763         (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
16764         (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
16765         * splay-tree.h (splay_tree_lookup, splay_tree_insert)
16766         (splay_tree_remove): New declarations.
16767         (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
16768         (splay_tree_remove, splay_tree_lookup): Move into...
16769         * splay-tree.c: ... this new file.
16770         * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
16771         (splay_tree_node, splay_tree, splay_tree_key)
16772         (struct target_mem_desc, struct splay_tree_key_s)
16773         (struct gomp_device_descr): Don't declare.
16774         (num_devices_openmp): New variable.
16775         (gomp_get_num_devices ): Use it.
16776         (gomp_init_targets_once): New function.
16777         (gomp_get_num_devices ): Use it.
16778         (get_kind, gomp_copy_from_async, gomp_free_memmap)
16779         (gomp_fini_device, gomp_register_image_for_device): New functions.
16780         (gomp_map_vars): Add devaddrs parameter.
16781         (gomp_update): Add mm parameter.
16782         (gomp_init_device): Move most of it into...
16783         (gomp_init_tables): ... this new function.
16784         (gomp_register_images_for_device): Remove function.
16785         (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
16786         Make them hidden instead of static.
16787         (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
16788         (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
16789         (GOMP_target_end_data, GOMP_target_update)
16790         (gomp_load_plugin_for_device, gomp_target_init): Update for
16791         OpenACC changes.
16792         * oacc-async.c: New file.
16793         * oacc-cuda.c: Likewise.
16794         * oacc-host.c: Likewise.
16795         * oacc-init.c: Likewise.
16796         * oacc-int.h: Likewise.
16797         * oacc-mem.c: Likewise.
16798         * oacc-parallel.c: Likewise.
16799         * oacc-plugin.c: Likewise.
16800         * oacc-plugin.h: Likewise.
16801         * oacc-ptx.h: Likewise.
16802         * openacc.f90: Likewise.
16803         * openacc.h: Likewise.
16804         * openacc_lib.h: Likewise.
16805         * plugin/plugin-host.c: Likewise.
16806         * plugin/plugin-nvptx.c: Likewise.
16807         * libgomp-plugin.c: Likewise.
16808         * libgomp-plugin.h: Likewise.
16809         * libgomp_target.h: Remove file after merging content into the
16810         former file.  Update all users.
16811         * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
16812         (offload_targets_s, offload_targets_s_openacc): New variables.
16813         (check_effective_target_openacc_nvidia_accel_present)
16814         (check_effective_target_openacc_nvidia_accel_selected): New
16815         procedures.
16816         (libgomp_init): Update for OpenACC changes.
16817         * testsuite/libgomp-test-support.exp.in: New file.
16818         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
16819         * testsuite/libgomp.oacc-c/c.exp: Likewise.
16820         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
16821         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
16822         * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
16823         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
16824         * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
16825         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
16826         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
16827         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
16828         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
16829         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
16830         * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
16831         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
16832         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
16833         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
16834         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
16835         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
16836         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
16837         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
16838         * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
16839         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
16840         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
16841         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
16842         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16843         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
16844         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
16845         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
16846         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
16847         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
16848         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16849         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
16850         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
16851         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
16852         * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
16853         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16854         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
16855         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16856         * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
16857         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
16858         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
16859         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
16860         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16861         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16862         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16863         * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
16864         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16865         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16866         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16867         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16868         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16869         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
16870         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16871         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16872         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16873         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16874         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16875         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16876         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16877         * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
16878         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
16879         * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
16880         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16881         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16882         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16883         * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
16884         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
16885         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16886         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16887         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16888         * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
16889         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16890         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16891         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16892         * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
16893         * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
16894         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16895         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16896         * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
16897         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
16898         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
16899         * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
16900         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16901         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16902         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16903         * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
16904         * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
16905         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16906         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16907         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
16908         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
16909         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
16910         * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
16911         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16912         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16913         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16914         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16915         * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
16916         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16917         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16918         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
16919         * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
16920         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
16921         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16922         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
16923         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
16924         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
16925         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
16926         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
16927         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16928         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
16929         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
16930         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16931         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
16932         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
16933         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
16934         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
16935         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
16936         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
16937         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
16938         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
16939         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
16940         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
16941         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
16942         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
16943         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
16944         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
16945         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
16946         * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
16947         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
16948         * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
16949         * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
16950         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16951         * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
16952         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
16953         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
16954         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
16955         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
16956         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
16957         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
16958         Likewise.
16959         * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
16960         * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
16961         * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
16962         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16963         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
16964         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
16965         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
16966         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
16967         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
16968         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
16969         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
16970         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
16971         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
16972         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
16973         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
16974         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
16975         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
16976         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
16977         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
16978         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
16979         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
16980         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
16981         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
16982         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
16983         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
16984         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
16985         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16986         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16987         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
16988         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
16989         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
16990         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
16991         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
16992         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16993         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
16994         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
16995         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
16996         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
16997         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
16998         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
16999         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
17000         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
17001         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
17002         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
17003         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
17004         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
17005         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
17006         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
17007         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
17008         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
17009         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
17010         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
17011         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
17012         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
17013         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
17014         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
17015         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
17016         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
17017         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
17018         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
17020 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
17021             Julian Brown  <julian@codesourcery.com>
17022             David Malcolm  <dmalcolm@redhat.com>
17024         * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
17025         to "GNU Offloading and Multi Processing Runtime Library".  Change
17026         all users.
17027         * configure: Regenerate.
17028         * libgomp.texi: Update.
17030 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
17032         * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
17033         "$tgt_dir/lib32".
17034         * configure: Regenerate.
17036         * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
17037         "intelmic" in $offload_targets.
17039 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
17041         Update copyright years.
17043         * libgomp.texi: Bump @copying's copyright year.
17045 2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
17047         * testsuite/lib/libgomp.exp: Load target-utils.exp.
17048         Move load of target-supports.exp earlier.
17050 2014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
17052         * testsuite/libgomp.c/target-9.c: New test.
17054 2014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
17056         * config.h.in: Regenerate.
17057         * configure: Regenerate.
17058         * configure.ac: Add GCC_CHECK_EMUTLS.
17059         * libgomp.h: Add check for USE_EMUTLS: this case
17060         is equal to HAVE_TLS.
17061         * team.c: Likewise.
17063 2014-12-03  Uros Bizjak  <ubizjak@gmail.com>
17065         * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
17067 2014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
17068             Ilya Verbin  <ilya.verbin@intel.com>
17070         * testsuite/libgomp.c/target-critical-1.c: New test.
17072 2014-11-26  Jakub Jelinek  <jakub@redhat.com>
17074         * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
17075         to dg-options unless expensive testing is on.
17076         (TESTITERS): Define to N if not defined.
17077         (main): Use TESTITERS instead of N.
17078         * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
17079         dg-additional-options depending on whether expensive testing is on.
17080         * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
17081         Decrease N to 100000 and CHUNKSZ to 10000.
17083 2014-11-24  Jakub Jelinek  <jakub@redhat.com>
17085         PR fortran/63938
17086         * testsuite/libgomp.fortran/pr63938-1.f90: New test.
17087         * testsuite/libgomp.fortran/pr63938-2.f90: New test.
17089 2014-11-21  Steve Ellcey  <sellcey@imgtec.com>
17091         * config/linux/mips/futex.h (SYS_futex): Define if not already done.
17093 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
17095         PR bootstrap/63784
17096         * configure: Regenerated.
17098 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
17100         * testsuite/libgomp.c/examples-4/e.53.5.c: Require
17101         vect_simd_clones effective target.
17102         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
17104 2014-11-14  Jakub Jelinek  <jakub@redhat.com>
17106         * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
17107         of 32 as block_size.
17108         * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
17109         instead of 32 as block_size.
17111 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
17112             Ilya Verbin  <ilya.verbin@intel.com>
17114         * Makefile.in: Regenerate.
17115         * configure: Regenerate.
17116         * configure.ac: Set up offload_additional_options,
17117         offload_additional_lib_paths and offload_targets.
17118         * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
17119         OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
17120         * testsuite/Makefile.in: Regenerate.
17121         * testsuite/lib/libgomp.exp (libgomp_init): Append
17122         offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
17123         offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
17124         build directory to LD_LIBRARY_PATH for intelmic offload targets.
17126 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
17127             Ilya Verbin  <ilya.verbin@intel.com>
17128             Kirill Yukhin  <kirill.yukhin@intel.com>
17129             Ilya Tocar  <ilya.tocar@intel.com>
17131         * testsuite/lib/libgomp.exp
17132         (check_effective_target_offload_device): New.
17133         * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
17134         * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
17135         * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
17136         * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
17137         * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
17138         * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
17139         * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
17140         * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
17141         * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
17142         * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
17143         * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
17144         * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
17145         * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
17146         * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
17147         * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
17148         * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
17149         * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
17150         * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
17151         * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
17152         * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
17153         * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
17154         * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
17155         * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
17156         * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
17157         * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
17158         * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
17159         * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
17160         * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
17161         * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
17162         * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
17163         * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
17164         * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
17165         * testsuite/libgomp.c/target-7.c: Fix test.
17166         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
17167         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
17168         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
17169         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
17170         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
17171         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
17172         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
17173         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
17174         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
17175         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
17176         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
17177         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
17178         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
17179         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
17180         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
17181         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
17182         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
17183         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
17184         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
17185         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
17186         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
17187         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
17188         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
17189         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
17190         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
17191         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
17192         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
17193         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
17194         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
17195         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
17196         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
17198 2014-11-13  Jakub Jelinek  <jakub@redhat.com>
17199             Ilya Verbin  <ilya.verbin@intel.com>
17200             Thomas Schwinge  <thomas@codesourcery.com>
17201             Andrey Turetskiy  <andrey.turetskiy@intel.com>
17203         * libgomp.map (GOMP_4.0.1): New symbol version.
17204         Add GOMP_offload_register.
17205         * libgomp_target.h: New file.
17206         * splay-tree.h: New file.
17207         * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
17208         (gomp_target_init): New forward declaration.
17209         (gomp_is_initialized): New static variable.
17210         (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
17211         (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
17212         New structures.
17213         (offload_images, num_offload_images, devices, num_devices): New static
17214         variables.
17215         (splay_compare): New static function.
17216         (struct gomp_device_descr): New structure.
17217         (gomp_get_num_devices): Call gomp_target_init.
17218         (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
17219         (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
17220         (GOMP_offload_register): New function.
17221         (GOMP_target): Arrange for host callback to be performed in a separate
17222         initial thread and contention group, inheriting ICVs from
17223         gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
17224         Add device initialization and lookup for target function in splay tree.
17225         (GOMP_target_data): Add device initialization and call gomp_map_vars.
17226         (GOMP_target_end_data): Call gomp_unmap_vars.
17227         (GOMP_target_update): Add device initialization and call gomp_update.
17228         (gomp_load_plugin_for_device, gomp_register_images_for_device)
17229         (gomp_target_init): New static functions.
17231 2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
17232             Thomas Schwinge  <thomas@codesourcery.com>
17233             Ilya Verbin  <ilya.verbin@intel.com>
17234             Andrey Turetskiy  <andrey.turetskiy@intel.com>
17236         * config.h.in: Regenerate.
17237         * configure: Regenerate.
17238         * configure.ac: Check for libdl, required for plugin support.
17239         (PLUGIN_SUPPORT): Define if plugins are supported.
17240         (enable_offload_targets): Support Intel MIC targets.
17241         (OFFLOAD_TARGETS): List of target names suitable for offloading.
17243 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
17245         PR target/63610
17246         * configure: Regenerate.
17248 2014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17250         * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
17252 2014-10-06  Marek Polacek  <polacek@redhat.com>
17254         * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
17255         * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
17256         * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
17257         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
17259 2014-10-06  Marek Polacek  <polacek@redhat.com>
17261         * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
17262         * testsuite/libgomp.c/nqueens-1.c: Likewise.
17263         * testsuite/libgomp.c/pr26943-3.c: Likewise.
17264         * testsuite/libgomp.c/pr26943-4.c: Likewise.
17265         * testsuite/libgomp.c/pr36802-2.c: Likewise.
17266         * testsuite/libgomp.c/pr36802-3.c: Likewise.
17267         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
17268         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
17269         * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
17270         * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
17271         * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
17272         * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
17273         * testsuite/libgomp.c/omp-single-1.c: Likewise.
17274         * testsuite/libgomp.c/omp-single-2.c: Likewise.
17275         * testsuite/libgomp.c/omp_matvec.c: Likewise.
17276         * testsuite/libgomp.c/omp_workshare3.c: Likewise.
17277         * testsuite/libgomp.c/omp_workshare4.c: Likewise.
17278         * testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
17279         declarations.
17281 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
17283         PR libgomp/61200
17284         * testsuite/libgomp.c/pr61200.c: New test.
17286 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
17288         PR c++/63248
17289         * testsuite/libgomp.c++/pr63248.C: New test.
17291 2014-08-04  Jakub Jelinek  <jakub@redhat.com>
17293         * task.c (GOMP_taskgroup_end): If taskgroup->num_children
17294         is not zero, but taskgroup->children is NULL and there are
17295         any task->children, schedule those instead of waiting.
17296         * testsuite/libgomp.c/depend-6.c: New test.
17297         * testsuite/libgomp.c/depend-7.c: New test.
17298         * testsuite/libgomp.c/depend-8.c: New test.
17299         * testsuite/libgomp.c/depend-9.c: New test.
17300         * testsuite/libgomp.c/depend-10.c: New test.
17302 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
17304         * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
17305         (struct gomp_taskwait): New type.
17306         (struct gomp_task): Add taskwait and parent_depends_on, remove
17307         in_taskwait and taskwait_sem fields.
17308         (gomp_finish_task): Don't destroy taskwait_sem.
17309         * task.c (gomp_init_task): Don't init in_taskwait, instead init
17310         taskwait and parent_depends_on.
17311         (GOMP_task): For if (0) tasks with depend clause that depend on
17312         earlier tasks don't defer them, instead call
17313         gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
17314         Initialize redundant_out field, for redundant out entries just
17315         move them at the end of linked list instead of removing them
17316         completely, and set redundant_out flag instead of redundant.
17317         (gomp_task_run_pre): Update last_parent_depends_on if scheduling
17318         that task.
17319         (gomp_task_run_post_handle_dependers): If parent is in
17320         gomp_task_maybe_wait_for_dependencies and newly runnable task
17321         is not parent_depends_on, queue it in parent->children linked
17322         list after all runnable tasks with parent_depends_on set.
17323         Adjust for addition of taskwait indirection.
17324         (gomp_task_run_post_remove_parent): If parent is in
17325         gomp_task_maybe_wait_for_dependencies and task to be removed
17326         is parent_depends_on, decrement n_depend and if needed awake
17327         parent.  Adjust for addition of taskwait indirection.
17328         (GOMP_taskwait): Adjust for addition of taskwait indirection.
17329         (gomp_task_maybe_wait_for_dependencies): New function.
17330         * testsuite/libgomp.c/depend-5.c: New test.
17332 2014-07-13  Tobias Burnus  <burnus@net-b.de>
17334         * testsuite/libgomp.fortran/pr34020.f90: Make compile
17335         with TS 18508/Fortran 2015.
17337 2014-07-06  Marek Polacek  <polacek@redhat.com>
17339         PR c/6940
17340         * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
17342 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
17344         * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
17345         matches regex $lang_source_re, add $lang_include_flags to options.
17346         * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
17347         * testsuite/libgomp.c++/c++.exp: Likewise.
17348         * testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
17349         and lang_include_flags instead of adding -fintrinsic-modules-path= to
17350         ALWAYS_CFLAGS.
17351         * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
17353 2014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
17355         * testsuite/libgomp.fortran/fortran.exp: Explain
17356         gfortran-dg-runtest usage.
17358 2014-06-25  Jakub Jelinek  <jakub@redhat.com>
17360         * testsuite/libgomp.fortran/simd5.f90: New test.
17361         * testsuite/libgomp.fortran/simd6.f90: New test.
17362         * testsuite/libgomp.fortran/simd7.f90: New test.
17364 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
17366         * testsuite/libgomp.c/for-2.c: Define SC to static for
17367         #pragma omp for simd testing.
17368         * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
17369         (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
17370         SC macro.
17371         * testsuite/libgomp.c/simd-14.c: New test.
17372         * testsuite/libgomp.c/simd-15.c: New test.
17373         * testsuite/libgomp.c/simd-16.c: New test.
17374         * testsuite/libgomp.c/simd-17.c: New test.
17375         * testsuite/libgomp.c++/for-10.C: Define SC to static for
17376         #pragma omp for simd testing.
17377         * testsuite/libgomp.c++/simd10.C: New test.
17378         * testsuite/libgomp.c++/simd11.C: New test.
17379         * testsuite/libgomp.c++/simd12.C: New test.
17380         * testsuite/libgomp.c++/simd13.C: New test.
17382         * testsuite/libgomp.fortran/aligned1.f03: New test.
17383         * testsuite/libgomp.fortran/nestedfn5.f90: New test.
17384         * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
17385         tasks with !$omp parallel !$omp single.
17386         * testsuite/libgomp.fortran/target8.f90: New test.
17387         * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
17388         not to use trim in the combiner, instead call elemental function.
17389         (fn): New elemental function.
17390         * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
17391         Make elemental.
17392         * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
17393         omp_in): Likewise.
17394         * testsuite/libgomp.fortran/udr12.f90: New test.
17395         * testsuite/libgomp.fortran/udr13.f90: New test.
17396         * testsuite/libgomp.fortran/udr14.f90: New test.
17397         * testsuite/libgomp.fortran/udr15.f90: New test.
17399 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
17401         * omp_lib.f90.in (openmp_version): Set to 201307.
17402         * omp_lib.h.in (openmp_version): Likewise.
17403         * testsuite/libgomp.c/target-8.c: New test.
17404         * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
17405         and inbranch clauses.
17406         * testsuite/libgomp.fortran/depend-3.f90: New test.
17407         * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
17408         openmp_version.
17409         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17410         * testsuite/libgomp.fortran/target1.f90: New test.
17411         * testsuite/libgomp.fortran/target2.f90: New test.
17412         * testsuite/libgomp.fortran/target3.f90: New test.
17413         * testsuite/libgomp.fortran/target4.f90: New test.
17414         * testsuite/libgomp.fortran/target5.f90: New test.
17415         * testsuite/libgomp.fortran/target6.f90: New test.
17416         * testsuite/libgomp.fortran/target7.f90: New test.
17418 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
17420         PR fortran/60928
17421         * testsuite/libgomp.fortran/allocatable9.f90: New test.
17422         * testsuite/libgomp.fortran/allocatable10.f90: New test.
17423         * testsuite/libgomp.fortran/allocatable11.f90: New test.
17424         * testsuite/libgomp.fortran/allocatable12.f90: New test.
17425         * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
17426         * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
17427         * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
17428         * testsuite/libgomp.fortran/associate1.f90: New test.
17429         * testsuite/libgomp.fortran/associate2.f90: New test.
17430         * testsuite/libgomp.fortran/procptr1.f90: New test.
17432 2014-06-06  Jakub Jelinek  <jakub@redhat.com>
17434         * testsuite/libgomp.fortran/simd1.f90: New test.
17435         * testsuite/libgomp.fortran/udr1.f90: New test.
17436         * testsuite/libgomp.fortran/udr2.f90: New test.
17437         * testsuite/libgomp.fortran/udr3.f90: New test.
17438         * testsuite/libgomp.fortran/udr4.f90: New test.
17439         * testsuite/libgomp.fortran/udr5.f90: New test.
17440         * testsuite/libgomp.fortran/udr6.f90: New test.
17441         * testsuite/libgomp.fortran/udr7.f90: New test.
17442         * testsuite/libgomp.fortran/udr8.f90: New test.
17443         * testsuite/libgomp.fortran/udr9.f90: New test.
17444         * testsuite/libgomp.fortran/udr10.f90: New test.
17445         * testsuite/libgomp.fortran/udr11.f90: New test.
17447 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
17449         * testsuite/libgomp.fortran/declare-simd-1.f90: Require
17450         vect_simd_clones effective target.
17451         * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
17453 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
17455         PR middle-end/61252
17456         * testsuite/libgomp.c++/simd-9.C: New test.
17458 2014-05-18  Uros Bizjak  <ubizjak@gmail.com>
17460         * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
17461         (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
17462         texts according to their @menu entry positions.
17464 2014-05-11  Jakub Jelinek  <jakub@redhat.com>
17466         * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
17467         * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
17468         * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
17469         * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
17470         * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
17471         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
17472         * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
17473         * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
17474         * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
17475         * testsuite/libgomp.fortran/depend-1.f90: New test.
17476         * testsuite/libgomp.fortran/depend-2.f90: New test.
17477         * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
17478         * testsuite/libgomp.fortran/simd1.f90: New test.
17479         * testsuite/libgomp.fortran/simd2.f90: New test.
17480         * testsuite/libgomp.fortran/simd3.f90: New test.
17481         * testsuite/libgomp.fortran/simd4.f90: New test.
17482         * testsuite/libgomp.fortran/taskgroup1.f90: New test.
17484 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
17486         * testsuite/libgomp.c/simd-10.c: New test.
17487         * testsuite/libgomp.c/simd-11.c: New test.
17488         * testsuite/libgomp.c/simd-12.c: New test.
17489         * testsuite/libgomp.c/simd-13.c: New test.
17491 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
17493         * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
17494         atomic type clauses in any order and optional comma in between.
17495         * testsuite/libgomp.c++/atomic-15.C: Likewise.
17496         * testsuite/libgomp.c/atomic-17.c: Likewise.
17498         * testsuite/libgomp.c/simd-7.c: New test.
17499         * testsuite/libgomp.c/simd-8.c: New test.
17500         * testsuite/libgomp.c/simd-9.c: New test.
17501         * testsuite/libgomp.c/loop-16.c: New test.
17503 2014-04-02  Richard Henderson  <rth@redhat.com>
17505         * config/linux/futex.h (futex_wait): Get error value from errno.
17506         (futex_wake): Likewise.
17508 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
17510         PR c++/60331
17511         * testsuite/libgomp.c++/udr-11.C: New test.
17512         * testsuite/libgomp.c++/udr-12.C: New test.
17513         * testsuite/libgomp.c++/udr-13.C: New test.
17514         * testsuite/libgomp.c++/udr-14.C: New test.
17515         * testsuite/libgomp.c++/udr-15.C: New test.
17516         * testsuite/libgomp.c++/udr-16.C: New test.
17517         * testsuite/libgomp.c++/udr-17.C: New test.
17518         * testsuite/libgomp.c++/udr-18.C: New test.
17519         * testsuite/libgomp.c++/udr-19.C: New test.
17521 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
17523         Update copyright years
17525 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
17527         * hashtab.h: Use the standard form for the copyright notice.
17529 2014-01-02  Tobias Burnus  <burnus@net-b.de>
17531         * libgomp.texi: Bump @copying's copyright year.
17533 2013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
17535         * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
17536         alloca () with __builtin_alloca ().
17537         * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
17538         * testsuite/libgomp.c/lock-3.c: Likewise.
17539         * testsuite/libgomp.c/pr48591.c: Likewise.
17541 2013-12-17  Jakub Jelinek  <jakub@redhat.com>
17543         PR testsuite/59534
17544         * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
17545         comparisons.
17547 2013-12-16  Jakub Jelinek  <jakub@redhat.com>
17549         PR libgomp/58756
17550         * testsuite/libgomp.c/pr58756.c: New test.
17552 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
17554         PR libgomp/59467
17555         * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
17556         !$omp parallel.
17558 2013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
17560         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
17561         ALWAYS_CFLAGS.
17562         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
17563         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
17564         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
17565         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
17566         Likewise.
17568         * libgomp_g.h: Include <stddef.h> for size_t.
17570         * libgomp.spec.in: Update comment about libgomp's dependencies.
17571         * configure.ac: Likewise.
17572         * configure: Regenerate.
17574 2013-10-16  Tobias Burnus  <burnus@net-b.de>
17576         * libgomp.texi: (Runtime Library Routines): Update references for
17577         OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
17578         omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
17579         omp_get_team_num, omp_is_initial_device, omp_set_default_device.
17580         (Environment Variables): Update references for OpenMP 4.0. Add
17581         OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
17582         Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
17583         order.
17585 2013-10-14  Jakub Jelinek  <jakub@redhat.com>
17587         * env.c (parse_bind_var): Initialize value to avoid
17588         (false positive) warning.
17590 2013-10-12  Jakub Jelinek  <jakub@redhat.com>
17592         PR libgomp/58691
17593         * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
17594         to check variable.
17595         (gomp_init_num_threads): Move i variable declaration into
17596         #ifdef CPU_ALLOC_SIZE block.
17597         * config/linux/affinity.c (gomp_affinity_init_level): Test
17598         gomp_places_list_len == 0 rather than gomp_places_list == 0
17599         when checking for topology reading error.
17600         * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
17601         * env.c (parse_affinity): Add ignore argument, if true, don't populate
17602         gomp_places_list, only parse env var and always return false.
17603         (parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
17604         (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
17605         vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
17606         and either of these variables were parsed correctly into a places
17607         list.
17609 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
17610             Jakub Jelinek  <jakub@redhat.com>
17612         * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
17613         of 5 loopfn matches.
17614         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17615         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17616         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
17617         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17618         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17619         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17620         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17621         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17623 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
17625         * Makefile.am (omp_lib.mod): Streamline rule.
17626         * Makefile.in: Regenerate.
17628         * libgomp.texi (Runtime Library Routines): C linkage, don't throw
17629         exceptions.
17631         * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
17632         * testsuite/libgomp.fortran/lib1.f90: Likewise.
17633         * testsuite/libgomp.fortran/lib2.f: Likewise.
17634         * testsuite/libgomp.fortran/lib3.f: Likewise.
17636         * configure.ac: Typo fix.
17637         * configure: Regenerate.
17639         * testsuite/libgomp.fortran/openmp_version-1.f: New file.
17640         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17642         * omp.h.in: Don't touch the user's namespace.
17644 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
17645             Tobias Burnus  <burnus@net-b.de>
17646             Richard Henderson  <rth@redhat.com>
17648         * target.c: New file.
17649         * Makefile.am (libgomp_la_SOURCES): Add target.c.
17650         * Makefile.in: Regenerated.
17651         * libgomp_g.h (GOMP_task): Add depend argument.
17652         (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17653         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17654         GOMP_target_end_data, GOMP_target_update, GOMP_teams,
17655         GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17656         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17657         GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
17658         GOMP_taskgroup_start, GOMP_taskgroup_end,
17659         GOMP_parallel_sections): New prototypes.
17660         * fortran.c (omp_is_initial_device): Add ialias_redirect.
17661         (omp_is_initial_device_): New function.
17662         (ULP, STR1, STR2, ialias_redirect): Removed.
17663         (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
17664         omp_set_default_device_8_, omp_get_default_device_,
17665         omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
17666         functions.
17667         * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17668         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17669         GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
17670         @@GOMP_4.0.
17671         (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
17672         omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
17673         omp_set_default_device, omp_set_default_device_,
17674         omp_set_default_device_8_, omp_get_default_device,
17675         omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
17676         omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
17677         omp_get_team_num_): Export @@OMP_4.0.
17678         * team.c (struct gomp_thread_start_data): Add place field.
17679         (gomp_thread_start): Clear thr->thread_pool and
17680         thr->task before returning.  Use gomp_team_barrier_wait_final
17681         instead of gomp_team_barrier_wait.  Initialize thr->place.
17682         (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
17683         team_cancelled and task_queued_count fields.
17684         (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
17685         before calling pthread_exit.
17686         (gomp_free_thread): No longer static.  Use
17687         gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
17688         (gomp_team_start): Add flags argument.  Set
17689         thr->thread_pool->threads_busy to nthreads immediately after creating
17690         new pool.  Use gomp_managed_threads_lock instead of
17691         gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
17692         (gomp_team_end): Use gomp_managed_threads_lock instead of
17693         gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
17694         of gomp_team_barrier_wait.  If team->team_cancelled, call
17695         gomp_fini_workshare on ws chain starting at team->work_shares_to_free
17696         rather than thr->ts.work_share.
17697         (initialize_team): Don't call gomp_sem_init here.
17698         * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
17699         caller.
17700         (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
17701         * env.c (gomp_global_icv): Add default_device_var, target_data and
17702         bind_var initializers.
17703         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17704         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17705         gomp_places_list_len): New variables.
17706         (parse_bind_var, parse_one_place, parse_places_var): New functions.
17707         (parse_affinity): Rewritten to construct OMP_PLACES list with unit
17708         sized places.
17709         (gomp_cancel_var): New global variable.
17710         (parse_int): New function.
17711         (handle_omp_display_env): New function.
17712         (initialize_env): Use it.  Initialize default_device_var.
17713         Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
17714         OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
17715         OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
17716         been successfully parsed (and call gomp_init_affinity in that case).
17717         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17718         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17719         omp_get_team_num, omp_is_initial_device): New functions.
17720         * libgomp.h: Include stdlib.h.
17721         (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
17722         Define.
17723         (struct target_mem_desc): Forward declare.
17724         (struct gomp_task_icv): Add default_device_var, target_data, bind_var
17725         and thread_limit_var fields.
17726         (gomp_get_num_devices): New prototype.
17727         (gomp_cancel_var): New extern decl.
17728         (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
17729         team_cancelled and task_queued_count fields.  Add comments about
17730         task_{,queued_,running_}count.
17731         (gomp_cancel_kind): New enum.
17732         (gomp_work_share_end_cancel): New prototype.
17733         (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
17734         copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
17735         and depend fields.
17736         (struct gomp_taskgroup): New type.
17737         (struct gomp_task_depend_entry,
17738         struct gomp_dependers_vec): New types.
17739         (gomp_finish_task): Free depend_hash if non-NULL.
17740         (struct gomp_team_state): Add place_partition_off
17741         and place_partition_len fields.
17742         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17743         gomp_places_list_len): New extern decls.
17744         (struct gomp_thread): Add place field.
17745         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17746         (gomp_init_thread_affinity): Add place argument.
17747         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17748         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17749         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17750         gomp_affinity_init_level, gomp_affinity_print_place): New
17751         prototypes.
17752         (gomp_team_start): Add flags argument.
17753         (gomp_thread_limit_var, gomp_remaining_threads_count,
17754         gomp_remaining_threads_lock): Remove.
17755         (gomp_managed_threads_lock): New variable.
17756         (struct gomp_thread_pool): Add threads_busy field.
17757         (gomp_free_thread): New prototype.
17758         * task.c: Include hashtab.h.
17759         (hash_entry_type): New typedef.
17760         (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
17761         (gomp_init_task): Clear dependers, depend_hash, depend_count,
17762         copy_ctors_done and taskgroup fields.
17763         (GOMP_task): Add depend argument, handle depend clauses.  If
17764         gomp_team_barrier_cancelled or if it's taskgroup has been
17765         cancelled, don't queue or start new tasks.  Set copy_ctors_done
17766         field if needed.  Initialize taskgroup field.  If copy_ctors_done
17767         and already cancelled, don't discard the task.  If taskgroup is
17768         non-NULL, enqueue the task into taskgroup queue.  Increment
17769         num_children field in taskgroup.  Increment task_queued_count.
17770         (gomp_task_run_pre, gomp_task_run_post_remove_parent,
17771         gomp_task_run_post_remove_taskgroup): New inline functions.
17772         (gomp_task_run_post_handle_depend_hash,
17773         gomp_task_run_post_handle_dependers,
17774         gomp_task_run_post_handle_depend): New functions.
17775         (GOMP_taskwait): Use them.  If more than one new tasks
17776         have been queued, wake other threads if needed.
17777         (gomp_barrier_handle_tasks): Likewise.  If
17778         gomp_team_barrier_cancelled, don't start any new tasks, just free
17779         all tasks.
17780         (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
17781         * omp_lib.f90.in
17782         (omp_proc_bind_kind, omp_proc_bind_false,
17783         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17784         omp_proc_bind_spread): New params.
17785         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17786         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17787         omp_get_team_num, omp_is_initial_device): New interfaces.
17788         (omp_get_dynamic, omp_get_nested, omp_in_parallel,
17789         omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
17790         omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
17791         omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
17792         omp_get_team_size, omp_get_active_level, omp_in_final): Remove
17793         useless use omp_lib_kinds.
17794         * omp.h.in (omp_proc_bind_t): New typedef.
17795         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17796         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17797         omp_get_team_num, omp_is_initial_device): New prototypes.
17798         * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
17799         through to gomp_team_start.
17800         (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
17801         GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
17802         Adjust gomp_parallel_loop_start callers.
17803         (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17804         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17805         GOMP_loop_end_cancel): New functions.
17806         (GOMP_parallel_end): Add ialias_redirect.
17807         * hashtab.h: New file.
17808         * libgomp.texi (Environment Variables): Minor cleanup,
17809         update section refs to OpenMP 4.0rc2.
17810         (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
17811         environment variables.
17812         * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
17813         team->work_shares_to_free to thr->ts.work_share before calling
17814         free_work_share.
17815         (gomp_work_share_end_cancel): New function.
17816         * config/linux/proc.c: Include errno.h.
17817         (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
17818         (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
17819         sizeof (cpu_set_t) to determine number of iterations.  Fix up check
17820         extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
17821         gomp_cpuset_size is sizeof (cpu_set_t).
17822         (gomp_init_num_threads): Initialize gomp_cpuset_size,
17823         gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
17824         of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
17825         to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
17826         contain any logical CPUs.
17827         (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
17828         is NULL.  Use gomp_cpusetp instead of &cpuset and pass
17829         gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
17830         pthread_getaffinity_np.  Check gomp_places_list instead of
17831         gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
17832         * config/linux/bar.c (gomp_barrier_wait_end,
17833         gomp_barrier_wait_last): Use BAR_* defines.
17834         (gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
17835         from state where needed.  Set work_share_cancelled to 0 on last
17836         thread.
17837         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
17838         gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
17839         functions.
17840         * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
17841         Add cpusetsize argument.
17842         (gomp_cpuset_size, gomp_cpusetp): Declare.
17843         * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
17844         (affinity_counter): Remove.
17845         (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
17846         if CPU_ALLOC_SIZE isn't defined.
17847         (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
17848         silently create OMP_PLACES=threads, if it is non-NULL afterwards,
17849         bind current thread to the first place.
17850         (gomp_init_thread_affinity): Rewritten.  Add place argument, just
17851         pthread_setaffinity_np to gomp_places_list[place].
17852         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17853         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17854         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17855         gomp_affinity_init_level, gomp_affinity_print_place): New functions.
17856         * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17857         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17858         (gomp_barrier_t): Add awaited_final field.
17859         (gomp_barrier_init): Initialize awaited_final field.
17860         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
17861         gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
17862         prototypes.
17863         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
17864         defines.
17865         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
17866         gomp_team_barrier_cancelled): New inline functions.
17867         (gomp_barrier_last_thread,
17868         gomp_team_barrier_set_task_pending,
17869         gomp_team_barrier_clear_task_pending,
17870         gomp_team_barrier_set_waiting_for_tasks,
17871         gomp_team_barrier_waiting_for_tasks,
17872         gomp_team_barrier_done): Use BAR_* defines.
17873         * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
17874         (gomp_barrier_wait_end): Use BAR_* defines.
17875         (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
17876         Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
17877         Use BAR_* defines.
17878         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
17879         gomp_team_barrier_cancel): New functions.
17880         * config/posix/affinity.c (gomp_init_thread_affinity): Add place
17881         argument.
17882         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17883         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17884         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17885         gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
17886         * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17887         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17888         (gomp_barrier_t): Add cancellable field.
17889         (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
17890         gomp_team_barrier_cancel): New prototypes.
17891         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
17892         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
17893         gomp_team_barrier_cancelled): New inline functions.
17894         (gomp_barrier_wait_start, gomp_barrier_last_thread,
17895         gomp_team_barrier_set_task_pending,
17896         gomp_team_barrier_clear_task_pending,
17897         gomp_team_barrier_set_waiting_for_tasks,
17898         gomp_team_barrier_waiting_for_tasks,
17899         gomp_team_barrier_done): Use BAR_* defines.
17900         * barrier.c (GOMP_barrier_cancel): New function.
17901         * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
17902         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17903         omp_proc_bind_spread): New params.
17904         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17905         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17906         omp_get_team_num, omp_is_initial_device): New externals.
17907         * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
17908         New functions.
17909         (gomp_resolve_num_threads): Adjust for thread_limit now being in
17910         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
17911         infinity.  If not nested, just return minimum of max_num_threads
17912         and icv->thread_limit_var and if thr->thread_pool, set threads_busy
17913         to the returned value.  Otherwise, don't update atomically
17914         gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
17915         (GOMP_parallel_end): Adjust for thread_limit now being in
17916         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
17917         infinity.  Adjust threads_busy in the pool rather than
17918         gomp_remaining_threads_count.  Remember team->nthreads and call
17919         gomp_team_end before adjusting threads_busy, if not nested
17920         afterwards, just set it to 1 non-atomically.  Add ialias.
17921         (GOMP_parallel_start): Adjust gomp_team_start caller.
17922         * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
17923         * testsuite/libgomp.c/affinity-1.c: New test.
17924         * testsuite/libgomp.c/atomic-15.c: New test.
17925         * testsuite/libgomp.c/atomic-16.c: New test.
17926         * testsuite/libgomp.c/atomic-17.c: New test.
17927         * testsuite/libgomp.c/cancel-for-1.c: New test.
17928         * testsuite/libgomp.c/cancel-for-2.c: New test.
17929         * testsuite/libgomp.c/cancel-parallel-1.c: New test.
17930         * testsuite/libgomp.c/cancel-parallel-2.c: New test.
17931         * testsuite/libgomp.c/cancel-parallel-3.c: New test.
17932         * testsuite/libgomp.c/cancel-sections-1.c: New test.
17933         * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
17934         * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
17935         * testsuite/libgomp.c/depend-1.c: New test.
17936         * testsuite/libgomp.c/depend-2.c: New test.
17937         * testsuite/libgomp.c/depend-3.c: New test.
17938         * testsuite/libgomp.c/depend-4.c: New test.
17939         * testsuite/libgomp.c/for-1.c: New test.
17940         * testsuite/libgomp.c/for-1.h: New file.
17941         * testsuite/libgomp.c/for-2.c: New test.
17942         * testsuite/libgomp.c/for-2.h: New file.
17943         * testsuite/libgomp.c/for-3.c: New test.
17944         * testsuite/libgomp.c/pr58392.c: New test.
17945         * testsuite/libgomp.c/simd-1.c: New test.
17946         * testsuite/libgomp.c/simd-2.c: New test.
17947         * testsuite/libgomp.c/simd-3.c: New test.
17948         * testsuite/libgomp.c/simd-4.c: New test.
17949         * testsuite/libgomp.c/simd-5.c: New test.
17950         * testsuite/libgomp.c/simd-6.c: New test.
17951         * testsuite/libgomp.c/target-1.c: New test.
17952         * testsuite/libgomp.c/target-2.c: New test.
17953         * testsuite/libgomp.c/target-3.c: New test.
17954         * testsuite/libgomp.c/target-4.c: New test.
17955         * testsuite/libgomp.c/target-5.c: New test.
17956         * testsuite/libgomp.c/target-6.c: New test.
17957         * testsuite/libgomp.c/target-7.c: New test.
17958         * testsuite/libgomp.c/taskgroup-1.c: New test.
17959         * testsuite/libgomp.c/thread-limit-1.c: New test.
17960         * testsuite/libgomp.c/thread-limit-2.c: New test.
17961         * testsuite/libgomp.c/thread-limit-3.c: New test.
17962         * testsuite/libgomp.c/udr-1.c: New test.
17963         * testsuite/libgomp.c/udr-2.c: New test.
17964         * testsuite/libgomp.c/udr-3.c: New test.
17965         * testsuite/libgomp.c++/affinity-1.C: New test.
17966         * testsuite/libgomp.c++/atomic-10.C: New test.
17967         * testsuite/libgomp.c++/atomic-11.C: New test.
17968         * testsuite/libgomp.c++/atomic-12.C: New test.
17969         * testsuite/libgomp.c++/atomic-13.C: New test.
17970         * testsuite/libgomp.c++/atomic-14.C: New test.
17971         * testsuite/libgomp.c++/atomic-15.C: New test.
17972         * testsuite/libgomp.c++/cancel-for-1.C: New test.
17973         * testsuite/libgomp.c++/cancel-for-2.C: New test.
17974         * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
17975         * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
17976         * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
17977         * testsuite/libgomp.c++/cancel-sections-1.C: New test.
17978         * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
17979         * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
17980         * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
17981         * testsuite/libgomp.c++/cancel-test.h: New file.
17982         * testsuite/libgomp.c++/for-9.C: New test.
17983         * testsuite/libgomp.c++/for-10.C: New test.
17984         * testsuite/libgomp.c++/for-11.C: New test.
17985         * testsuite/libgomp.c++/simd-1.C: New test.
17986         * testsuite/libgomp.c++/simd-2.C: New test.
17987         * testsuite/libgomp.c++/simd-3.C: New test.
17988         * testsuite/libgomp.c++/simd-4.C: New test.
17989         * testsuite/libgomp.c++/simd-5.C: New test.
17990         * testsuite/libgomp.c++/simd-6.C: New test.
17991         * testsuite/libgomp.c++/simd-7.C: New test.
17992         * testsuite/libgomp.c++/simd-8.C: New test.
17993         * testsuite/libgomp.c++/target-1.C: New test.
17994         * testsuite/libgomp.c++/target-2.C: New test.
17995         * testsuite/libgomp.c++/target-2-aux.cc: New file.
17996         * testsuite/libgomp.c++/target-3.C: New test.
17997         * testsuite/libgomp.c++/taskgroup-1.C: New test.
17998         * testsuite/libgomp.c++/udr-1.C: New test.
17999         * testsuite/libgomp.c++/udr-2.C: New test.
18000         * testsuite/libgomp.c++/udr-3.C: New test.
18001         * testsuite/libgomp.c++/udr-4.C: New test.
18002         * testsuite/libgomp.c++/udr-5.C: New test.
18003         * testsuite/libgomp.c++/udr-6.C: New test.
18004         * testsuite/libgomp.c++/udr-7.C: New test.
18005         * testsuite/libgomp.c++/udr-8.C: New test.
18006         * testsuite/libgomp.c++/udr-9.C: New test.
18008 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
18010         PR testsuite/57605
18011         * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
18012         ALWAYS_CFLAGS.
18014 2013-09-20  Alan Modra  <amodra@gmail.com>
18016         * configure: Regenerate.
18018 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
18020         * testsuite/libgomp.c/sections-2.c: New test.
18022 2013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
18024         * testsuite/libgomp.fortran/strassen.f90:
18025         Add dg-skip-if aarch64_tiny.
18027 2013-06-20  Iain Sandoe  <iain@codesourcery.com>
18028             Cesar Philippidis  <cesar@codesourcery.com>
18030         * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
18031         Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
18032         * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
18033         * testsuite/libgomp.fortran/fortran.exp: Likewise.
18034         * testsuite/libgomp.graphite/graphite.exp: Likewise.
18035         * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
18036         Use dg-runtest rather than gfortran-dg-runtest.
18038 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
18040         * testsuite/libgomp.c/icv-2.c: Extend current handling of
18041         Linux-based x86 systems to cover all GNU systems.
18042         * testsuite/libgomp.c/lock-3.c: Likewise.
18043         * testsuite/libgomp.c/pr48591.c: Likewise.
18045 2013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
18047         * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
18048         GNU/Hurd, as done for Linux-based systems.
18050         * config/posix/ptrlock.h: Fix comment.
18052 2013-05-27  Tobias Burnus  <burnus@net-b.de>
18054         PR fortran/57423
18055         * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
18056         omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
18057         omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
18058         omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
18059         omp_destroy_nest_lock): Correct arguments to match the one in
18060         the OpenMP spec.
18061         * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
18062         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
18063         omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
18064         omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
18066 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
18068         * testsuite/libgomp.c/loop-13.c: New test.
18069         * testsuite/libgomp.c/loop-14.c: New test.
18070         * testsuite/libgomp.c/loop-15.c: New test.
18071         * testsuite/libgomp.c++/loop-13.C: New test.
18072         * testsuite/libgomp.c++/loop-14.C: New test.
18073         * testsuite/libgomp.c++/loop-15.C: New test.
18075 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
18077         PR middle-end/56217
18078         * testsuite/libgomp.c++/pr56217.C: New test.
18080 2013-02-01  Alan Modra  <amodra@gmail.com>
18082         * task.c (GOMP_task, GOMP_taskwait): Comment.
18084 2013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
18085             Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
18087         PR libgomp/55561
18088         * config/linux/wait.h (do_spin): Use atomic load for addr.
18089         * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
18090         for intptr and ptrlock.
18091         * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
18092         for ptrlock.
18094 2013-01-22  Alan Modra  <amodra@gmail.com>
18096         PR libgomp/51376
18097         PR libgomp/56073
18098         * task.c (GOMP_task): Revert 2011-12-09 change.
18099         (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
18100         barrier to read task->children..
18101         (gomp_barrier_handle_tasks): ..and matching atomic store with
18102         release barrier here when setting parent->children to NULL.
18104 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
18105             Tobias Burnus  <burnus@net-b.de>
18107         PR driver/55884
18108         * testsuite/libgomp.fortran/fortran.exp: Use
18109         -fintrinsic-modules-path= instead of
18110         -fintrinsic-modules-path.
18112 2013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
18114         Update copyright years.
18116 2012-12-19  Tobias Burnus  <burnus@net-b.de>
18118         * testsuite/libgomp.fortran/fortran.exp: Set
18119         -fintrinsic-modules-path.
18121 2012-12-19  Tobias Burnus  <burnus@net-b.de>
18123         * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
18124         from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
18126 2012-11-21  Jakub Jelinek  <jakub@redhat.com>
18128         PR libgomp/55411
18129         * team.c (gomp_free_thread): Decrease gomp_managed_threads
18130         if pool had any threads_used.
18132 2012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
18134         * testsuite/libgomp.c++/pr24455.C: Use
18135         -Wl,-undefined,dynamic_lookup on darwin.
18137 2012-11-07  David Edelsohn  <dje.gcc@gmail.com>
18139         * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
18141 2012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
18143         * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
18145 2012-10-23  Ian Bolton  <ian.bolton@arm.com>
18146             Jim MacArthur  <jim.macarthur@arm.com>
18147             Marcus Shawcroft  <marcus.shawcroft@arm.com>
18148             Nigel Stephens  <nigel.stephens@arm.com>
18149             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
18150             Richard Earnshaw  <rearnsha@arm.com>
18151             Sofiane Naci  <sofiane.naci@arm.com>
18152             Stephen Thomas  <stephen.thomas@arm.com>
18153             Tejas Belagod  <tejas.belagod@arm.com>
18154             Yufeng Zhang  <yufeng.zhang@arm.com>
18156         * configure.tgt: Add AArch64.
18158 2012-10-04  Jason Merrill  <jason@redhat.com>
18160         * testsuite/libgomp.c++/tls-init1.C: New.
18162 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
18164         * configure: Regenerated.
18166 2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
18168         * config/linux/mips/futex.h (sys_futex0): Change to static
18169         function with noinline, nomips16 attributes under MIPS16. Adjust
18170         asm statement to place 'li v0,SYS_futex' immediately before
18171         syscall insn.
18173 2012-07-04  Sandra Loosemore <sandra@codesourcery.com>
18175         * libgomp.texi (Library Index): Renamed from "Index" to prevent
18176         conflict with index.html on case-insensitive file systems.
18178 2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
18180         * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
18181         * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
18183 2012-07-02  Richard Guenther  <rguenther@suse.de>
18184             Michael Matz  <matz@suse.de>
18185             Tobias Grosser <tobias@grosser.es>
18186             Sebastian Pop <sebpop@gmail.com>
18188         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
18189         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
18190         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
18191         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
18193 2012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
18195         * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
18197 2012-06-22  Richard Guenther  <rguenther@suse.de>
18199         Merge from graphite branch
18200         2012-01-13  Tobias Grosser  <tobias@grosser.es>
18202         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18203         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
18205 2012-06-07  Jakub Jelinek  <jakub@redhat.com>
18207         PR middle-end/53580
18208         * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
18209         use GOMP_barrier () call instead.
18210         * testsuite/libgomp.c/pr26943-3.c: Likewise.
18211         * testsuite/libgomp.c/pr26943-4.c: Likewise.
18212         * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
18213         call GOMP_barrier instead.
18214         * testsuite/libgomp.fortran/vla5.f90: Likewise.
18216 2012-06-06  Jakub Jelinek  <jakub@redhat.com>
18218         PR libgomp/52993
18219         * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
18220         argument to memset call.
18222 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
18224         * configure: Regenerated.
18226 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
18228         * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
18230 2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
18232         PR bootstrap/52812
18233         * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
18235 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
18237         PR middle-end/52547
18238         * testsuite/libgomp.c/pr52547.c: New test.
18240 2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
18242         * testsuite/lib/libgomp.exp: load fortran-modules.exp
18244 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18246         * configure.tgt (mips-sgi-irix6*): Remove.
18248 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18250         * configure.tgt (alpha*-dec-osf*): Remove.
18252         * config/osf/sem.h: Remove.
18253         * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
18255 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
18257         * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
18259 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18261         PR libstdc++/52188
18262         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
18263         Remove ENABLE_SYMVERS_SOL2.
18264         * configure: Regenerate.
18265         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
18266         (PREPROCESS): New variable.
18267         (libgomp.ver): New target.
18268         [LIBGOMP_BUILD_VERSIONED_SHLIB &&
18269         LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
18270         LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
18271         Use libgomp.ver.
18272         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
18273         * Makefile.in: Regenerate.
18275 2012-02-14  Walter Lee  <walt@tilera.com>
18277         * configure.tgt: Handle tilegx and tilepro.
18278         * config/linux/tile/futex.h: New file.
18280 2012-02-08  Richard Guenther  <rguenther@suse.de>
18282         PR tree-optimization/46886
18283         * testsuite/libgomp.c/pr46886.c: New testcase.
18285 2012-01-25  Matthias Klose  <doko@ubuntu.com>
18287         * config/linux/arm: Remove empty directory.
18288         * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
18290 2011-12-09  Alan Modra  <amodra@gmail.com>
18292         PR libgomp/51376
18293         * task.c (GOMP_taskwait): Don't access task->children outside of
18294         task_lock mutex region.
18295         (GOMP_task): Likewise.
18297 2011-12-06  Jakub Jelinek  <jakub@redhat.com>
18299         PR libgomp/51132
18300         * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
18301         to file scope.
18302         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
18303         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
18304         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
18305         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
18306         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
18308 2011-12-02  Alan Modra  <amodra@gmail.com>
18310         * config/linux/affinity.c: Use atomic rather than sync builtin.
18311         * config/linux/lock.c: Likewise.
18312         * config/linux/ptrlock.h: Likewise.
18313         * config/linux/ptrlock.c: Likewise.
18314         * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
18315         * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
18316         * config/linux/futex.h (atomic_write_barrier): Delete unused function.
18317         * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
18318         * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
18319         * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
18320         * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
18321         * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
18322         * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
18323         * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
18325 2011-11-30  Alan Modra  <amodra@gmail.com>
18327         PR libgomp/51298
18328         * config/linux/bar.h: Use atomic rather than sync builtins.
18329         * config/linux/bar.c: Likewise.  Add missing acquire
18330         synchronisation on generation field.
18331         * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
18332         double unlock.
18334 2011-11-30  Alan Modra  <amodra@gmail.com>
18336         * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
18337         * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
18338         * config/linux/mutex.h: Use atomic rather than sync builtins.
18339         * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
18340         * config/linux/omp-lock.h: Comment fix.
18341         * config/linux/arm/mutex.h: Delete.
18342         * config/linux/powerpc/mutex.h: Delete.
18343         * config/linux/ia64/mutex.h: Delete.
18344         * config/linux/mips/mutex.h: Delete.
18346 2011-11-30  Alan Modra  <amodra@gmail.com>
18348         PR libgomp/51249
18349         * config/linux/sem.h: Rewrite.
18350         * config/linux/sem.c: Rewrite.
18352 2011-11-28  Richard Henderson  <rth@redhat.com>
18354         * libgomp.h (enum memmodel): New.
18356 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
18358         * configure: Regenerate.
18360 2011-10-10  Matthias Klose  <doko@ubuntu.com>
18362         * config/posix95: Remove empty directory.
18364 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
18366         * testsuite/libgomp.fortran/threadprivate4.f90: New test.
18368 2011-08-19  Jakub Jelinek  <jakub@redhat.com>
18370         PR fortran/49792
18371         * testsuite/libgomp.fortran/pr49792-1.f90: New test.
18372         * testsuite/libgomp.fortran/pr49792-2.f90: New test.
18374 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18376         * config/posix95/lock.c, posix95/omp-lock.h: Remove.
18378 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18380         PR libgomp/49965
18381         * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
18383 2011-08-03  Uros Bizjak  <ubizjak@gmail.com>
18385         * config/linux/proc.h: New.
18386         * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
18387         (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
18388         (gomp_init_num_threads): Update call to cpuset_popcount.
18389         (get_num_procs): Ditto.
18390         * config/linux/affinity.c (gomp_init_affinity): Call
18391         gomp_cpuset_popcount.
18393 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
18395         PR fortran/42041
18396         PR fortran/46752
18397         * omp.h.in (omp_in_final): New prototype.
18398         * omp_lib.f90.in (omp_in_final): New interface.
18399         (omp_integer_kind, omp_logical_kind): Remove
18400         and replace all its uses in the module with 4.
18401         (openmp_version): Change to 201107.
18402         * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
18403         omp_sched_guided, omp_sched_auto): Use omp_sched_kind
18404         kind for the parameters.
18405         (omp_in_final): New external.
18406         (openmp_version): Change to 201107.
18407         * task.c (omp_in_final): New function.
18408         (gomp_init_task): Initialize final_task.
18409         (GOMP_task): Remove unused attribute from flags.  Handle final
18410         tasks.
18411         (GOMP_taskyield): New function.
18412         (omp_in_final): Return true if if (false) or final (true) task
18413         or descendant of final (true).
18414         * fortran.c (omp_in_final_): New function.
18415         * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
18416         (GOMP_3.0): Export GOMP_taskyield.
18417         * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
18418         variables.
18419         (parse_unsigned_long_list): New function.
18420         (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
18421         with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
18422         even if parse_affinity returned false.
18423         * config/linux/affinity.c (gomp_init_affinity): Handle
18424         gomp_cpu_affinity_len == 0.
18425         * libgomp_g.h (GOMP_taskyield): New prototype.
18426         * libgomp.h (struct gomp_task): Add final_task field.
18427         (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
18428         * team.c (gomp_team_start): Override new task's nthreads_var icv
18429         if list form OMP_NUM_THREADS has been used and it has value for
18430         the new nesting level.
18432         * testsuite/libgomp.c/atomic-11.c: New test.
18433         * testsuite/libgomp.c/atomic-12.c: New test.
18434         * testsuite/libgomp.c/atomic-13.c: New test.
18435         * testsuite/libgomp.c/atomic-14.c: New test.
18436         * testsuite/libgomp.c/reduction-6.c: New test.
18437         * testsuite/libgomp.c/task-5.c: New test.
18438         * testsuite/libgomp.c++/atomic-2.C: New test.
18439         * testsuite/libgomp.c++/atomic-3.C: New test.
18440         * testsuite/libgomp.c++/atomic-4.C: New test.
18441         * testsuite/libgomp.c++/atomic-5.C: New test.
18442         * testsuite/libgomp.c++/atomic-6.C: New test.
18443         * testsuite/libgomp.c++/atomic-7.C: New test.
18444         * testsuite/libgomp.c++/atomic-8.C: New test.
18445         * testsuite/libgomp.c++/atomic-9.C: New test.
18446         * testsuite/libgomp.c++/task-8.C: New test.
18447         * testsuite/libgomp.c++/reduction-4.C: New test.
18448         * testsuite/libgomp.fortran/allocatable7.f90: New test.
18449         * testsuite/libgomp.fortran/allocatable8.f90: New test.
18450         * testsuite/libgomp.fortran/crayptr3.f90: New test.
18451         * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
18452         * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
18453         * testsuite/libgomp.fortran/pointer1.f90: New test.
18454         * testsuite/libgomp.fortran/pointer2.f90: New test.
18455         * testsuite/libgomp.fortran/task4.f90: New test.
18457 2011-08-02  Tobias Burnus  <burnus@net-b.de>
18459         * libgomp.texi: Update OpenMP spec references to 3.1.
18460         (omp_in_final,OMP_PROC_BIND): New sections.
18461         (OMP_NUM_THREADS): Document that the value can be now a list.
18462         (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
18464 2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
18466         * config/linux/x86/futex.h: Check __x86_64__ instead of
18467         __LP64__.
18469 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
18471         PR middle-end/49897
18472         PR middle-end/49898
18473         * testsuite/libgomp.c/pr49897-1.c: New test.
18474         * testsuite/libgomp.c/pr49897-2.c: New test.
18475         * testsuite/libgomp.c/pr49898-1.c: New test.
18476         * testsuite/libgomp.c/pr49898-2.c: New test.
18478 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
18480         * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
18481         for ia32 instead of ilp32.
18483         * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
18484         * testsuite/libgomp.c/atomic-6.c: Likewise.
18486 2011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
18488         * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
18489         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
18491 2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18493         PR libgomp/45351
18494         * config/osf/sem.h: New file.
18495         * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
18497 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18499         PR target/49541
18500         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
18501         ldflags.
18503 2011-07-15  Jakub Jelinek  <jakub@redhat.com>
18505         * config/linux/wait.h (do_spin): New inline, largely copied
18506         from do_wait, just don't do futex_wait here, instead return true if
18507         it should be done.
18508         (do_wait): Implement using do_spin.
18509         * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
18510         to prototype.
18511         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18512         __sync_bool_compare_and_swap, pass the oldval to
18513         gomp_mutex_lock_slow.
18514         * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
18515         If all mutex contenders are just spinning and not sleeping, don't
18516         change state to 2 unnecessarily.  Optimize the loop when state has
18517         already become 2 to use just one atomic operation per loop instead
18518         of two.
18519         * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
18520         to prototype.
18521         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18522         __sync_bool_compare_and_swap, pass the oldval to
18523         gomp_mutex_lock_slow.
18525 2011-06-22  Jakub Jelinek  <jakub@redhat.com>
18527         PR libgomp/49490
18528         * iter.c (gomp_iter_static_next): For chunk size 0
18529         only use n ceil/ nthreads size for the first
18530         n % nthreads threads in the team instead of
18531         all threads except for the last few ones which
18532         get less work or none at all.
18533         * iter_ull.c (gomp_iter_ull_static_next): Likewise.
18534         * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
18535         chunk argument, set run_sched_modifier to 0 for static
18536         resp. 1 for other kinds.  If chunk argument is 0
18537         and not static, set value to 1.
18539 2011-05-19  Jakub Jelinek  <jakub@redhat.com>
18541         PR c++/49043
18542         * testsuite/libgomp.c++/pr49043.C: New test.
18544         PR c++/48869
18545         * testsuite/libgomp.c++/pr48869.C: New test.
18547 2011-05-06  Jakub Jelinek  <jakub@redhat.com>
18549         PR fortran/48894
18550         * fortran.c: Include limits.h.
18551         (TO_INT): Define.
18552         (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
18553         *set.
18554         (omp_set_num_threads_8_, omp_set_schedule_8_,
18555         omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
18556         omp_get_team_size_8_): Use TO_INT macro.
18557         * testsuite/libgomp.fortran/pr48894.f90: New test.
18559 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
18561         PR middle-end/48591
18562         * testsuite/libgomp.c/pr48591.c: New test.
18564 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18566         PR bootstrap/48135
18567         * acinclude.m4 (enable_symvers): Handle --disable-symvers.
18568         * configure: Regenerate.
18570 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
18572         PR fortran/47886
18573         * testsuite/libgomp.fortran/task3.f90: New test.
18575 2011-02-24  Tobias Burnus  <burnus@net-b.de>
18577         * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
18579 2011-02-23  Jakub Jelinek  <jakub@redhat.com>
18581         PR libgomp/47854
18582         * libgomp.texi (omp_get_wtime): Don't say time in the past
18583         must be Unix Epoch.
18585 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
18587         PR libgomp/47804
18588         * testsuite/libgomp.fortran/fortran.exp: Check for both
18589         libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
18590         but $blddir != "", still append ${blddir}/${lang_library_path}
18591         to ld_library_path.
18593 2011-02-16  Tobias Burnus  <burnus@net-b.de>
18595         PR libgomp/47758
18596         * testsuite/libgomp.fortran/fortran.exp: Check for the existence
18597         of libquadmath.a before adding its libpath to ldflags.
18599 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
18601         PR libgomp/47731
18602         * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
18603         to FUTEX_WAIT futex syscall.
18604         * config/linux/wait.h: Include <futex.h> instead of "futex.h".
18606 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18608         * configure: Regenerate.
18610 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
18612         PR libstdc++/36104
18613         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
18615 2011-01-16  Gerald Pfeifer
18617         * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
18619 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
18621         PR fortran/46874
18622         * libgomp.fortran/allocatable6.f90: New test.
18624 2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18626         * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
18627         * configure: Regenerate.
18629 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
18631         PR target/40125
18632         PR lto/46695
18633         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
18634         * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
18635         * aclocal.m4: Regenerate.
18636         * configure: Regenerate.
18637         * Makefile.in: Regenerate.
18638         * testsuite/Makefile.in: Regenerate.
18640 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
18642         PR fortran/46753
18643         * libgomp.fortran/pr46753.f90: New test.
18645         PR libgomp/43706
18646         * env.c (initialize_env): Default to spin count 300000
18647         instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
18648         is specified.
18650         PR libgomp/45240
18651         * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
18652         at the end if sync builtins aren't supported.
18654 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18656         * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
18658 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18660         * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
18662 2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
18664         * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
18666 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
18667             Tobias Burnus  <burnus@net-b.de>
18669         PR fortran/32049
18670         * configure.ac:
18671         * configure: Regenerate.
18673 2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
18675         * config/linux/futex.h: New.
18676         * config/linux/arm/mutex.h: New.
18677         * configure.tgt (arm*-*-linux*): Add config path.
18679 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
18681         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18683 2010-09-23  Tobias Burnus  <burnus@net-b.de>
18685         * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
18686         Change Fortran datatype to LOGICAL.
18687         (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
18688         omp_unset_nested_lock): Use intent(inout) instead of intent(out).
18690 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18692         * configure: Regenerate.
18694 2010-07-26  Jakub Jelinek  <jakub@redhat.com>
18696         * libgomp.texi: Add function keyword to a couple of Fortran
18697         interfaces, use integer instead of int for Fortran.
18699 2010-07-26  Aldy Hernandez  <aldyh@redhat.com>
18701         * libgomp.texi: Fix spelling and pasto problems throughout.
18702         Adjust prototypes to match code.
18704 2010-07-24  Tobias Burnus  <burnus@net-b.de>
18706         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
18707         silence -fwhole-file warning.
18709 2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18711         * configure.tgt (*-*-solaris2.[56]*): Removed.
18713 2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18715         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
18716         Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
18717         LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
18718         (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
18719         targetting solaris2*.
18720         * configure: Regenerate.
18721         * config.h.in: Regenerate.
18723         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
18724         libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
18725         Add libgomp_version_dep.
18726         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
18727         versioning.
18728         [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
18729         (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
18730         * Makefile.in: Regenerate.
18732         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
18733         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18734         * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
18735         to common block, protected by
18736         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18738 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
18740         * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
18742 2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
18744         PR bootstrap/43170
18745         * configure: Regenerate.
18747 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18749         PR other/43620
18750         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
18751         * configure: Regenerate.
18752         * Makefile.in: Regenerate.
18753         * testsuite/Makefile.in: Regenerate.
18755 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
18757         PR c/43893
18758         * testsuite/libgomp.c/pr43893.c: New test.
18759         * testsuite/libgomp.c++/pr43893.C: New test.
18761 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
18763         PR middle-end/43570
18764         * testsuite/libgomp.fortran/vla8.f90: New test.
18766 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
18768         PR libgomp/43706
18769         * config/linux/affinity.c (gomp_init_affinity): Decrease
18770         gomp_available_cpus if affinity mask confines the process to fewer
18771         CPUs.
18772         * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
18773         non-NULL, just return gomp_available_cpus.
18775         PR libgomp/43569
18776         * sections.c (gomp_sections_init): Initialize ws->mode.
18778 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
18780         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
18781         not unused bar variable.
18782         * configure: Regenerate.
18784 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18786         * Makefile.in: Regenerate.
18787         * aclocal.m4: Regenerate.
18788         * testsuite/Makefile.in: Regenerate.
18790 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
18792         PR libgomp/42942
18793         * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
18794         (initialize_env): Adjust callers.
18795         (omp_set_max_active_levels): Set gomp_max_active_levels_var even
18796         when the argument is 0.
18798         * testsuite/libgomp.c/pr42942.c: New test.
18800 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
18802         PR middle-end/42644
18803         PR middle-end/42130
18804         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18805         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
18807 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18809         * testsuite/libgomp.c++/task-1.C: Renamed err to e.
18810         * testsuite/libgomp.c++/task-6.C: Likewise.
18812 2010-01-28  Steve Ellcey  <sje@cup.hp.com>
18814         * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
18816 2010-01-26  Paolo Bonzini  <bonzini@gnu.org>
18818         * configure.ac: Test for executability of _the first word_ of GFORTRAN.
18819         * configure: Regenerate.
18821 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
18823         PR fortran/42866
18824         * testsuite/libgomp.fortran/allocatable5.f90: New test.
18826 2010-01-20  Paolo Bonzini  <bonzini@gnu.org>
18828         * configure.ac: Test for executability of GFORTRAN.
18829         * configure: Regenerate.
18831 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18833         * configure: Regenerate.
18835 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
18837         PR libgomp/42602
18838         * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
18840 2010-01-03  Richard Guenther  <rguenther@suse.de>
18842         * testsuite/libgomp.fortran/recursion1.f90: New testcase.
18844 2009-12-23  Sebastian Pop  <sebpop@gmail.com>
18846         * testsuite/libgomp.graphite/pr4118.c: New.
18848 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
18850         * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
18851         for darwin, protect the test with require-effective-target tls_runtime.
18852         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
18854 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
18856         PR target/41605
18857         * testsuite/lib/libgomp.exp: Provide -B options to allow for
18858         link spec %s substitutions for static libraries.
18860 2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
18862         PR testsuite/42135
18863         * libgomp.graphite/force-parallel-2.c: Reduce array size.
18865 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18867         * Makefile.in: Regenerate.
18868         * configure: Regenerate.
18869         * testsuite/Makefile.in: Regenerate.
18871 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
18873         * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
18874         settings for LC_ALL and LANG.
18876 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
18878         PR fortran/42162
18879         * testsuite/libgomp.fortran/pr42162.f90: New test.
18881 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
18883         PR middle-end/42029
18884         * testsuite/libgomp.c/pr42029.c: New test.
18886 2009-10-26  Jakub Jelinek  <jakub@redhat.com>
18888         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
18889         *s.  Accept ld version without text in ()s.
18890         * configure: Regenerated.
18892 2009-10-22  Razya Ladelsky  <razya@il.ibm.com>
18894         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
18896 2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18898         PR libgomp/41418
18899         * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
18900         or a hyphen (happens with fortran language disabled).
18901         * configure: Regenerate.
18903 2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18905         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
18906         use sed script portable to Solaris /bin/sed for extracting ld
18907         version.
18908         * configure: Regenerate.
18910 2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
18912         * testsuite/libgomp.graphite/bounds.c: New test.
18914 2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18916         * Makefile.am (libgomp_la_LINK): New.
18917         * Makefile.in: Regenerate.
18919 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18921         * configure.ac (AC_PREREQ): Bump to 2.64.
18923 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18925         * Makefile.am (install-html, install-pdf): Remove.
18926         * Makefile.in: Regenerate.
18928         * Makefile.in: Regenerate.
18929         * aclocal.m4: Regenerate.
18930         * config.h.in: Regenerate.
18931         * configure: Regenerate.
18932         * testsuite/Makefile.in: Regenerate.
18934 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18936         * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
18937         * Makefile.in: Regenerate.
18939 2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
18941         * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
18942         * Makefile.in: Regenerate.
18944 2009-08-19  Tobias Burnus  <burnus@net-b.de>
18946         PR fortran/41102
18947         omp_lib.h.in: Fix -std=f95 errors.
18949 2009-08-14  David Edelsohn  <edelsohn@gnu.org>
18951         * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
18952         * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
18953         * testsuite/libgomp.graphite/graphite.exp: New.
18955 2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
18957         * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
18958         only build.
18960 2009-08-04  David Daney  <ddaney@caviumnetworks.com>
18962         * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
18963         needed memory barrier semantics.
18964         * config/linux/mips/mutex.h: New file.
18966 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18968         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
18970 2009-07-16  Joseph Myers  <joseph@codesourcery.com>
18972         * configure: Regenerate.
18974 2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
18976         PR testsuite/40699
18977         PR testsuite/40707
18978         PR testsuite/40709
18979         * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
18980         * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
18981         testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
18983 2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
18985         * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
18986         options when choosing a multilib.
18988 2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
18990         * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
18991         ld_library_path.  Use add_path.  Add just find_libgcc_s to
18992         ld_library_path, not every libgcc multilib directory.
18993         * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
18994         gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
18995         * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
18996         Use add_path.
18997         * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
18999 2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
19001         * Makefile.am (LTLDFLAGS): Define.
19002         (LINK): Define.
19003         * Makefile.in: Regenerate.
19005 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
19007         PR fortran/39718
19008         * testsuite/libgomp.fortran/fortran.exp: Don't link with
19009         libgfortranbegin, check existence of libgfortran.a instead of
19010         libgfortranbegin.a.
19012 2009-05-20  Jakub Jelinek  <jakub@redhat.com>
19014         PR libgomp/40174
19015         * team.c (gomp_thread_start): Destroy thr->release semaphore.
19016         (gomp_free_pool_helper): Likewise.
19018 2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
19019             Jakub Jelinek  <jakub@redhat.com>
19021         PR fortran/35423
19022         * testsuite/libgomp.fortran/workshare2.f90: New test.
19024 2009-04-09  Nick Clifton  <nickc@redhat.com>
19026         * iter.c: Change copyright header to refer to version 3 of the
19027         GNU General Public License with version 3.1 of the GCC Runtime
19028         Library Exception and to point readers at the COPYING3 and
19029         COPYING3.RUNTIME files and the FSF's license web page.
19030         * alloc.c: Likewise.
19031         * barrier.c: Likewise.
19032         * config/bsd/proc.c: Likewise.
19033         * config/linux/affinity.c: Likewise.
19034         * config/linux/alpha/futex.h: Likewise.
19035         * config/linux/bar.c: Likewise.
19036         * config/linux/bar.h: Likewise.
19037         * config/linux/ia64/futex.h: Likewise.
19038         * config/linux/ia64/mutex.h: Likewise.
19039         * config/linux/lock.c: Likewise.
19040         * config/linux/mips/futex.h: Likewise.
19041         * config/linux/mutex.c: Likewise.
19042         * config/linux/mutex.h: Likewise.
19043         * config/linux/powerpc/futex.h: Likewise.
19044         * config/linux/proc.c: Likewise.
19045         * config/linux/ptrlock.c: Likewise.
19046         * config/linux/ptrlock.h: Likewise.
19047         * config/linux/s390/futex.h: Likewise.
19048         * config/linux/sem.c: Likewise.
19049         * config/linux/sem.h: Likewise.
19050         * config/linux/sparc/futex.h: Likewise.
19051         * config/linux/wait.h: Likewise.
19052         * config/linux/x86/futex.h: Likewise.
19053         * config/mingw32/proc.c: Likewise.
19054         * config/mingw32/time.c: Likewise.
19055         * config/posix/affinity.c: Likewise.
19056         * config/posix/bar.c: Likewise.
19057         * config/posix/bar.h: Likewise.
19058         * config/posix/lock.c: Likewise.
19059         * config/posix/mutex.h: Likewise.
19060         * config/posix/proc.c: Likewise.
19061         * config/posix/ptrlock.h: Likewise.
19062         * config/posix/sem.c: Likewise.
19063         * config/posix/sem.h: Likewise.
19064         * config/posix/time.c: Likewise.
19065         * config/posix95/lock.c: Likewise.
19066         * critical.c: Likewise.
19067         * env.c: Likewise.
19068         * error.c: Likewise.
19069         * fortran.c: Likewise.
19070         * iter_ull.c: Likewise.
19071         * libgomp.h: Likewise.
19072         * libgomp_f.h.in: Likewise.
19073         * libgomp_g.h: Likewise.
19074         * loop.c: Likewise.
19075         * loop_ull.c: Likewise.
19076         * omp.h.in: Likewise.
19077         * omp_lib.f90.in: Likewise.
19078         * omp_lib.h.in: Likewise.
19079         * ordered.c: Likewise.
19080         * parallel.c: Likewise.
19081         * sections.c: Likewise.
19082         * single.c: Likewise.
19083         * task.c: Likewise.
19084         * team.c: Likewise.
19085         * work.c: Likewise.
19087 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
19089         * testsuite/config/default.exp: Change copyright header to refer to
19090         version 3 of the GNU General Public License and to point readers
19091         at the COPYING3 file and the FSF's license web page.
19093 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
19095         PR middle-end/39573
19096         * libgomp.c++/pr39573.C: New test.
19098 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
19100         PR other/39591
19101         * testsuite/libgomp.c/pr39591-1.c: New test.
19102         * testsuite/libgomp.c/pr39591-2.c: New test.
19103         * testsuite/libgomp.c/pr39591-3.c: New test.
19105 2009-03-25  Uros Bizjak  <ubizjak@gmail.com>
19107         * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
19108         * testsuite/libgomp.c/atomic-6.c: Ditto.
19110 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
19112         PR c/39495
19113         * testsuite/libgomp.c/loop-12.c: New test.
19114         * testsuite/libgomp.c/loop-11.c: New test.
19115         * testsuite/libgomp.c++/loop-11.C: New test.
19116         * testsuite/libgomp.c++/loop-12.C: New test.
19117         * testsuite/libgomp.c++/for-8.C: New test.
19119 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19121         * configure: Regenerate.
19123 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
19125         PR middle-end/39154
19126         * testsuite/libgomp.c/pr39154.c: New test.
19128 2009-01-30  Ian Lance Taylor  <iant@google.com>
19130         * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
19131         libgomp_ld_is_gold.  Get gold version number.
19132         (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
19133         * configure: Rebuild.
19135 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
19137         * testsuite/lib/libgomp.exp: Add -B option for targets that
19138         use libgfortran.a%s in their specs.
19140 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
19142         PR libgomp/38086
19143         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
19144         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
19145         HAVE_AS_SYMVER_DIRECTIVE is not defined.
19146         * configure: Regenerated.
19147         * config.h.in: Likewise.
19149 2008-12-28  Jakub Jelinek  <jakub@redhat.com>
19151         PR c++/38650
19152         * testsuite/libgomp.c/pr38650.c: New test.
19153         * testsuite/libgomp.c++/pr38650.C: New test.
19155 2008-12-27  Jakub Jelinek  <jakub@redhat.com>
19157         * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
19159 2008-12-26  Uros Bizjak  <ubizjak@gmail.com>
19161         * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
19163 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19165         * configure: Regenerate.
19167 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
19169         PR middle-end/36802
19170         * testsuite/libgomp.c/pr36802-1.c: New test.
19171         * testsuite/libgomp.c/pr36802-2.c: New test.
19172         * testsuite/libgomp.c/pr36802-3.c: New test.
19174 2008-12-01  Janis Johnson  <janis187@us.ibm.com>
19176         PR libgomp/38270
19177         * config/linux/powerpc/mutex.h: New.
19179 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
19181         PR c++/38257
19182         * testsuite/libgomp.c++/for-7.C: New test.
19184         PR c++/38348
19185         * testsuite/libgomp.c++/for-6.C: New test.
19187 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
19189         PR testsuite/28870
19190         * testsuite/lib/libgomp.exp: Include new timeout library files.
19191         (libgomp_target_compile): Set timeout value from new proc.
19193 2008-11-13  Steve Ellcey  <sje@cup.hp.com>
19195         PR libgomp/37938
19196         * config/linux/ia64/mutex.h: New.
19198 2008-11-04  Tobias Burnus  <burnus@net-b.de>
19200         PR libgomp/37935
19201         * libgomp.texi (Runtime library routines, environment variables):
19202         Update for OpenMP version 3.0.
19204 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
19205             Steve Ellcey  <sje@cup.hp.com>
19207         * configure: Regenerate for new libtool.
19208         * Makefile.in: Ditto.
19209         * testsuite/Makefile.in: Ditto.
19211 2008-09-19  Jakub Jelinek  <jakub@redhat.com>
19212             Andreas Tobler  <a.tobler@schweiz.org>
19214         * config/bsd/proc.c: New file.
19215         * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
19216         * configure.ac: Check for header <sys/sysctl.h>
19217         * configure: Regenerate.
19218         * config.h.in: Likewise.
19220 2008-09-05  Janis Johnson  <janis187@us.ibm.com>
19222         * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
19224 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
19226         * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
19227         * Makefile.in: Regenerated.
19228         * testsuite/Makefile.in: Regenerated.
19230 2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
19232         * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
19233         depend on blddir if blddir exists.
19234         (libgomp_target_compile): Likewise.
19235         * testsuite/libgomp.c++/c++.exp: Likewise.
19236         * testsuite/libgomp.fortran/fortran.exp: Likewise.
19238 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19240         * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
19241         Do not list GPL as Invariant Section.
19243 2008-07-28  Ilie Garbacea  <ilie@mips.com>
19244             Chao-ying Fu  <fu@mips.com>
19246         * configure.tgt: Enable futex for MIPS.
19247         * config/linux/mips/futex.h: New file.
19249 2008-07-16  Jakub Jelinek  <jakub@redhat.com>
19251         * team.c (gomp_team_end): Free team immediately if it has
19252         just one thread.
19254 2008-07-08  David Edelsohn  <edelsohn@gnu.org>
19256         * testsuite/libgomp.c++/c++.exp: Append multilib library path.
19257         * testsuite/libgomp.fortran/fortran.exp: Same.
19258         * testsuite/libgomp.c/c.exp: Same.
19259         * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
19260         directory to library path first.
19262 2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
19264         * env.c (parse_stacksize): Add cast to avoid warning.
19265         (parse_spincount): Likewise.
19267 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
19269         * testsuite/libgomp.c/loop-10.c: New test.
19270         * libgomp.c/loop-3.c (main): Add lastprivate clause.
19271         * libgomp.c++/loop-6.C (main): Likewise.
19273         PR debug/36617
19274         * testsuite/libgomp.c/debug-1.c: New test.
19276 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
19278         * testsuite/libgomp.c/nqueens-1.c: New test.
19280         PR c++/36523
19281         * testsuite/libgomp.c++/task-7.C: New function.
19283 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19285         * configure: Regenerate.
19287 2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
19289         * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
19290         mutex when HAVE_SYNC_BUILTINS isn't defined.
19292 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19294         * libgomp.texi (omp_test_lock): Fix typo.
19296 2008-06-12  Tobias Burnus  <burnus@net-b.de>
19298         * omp_lib.f90.in: Add "implicit none".
19300 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
19302         PR middle-end/36506
19303         * testsuite/libgomp.c/reduction-5.c: New test.
19305 2008-06-11  Jakub Jelinek  <jakub@redhat.com>
19307         * libgomp.h (struct gomp_task): Add in_tied_task field.
19308         * task.c (gomp_init_task): Initialize it.
19309         (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
19310         unconditionally.  Don't call gomp_team_barrier_wake if
19311         current task is implicit or if(0) from implicit and number of
19312         running tasks is equal to nthreads - 1.
19314         PR libgomp/36471
19315         * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
19316         omp_get_team_size_8): Fix pastos.
19318         PR libgomp/36469
19319         * configure.ac: Add AC_CHECK_FUNCS (strtoull).
19320         * configure: Regenerated.
19321         * config.h.in: Regenerated.
19322         * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
19323         defined.
19325 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
19327         PR bootstrap/36452
19328         * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
19329         (GOMP_loop_ull_dynamic_start): Likewise.
19330         (GOMP_loop_ull_guided_start): Likewise.
19331         (GOMP_loop_ull_ordered_static_start): Likewise.
19332         (GOMP_loop_ull_ordered_dynamic_start): Likewise.
19333         (GOMP_loop_ull_ordered_guided_start): Likewise.
19335 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
19336             Richard Henderson  <rth@redhat.com>
19337             Ulrich Drepper  <drepper@redhat.com>
19338             Jakob Blomer  <jakob.blomer@ira.uka.de>
19340         * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
19341         Substitute also OMP_*LOCK_25*.
19342         * configure: Regenerated.
19343         * config.h.in: Regenerated.
19344         * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
19345         ptrlock.c and task.c.
19346         * Makefile.in: Regenerated.
19347         * testsuite/Makefile.in: Regenerated.
19348         * task.c: New file.
19349         * loop_ull.c: New file.
19350         * iter_ull.c: New file.
19351         * libgomp.h: Include ptrlock.h.
19352         (enum gomp_task_kind): New type.
19353         (struct gomp_team): Add task_lock, task_queue, task_count,
19354         task_running_count, single_count fields.  Add
19355         work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
19356         Remove work_share_lock, generation_mask,
19357         oldest_live_gen, num_live_gen and init_work_shares fields, add
19358         work work_share_list_alloc, work_share_list_free and work_share_chunk
19359         fields.  Change work_shares from pointer to pointers into an array.
19360         Change ordered_release field into gomp_sem_t ** from flexible array
19361         member.  Add implicit_task and initial_work_shares fields.
19362         Move close to the end of the struct.
19363         (struct gomp_team_state): Add single_count, last_work_share,
19364         active_level and level fields, remove work_share_generation.
19365         (gomp_barrier_handle_tasks): New prototype.
19366         (gomp_finish_task): New inline function.
19367         (struct gomp_work_share): Move chunk_size, end, incr into
19368         transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
19369         next_ll fields.  Reshuffle fields.  Add next_alloc,
19370         next_ws, next_free and inline_ordered_team_ids fields, change
19371         ordered_team_ids into pointer from flexible array member.
19372         Add mode field.  Put lock and next into a different cache line
19373         from most of the write-once fields.
19374         (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
19375         gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
19376         gomp_iter_ull_guided_next): New prototypes.
19377         (gomp_new_icv): New prototype.
19378         (struct gomp_thread): Add thread_pool and task fields.
19379         (struct gomp_thread_pool): New type.
19380         (gomp_new_team): New prototype.
19381         (gomp_team_start): Change type of last argument.
19382         (gomp_new_work_share): Removed.
19383         (gomp_init_work_share, gomp_fini_work_share): New prototypes.
19384         (gomp_work_share_init_done): New static inline.
19385         (gomp_throttled_spin_count_var, gomp_available_cpus,
19386         gomp_managed_threads): New extern decls.
19387         (gomp_init_task): New prototype.
19388         (gomp_spin_count_var): New extern var decl.
19389         (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
19390         or no alias support, or if not PIC.
19391         (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
19392         gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
19393         gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
19394         gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
19395         gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
19396         gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
19397         gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
19398         gomp_test_nest_lock_25): New prototypes.
19399         (omp_lock_symver, strong_alias): Define.
19400         (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
19401         decls.
19402         (gomp_end_task): New.
19403         (struct gomp_task_icv, gomp_global_icv): New.
19404         (gomp_thread_limit_var, gomp_max_active_levels_var): New.
19405         (struct gomp_task): New.
19406         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19407         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19408         (gomp_icv): New.
19409         (gomp_schedule_type): Reorder enum to match
19410         omp_sched_t.
19411         * team.c (struct gomp_thread_start_data): Add thread_pool and task
19412         fields.
19413         (gomp_thread_start): Add gomp_team_barrier_wait call.
19414         For non-nested case remove clearing of docked thread thr fields.
19415         Use pool fields instead of global gomp_* variables.  Use
19416         gomp_barrier_wait_last when needed.  Initialize ts.active_level.
19417         Create tasks for each member thread.
19418         (free_team): Only destroy team barrier, task_lock here and free it.
19419         (gomp_free_thread): Free last_team if non-NULL.
19420         (gomp_team_end): Call gomp_team_barrier_wait instead of
19421         gomp_barrier_wait.  For nested case call one extra
19422         gomp_barrier_wait.  Move here some destruction from free_team.
19423         Call free_team on pool->last_team if any, rather than freeing
19424         current team.  Destroy work_share_list_free_lock ifndef
19425         HAVE_SYNC_BUILTINS.
19426         (gomp_new_icv): New function.
19427         (gomp_threads, gomp_threads_size, gomp_threads_used,
19428         gomp_threads_dock): Removed.
19429         (gomp_thread_destructor): New variable.
19430         (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
19431         functions.
19432         (gomp_team_start): Create new pool if current thread doesn't have
19433         one.  Use pool fields instead of global gomp_* variables.
19434         Initialize thread_pool field for new threads.  Clear single_count.
19435         Change last argument from ws to team, don't create
19436         new team, set ts.work_share to &team->work_shares[0] and clear
19437         ts.last_work_share.  Don't clear ts.work_share_generation.
19438         If number of threads changed, adjust atomically gomp_managed_threads.
19439         Use gomp_init_task instead of gomp_new_task,
19440         set thr->task to the corresponding implicit_task array entry.
19441         Create tasks for each member thread.  Initialize ts.level.
19442         (initialize_team): Call pthread_key_create on
19443         gomp_thread_destructor.
19444         (team_destructor): New function.
19445         (new_team): Removed.
19446         (gomp_new_team): New function.
19447         (free_team): Free gomp_work_share blocks chained through next_alloc,
19448         instead of freeing work_shares and destroying work_share_lock.
19449         (gomp_team_end): Call gomp_fini_work_share.  If number of threads
19450         changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
19451         * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
19452         of gomp_barrier_wait.
19453         * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
19454         instead of gomp_barrier_wait.  Call gomp_work_share_init_done
19455         if gomp_work_share_start returned true.  Don't unlock ws->lock.
19456         (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
19457         of gomp_barrier_wait.
19458         (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
19459         gomp_work_share_init_done if gomp_work_share_start returned true.
19460         Don't unlock ws->lock.
19461         * work.c: Include stddef.h.
19462         (free_work_share): Use work_share_list_free_lock instead
19463         of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
19464         Call gomp_fini_work_share and then either free ws if orphaned, or
19465         put it into work_share_list_free list of the current team.
19466         (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
19467         functions.
19468         (gomp_work_share_start, gomp_work_share_end,
19469         gomp_work_share_end_nowait): Rewritten.
19470         * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
19471         (openmp_version): Set to 200805.
19472         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
19473         omp_sched_guided, omp_sched_auto): New parameters.
19474         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19475         omp_set_max_active_levels, omp_get_max_active_levels,
19476         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19477         omp_get_active_level): New interfaces.
19478         * omp_lib.h.in (openmp_version): Set to 200805.
19479         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
19480         omp_sched_guided, omp_sched_auto): New parameters.
19481         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19482         omp_set_max_active_levels, omp_get_max_active_levels,
19483         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19484         omp_get_active_level): New externals.
19485         * loop.c: Include limits.h.
19486         (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
19487         GFS_AUTO.
19488         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
19489         Likewise.  Use gomp_icv.
19490         (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
19491         ts.static_trip here.
19492         (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
19493         gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
19494         (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
19495         gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
19496         don't unlock ws->lock, otherwise lock it.
19497         (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
19498         gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
19499         (gomp_parallel_loop_start): Call gomp_new_team instead of
19500         gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
19501         Adjust gomp_team_start caller.  Pass 0 as second argument to
19502         gomp_resolve_num_threads.
19503         (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
19504         If adding ws->chunk_size nthreads + 1 times after end won't
19505         overflow, set ws->mode to 1.
19506         * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
19507         GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
19508         GOMP_loop_ull_ordered_static_start,
19509         GOMP_loop_ull_ordered_dynamic_start,
19510         GOMP_loop_ull_ordered_guided_start,
19511         GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
19512         GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
19513         GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
19514         GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
19515         GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
19516         prototypes.
19517         * libgomp.map: Export lock routines also @@OMP_2.0.
19518         (GOMP_loop_ordered_dynamic_first,
19519         GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
19520         GOMP_loop_ordered_static_first): Remove.
19521         (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
19522         GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
19523         GOMP_loop_ull_ordered_dynamic_next,
19524         GOMP_loop_ull_ordered_dynamic_start,
19525         GOMP_loop_ull_ordered_guided_next,
19526         GOMP_loop_ull_ordered_guided_start,
19527         GOMP_loop_ull_ordered_runtime_next,
19528         GOMP_loop_ull_ordered_runtime_start,
19529         GOMP_loop_ull_ordered_static_next,
19530         GOMP_loop_ull_ordered_static_start,
19531         GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
19532         GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
19533         GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
19534         (omp_set_schedule, omp_get_schedule,
19535         omp_get_thread_limit, omp_set_max_active_levels,
19536         omp_get_max_active_levels, omp_get_level,
19537         omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
19538         omp_set_schedule_, omp_set_schedule_8_,
19539         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19540         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19541         omp_get_max_active_levels_, omp_get_level_,
19542         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19543         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19544         New exports @@OMP_3.0.
19545         * omp.h.in (omp_sched_t): New type.
19546         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19547         omp_set_max_active_levels, omp_get_max_active_levels,
19548         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19549         omp_get_active_level): New prototypes.
19550         * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
19551         gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
19552         gomp_thread_limit_var, gomp_remaining_threads_count,
19553         gomp_remaining_threads_lock): New variables.
19554         (parse_spincount): New function.
19555         (initialize_env): Call gomp_init_num_threads unconditionally.
19556         Initialize gomp_available_cpus.  Call parse_spincount,
19557         initialize gomp_{,throttled_}spin_count_var
19558         depending on presence and value of OMP_WAIT_POLICY and
19559         GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
19560         Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
19561         OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
19562         for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
19563         gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
19564         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19565         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19566         (gomp_global_icv): New.
19567         (parse_schedule): Use it.  Parse "auto".
19568         (omp_set_num_threads): Use gomp_icv.
19569         (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
19570         Likewise.
19571         (omp_get_max_threads): Move from parallel.c.
19572         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19573         omp_set_max_active_levels, omp_get_max_active_levels): New functions,
19574         add ialias.
19575         (parse_stacksize, parse_wait_policy): New functions.
19576         * fortran.c: Rewrite lock wrappers, if symbol versioning provide
19577         both wrappers for compatibility and new locks.
19578         (omp_set_schedule, omp_get_schedule,
19579         omp_get_thread_limit, omp_set_max_active_levels,
19580         omp_get_max_active_levels, omp_get_level,
19581         omp_get_ancestor_thread_num, omp_get_team_size,
19582         omp_get_active_level): New ialias_redirect.
19583         (omp_set_schedule_, omp_set_schedule_8_,
19584         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19585         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19586         omp_get_max_active_levels_, omp_get_level_,
19587         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19588         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19589         New functions.
19590         * parallel.c: Include limits.h.
19591         (gomp_resolve_num_threads): Add count argument.  Rewritten.
19592         (GOMP_parallel_start): Call gomp_new_team and pass that as last
19593         argument to gomp_team_start.  Pass 0 as second argument to
19594         gomp_resolve_num_threads.
19595         (GOMP_parallel_end): Decrease gomp_remaining_threads_count
19596         if gomp_thread_limit_var != ULONG_MAX.
19597         (omp_in_parallel): Implement using ts.active_level.
19598         (omp_get_max_threads): Move to env.c.
19599         (omp_get_level, omp_get_ancestor_thread_num,
19600         omp_get_team_size, omp_get_active_level): New functions,
19601         add ialias.
19602         * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
19603         after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
19604         gomp_iter_dynamic_next instead of the _locked variant and don't take
19605         lock around it, otherwise acquire it before calling
19606         gomp_iter_dynamic_next_locked.
19607         (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
19608         gomp_iter_dynamic_next instead of the _locked variant and don't take
19609         lock around it.
19610         (GOMP_parallel_sections_start): Call gomp_new_team instead of
19611         gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
19612         Adjust gomp_team_start caller.  Pass count as second argument to
19613         gomp_resolve_num_threads, don't adjust num_threads after the call.
19614         Use gomp_icv.
19615         * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
19616         ws->chunk_size by incr.
19617         (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
19618         code.
19619         * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
19620         types.
19621         (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
19622         (omp_check_defines): Check even the compat defines.
19623         * config/linux/ptrlock.c: New file.
19624         * config/linux/ptrlock.h: New file.
19625         * config/linux/wait.h: New file.
19626         * config/posix/ptrlock.c: New file.
19627         * config/posix/ptrlock.h: New file.
19628         * config/linux/bar.h (gomp_team_barrier_wait,
19629         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19630         (gomp_team_barrier_set_task_pending,
19631         gomp_team_barrier_clear_task_pending,
19632         gomp_team_barrier_set_waiting_for_tasks,
19633         gomp_team_barrier_waiting_for_tasks,
19634         gomp_team_barrier_done): New inlines.
19635         (gomp_barrier_t): Rewritten.
19636         (gomp_barrier_state_t): New typedef.
19637         (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
19638         gomp_barrier_wait_start): Rewritten.
19639         (gomp_barrier_wait_end): Change second argument to
19640         gomp_barrier_state_t.
19641         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19642         inlines.
19643         * config/linux/bar.c: Include wait.h instead of libgomp.h and
19644         futex.h.
19645         (gomp_barrier_wait_end): Rewritten.
19646         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19647         gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
19648         * config/posix/bar.h (gomp_barrier_t): Add generation field.
19649         (gomp_barrier_state_t): New typedef.
19650         (gomp_team_barrier_wait,
19651         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19652         (gomp_barrier_wait_start): Or all but low 2 bits from generation
19653         into the return value.  Return gomp_barrier_state_t.
19654         (gomp_team_barrier_set_task_pending,
19655         gomp_team_barrier_clear_task_pending,
19656         gomp_team_barrier_set_waiting_for_tasks,
19657         gomp_team_barrier_waiting_for_tasks,
19658         gomp_team_barrier_done): New inlines.
19659         (gomp_barrier_wait_end): Change second argument to
19660         gomp_barrier_state_t.
19661         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19662         inlines.
19663         * config/posix/bar.c (gomp_barrier_init): Clear generation field.
19664         (gomp_barrier_wait_end): Change second argument to
19665         gomp_barrier_state_t.
19666         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19667         gomp_team_barrier_wake): New functions.
19668         * config/linux/mutex.c: Include wait.h instead of libgomp.h and
19669         futex.h.
19670         (gomp_futex_wake, gomp_futex_wait): New variables.
19671         (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
19672         * config/linux/lock.c: Rewrite to make locks task owned,
19673         for backwards compatibility provide the old entrypoints
19674         if symbol versioning.  Include wait.h instead of libgomp.h and
19675         futex.h.
19676         (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
19677         * config/posix95/lock.c: Rewrite to make locks task owned,
19678         for backwards compatibility provide the old entrypoints
19679         if symbol versioning.
19680         * config/posix/lock.c: Rewrite to make locks task owned,
19681         for backwards compatibility provide the old entrypoints
19682         if symbol versioning.
19683         * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
19684         (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
19685         * config/posix/proc.c, config/mingw32/proc.c: Similarly.
19686         * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19687         (sys_futex0): Return error code.
19688         (futex_wake, futex_wait): If ENOSYS was returned, clear
19689         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19690         (cpu_relax, atomic_write_barrier): New static inlines.
19691         * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19692         (futex_wake, futex_wait): If ENOSYS was returned, clear
19693         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19694         (cpu_relax, atomic_write_barrier): New static inlines.
19695         * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19696         (sys_futex0): Return error code.
19697         (futex_wake, futex_wait): If ENOSYS was returned, clear
19698         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19699         (cpu_relax, atomic_write_barrier): New static inlines.
19700         * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19701         (sys_futex0): Return error code.
19702         (futex_wake, futex_wait): If ENOSYS was returned, clear
19703         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19704         (cpu_relax, atomic_write_barrier): New static inlines.
19705         * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19706         (sys_futex0): Return error code.
19707         (futex_wake, futex_wait): If ENOSYS was returned, clear
19708         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19709         (cpu_relax, atomic_write_barrier): New static inlines.
19710         * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19711         (sys_futex0): Return error code.
19712         (futex_wake, futex_wait): If ENOSYS was returned, clear
19713         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19714         (cpu_relax, atomic_write_barrier): New static inlines.
19715         * config/linux/sem.c: Include wait.h instead of libgomp.h and
19716         futex.h.
19717         (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
19718         * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
19719         * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
19720         types.
19721         (omp_nest_lock_t): Change owner into void *, add lock field.
19722         * config/posix95/omp-lock.h: Include semaphore.h.
19723         (omp_lock_25_t, omp_nest_lock_25_t): New types.
19724         (omp_lock_t): Use sem_t instead of mutex if semaphores
19725         aren't broken.
19726         (omp_nest_lock_t): Likewise.  Change owner to void *.
19727         * config/posix/omp-lock.h: Include semaphore.h.
19728         (omp_lock_25_t, omp_nest_lock_25_t): New types.
19729         (omp_lock_t): Use sem_t instead of mutex if semaphores
19730         aren't broken.
19731         (omp_nest_lock_t): Likewise.  Add owner field.
19733 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
19735         * testsuite/libgomp.c/collapse-1.c: New test.
19736         * testsuite/libgomp.c/collapse-2.c: New test.
19737         * testsuite/libgomp.c/collapse-3.c: New test.
19738         * testsuite/libgomp.c/icv-1.c: New test.
19739         * testsuite/libgomp.c/icv-2.c: New test.
19740         * testsuite/libgomp.c/lib-2.c: New test.
19741         * testsuite/libgomp.c/lock-1.c: New test.
19742         * testsuite/libgomp.c/lock-2.c: New test.
19743         * testsuite/libgomp.c/lock-3.c: New test.
19744         * testsuite/libgomp.c/loop-4.c: New test.
19745         * testsuite/libgomp.c/loop-5.c: New test.
19746         * testsuite/libgomp.c/loop-6.c: New test.
19747         * testsuite/libgomp.c/loop-7.c: New test.
19748         * testsuite/libgomp.c/loop-8.c: New test.
19749         * testsuite/libgomp.c/loop-9.c: New test.
19750         * testsuite/libgomp.c/nested-3.c: New test.
19751         * testsuite/libgomp.c/nestedfn-6.c: New test.
19752         * testsuite/libgomp.c/sort-1.c: New test.
19753         * testsuite/libgomp.c/task-1.c: New test.
19754         * testsuite/libgomp.c/task-2.c: New test.
19755         * testsuite/libgomp.c/task-3.c: New test.
19756         * testsuite/libgomp.c/task-4.c: New test.
19757         * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
19758         to C++ testsuite default compiler options.
19759         * testsuite/libgomp.c++/collapse-1.C: New test.
19760         * testsuite/libgomp.c++/collapse-2.C: New test.
19761         * testsuite/libgomp.c++/ctor-10.C: New test.
19762         * testsuite/libgomp.c++/for-1.C: New test.
19763         * testsuite/libgomp.c++/for-2.C: New test.
19764         * testsuite/libgomp.c++/for-3.C: New test.
19765         * testsuite/libgomp.c++/for-4.C: New test.
19766         * testsuite/libgomp.c++/for-5.C: New test.
19767         * testsuite/libgomp.c++/loop-8.C: New test.
19768         * testsuite/libgomp.c++/loop-9.C: New test.
19769         * testsuite/libgomp.c++/loop-10.C: New test.
19770         * testsuite/libgomp.c++/task-1.C: New test.
19771         * testsuite/libgomp.c++/task-2.C: New test.
19772         * testsuite/libgomp.c++/task-3.C: New test.
19773         * testsuite/libgomp.c++/task-4.C: New test.
19774         * testsuite/libgomp.c++/task-5.C: New test.
19775         * testsuite/libgomp.c++/task-6.C: New test.
19776         * testsuite/libgomp.fortran/allocatable1.f90: New test.
19777         * testsuite/libgomp.fortran/allocatable2.f90: New test.
19778         * testsuite/libgomp.fortran/allocatable3.f90: New test.
19779         * testsuite/libgomp.fortran/allocatable4.f90: New test.
19780         * testsuite/libgomp.fortran/collapse1.f90: New test.
19781         * testsuite/libgomp.fortran/collapse2.f90: New test.
19782         * testsuite/libgomp.fortran/collapse3.f90: New test.
19783         * testsuite/libgomp.fortran/collapse4.f90: New test.
19784         * testsuite/libgomp.fortran/lastprivate1.f90: New test.
19785         * testsuite/libgomp.fortran/lastprivate2.f90: New test.
19786         * testsuite/libgomp.fortran/lib4.f90: New test.
19787         * testsuite/libgomp.fortran/lock-1.f90: New test.
19788         * testsuite/libgomp.fortran/lock-2.f90: New test.
19789         * testsuite/libgomp.fortran/nested1.f90: New test.
19790         * testsuite/libgomp.fortran/nestedfn4.f90: New test.
19791         * testsuite/libgomp.fortran/strassen.f90: New test.
19792         * testsuite/libgomp.fortran/tabs1.f90: New test.
19793         * testsuite/libgomp.fortran/tabs2.f: New test.
19794         * testsuite/libgomp.fortran/task1.f90: New test.
19795         * testsuite/libgomp.fortran/task2.f90: New test.
19796         * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
19797         * testsuite/libgomp.fortran/vla5.f90: Likewise.
19798         * testsuite/libgomp.c/pr26943-2.c: Likewise.
19799         * testsuite/libgomp.c/pr26943-3.c: Likewise.
19800         * testsuite/libgomp.c/pr26943-4.c: Likewise.
19802 2008-05-23  Jakub Jelinek  <jakub@redhat.com>
19804         PR c++/36308
19805         * testsuite/libgomp.c++/ctor-11.C: New test.
19806         * testsuite/libgomp.c++/ctor-12.C: New test.
19808 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
19810         * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
19812 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
19814         PR middle-end/36106
19815         * testsuite/libgomp.c/atomic-5.c: New test.
19816         * testsuite/libgomp.c/atomic-6.c: New test.
19817         * testsuite/libgomp.c/autopar-1.c: New test.
19819 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19821         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
19822         (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
19823         (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
19824         (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
19825         * configure: Regenerate.
19826         * Makefile.in, testsuite/Makefile.in: Likewise.
19828 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
19830         PR bootstrap/35457
19831         * aclocal.m4: Regenerate.
19832         * configure: Regenerate.
19834 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
19836         PR middle-end/35611
19837         * testsuite/libgomp.c/atomic-4.c: New test.
19839         PR libgomp/35625
19840         * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
19841         (gomp_iter_guided_next): Likewise.
19842         * testsuite/libgomp.c/pr35625.c: New test.
19844 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19846         * aclocal.m4: Regenerate.
19847         * configure: Likewise.
19848         * Makefile.in: Likewise.
19849         * testsuite/Makefile.in: Likewise.
19851 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
19853         PR middle-end/35185
19854         * testsuite/libgomp.c++/pr35185.C: New test.
19856 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
19858         PR middle-end/35549
19859         * testsuite/libgomp.c/pr35549.c: New test.
19861 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
19863         * testsuite/libgomp.c/atomic-3.c: New test.
19865 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
19867         PR fortran/33197
19868         * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
19869         .F08 file suffixes.
19871 2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
19873         PR libgomp/33131
19874         * configure.ac: Add ACX_HEADER_STRING.
19875         * env.c: Include strings.h.
19876         * aclocal.m4: Regenerate.
19877         * config.h.in: Regenerate.
19878         * configure: Regenerate.
19879         * Makefile.in: Regenerate.
19880         * testsuite/Makefile.in: Regenerate.
19882 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
19884         PR middle-end/35196
19885         * testsuite/libgomp.c/pr35196.c: New test.
19887         PR middle-end/35130
19888         * testsuite/libgomp.fortran/pr35130.f90: New test.
19889         * testsuite/libgomp.c/pr35130.c: New test.
19891 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
19893         PR middle-end/33880
19894         * testsuite/libgomp.c/pr33880.c: New test.
19895         * testsuite/libgomp.fortran/pr33880.f90: New test.
19897 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
19899         * configure: Regenerate.
19901 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
19903         * configure.ac: Move futex checking into ../config/futex.m4.
19904         * configure: Rebuilt.
19905         * aclocal.m4: Rebuilt.
19906         * Makefile.in: Rebuilt.
19908         * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
19909         2007-10-15 ../config/tls.m4 change.
19911 2007-12-19  Jakub Jelinek  <jakub@redhat.com>
19913         PR c++/34513
19914         * testsuite/libgomp.c/pr34513.c: New test.
19915         * testsuite/libgomp.c++/pr34513.C: New test.
19917 2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
19919         PR target/32765
19920         * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
19922 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
19924         * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
19926 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
19928         * testsuite/libgomp.c/private-1.c: New test.
19930 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
19931             Paolo Bonzini  <bonzini@gnu.org>
19933         * Makefile.am: Use space as vpath separator.  Use 'vpath %'
19934         instead of 'VPATH ='.
19935         * Makefile.in: Regenerate.
19937 2007-11-23  Matthias Klose  <doko@ubuntu.com>
19939         * configure.ac: Adjust makeinfo version check.
19940         * configure: Regenerate.
19942 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
19944         PR fortran/34020
19945         * testsuite/libgomp.fortran/pr34020.f90: New test.
19947 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
19949         PR c++/33894
19950         * testsuite/libgomp.c++/atomic-1.C: New test.
19952 2007-10-25  Jakub Jelinek  <jakub@redhat.com>
19954         PR libgomp/33275
19955         * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
19956         Make x and y integers rather than (implicit) reals.  Add private (j)
19957         clause to the last omp parallel.
19959 2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
19961         * configure: Regenerate following changes to ../config/tls.m4.
19963 2007-09-28  Jakub Jelinek  <jakub@redhat.com>
19965         * testsuite/libgomp.fortran/stack.f90: New test.
19967 2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
19969         * config/mingw32/proc.c: New file.
19971 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
19973         * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
19974         (main): Use __get_cpuid to get i386 target fetaures.
19975         * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
19976         (main): Use __get_cpuid to get x86_64 target fetaures.
19978 2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
19980         PR target/32765
19981         * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
19982         * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
19984 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
19986         PR fortran/32550
19987         * testsuite/libgomp.fortran/pr32550.f90: New test.
19988         * testsuite/libgomp.fortran/crayptr2.f90: New test.
19990 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
19992         * aclocal.m4: Regenerated.
19994 2007-07-05  Tobias Burnus  <burnus@net-b.de>
19996         PR fortran/32359
19997         * testsuite/libgomp.fortran/pr32359.f90: New.
19999 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
20001         PR libgomp/32468
20002         * sections.c (GOMP_parallel_sections_start): Only decrease
20003         number of threads to COUNT if dyn_var is true.
20004         * testsuite/libgomp.c/pr32468.c: New test.
20006 2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
20008         PR libgomp/26308
20009         * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
20011 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
20013         PR middle-end/32362
20014         * testsuite/libgomp.c/pr32362-1.c: New test.
20015         * testsuite/libgomp.c/pr32362-2.c: New test.
20016         * testsuite/libgomp.c/pr32362-3.c: New test.
20018 2007-06-07  Jakub Jelinek  <jakub@redhat.com>
20020         * team.c (gomp_team_start): Fix setting up thread_attr
20021         stack size.
20023 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
20025         * configure: Regenerate.
20027 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
20029         * Makefile.in: Regenerate.
20030         * configure: Regenerate.
20031         * aclocal.m4: Regenerate.
20032         * testsuite/Makefile.in: Regenerate.
20034 2007-05-04  Jakub Jelinek  <jakub@redhat.com>
20036         * config/linux/proc.c: New file.
20038         PR libgomp/28482
20039         * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
20041 2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
20043         * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
20045 2007-04-16  Matthias Klose  <doko@debian.org>
20047         * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
20048         flags if not building with -m64.
20049         * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
20050         flag for i?86-*-* targets, if current target matches -m64.
20052 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
20054         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
20055         * Makefile.in: Regenerate.
20057 2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
20059         PR testsuite/31369
20060         * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
20061         ld_library_path.
20062         * testsuite/libgomp.fortran/fortran.exp: Likewise.
20064 2007-04-04  Jakub Jelinek  <jakub@redhat.com>
20066         * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
20067         decls.
20068         (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
20069         * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
20070         (parse_affinity): New function.
20071         (initialize_env): Call it and gomp_init_affinity.
20072         * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
20073         create new pthread_attr_t and call gomp_init_thread_affinity
20074         on it for each thread before passing the attribute to pthread_create.
20075         * config/linux/affinity.c: New file.
20076         * config/posix/affinity.c: New file.
20077         * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
20078         * configure: Rebuilt.
20079         * config.h.in: Rebuilt.
20080         * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
20081         * Makefile.in: Rebuilt.
20083 2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
20085         * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
20086         *-*-darwin*.
20087         * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
20088         and use it if found.
20090 2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
20092         * testsuite/config/default.exp: New file.
20093         * testsuite/lib/libgomp.exp: New file.
20094         * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
20095         libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
20096         load_lib *, load_gcc_lib *): Move to libgomp.exp.
20097         (libgomp_load): Remove.
20098         * testsuite/lib/libgomp.exp (libgomp_init): Compute
20099         always_ld_library_path, not ld_library_path.  Set additional_flags
20100         to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
20101         (target_compile): Do not call libgomp_init.  Append lang_library_path
20102         and lang_link_flags to options.
20103         * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
20104         ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
20105         here.
20106         * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
20107         always_ld_library_path.  Set LD_LIBRARY_PATH here.
20108         * testsuite/libgomp.fortran/fortran.exp: Ditto.
20109         * testsuite/libgomp.c/atomic-1.c: Set dg-options to
20110         "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
20111         CX8 flag.
20112         * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
20113         lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
20114         * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
20115         * testsuite/libgomp.c/pr29947-1.c: Ditto.
20116         * testsuite/libgomp.c/atomic-10.c: Ditto.
20118 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
20120         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
20121         dg-final cleanup-modules line.
20122         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
20123         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
20124         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
20125         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
20126         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
20127         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
20128         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
20130 2007-03-18  Andreas Schwab  <schwab@suse.de>
20132         * acinclude.m4: Adjust regular expression for ld version
20133         extraction.
20134         * configure: Regenerate.
20136 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
20138         * Makefile.am: Add install-pdf target as copied from
20139         automake v1.10 rules.
20140         * Makefile.in: Regenerate
20142 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
20144         PR libgomp/28486
20145         * configure: Regenerate.
20147         PR c++/30703
20148         * testsuite/libgomp.c++/pr30703.C: New test.
20150 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
20152         Revert:
20153         2006-07-05  Eric Christopher  <echristo@apple.com>
20154         * configure.ac: Depend addition of -pthread on host OS.
20155         * configure: Regenerate.
20157 2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20159         * libgomp.texi: Fix spacing after abbreviations.
20161 2007-01-31  Daniel Franke <franke.daniel@gmail.com>
20163         PR libgomp/30546
20164         * configure.ac: Add check for makeinfo
20165         * Makefile.am: Redefined target libgomp.info, build libgomp.info only
20166         if an appropriate version of makeinfo is found.
20167         * aclocal.m4: Regenerated.
20168         * configure: Regenerated.
20169         * Makefile.in: Regenerated.
20170         * testsuite/Makefile.in: Regenerated.
20172 2007-01-29  Daniel Franke <franke.daniel@gmail.com>
20174         PR libgomp/30540
20175         * libgomp.texi: More about implementation-dependent settings.
20177 2007-01-26  Tobias Burnus  <burnus@net-b.de>
20179         * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
20181 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
20183         PR middle-end/30494
20184         * testsuite/libgomp.c/pr30494.c: New test.
20186 2007-01-15  Tom Tromey  <tromey@redhat.com>
20188         * configure: Rebuilt.
20189         * configure.ac: Fixed comment.
20191 2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
20193         * libgomp.texi: Document implementation specific default values of
20194         environment variables.
20196 2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
20198         PR libgomp/28209
20199         * libgomp.texi: New file.
20200         * configure.ac: Add --enable-generated-files-in-srcdir option.
20201         * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
20202         files to srcdir.
20203         * Makefile.in: Regenerated.
20204         * config.h.in: Regenerated.
20205         * testsuite/Makefile.in: Regenerated.
20206         * NOTES: Removed.
20208 2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
20210         PR libgomp/29949
20211         * env.c (omp_set_num_threads): Set illegal thread count to 1.
20213 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
20215         * configure: Regenerate.
20217 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
20219         PR libgomp/29947
20220         * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
20221         start if there shouldn't be any loop iterations.
20222         (gomp_loop_ordered_static_start): Remove start == end test.
20223         * testsuite/libgomp.c/pr29947-1.c: New test.
20224         * testsuite/libgomp.c/pr29947-2.c: New test.
20226 2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
20228         * configure.tgt: Force initial-exec TLS model on Linux only.
20230 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
20232         * configure: Regenerated.
20234 2006-11-09  Uros Bizjak  <ubizjak@gmail.com>
20236         * env.c (parse_schedule): Reject out of range values.
20237         (parse_unsigned_long): Reject out of range, negative or zero values.
20239 2006-10-29  Jakub Jelinek  <jakub@redhat.com>
20241         PR fortran/29629
20242         * testsuite/libgomp.fortran/pr29629.f90: New test.
20244 2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
20246         PR libgomp/29494
20247         * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
20248         * config/posix95: New directory.
20249         * config/posix95/omp-lock.h: New file.
20250         * config/posix95/lock.c: Likewise.
20252 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
20254         * aclocal.m4: Regenerate.
20255         * configure: Regenerate.
20257 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
20259         * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
20260         '<' to '<='.
20262 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
20264         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
20265         test.
20266         * configure: Regenerate.
20267         * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
20269 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
20271         PR middle-end/25261
20272         PR middle-end/28790
20273         * testsuite/libgomp.c/nestedfn-4.c: New test.
20274         * testsuite/libgomp.c/nestedfn-5.c: New test.
20275         * testsuite/libgomp.fortran/nestedfn3.f90: New test.
20277         PR fortran/29097
20278         * testsuite/libgomp.fortran/condinc1.f: New test.
20279         * testsuite/libgomp.fortran/condinc2.f: New test.
20280         * testsuite/libgomp.fortran/condinc3.f90: New test.
20281         * testsuite/libgomp.fortran/condinc4.f90: New test.
20282         * testsuite/libgomp.fortran/condinc1.inc: New file.
20284 2006-09-18  Tom Tromey  <tromey@redhat.com>
20286         * configure: Rebuilt.
20288 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
20290         PR c/28768
20291         PR preprocessor/14634
20292         * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
20293         to AC_DEFINE.
20294         * configure: Regenerate.
20296 2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
20298         * testsuite/libgomp.fortran/reduction3.f90: Change
20299         -2147483648 to -huge(i)-1 to avoid overflow.
20300         * testsuite/libgomp.fortran/reduction4.f90: Change
20301         Z'ffffffff' to not(0) to avoid overflow.
20303 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
20305         PR libgomp/25938
20306         * Makefile.am (libsubincludedir): New.
20307         (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
20308         * Makefile.in: Regenerate.
20310 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
20312         PR libgomp/28725
20313         * env.c: Include ctype.h.
20314         (parse_schedule, parse_unsigned_long, parse_boolean): Allow
20315         leading and/or trailing whitespace and compare strings case
20316         insensitively.
20318 2006-07-16  Jakub Jelinek  <jakub@redhat.com>
20320         PR fortran/28390
20321         * testsuite/libgomp.fortran/pr28390.f: New test.
20323 2006-07-05  Eric Christopher  <echristo@apple.com>
20325         * configure.ac: Depend addition of -pthread on host OS.
20326         * configure: Regenerate.
20328 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
20330         * critical.c (GOMP_critical_name_start): Fix *pptr initialization
20331         when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
20332         defined.
20334 2006-06-20  Jakub Jelinek  <jakub@redhat.com>
20336         PR libgomp/26175
20337         PR libgomp/26477
20338         * configure.ac: If neither --enable-linux-futex nor
20339         --disable-linux-futex is passed, determine the default by checking
20340         for compiling and/or running against NPTL.  With --enable-linux-futex,
20341         check if SYS_gettid and SYS_futex are defined.
20342         * configure: Rebuilt.
20344 2006-06-14  Richard Henderson  <rth@redhat.com>
20346         PR libgomp/28008
20347         * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
20348         undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
20350 2006-06-09  Richard Henderson  <rth@redhat.com>
20352         * env.c (gomp_nthreads_var): Change to unsigned long.
20353         (gomp_run_sched_chunk): Likewise.
20354         (parse_unsigned_long): Rename from parse_num_threads and generalize.
20355         (initialize_env): Initialize gomp_thread_attr.
20356         * libgomp.h (gomp_nthreads_var): Update decl.
20357         (gomp_run_sched_chunk): Likewise.
20358         (gomp_thread_attr): Declare.
20359         * team.c (gomp_thread_attr): Export.
20360         (initialize_team): Don't initialize it.
20362 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
20364         PR fortran/27916
20365         * testsuite/libgomp.fortran/pr27916-1.f90: New test.
20366         * testsuite/libgomp.fortran/pr27916-2.f90: New test.
20368 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
20370         * config/mingw32/time.c: New file.
20371         * configure.tgt: Use it.
20373 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
20375         * Makefile.am: Add install-html target. Add install-html to .PHONY
20376         * Makefile.in: Regenerate.
20378 2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
20380         PR libgomp/27612
20381         * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
20382         * testsuite/libgomp.c/critical-1.c: Likewise.
20383         * testsuite/libgomp.c/loop-1.c: Likewise.
20384         * testsuite/libgomp.c/loop-2.c: Likewise.
20385         * testsuite/libgomp.c/single-1.c: Likewise.
20386         * testsuite/libgomp.c/ordered-1.c: Likewise.
20387         * testsuite/libgomp.c/ordered-2.c: Likewise.
20389 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
20391         PR middle-end/27416
20392         * libgomp.fortran/pr27416-1.f90: New test.
20394 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
20396         PR fortran/27395
20397         * testsuite/libgomp.fortran/pr27395-1.f90: New test.
20398         * testsuite/libgomp.fortran/pr27395-2.f90: New test.
20400 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
20402         PR c++/26943
20403         * testsuite/libgomp.c/pr26943-1.c: New test.
20404         * testsuite/libgomp.c/pr26943-2.c: New test.
20405         * testsuite/libgomp.c/pr26943-3.c: New test.
20406         * testsuite/libgomp.c/pr26943-4.c: New test.
20407         * testsuite/libgomp.c++/pr27337.C: Remove barrier.
20408         * testsuite/libgomp.c++/pr26943.C: New test.
20410 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
20412         PR middle-end/27337
20413         * testsuite/libgomp.c++/pr27337.C: New test.
20415 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
20417         PR c/26171
20418         * testsuite/libgomp.c/pr26171.c: New test.
20420 2006-04-25  Richard Henderson  <rth@redhat.com>
20422         PR libgomp/25865
20423         * configure.ac: Use GCC_CHECK_TLS.
20424         * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
20425         * Makefile.in, aclocal.m4, configure: Regenerate.
20427 2006-04-10  Matthias Klose  <doko@debian.org>
20429         * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
20430         directory names containing underscores.
20432 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
20434         PR c++/26691
20435         * testsuite/libgomp.c++/pr26691.C: New test.
20437 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
20439         * testsuite/libgomp.fortran/retval2.f90: New test.
20441 2006-03-09  Diego Novillo  <dnovillo@redhat.com>
20443         * testsuite/libgomp.c++: New directory.
20445 2006-02-25  Shantonu Sen  <ssen@opendarwin.org>
20447         * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
20448         * config/posix/sem.c: Implement the above.
20450 2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
20452         * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
20453         define HAVE_BROKEN_POSIX_SEMAPHORES.
20454         * configure: Rebuilt.
20455         * config.h.in: Rebuilt.
20457 2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
20459         PR bootstrap/26161
20460         * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
20461         for the other pthread check.
20462         * configure: Regenerate.
20463         * config.h.in: Regenerate.
20465 2006-02-15  Jakub Jelinek  <jakub@redhat.com>
20467         PR libgomp/25938
20468         PR libgomp/25984
20469         * Makefile.am (fincludedir): New variable.
20470         (nodist_include_HEADERS): Remove Fortran files.
20471         (nodist_finclude_HEADERS): New variable.
20472         * Makefile.in: Regenerated.
20474 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
20476         * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
20477         Remove tests for returning assumed character length arrays.
20479 2006-02-12  Roger Sayle  <roger@eyesopen.com>
20480             John David Anglin  <dave@hiauly1.hia.nrc.ca>
20482         PR libgomp/25936
20483         * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
20485 2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
20487         * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
20489 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
20491         * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
20492         part of LD_LIBRARY_PATH manually.
20494 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
20496         PR libgomp/25852
20497         * testsuite/lib/libgomp-dg.exp (blddir): Set it in
20498         libgomp_init.
20500 2005-01-25  Paolo Bonzini  <bonzini@gnu.org>
20502         PR libgomp/25884
20503         * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
20504         * configure.ac (PERL): Don't set.
20505         (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
20506         (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
20507         OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
20508         * omp.h.in: Wrap the new configure substitutions with @ characters.
20509         * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
20510         * aclocal.m4, configure, Makefile.in: Regenerate.
20511         * mkomp_h.pl: Delete.
20513 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
20515         PR libgomp/25259
20516         * configure.ac: Use GCC_HEADER_STDINT.
20517         * libgomp.h: Include gstdint.h.
20518         * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
20519         * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
20521 2006-01-24  Richard Henderson  <rth@redhat.com>
20523         PR libgomp/25942
20524         * configure.ac: Add AM_MAINTAINER_MODE.
20525         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
20527 2006-01-24  Diego Novillo  <dnovillo@redhat.com>
20529         * Makefile.in: Regenerate.
20530         * testsuite/Makefile.in: Regenerate.
20531         * aclocal.m4: Regenerate.
20533 2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
20535         * config/posix/proc.c: Conditional include of sys/loadavg.h for
20536         Solaris.
20537         * configure.ac: Add check for loadavg.h.
20538         (link_gomp): Adjust comment.
20539         * configure: Regenerate.
20540         * config.h.in: Regenerate.
20542 2006-01-21  Steve Ellcey  <sje@cup.hp.com>
20544         PR libgomp/25877
20545         * configure.ac: Remove check for alloca.h.
20546         * configure: Regenerate.
20547         * config.h.in: Regenerate.
20548         * libgomp.h: define gomp_alloca to be __builtin_alloca.
20549         * team.c: Remove use of alloca.h.
20550         Call gomp_alloca instead of alloca.
20552 2006-01-20  Steve Ellcey  <sje@cup.hp.com>
20554         PR libgomp/25877
20555         * team.c: Add include of alloca.h.
20556         * configure.ac: Add check for alloca.h.
20557         * configure: Regenerate.
20558         * config.h.in: Regenerate.
20560 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
20562         PR fortran/25219
20563         * testsuite/libgomp.fortran/pr25219.f90: New test.
20565 2005-12-05  Uros Bizjak  <uros@kss-loka.si>
20567         * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
20568         testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
20569         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20570         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20571         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
20572         testsuite/libgomp.fortran/threadprivate1.f90,
20573         testsuite/libgomp.fortran/threadprivate2.f90,
20574         testsuite/libgomp.fortran/threadprivate3.f90,
20575         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20576         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20577         testsuite/libgomp.fortran/omp_parse3.f90: Change required
20578         effective-target to TLS runtime.
20580         * testsuite/libgomp.fortran/pr25162.f: Require
20581         effective-target TLS runtime.
20583 2005-12-01  Jakub Jelinek  <jakub@redhat.com>
20585         * testsuite/libgomp.fortran/nestedfn2.f90: New test.
20586         * testsuite/libgomp.c/nestedfn-3.c: New test.
20588 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
20590         PR fortran/25162
20591         * testsuite/libgomp.fortran/pr25162.f: New test.
20593 2005-11-28  Jakub Jelinek  <jakub@redhat.com>
20595         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
20596         CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
20598 2005-11-25  Jakub Jelinek  <jakub@redhat.com>
20600         * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
20601         libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
20602         omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
20603         single.c, team.c, work.c, config/linux/alpha/futex.h,
20604         config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
20605         config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
20606         config/linux/powerpc/futex.h, config/linux/s390/futex.h,
20607         config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
20608         config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
20609         config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
20610         config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
20611         FSF address.
20613 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
20615         * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
20616         to nodist_noinst_HEADERS.
20617         * Makefile.in: Rebuilt.
20619         * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
20620         add integer count field.
20621         * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
20622         omp_nest_lock_t type change.
20623         (omp_init_nest_lock): Likewise.  Initialize count to 0.
20624         (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
20625         Increment count.
20626         (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
20627         Decrement count.
20628         (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
20629         Increment count if successful and return the new nesting level.
20630         * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
20631         * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
20632         * testsuite/libgomp.c/lib-1.c: New test.
20633         * testsuite/libgomp.fortran/lib1.f90: New test.
20634         * testsuite/libgomp.fortran/lib2.f: New test.
20635         * testsuite/libgomp.fortran/lib3.f: New test.
20637 2005-11-17  Richard Henderson  <rth@redhat.com>
20639         PR 24845
20640         * Makefile.am (nodist_toolexeclib_HEADERS): New.
20641         * configure.ac (link_gomp): New.  Substitute it.
20642         (AC_CONFIG_FILES): Add libgomp.spec.
20643         * libgomp.spec.in: New file.
20644         * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
20645         * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
20647 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
20649         * testsuite/libgomp.fortran/reduction1.f90: Adjust for
20650         reduction(-:var) behaving the same as reduction(+:var).
20651         * testsuite/libgomp.c/reduction-4.c: New test.
20653 2005-11-15  Uros Bizjak  <uros@kss-loka.si>
20655         * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
20656         testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
20657         testsuite/libgomp.c/copyin-3.c,
20658         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20659         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20660         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
20661         testsuite/libgomp.c++/pr24455.C,
20662         testsuite/libgomp.fortran/threadprivate1.f90,
20663         testsuite/libgomp.fortran/threadprivate2.f90,
20664         testsuite/libgomp.fortran/threadprivate3.f90,
20665         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20666         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20667         testsuite/libgomp.fortran/omp_parse3.f90: Require
20668         effective-target TLS.
20670 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
20672         * HEADER: Remove.
20674 2005-11-13  Jakub Jelinek  <jakub@redhat.com>
20676         PR libgomp/24797
20677         * team.c (initialize_team): Pass NULL rather than free as
20678         pthread_key_create destructor.  Initialize thread specific data
20679         pointer in initial thread to a static local variable rather than
20680         malloced memory.
20682 2005-11-11  Uros Bizjak  <uros@kss-loka.si>
20684         * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
20685         its location to ld_library_path.
20687 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
20689         * testsuite/libgomp.c/c.exp: Rename from dg.exp.
20691 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
20693         * testsuite/libgomp.c: Rename from libgomp.dg.
20695 2005-11-09  Diego Novillo  <dnovillo@redhat.com>
20697         * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
20698         threadprivate variable 'i'.
20700 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
20702         * config/linux/s390/futex.h: New file.
20703         * configure.tgt: Use it.
20705         * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
20706         before the parallel.
20708 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
20710         PR c++/24734
20711         * testsuite/libgomp.c++/master-1.C: New test.
20713 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
20715         * testsuite/libgomp.dg/copyin-3.c: New test.
20717 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
20719         * testsuite/libgomp.fortran/retval1.f90: New test.
20720         * testsuite/libgomp.fortran/vla7.f90: New test.
20722 2005-11-06  Jakub Jelinek  <jakub@redhat.com>
20724         * testsuite/libgomp.fortran/vla2.f90: New test.
20725         * testsuite/libgomp.fortran/vla3.f90: New test.
20726         * testsuite/libgomp.fortran/vla4.f90: New test.
20727         * testsuite/libgomp.fortran/vla5.f90: New test.
20728         * testsuite/libgomp.fortran/vla6.f90: New test.
20730 2005-11-01  Jakub Jelinek  <jakub@redhat.com>
20732         * config/linux/sparc/futex.h: New file.
20733         * configure.tgt: Use it.
20734         * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
20736         * critical.c: Include stdlib.h.
20737         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
20738         ignoring return value.
20739         * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
20740         LIBGOMP_CHECK_SYNC_BUILTINS check.
20741         * configure: Rebuilt.
20743 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
20745         * testsuite/libgomp.fortran/vla1.f90: New test.
20747 2005-10-31  Richard Henderson  <rth@redhat.com>
20749         * testsuite/libgomp.fortran/character2.f90: Fix race condition
20750         setting 's' in different threads.
20752 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
20754         * libgomp.h (attribute_hidden, ialias): Define.
20755         * config/posix/proc.c (omp_get_num_procs): Add ialias.
20756         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
20757         * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
20758         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20759         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20760         omp_test_lock, omp_test_nest_lock): Likewise.
20761         * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
20762         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20763         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20764         omp_test_lock, omp_test_nest_lock): Likewise.
20765         * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
20766         omp_get_dynamic, omp_get_nested): Likewise.
20767         * parallel.c (omp_get_num_threads, omp_get_max_threads,
20768         omp_get_thread_num, omp_in_parallel): Likewise.
20769         * fortran.c (ialias_redirect): Define.
20770         (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
20771         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
20772         omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
20773         omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
20774         omp_set_num_threads, omp_get_dynamic, omp_get_nested,
20775         omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
20776         omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
20777         omp_get_wtime): Add ialias_redirect.
20779 2005-10-30  Jakub Jelinek  <jakub@redhat.com>
20781         * fortran.c: Include stdlib.h.
20783 2005-10-29  Jakub Jelinek  <jakub@redhat.com>
20785         * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
20786         * Makefile.in: Regenerated.
20788 2005-10-28  Jakub Jelinek  <jakub@redhat.com>
20790         * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
20791         * libgomp_f.h.in (omp_check_defines): New function.
20792         * env.c: Include libgomp_f.h.
20793         (initialize_env): Call omp_check_defines.
20795         * testsuite/libgomp.dg/copyin-2.c: New test.
20796         * testsuite/libgomp.c++/copyin-2.C: New test.
20797         * testsuite/libgomp.fortran/threadprivate3.f90: New test.
20799         * testsuite/libgomp.fortran/threadprivate2.f90: New test.
20800         * testsuite/libgomp.fortran/sharing2.f90: New test.
20802         * testsuite/libgomp.dg/copyin-1.c: New test.
20803         * testsuite/libgomp.c++/copyin-1.C: New test.
20805 2005-10-26  Jakub Jelinek  <jakub@redhat.com>
20807         * testsuite/libgomp.fortran/crayptr1.f90: New test.
20809         * testsuite/libgomp.fortran/workshare1.f90: New test.
20811         * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
20812         only test.
20813         * libgomp.fortran/sharing1.f90: New test.
20815 2005-10-24  Jakub Jelinek  <jakub@redhat.com>
20817         PR c++/24502
20818         * testsuite/libgomp.c++/loop-7.C: New test.
20820         * testsuite/libgomp.dg/nestedfn-2.c: New test.
20822         * testsuite/libgomp.dg/nestedfn-1.c: New test.
20823         * testsuite/libgomp.fortran/reduction6.f90: New test.
20824         * testsuite/libgomp.fortran/nestedfn1.f90: New test.
20826 2005-10-23  Richard Henderson  <rth@redhat.com>
20828         * testsuite/libgomp.c++/ctor-1.C: New.
20829         * testsuite/libgomp.c++/ctor-2.C: New.
20830         * testsuite/libgomp.c++/ctor-3.C: New.
20831         * testsuite/libgomp.c++/ctor-4.C: New.
20832         * testsuite/libgomp.c++/ctor-5.C: New.
20833         * testsuite/libgomp.c++/ctor-6.C: New.
20834         * testsuite/libgomp.c++/ctor-7.C: New.
20835         * testsuite/libgomp.c++/ctor-8.C: New.
20836         * testsuite/libgomp.c++/ctor-9.C: New.
20838 2005-10-21  Diego Novillo  <dnovillo@redhat.com>
20840         PR 24455
20841         * testsuite/libgomp.c++/pr24455-1.C: New test.
20842         * testsuite/libgomp.c++/pr24455.C: New test.
20843         * testsuite/libgomp.dg/pr24455-1.c: New test.
20844         * testsuite/libgomp.dg/pr24455.c: New test.
20846 2005-10-20  Richard Henderson  <rth@redhat.com>
20848         * testsuite/libgomp.c++/loop-6.C: New.
20849         * testsuite/libgomp.dg/loop-3.c: New.
20851 2005-10-20  Jakub Jelinek  <jakub@redhat.com>
20853         * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
20854         explicitly private.
20855         * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
20856         explicitly shared.
20858 2005-10-19  Diego Novillo  <dnovillo@redhat.com>
20860         * testsuite/libgomp.fortran/jacobi.f: New test.
20862 2005-10-19  Richard Henderson  <rth@redhat.com>
20864         * configure.tgt (i?86-linux): Default to with_arch instead of
20865         CFLAGS.  Add -mtune to match target_cpu.
20866         (x86_64-linux): Tune to i686.
20868         * fortran.c (omp_test_nest_lock_): Fix typo.
20870 2005-10-19  Jakub Jelinek  <jakub@redhat.com>
20872         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20873         gomp_ordered_sync): Do nothing if team->nthreads == 1.
20874         * testsuite/libgomp.dg/ordered-3.c: New test.
20876         * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
20877         Remove volatile keyword.
20879         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
20880         in COMMON block to avoid warnings on 64-bit targets.
20882 2005-10-18  Diego Novillo  <dnovillo@redhat.com>
20884         * testsuite/libgomp.dg/shared-3.c: New test.
20886 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
20888         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
20889         * testsuite/libgomp.fortran/reduction5.f90: New test.
20891 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
20893         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
20894         dg-options.
20895         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
20896         flush loop now that __sync_synchronize has proper memory barrier.
20897         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
20898         Add -ffixed-form to dg-options.
20900 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
20902         * testsuite/libgomp.fortran/fortran.exp: Also gather tests
20903         from subdirectories.
20904         * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
20905         * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
20906         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
20907         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
20908         * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
20909         * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
20910         * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
20911         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
20912         * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
20913         * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
20914         * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
20915         * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
20916         * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
20917         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
20918         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
20919         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
20920         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
20921         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
20922         * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
20923         * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
20924         * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
20925         * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
20926         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
20927         * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
20928         * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
20930 2005-10-17  Jakub Jelinek  <jakub@redhat.com>
20932         * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
20933         lang_library_path exists.  Use find instead of glob to gather tests.
20934         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
20936 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
20938         * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
20939         * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
20940         * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
20941         * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
20942         * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
20943         * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
20944         * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
20945         * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
20946         * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
20947         * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
20948         * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
20949         * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
20950         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
20952 2005-10-15  Jakub Jelinek  <jakub@redhat.com>
20954         * testsuite/libgomp.dg/vla-1.c: New test.
20956         * testsuite/libgomp.fortran/reference2.f90: New test.
20958         * testsuite/libgomp.fortran/character2.f90: Remove explicit
20959         declaration of omp_get_thread_num.
20960         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
20961         use omp_lib.
20963         * testsuite/libgomp.fortran/reduction1.f90: New test.
20964         * testsuite/libgomp.fortran/reduction2.f90: New test.
20965         * testsuite/libgomp.fortran/reduction3.f90: New test.
20966         * testsuite/libgomp.fortran/reduction4.f90: New test.
20968 2005-10-13  Richard Henderson  <rth@redhat.com>
20970         * Makefile.am (libgomp_la_SOURCES): Add bar.c.
20971         * Makefile.in: Regenerate.
20972         * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
20973         * libgomp.h: Include bar.h.
20974         (struct gomp_barrier): Remove.
20975         (struct gomp_team): Add barrier.  Replace master_barrier with
20976         master_release.  Replace threads with ordered_release.
20977         (struct gomp_thread): Replace barrier with release.
20978         * ordered.c (gomp_ordered_first): Update for ordered_release change.
20979         (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
20980         gomp_ordered_static_next, gomp_ordered_sync): Likewise.
20981         * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
20982         (GOMP_single_copy_end): Likewise.
20983         * team.c (gomp_threads_dock): New.
20984         (gomp_barrier_init, gomp_barrier_destroy): Remove.
20985         (gomp_thread_start): Use gomp_barrier_wait.
20986         (new_team, free_team): Update for gomp_team changes.
20987         (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
20988         (gomp_team_end): Use gomp_barrier_wait.
20989         (initialize_team): Update for gomp_thread changes.
20990         * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
20991         (gomp_work_share_end_nowait): Use atomic ops when available.
20992         * config/linux/bar.c, config/linux/bar.h: New files.
20993         * config/posix/bar.c, config/posix/bar.h: New files.
20995 2005-10-13  Jakub Jelinek  <jakub@redhat.com>
20997         * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
20998         * testsuite/libgomp.dg/single-2.c: New test.
21000         * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
21001         lang_link_flags): Unset, so that they aren't inherited from previously
21002         sourced *.exp.
21004         * testsuite/libgomp.fortran/threadprivate1.f90: New test.
21006 2005-10-12  Richard Henderson  <rth@redhat.com>
21008         * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
21009         (libgomp_init): Use lang_test_file, lang_library_path, and
21010         lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
21012         * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
21013         (lang_test_file, lang_link_flags): New.
21014         (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
21016         * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
21017         testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
21018         testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
21019         testsuite/libgomp.c++/parallel-1.C,
21020         testsuite/libgomp.c++/reduction-1.C,
21021         testsuite/libgomp.c++/reduction-2.C,
21022         testsuite/libgomp.c++/reduction-3.C,
21023         testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
21024         testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
21025         testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
21026         New files, largely cribbed from the C testsuite.
21028 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
21030         * testsuite/libgomp.fortran/character1.f90: New test.
21031         * testsuite/libgomp.fortran/character2.f90: New test.
21033         * testsuite/libgomp.dg/nested-1.c: New test.
21034         * testsuite/libgomp.dg/nested-2.c: New test.
21035         * testsuite/libgomp.fortran/do1.f90: New test.
21036         * testsuite/libgomp.fortran/do2.f90: New test.
21038         * testsuite/libgomp.fortran/reference1.f90: New test.
21040 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
21042         * testsuite/libgomp.dg/reduction-1.c: New test.
21043         * testsuite/libgomp.dg/reduction-2.c: New test.
21044         * testsuite/libgomp.dg/reduction-3.c: New test.
21046 2005-10-10  Jakub Jelinek  <jakub@redhat.com>
21048         * testsuite/libgomp.dg/atomic-1.c: New test.
21049         * testsuite/libgomp.dg/atomic-2.c: New test.
21051 2005-10-09  Richard Henderson  <rth@redhat.com>
21053         * critical.c (atomic_lock): New.
21054         (initialize_critical): Initialize it.
21055         (GOMP_atomic_start, GOMP_atomic_end): New.
21056         * libgomp.map: Export them.
21057         * libgomp_g.h: Declare them.
21059         * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
21061 2005-10-02  Richard Henderson  <rth@redhat.com>
21063         * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
21064         to XCFLAGS instead of CFLAGS.
21066 2005-09-30  Richard Henderson  <rth@redhat.com>
21068         * configure.ac: Determine whether -pthread or -lpthread is needed.
21069         * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
21070         * Makefile.in, configure: Rebuild.
21072 2005-09-28  Richard Henderson  <rth@redhat.com>
21074         * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
21075         * testsuite/libgomp.dg/omp-single-3.c: New test.
21077 2005-09-28  Diego Novillo  <dnovillo@redhat.com>
21079         * testsuite/libgomp.dg/omp-single-2.c: New test.
21080         * testsuite/libgomp.dg/shared-2.c: Fix return code.
21082 2005-09-27  Richard Henderson  <rth@redhat.com>
21084         * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
21085         * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
21087 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
21089         * testsuite/libgomp.dg/omp-loop03.c: New test.
21091 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
21093         * testsuite/libgomp.dg/omp-parallel-for.c: New test.
21095 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
21097         * testsuite/libgomp.dg/omp-single-1.c: New test.
21098         * testsuite/libgomp.dg/shared-1.c: Return 0.
21099         Add prototype for abort.
21100         * testsuite/libgomp.dg/shared-2.c: Likewise.
21102 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
21104         * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
21105         constructs.
21107 2005-09-26  Diego Novillo  <dnovillo@redhat.com>
21109         * testsuite/libgomp.dg/shared-1.c: New test.
21110         * testsuite/libgomp.dg/shared-2.c: New test.
21112 2005-09-24  Richard Henderson  <rth@redhat.com>
21114         * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
21116 2005-09-24  Richard Henderson  <rth@redhat.com>
21118         * iter.c (gomp_iter_static_next): Round up when computing number
21119         of iterations.  Don't bother distributing a remainder equally.
21121         * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
21122         Don't call srand.  Zero b before testing.
21123         (main): New.
21125 2005-09-24  Jakub Jelinek  <jakub@redhat.com>
21127         * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
21128         * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
21130 2005-09-23  Jakub Jelinek  <jakub@redhat.com>
21132         * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
21133         without !$omp end do, followed immediately by subroutine end.
21135 2005-09-23  Diego Novillo  <dnovillo@redhat.com>
21137         * testsuite/libgomp.dg/omp-parallel-if.c: New test.
21139 2005-09-22  Richard Henderson  <rth@redhat.com>
21141         * critical.c (GOMP_critical_name_start): Change argument to void**.
21142         Reuse the pointer space if the mutex fits.
21143         (GOMP_critical_name_end): Likewise.
21144         (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
21145         * libgomp_g.h (GOMP_critical_name_start): Update decl.
21146         (GOMP_critical_name_end): Likewise.
21147         * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
21148         * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
21150 2005-09-20  Richard Henderson  <rth@redhat.com>
21152         * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
21153         (create_lock_lock): New.
21154         (initialize_critical): Initialize it.
21155         * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
21156         * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
21158 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
21160         * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
21162 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
21164         * testsuite/libgomp.dg/omp-loop01.c: New test.
21165         * testsuite/libgomp.dg/omp-loop02.c: New test.
21167 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
21169         * configure.ac (AC_PROG_FC): Add.
21170         (USE_FORTRAN): New automake conditional.
21171         * configure: Rebuilt.
21172         * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
21173         (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
21174         If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
21175         Add rules to build them.
21176         * Makefile.in: Rebuilt.
21177         * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
21178         OMP_NEST_LOCK_KIND.
21179         * libgomp.map: Add Fortran wrappers.
21180         * libgomp_f.h.in: New file.
21181         * omp_lib.h.in: New file.
21182         * omp_lib.f90.in: New file.
21183         * fortran.c: New file.
21184         * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
21185         Append libgfortran directory to LD_LIBRARY_PATH if it exists.
21186         Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
21187         libgfortran has been built.
21188         * testsuite/libgomp.fortran/fortran.exp: New file.
21189         * testsuite/libgomp.fortran/omp_cond1.f: New test.
21190         * testsuite/libgomp.fortran/omp_cond2.f: New test.
21191         * testsuite/libgomp.fortran/omp_cond3.F90: New test.
21192         * testsuite/libgomp.fortran/omp_cond4.F90: New test.
21193         * testsuite/libgomp.fortran/omp_hello.f: New test.
21194         * testsuite/libgomp.fortran/omp_orphan.f: New test.
21195         * testsuite/libgomp.fortran/omp_parse1.f90: New test.
21196         * testsuite/libgomp.fortran/omp_parse2.f90: New test.
21197         * testsuite/libgomp.fortran/omp_parse3.f90: New test.
21198         * testsuite/libgomp.fortran/omp_parse4.f90: New test.
21199         * testsuite/libgomp.fortran/omp_reduction.f: New test.
21200         * testsuite/libgomp.fortran/omp_workshare1.f: New test.
21201         * testsuite/libgomp.fortran/omp_workshare2.f: New test.
21203 2005-08-30  Richard Henderson  <rth@redhat.com>
21205         * loop.c (GOMP_loop_static_start): Provide fallback wrapper
21206         function for when aliases are not usable.
21207         (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
21208         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
21209         GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
21210         GOMP_loop_dynamic_next, GOMP_loop_guided_next,
21211         GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
21212         GOMP_loop_ordered_guided_next): Likewise.
21213         * ordered.c (GOMP_ordered_start): Likewise.
21215 2005-08-01  Diego Novillo  <dnovillo@redhat.com>
21217         * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
21218         * testsuite/libgomp.dg/omp_hello.c: Fix return code
21219         * testsuite/libgomp.dg/omp_matvec.c: Likewise.
21220         * testsuite/libgomp.dg/omp_orphan.c: Likewise
21221         * testsuite/libgomp.dg/omp_reduction.c: Likewise
21222         * testsuite/libgomp.dg/omp_workshare1.c: Likewise
21223         * testsuite/libgomp.dg/omp_workshare2.c: Likewise
21224         * testsuite/libgomp.dg/omp_workshare3.c: Likewise
21225         * testsuite/libgomp.dg/omp_workshare4.c: Likewise
21227 2005-07-07  Eric Christopher  <echristo@redhat.com>
21228             Diego Novillo  <dnovillo@redhat.com>
21230         * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
21231         * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
21232         up code.
21233         * testsuite/libgomp.dg/omp_matvec.c: Ditto.
21234         * testsuite/libgomp.dg/omp_orphan.c: Ditto.
21235         * testsuite/libgomp.dg/omp_reduction.c: Ditto.
21236         * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
21237         * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
21238         * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
21239         * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
21241 2005-06-13  Diego Novillo  <dnovillo@redhat.com>
21243         * TOPLEVEL.patch: Remove.
21245 2005-05-16  Richard Henderson  <rth@redhat.com>
21247         * configure.ac: Test for clock_gettime.
21248         * config.h.in, configure: Rebuild.
21249         * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
21250         (omp_get_wtime): Use clock_gettime if available.
21251         (omp_get_wtick): Use clock_getres if available.
21253 2005-05-11  Richard Henderson  <rth@redhat.com>
21255         * config/linux/ia64/futex.h: New file.
21256         * configure.tgt: Use it.
21258         * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
21260 2005-05-07  Richard Henderson  <rth@redhat.com>
21262         * config/linux/powerpc/futex.h: New file.
21263         * configure.tgt: Use it.
21265         * config/linux/i486/futex.h: Merge ...
21266         * config/linux/x86_64/futex.h: ... into ...
21267         * config/linux/x86/futex.h: ... here.
21268         * configure.tgt: Update to match.
21270 2005-05-06  Richard Henderson  <rth@redhat.com>
21272         * config/linux/alpha/futex.h: Conditionally define SYS_futex.
21273         * config/linux/i486/futex.h: Likewise.
21274         * config/linux/x86_64/futex.h: Likewise.
21276         * config/linux/lock.c: New file.
21277         * config/linux/omp-lock.h: New file.
21279         * critical.c, env.h: Don't include omp.h
21280         * config/posix/lock.c: Include libgomp.h instead of omp.h.
21281         * config/posix/time.c: Likewise.
21282         * config/posix/omp-lock.h: New file.
21283         * libgomp.h: Include omp-lock.h and omp.h.
21284         * Makefile.am (nodist_include_HEADERS): New.
21285         (omp.h): New rule.
21286         * configure.ac (PERL): New.
21287         * mkomp_h.pl: New file.
21288         * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
21289         with templates.
21290         * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
21292         * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
21293         build directory.  Re-add -march=i486 hack.
21295         * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
21296         (libgomp_link_flags): Remove.
21297         (libgomp_initialized): Remove.
21298         (libgomp_init): Don't protect from reinitialization.  Copy code
21299         from libstdc++ for getting the multilib set correctly.
21301 2005-05-05  Richard Henderson  <rth@redhat.com>
21303         * config/linux/alpha/futex.h: New file.
21304         * configure.tgt (alpha*-*-linux*): Use it.
21306         * config/posix/mutex.c: New file.
21307         * config/posix/sem.c: Use libgomp.h.
21309         * configure.tgt (x86_64-linux): Also test CC for -m32.
21310         * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
21312         * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
21313         after $gccpath.
21315         * Makefile.am (SUBDIRS): New.
21316         (libgomp_la_LDFLAGS): Add -lpthread.
21317         * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
21318         * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
21320         * libgomp_g.h: New file.
21321         * libgomp.h: Split out all public declarations to libgomp_g.h.
21322         Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
21323         * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
21324         * config/linux/sem.h: Likewise.
21325         * config/posix/sem.h: Likewise.
21327         * Makefile.am (AM_LDFLAGS): New.
21328         (libgomp_version_script): Split out from ...
21329         (libgomp_la_LDFLAGS): ... here.
21330         (libgomp_version_info): New.
21331         * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
21332         (LIBGOMP_ENABLE): New.
21333         (LIBGOMP_CHECK_LINKER_FEATURES): New.
21334         (LIBGOMP_ENABLE_SYMVERS): New.
21335         * configure.ac (AC_INIT): Version 1.0.
21336         (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
21337         (enable-linux-futex): Likewise.  Rename from enable-futex.
21338         (libtool_VERSION): New.
21339         (LIBGOMP_ENABLE_SYMVERS): Use it.
21340         * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
21341         * Makefile.in, aclocal.m4, configure: Rebuild.
21343         * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
21344         (gomp_mutex_unlock_slow): Fix typo.
21345         * config/linux/sem.c: Similarly.
21346         (gomp_sem_post_slow): Fix typo.
21347         * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
21348         * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
21349         [__PIC__] (sys_futex0): Don't use tmp output in asm.
21351         * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
21352         (libgomp_la_LDFLAGS): Add top_srcdir to path.
21353         * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
21354         * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
21355         XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
21356         * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
21357         LDFLAGS.  Pull enable_futex check to top-level.
21358         * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
21359         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
21361         First attempt at real configury.
21362         * Makefile, config.h: Remove file.
21363         * Makefile.am, Makefile.in: New file.
21364         * acinclude.m4 aclocal.m4: New file.
21365         * configure.ac, configure.tgt, configure: New file.
21367         * config/posix/lock.c: Rename from sys-lock.c.
21368         * config/posix/mutex.h: Rename from sys-mutex.h.
21369         * config/posix/sem.c: Rename from sys-sem.c.
21370         * config/posix/sem.h: Rename from sys-sem.h.
21371         * config/posix/proc.c: Rename from sys-proc.c.
21372         * config/posix/time.c: Rename from sys-proc.c.
21374         * config/linux/mutex.c: New file.
21375         * config/linux/mutex.h: New file.
21376         * config/linux/sem.c: New file.
21377         * config/linux/sem.h: New file.
21378         * config/linux/i486/futex.h: New file.
21379         * config/linux/x86_64/futex.h: New file.
21381 2005-05-04  Richard Henderson  <rth@redhat.com>
21383         * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
21384         * libgomp.h: Declare them.
21385         * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
21386         gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
21388 2005-05-04  Richard Henderson  <rth@redhat.com>
21390         * libgomp-1 code drop
21392 2005-05-04  Richard Henderson  <rth@redhat.com>
21394         * iter.c (gomp_iter_static_next): Return tri-state on 0.
21395         * ordered.c (gomp_ordered_static_next): Remove not_last argument.
21396         * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
21397         (gomp_iter_static_next): Update.
21398         (gomp_ordered_static_next): Update.
21399         * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
21400         (gomp_loop_ordered_static_start): Likewise.  Exit early for a
21401         totally empty range.
21402         (gomp_loop_ordered_static_next): Refine test for calling
21403         gomp_ordered_static_next.
21404         * testsuite/ordered-1.c: Add case for more threads than iterations.
21406         * iter.c (gomp_iter_runtime_next_locked): Remove.
21407         * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
21408         gomp_loop_guided_start, gomp_loop_ordered_static_start,
21409         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
21410         gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
21411         gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
21412         gomp_loop_ordered_guided_next): Downcase name, make static, add
21413         an external alias with the old name.
21414         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
21415         GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
21416         switch and call one of the above static functions.
21417         * libgomp.h: Update.
21419         * work.c (gomp_work_share_start): Lock the mutex for !first too.
21420         * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
21421         GOMP_loop_guided_start, GOMP_loop_runtime_start,
21422         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
21423         GOMP_loop_ordered_guided_start): Update to match.
21424         * sections.c (GOMP_sections_start): Likewise.
21425         * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
21427         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
21428         gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
21429         Use bounds check instead of modulus.
21430         (gomp_ordered_sync): Split out of GOMP_ordered_start.
21431         (gomp_ordered_last): Don't sync with ordered_owner here.
21432         (gomp_ordered_next): Likewise.
21433         (gomp_ordered_static_loop_next): Likewise.
21434         * loop.c, libgomp.h: Update to match.
21436         * libgomp.h (GOMP_barrier): Declare.
21438         * testsuite/barrier-1.c: New file.
21439         * testsuite/critical-1.c: New file.
21440         * testsuite/ordered-2.c: New file.
21441         * testsuite/ordered-1.c: New file.
21442         * testsuite/sections-1.c: New file.
21443         * testsuite/single-1.c: New file.
21444         * testsuite/Makefile (TESTS): Add them.
21446 2005-05-04  Richard Henderson  <rth@redhat.com>
21448         * libgomp.h (struct gomp_work_share): Add ordered_owner.
21449         * loop.c (GOMP_loop_static_start): If not the startup thread,
21450         acquire the mutex to wait for initialization complete.
21451         (GOMP_loop_ordered_static_start): Likewise.
21452         (GOMP_loop_ordered_runtime_start): Likewise.
21453         (GOMP_loop_ordered_static_first): Remove.
21454         (GOMP_loop_ordered_dynamic_first): Remove.
21455         (GOMP_loop_ordered_guided_first): Remove.
21456         (GOMP_loop_ordered_runtime_first): Remove.
21457         * ordered.c (gomp_ordered_loop_first): Post to own release when
21458         we're the first thread.
21459         (gomp_ordered_loop_last): Wait on release if not owner.
21460         (gomp_ordered_loop_next): Likewise.
21461         (gomp_ordered_static_loop_init): New.
21462         (gomp_ordered_static_loop_next): Use ordered_owner.
21463         (GOMP_ordered_start): Likewise.
21464         * work.c (gomp_new_work_share): Initialize ordered_owner.
21466 2005-05-03  Richard Henderson  <rth@redhat.com>
21468         * Makefile (OPT): New.
21469         (CFLAGS): Use it.
21471         * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
21472         * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
21473         * libgomp.h, libgomp.map, NOTES: Update to match.
21475         * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
21476         Add initialized and thr members.
21477         (gomp_thread_start): Pause when initially spawned to wait for
21478         the whole team to be created.
21479         (gomp_team_start): Release team members at the end.
21481         * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
21482         (f_foo_1): Use GOMP_loop_end.
21483         (f_foo_2): Use GOMP_loop_end_nowait.
21485         * testsuite/loop-2.c: New file.
21486         * testsuite/Makefile (TESTS): Add it.
21488 2005-05-03  Richard Henderson  <rth@redhat.com>
21490         * iter.c (gomp_iter_static_next): Fix overflow check typo.
21491         (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
21492         * team.c (new_team): Initialize oldest_live_gen to 1 if no
21493         initial work_share.
21495         * testsuite/Makefile: New file.
21496         * testsuite/loop-1.c: New file.
21498 2005-05-03  Richard Henderson  <rth@redhat.com>
21500         Initial implementation and checkin.
21502 Copyright (C) 2005-2024 Free Software Foundation, Inc.
21504 Copying and distribution of this file, with or without modification,
21505 are permitted in any medium without royalty provided the copyright
21506 notice and this notice are preserved.