testsuite: Fix excess errors for new modules testcases on powerpc [PR114320]
[official-gcc.git] / libgomp / ChangeLog
blob09bc8bdc97da194bbc74edbef6f973660ef36a6f
1 2024-03-14  Thomas Schwinge  <tschwinge@baylibre.com>
3         * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: Fix 'char'
4         initialization, copy, check.
6 2024-03-13  Tobias Burnus  <tburnus@baylibre.com>
8         PR fortran/114283
9         * testsuite/libgomp.fortran/declare-target-indirect-4.f90: New test.
11 2024-03-12  Tobias Burnus  <tburnus@baylibre.com>
13         * libgomp.texi (Device Memory Routines): Swap item order to match
14         the order of the '@node's of the '@subsection's.
16 2024-03-08  Thomas Schwinge  <tschwinge@baylibre.com>
18         * plugin/plugin-gcn.c (GOMP_OFFLOAD_can_run): Don't consider
19         'GCN_SUPPRESS_HOST_FALLBACK' anymore (assume always-'true').
20         (init_hsa_context): Adjust 'GCN_SUPPRESS_HOST_FALLBACK' error
21         message.
23 2024-03-08  Thomas Schwinge  <tschwinge@baylibre.com>
25         * plugin/plugin-nvptx.c (nvptx_get_num_devices):
26         'cuDeviceGetCount' failure is fatal.
28 2024-03-08  Thomas Schwinge  <tschwinge@baylibre.com>
30         * plugin/plugin-gcn.c (init_hsa_runtime_functions): Fatal error
31         for missing symbols.
32         * plugin/plugin-nvptx.c (init_cuda_lib): Likewise.
34 2024-03-06  John David Anglin  <danglin@gcc.gnu.org>
36         Revert:
37         2024-02-01  John David Anglin  <danglin@gcc.gnu.org>
39         * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50
40         on 32-bit hppa.
41         * testsuite/libgomp.c/omp-loop03.c: Likewise.
43 2024-03-04  Jakub Jelinek  <jakub@redhat.com>
45         PR libgomp/114216
46         * target.c (gomp_target_rev): Change host_fn type and corresponding
47         cast from void (*)() to void (*) (void *).
49 2024-03-01  Jakub Jelinek  <jakub@redhat.com>
50             Tobias Burnus  <tburnus@baylibre.com>
52         PR c++/110347
53         * testsuite/libgomp.c++/target-lambda-3.C: Moved from
54         gcc/testsuite/g++.dg/gomp/ and fixed is-mapped handling.
55         * testsuite/libgomp.c++/target-lambda-1.C: Modify to also
56         also work without offloading.
57         * testsuite/libgomp.c++/firstprivate-1.C: New test.
58         * testsuite/libgomp.c++/firstprivate-2.C: New test.
59         * testsuite/libgomp.c++/private-1.C: New test.
60         * testsuite/libgomp.c++/private-2.C: New test.
61         * testsuite/libgomp.c++/target-lambda-4.C: New test.
62         * testsuite/libgomp.c++/use_device_ptr-1.C: New test.
64 2024-02-27  Tobias Burnus  <tburnus@baylibre.com>
66         * libgomp.texi (OpenACC Runtime Library Routines): Document new 3.3
67         routines that simply map to their C counterpart.
68         * openacc.f90 (openacc): Add them.
69         * openacc_lib.h: Likewise.
70         * testsuite/libgomp.oacc-fortran/acc_host_device_ptr.f90: New test.
71         * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: New test.
72         * testsuite/libgomp.oacc-fortran/acc-memcpy-2.f90: New test.
73         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Crossref to f90 test.
74         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
75         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
77 2024-02-21  Tobias Burnus  <tburnus@baylibre.com>
79         * libgomp.texi (OpenMP Context Selectors): Add 'nvptx64' as additional
80         'arch' value for nvptx.
82 2024-02-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
84         * libgomp.texi (OpenMP 5.1): Mark indirect call support as fully
85         implemented.
87 2024-02-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
89         * testsuite/libgomp.fortran/declare-target-indirect-1.f90: New.
90         * testsuite/libgomp.fortran/declare-target-indirect-2.f90: New.
91         * testsuite/libgomp.fortran/declare-target-indirect-3.f90: New.
93 2024-02-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
95         PR testsuite/113448
96         * testsuite/libgomp.c/alloc-pinned-1.c [!__linux__] (CHECK_SIZE):
97         Call abort.
98         * testsuite/libgomp.c/alloc-pinned-2.c [!__linux__] (CHECK_SIZE):
99         Likewise.
101 2024-02-11  John David Anglin  <danglin@gcc.gnu.org>
103         PR libgomp/113843
104         * configure.tgt (hppa*-*-linux*): Define config_path.
106 2024-02-01  John David Anglin  <danglin@gcc.gnu.org>
108         * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50
109         on 32-bit hppa.
110         * testsuite/libgomp.c/omp-loop03.c: Likewise.
112 2024-01-29  Tobias Burnus  <tburnus@baylibre.com>
114         * testsuite/libgomp.c/declare-variant-4.h: Use gfx1100/gfx1030
115         function not gfx90a for gfx1100/gfx1030 context selector.
117 2024-01-26  Richard Biener  <rguenther@suse.de>
119         * plugin/plugin-gcn.c (suitable_hsa_agent_p): Filter out
120         agents with unsupported ISA.
122 2024-01-26  Richard Biener  <rguenther@suse.de>
124         * plugin/plugin-gcn.c
125         (EF_AMDGPU_MACH::EF_AMDGPU_MACH_UNSUPPORTED): Add.
126         (isa_code): Return that instead of -1.
127         (GOMP_OFFLOAD_init_device): Adjust.
129 2024-01-26  Tobias Burnus  <tburnus@baylibre.com>
131         * testsuite/libgomp.c/declare-variant-4.h: Add variant functions
132         for gfx1030 and gfx1100.
133         * testsuite/libgomp.c/declare-variant-4-gfx1030.c: New test.
134         * testsuite/libgomp.c/declare-variant-4-gfx1100.c: New test.
136 2024-01-26  Andrew Stubbs  <ams@baylibre.com>
138         * config/gcn/time.c (RTC_TICKS): Configure RDNA3.
139         (omp_get_wtime): Add RDNA3-compatible variant.
140         * plugin/plugin-gcn.c (max_isa_vgprs): Tune for gfx1030 and gfx1100.
142 2024-01-24  Tobias Burnus  <tburnus@baylibre.com>
143             Sandra Loosemore  <sandra@codesourcery.com>
145         * libgomp.texi (Runtime Library Routines): Document
146         omp_pause_resource, omp_pause_resource_all and
147         omp_target_memcpy{,_rect}{,_async}.
149 2024-01-22  Tobias Burnus  <tburnus@baylibre.com>
151         * testsuite/libgomp.c/declare-variant-4-fiji.c: Xfail as fiji
152         support is no longer enabled by default.
153         * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
155 2024-01-20  John David Anglin  <danglin@gcc.gnu.org>
157         * testsuite/libgomp.fortran/alloc-comp-3.f90: Increase
158         timeout by 2 on hppa*-*-*.
160 2024-01-20  John David Anglin  <danglin@gcc.gnu.org>
162         * testsuite/libgomp.c/simd-math-1.c: Don't run on
163         hppa*-*-hpux*.
165 2024-01-17  Jakub Jelinek  <jakub@redhat.com>
167         PR middle-end/113409
168         * testsuite/libgomp.c/bitint-1.c: New test.
170 2024-01-11  Julian Brown  <julian@codesourcery.com>
172         * libgomp.texi: C/C++ lvalues are supported now for map/to/from.
173         * testsuite/libgomp.c-c++-common/ind-base-4.c: New test.
174         * testsuite/libgomp.c-c++-common/unary-ptr-1.c: New test.
176 2024-01-10  Jakub Jelinek  <jakub@redhat.com>
178         PR libgomp/113192
179         * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
180         instead of \$(abs_top_srcdir)/testsuite/flock.
181         * configure: Regenerated.
183 2024-01-09  Julian Brown  <julian@codesourcery.com>
185         * testsuite/libgomp.c++/baseptrs-4.C: Remove commented-out cases that
186         now work.
187         * testsuite/libgomp.c++/baseptrs-6.C: New test.
188         * testsuite/libgomp.c++/ind-base-1.C: New test.
189         * testsuite/libgomp.c++/ind-base-2.C: New test.
190         * testsuite/libgomp.c++/lvalue-tofrom-1.C: New test.
191         * testsuite/libgomp.c++/lvalue-tofrom-2.C: New test.
192         * testsuite/libgomp.c++/map-comma-1.C: New test.
193         * testsuite/libgomp.c++/map-rvalue-ref-1.C: New test.
194         * testsuite/libgomp.c++/struct-ref-1.C: New test.
195         * testsuite/libgomp.c-c++-common/array-field-1.c: New test.
196         * testsuite/libgomp.c-c++-common/array-of-struct-1.c: New test.
197         * testsuite/libgomp.c-c++-common/array-of-struct-2.c: New test.
199 2024-01-09  Jakub Jelinek  <jakub@redhat.com>
201         PR libgomp/113192
202         * configure.ac (FLOCK): Use \$(abs_top_srcdir)/testsuite/flock
203         rather than $srcdir/testsuite/flock.
204         * configure: Regenerated.
206 2024-01-08  Thomas Schwinge  <thomas@codesourcery.com>
208         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
209         'EF_AMDGPU_MACH_AMDGCN_GFX1100'.
211 2024-01-08  Julian Brown  <julian@codesourcery.com>
213         * plugin/plugin-gcn.c (hsa_runtime_fn_info): Add
214         hsa_amd_memory_lock_fn, hsa_amd_memory_unlock_fn,
215         hsa_amd_memory_async_copy_rect_fn function pointers.
216         (init_hsa_runtime_functions): Add above functions, with
217         DLSYM_OPT_FN.
218         (GOMP_OFFLOAD_memcpy2d, GOMP_OFFLOAD_memcpy3d): New functions.
220 2024-01-08  Tobias Burnus  <tobias@codesourcery.com>
222         * plugin/plugin-gcn.c (gcn_gfx1100_s): New const string.
223         (gcn_isa_name_len): Fix length.
224         (isa_hsa_name, isa_code, max_isa_vgprs): Handle gfx1100.
226 2024-01-06  Tobias Burnus  <tobias@codesourcery.com>
228         * libgomp.texi (OpenMP Technical Report 12): Fix a typo.
229         (Device Memory Routines): Fix OpenMP 5.1 spec refs; add
230         omp_target_is_accessible.
231         (Environment Display Routine): Uncomment and add
232         omp_display_env description.
233         (OMP_DISPLAY_ENV): Update wording, add 'see also'.
235 2024-01-06  Mark Wielaard  <mark@klomp.org>
237         * configure: Regenerate.
239 2024-01-03  Jakub Jelinek  <jakub@redhat.com>
241         * libgomp.texi: Bump @copying's copyright year.
243 2023-12-21  Julian Brown  <julian@codesourcery.com>
245         * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL.
247 2023-12-20  Julian Brown  <julian@codesourcery.com>
249         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to
250         avoid out-of-bounds array checks in CUDA runtime.
251         (GOMP_OFFLOAD_memcpy3d): Likewise.
252         * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test.
254 2023-12-18  Jakub Jelinek  <jakub@redhat.com>
256         * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86,
257         drop because of that unneeded target selector from other directives
258         and remove the aarch64 specific ones.
260 2023-12-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
262         * testsuite/libgomp.c/declare-variant-1.c: Fixed test.
263         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
265 2023-12-15  Thomas Schwinge  <thomas@codesourcery.com>
267         * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict
268         'dg-output's to 'target offload_device_nonshared_as'.
270 2023-12-15  Julian Brown  <julian@codesourcery.com>
272         * oacc-mem.c (find_group_last, goacc_enter_data_internal,
273         goacc_exit_data_internal, GOACC_enter_exit_data): Add
274         GOMP_MAP_STRUCT_UNORD support.
275         * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support.
276         Detect incorrect use of variable indexing of arrays of structs.
277         (GOMP_target_enter_exit_data, gomp_target_task_fn): Add
278         GOMP_MAP_STRUCT_UNORD support.
279         * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test.
280         * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test.
281         * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test.
282         * testsuite/libgomp.fortran/map-subarray-5.f90: New test.
284 2023-12-13  Julian Brown  <julian@codesourcery.com>
286         * testsuite/libgomp.fortran/map-subarray.f90: New test.
287         * testsuite/libgomp.fortran/map-subarray-2.f90: New test.
288         * testsuite/libgomp.fortran/map-subarray-3.f90: New test.
289         * testsuite/libgomp.fortran/map-subarray-4.f90: New test.
290         * testsuite/libgomp.fortran/map-subarray-6.f90: New test.
291         * testsuite/libgomp.fortran/map-subarray-7.f90: New test.
292         * testsuite/libgomp.fortran/map-subarray-8.f90: New test.
293         * testsuite/libgomp.fortran/map-subcomponents.f90: New test.
294         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for
295         descriptor-mapping changes.  Remove XFAIL.
297 2023-12-13  Julian Brown  <julian@codesourcery.com>
299         * target.c (gomp_map_pointer): Modify zero-length array section
300         pointer handling.
301         (gomp_attach_pointer): Likewise.
302         (gomp_map_fields_existing): Use gomp_map_0len_lookup.
303         (gomp_attach_pointer): Allow attaching null pointers (or Fortran
304         "unassociated" pointers).
305         (gomp_map_vars_internal): Handle zero-sized struct members.  Add
306         diagnostic for unmapped struct pointer members.
307         * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test.
308         * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test.
309         * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test.
310         * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test.
311         * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
312         * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing
313         "free".
314         * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test.
315         * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test.
316         * testsuite/libgomp.c++/class-array-1.C: New test.
317         * testsuite/libgomp.c++/baseptrs-3.C: New test.
318         * testsuite/libgomp.c++/baseptrs-4.C: New test.
319         * testsuite/libgomp.c++/baseptrs-5.C: New test.
320         * testsuite/libgomp.c++/baseptrs-8.C: New test.
321         * testsuite/libgomp.c++/baseptrs-9.C: New test.
322         * testsuite/libgomp.c++/ref-mapping-1.C: New test.
323         * testsuite/libgomp.c++/target-48.C: New test.
324         * testsuite/libgomp.c++/target-49.C: New test.
325         * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test.
326         * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2
327         semantics.
328         * testsuite/libgomp.c++/target-this-3.C: Likewise.
329         * testsuite/libgomp.c++/target-this-4.C: Likewise.
330         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL.
331         * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise.
333 2023-12-13  Thomas Schwinge  <thomas@codesourcery.com>
335         * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t'
336         vs. '%ld' format string mismatch.
338 2023-12-13  Andrew Stubbs  <ams@codesourcery.com>
339             Thomas Schwinge  <thomas@codesourcery.com>
341         * allocator.c (MEMSPACE_ALLOC): Add PIN.
342         (MEMSPACE_CALLOC): Add PIN.
343         (MEMSPACE_REALLOC): Add PIN.
344         (MEMSPACE_FREE): Add PIN.
345         (MEMSPACE_VALIDATE): Add PIN.
346         (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning.
347         (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
348         (omp_aligned_calloc): Likewise.
349         (omp_realloc): Likewise.
350         (omp_free): Likewise.
351         * config/linux/allocator.c: New file.
352         * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
353         (MEMSPACE_CALLOC): Add PIN.
354         (MEMSPACE_REALLOC): Add PIN.
355         (MEMSPACE_FREE): Add PIN.
356         (MEMSPACE_VALIDATE): Add PIN.
357         * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN.
358         (MEMSPACE_CALLOC): Add PIN.
359         (MEMSPACE_REALLOC): Add PIN.
360         (MEMSPACE_FREE): Add PIN.
361         * libgomp.texi: Switch pinned trait to supported.
362         (MEMSPACE_VALIDATE): Add PIN.
363         * testsuite/libgomp.c/alloc-pinned-1.c: New test.
364         * testsuite/libgomp.c/alloc-pinned-2.c: New test.
365         * testsuite/libgomp.c/alloc-pinned-3.c: New test.
366         * testsuite/libgomp.c/alloc-pinned-4.c: New test.
368 2023-12-11  Lipeng Zhu  <lipeng.zhu@intel.com>
370         * testsuite/libgomp.fortran/rwlock_1.f90: New file.
371         * testsuite/libgomp.fortran/rwlock_2.f90: New file.
372         * testsuite/libgomp.fortran/rwlock_3.f90: New file.
374 2023-12-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
376         * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64.
377         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
379 2023-12-11  Tobias Burnus  <tobias@codesourcery.com>
381         * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add.
383 2023-12-08  Tobias Burnus  <tobias@codesourcery.com>
385         * allocator.c (struct fort_alloc_splay_tree_key_s,
386         fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New.
387         * libgomp.h: Define splay_tree_static for 'reverse' splay tree.
388         * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and
389         GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ...
390         (GOMP_5.1.1): ... here.
391         * libgomp.texi (Impl. Status, Memory management): Update for
392         allocators/allocate directives.
393         * splay-tree.c: Handle splay_tree_static define to declare all
394         functions as static.
395         (splay_tree_lookup_node): New.
396         * splay-tree.h: Handle splay_tree_decl_only define.
397         (splay_tree_lookup_node): New prototype.
398         * target.c: Define splay_tree_static for 'reverse'.
399         * testsuite/libgomp.fortran/allocators-1.f90: New test.
400         * testsuite/libgomp.fortran/allocators-2.f90: New test.
401         * testsuite/libgomp.fortran/allocators-3.f90: New test.
402         * testsuite/libgomp.fortran/allocators-4.f90: New test.
403         * testsuite/libgomp.fortran/allocators-5.f90: New test.
405 2023-12-06  Andrew Stubbs  <ams@codesourcery.com>
407         * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here.
408         (TEAM_ARENA_FREE): Likewise.
409         (TEAM_ARENA_END): Likewise.
410         (GCN_LOWLAT_HEAP): New.
411         * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h.
412         (__gcn_lowlat_init): New prototype.
413         (gomp_gcn_enter_kernel): Initialize the low-latency heap.
414         * libgomp.h (TEAM_ARENA_START): Move to libgomp.h.
415         (TEAM_ARENA_FREE): Likewise.
416         (TEAM_ARENA_END): Likewise.
417         * plugin/plugin-gcn.c (lowlat_size): New variable.
418         (print_kernel_dispatch): Label the group_segment_size purpose.
419         (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL.
420         (create_kernel_dispatch): Pass low-latency head allocation to kernel.
421         (run_kernel): Use shadow; don't assume values.
422         * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn.
423         * config/gcn/allocator.c: New file.
424         * libgomp.texi: Document low-latency implementation details.
426 2023-12-06  Andrew Stubbs  <ams@codesourcery.com>
428         * allocator.c (MEMSPACE_VALIDATE): New macro.
429         (omp_init_allocator): Use MEMSPACE_VALIDATE.
430         (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID.
431         (omp_aligned_calloc): Likewise.
432         (omp_realloc): Likewise.
433         * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
434         (MEMSPACE_VALIDATE): New macro.
435         (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define.
436         * libgomp.texi: Document low-latency implementation details.
437         * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat.
438         * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat.
439         * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat.
440         * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait.
441         * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat.
442         * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait.
443         * testsuite/libgomp.c/omp_alloc-traits.c: New test.
445 2023-12-06  Andrew Stubbs  <ams@codesourcery.com>
446             Kwok Cheung Yeung   <kcy@codesourcery.com>
447             Thomas Schwinge  <thomas@codesourcery.com>
449         * allocator.c (MEMSPACE_ALLOC): New macro.
450         (MEMSPACE_CALLOC): New macro.
451         (MEMSPACE_REALLOC): New macro.
452         (MEMSPACE_FREE): New macro.
453         (predefined_alloc_mapping): New array.  Add _Static_assert to match.
454         (ARRAY_SIZE): New macro.
455         (omp_aligned_alloc): Use MEMSPACE_ALLOC.
456         Implement fall-backs for predefined allocators.  Simplify existing
457         fall-backs.
458         (omp_free): Use MEMSPACE_FREE.
459         (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for
460         predefined allocators.  Simplify existing fall-backs.
461         (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE.
462         Implement fall-backs for predefined allocators.  Simplify existing
463         fall-backs.
464         * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable.
465         (__nvptx_lowlat_init): New prototype.
466         (gomp_nvptx_main): Call __nvptx_lowlat_init.
467         * libgomp.texi: Update memory space table.
468         * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
469         (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
470         (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
471         * basic-allocator.c: New file.
472         * config/nvptx/allocator.c: New file.
473         * testsuite/libgomp.c/omp_alloc-1.c: New test.
474         * testsuite/libgomp.c/omp_alloc-2.c: New test.
475         * testsuite/libgomp.c/omp_alloc-3.c: New test.
476         * testsuite/libgomp.c/omp_alloc-4.c: New test.
477         * testsuite/libgomp.c/omp_alloc-5.c: New test.
478         * testsuite/libgomp.c/omp_alloc-6.c: New test.
480 2023-11-30  Thomas Schwinge  <thomas@codesourcery.com>
482         * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust.
483         * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
484         * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
485         * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
486         * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
487         * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
488         * testsuite/libgomp.c/declare-variant-4.h: Likewise.
489         * testsuite/libgomp.c/declare-variant-4.c: New.
491 2023-11-30  Thomas Schwinge  <thomas@codesourcery.com>
493         * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run'
494         into 'dg-do link'.
495         * testsuite/libgomp.c/declare-variant-3.c: New.
496         * testsuite/libgomp.c/declare-variant-3.h: Extend.
498 2023-11-30  Thomas Schwinge  <thomas@codesourcery.com>
500         * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict
501         'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'.
502         * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
503         * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
504         * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
505         * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
506         * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
507         * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict
508         'scan-offload-tree-dump' to
509         'only_for_offload_target amdgcn-amdhsa'.
510         * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
511         * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
512         * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
513         * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
514         * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
516 2023-11-30  Thomas Schwinge  <thomas@codesourcery.com>
518         * testsuite/libgomp.c/declare-variant-3-sm30.c:
519         'dg-additional-options -foffload=nvptx-none'.
520         * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
521         * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
522         * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
523         * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
524         * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
526 2023-11-29  Thomas Schwinge  <thomas@codesourcery.com>
528         * testsuite/libgomp.c/target-simd-clone-1.c: Restrict
529         'scan-offload-ipa-dump's to
530         'only_for_offload_target amdgcn-amdhsa'.
531         * testsuite/libgomp.c/target-simd-clone-2.c: Likewise.
532         * testsuite/libgomp.c/target-simd-clone-3.c: Likewise.
534 2023-11-24  Tobias Burnus  <tobias@codesourcery.com>
536         * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause
537         is now supported.
539 2023-11-22  Thomas Schwinge  <thomas@codesourcery.com>
541         * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70)
542         (f75, f80, f): Add '__attribute__ ((noipa))'.
543         * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906)
544         (gfx908, gfx90a, f): Likewise.
546 2023-11-15  Andrew Stubbs  <ams@codesourcery.com>
547             Andrew Jenner   <andrew@codesourcery.com>
549         * plugin/plugin-gcn.c (max_isa_vgprs): New.
550         (run_kernel): CDNA2 devices have more VGPRs.
552 2023-11-10  Tobias Burnus  <tobias@codesourcery.com>
554         * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
555         renamed section from TR11.
557 2023-11-07  Kwok Cheung Yeung  <kcy@codesourcery.com>
559         * config/linux/target-indirect.c: Move to...
560         * target-indirect.c: ...here.
562 2023-11-07  Kwok Cheung Yeung  <kcy@codesourcery.com>
564         * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c.
565         * Makefile.in: Regenerate.
566         * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define.
567         (GOMP_OFFLOAD_load_image): Add extra argument.
568         * libgomp.h (struct indirect_splay_tree_key_s): New.
569         (indirect_splay_tree_node, indirect_splay_tree,
570         indirect_splay_tree_key): New.
571         (indirect_splay_compare): New.
572         * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr.
573         * libgomp.texi (OpenMP 5.1): Update documentation on indirect
574         calls in target region and on indirect clause.
575         (Other new OpenMP 5.2 features): Add entry for virtual function calls.
576         * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype.
577         * oacc-host.c (host_load_image): Add extra argument.
578         * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high
579         enough, read host indirect functions table and pass to
580         load_image_func.
581         * config/accel/target-indirect.c: New.
582         * config/linux/target-indirect.c: New.
583         * config/gcn/team.c (build_indirect_map): Add prototype.
584         (gomp_gcn_enter_kernel): Initialize support for indirect
585         function calls on GCN target.
586         * config/nvptx/team.c (build_indirect_map): Add prototype.
587         (gomp_nvptx_main): Initialize support for indirect function
588         calls on NVPTX target.
589         * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for
590         indirect functions count.
591         (GOMP_OFFLOAD_load_image): Add extra argument.  If the GOMP_VERSION
592         is high enough, build address translation table and copy it to target
593         memory.
594         * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect
595         functions count.
596         (GOMP_OFFLOAD_load_image): Add extra argument.  If the GOMP_VERSION
597         is high enough, Build address translation table and copy it to target
598         memory.
599         * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New.
600         * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New.
601         * testsuite/libgomp.c++/declare-target-indirect-1.C: New.
603 2023-11-05  Jakub Jelinek  <jakub@redhat.com>
605         * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
606         supported also in C.
608 2023-10-31  Thomas Schwinge  <thomas@codesourcery.com>
610         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
611         'acc_map_data' variant.
613 2023-10-25  Thomas Schwinge  <thomas@codesourcery.com>
615         * oacc-parallel.c (GOACC_data_start): Handle
616         'GOACC_FLAG_LOCAL_DEVICE'.
617         (GOACC_parallel_keyed): Simplify accordingly.
618         * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
620 2023-10-25  Thomas Schwinge  <thomas@codesourcery.com>
622         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
623         * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
624         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
625         * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
626         * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
628 2023-10-25  Chung-Lin Tang  <cltang@codesourcery.com>
630         * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
631         GOACC_FLAG_LOCAL_DEVICE case.
632         * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
634 2023-10-22  Iain Sandoe  <iain@sandoe.co.uk>
636         * Makefile.am: Handle Darwin rpaths.
637         * Makefile.in: Regenerate.
638         * configure: Regenerate.
639         * configure.ac: Handle Darwin rpaths
641 2023-10-20  Andrew Stubbs  <ams@codesourcery.com>
643         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
644         (isa_hsa_name): Recognise gfx1030.
645         (isa_code): Likewise.
646         * team.c (defined): Remove s_endpgm.
648 2023-10-20  Tobias Burnus  <tobias@codesourcery.com>
650         * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
651         _OPENMP >= 201811.
653 2023-10-15  Tobias Burnus  <tobias@codesourcery.com>
655         * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
656         improve wording especially for Fortran; mention -fopenmp-simd.
657         (Enabling OpenACC): Minor cleanup; remove conditional compilation
658         sentinel.
660 2023-10-15  Tobias Burnus  <tobias@codesourcery.com>
662         * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
663         Actually document what the function does.
664         (GCC_ACC_NOTIFY): Remove unused env var.
666 2023-10-15  Tobias Burnus  <tobias@codesourcery.com>
668         * libgomp.texi: Replace most future tense by present tense.
670 2023-10-14  Tobias Burnus  <tobias@codesourcery.com>
672         * testsuite/libgomp.fortran/allocate-6.f90: Add missing
673         dg-additional-options "-fdump-tree-gimple"; fix scan.
675 2023-10-14  Tobias Burnus  <tobias@codesourcery.com>
677         * libgomp.texi: Fix some typos.
678         (Memory Management Routines): Document remaining 5.x routines.
679         (Memory allocation): Make clear when the section applies.
681 2023-10-14  Tobias Burnus  <tobias@codesourcery.com>
683         * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
684         supports the allocate directive for stack variables.
685         * testsuite/libgomp.fortran/allocate-5.f90: New test.
686         * testsuite/libgomp.fortran/allocate-6.f90: New test.
687         * testsuite/libgomp.fortran/allocate-7.f90: New test.
688         * testsuite/libgomp.fortran/allocate-8.f90: New test.
690 2023-10-12  Tobias Burnus  <tobias@codesourcery.com>
692         * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
693         OMP_TARGET_OFFLOAD.
694         (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
695         clarify MANDATORY behavior.
697 2023-10-12  Zhang, Jun  <jun.zhang@intel.com>
699         * env.c (initialize_env): Use do_adjust_default_spincount.
700         * config/linux/x86/spincount.h: New file.
702 2023-10-08  Tobias Burnus  <tobias@codesourcery.com>
704         * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
706 2023-10-06  Tobias Burnus  <tobias@codesourcery.com>
708         * libgomp.texi (Device Memory Routines): New.
710 2023-10-04  Tobias Burnus  <tobias@codesourcery.com>
712         * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
713         and that other target archs have no 'arch'/'isa' traits implemented.
715 2023-09-20  Tobias Burnus  <tobias@codesourcery.com>
717         * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
718         implemented for C only.
719         * testsuite/libgomp.c/allocate-4.c: New test.
720         * testsuite/libgomp.c/allocate-5.c: New test.
721         * testsuite/libgomp.c/allocate-6.c: New test.
723 2023-09-20  Jakub Jelinek  <jakub@redhat.com>
725         PR c++/111392
726         * libgomp.texi: Mark decl attribute was added to the C++ attribute
727         syntax as implemented.
729 2023-09-19  Jakub Jelinek  <jakub@redhat.com>
731         PR libgomp/111413
732         * env.c (initialize_env): Don't dereference environ if it is NULL.
733         Reindent.
735 2023-09-18  Richard Biener  <rguenther@suse.de>
737         PR tree-optimization/111294
738         * team.c (gomp_team_start): Assert alloca size to avoid false
739         positive alloc-size diagnostic.
741 2023-09-12  Thomas Schwinge  <thomas@codesourcery.com>
742             Chung-Lin Tang  <cltang@codesourcery.com>
744         PR testsuite/91884
745         PR testsuite/109951
746         * configure.ac: Revert earlier changes, instead
747         'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
748         * Makefile.in: Regenerate.
749         * configure: Likewise.
750         * testsuite/Makefile.in: Likewise.
751         * testsuite/lib/libgomp.exp (libgomp_init): Remove
752         "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
753         If '--with-build-sysroot=[...]' was specified, use it for
754         build-tree testing.
755         * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
756         (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
757         (SYSROOT_CFLAGS_FOR_TARGET): Set.
758         * testsuite/libgomp.c++/c++.exp (lang_source_re)
759         (lang_include_flags): Set for build-tree testing.
760         * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
761         (lang_include_flags): Likewise.
763 2023-09-07  Tobias Burnus  <tobias@codesourcery.com>
765         * libgomp.texi (Memory Management Routines): New; add documentation for
766         omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
767         omp_get_default_allocator.
768         (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
770 2023-09-07  Tobias Burnus  <tobias@codesourcery.com>
772         * target.c (gomp_unload_device): Remove tailing whitespace.
774 2023-09-04  Tobias Burnus  <tobias@codesourcery.com>
775             Thomas Schwinge  <thomas@codesourcery.com>
777         * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
779 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
781         * libgomp.texi (OpenMP 5.0):  Imperfectly-nested loops are done.
783 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
785         * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
786         * testsuite/libgomp.fortran/imperfect1.f90: New.
787         * testsuite/libgomp.fortran/imperfect2.f90: New.
788         * testsuite/libgomp.fortran/imperfect3.f90: New.
789         * testsuite/libgomp.fortran/imperfect4.f90: New.
790         * testsuite/libgomp.fortran/target-imperfect1.f90: New.
791         * testsuite/libgomp.fortran/target-imperfect2.f90: New.
792         * testsuite/libgomp.fortran/target-imperfect3.f90: New.
793         * testsuite/libgomp.fortran/target-imperfect4.f90: New.
795 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
797         * testsuite/libgomp.c-c++-common/imperfect1.c: New.
798         * testsuite/libgomp.c-c++-common/imperfect2.c: New.
799         * testsuite/libgomp.c-c++-common/imperfect3.c: New.
800         * testsuite/libgomp.c-c++-common/imperfect4.c: New.
801         * testsuite/libgomp.c-c++-common/imperfect5.c: New.
802         * testsuite/libgomp.c-c++-common/imperfect6.c: New.
803         * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
804         * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
805         * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
806         * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
808 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
810         * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
811         * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
812         * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
813         * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
814         * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
815         * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
816         * testsuite/libgomp.c++/imperfect-class-1.C: New test.
817         * testsuite/libgomp.c++/imperfect-class-2.C: New test.
818         * testsuite/libgomp.c++/imperfect-class-3.C: New test.
819         * testsuite/libgomp.c++/imperfect-destructor.C: New test.
820         * testsuite/libgomp.c++/imperfect-template-1.C: New test.
821         * testsuite/libgomp.c++/imperfect-template-2.C: New test.
822         * testsuite/libgomp.c++/imperfect-template-3.C: New test.
824 2023-08-22  Francois-Xavier Coudert  <fxcoudert@gmail.com>
826         * testsuite/lib/libgomp.exp: Add effective target.
827         * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
828         functions.
830 2023-08-22  Tobias Burnus  <tobias@codesourcery.com>
832         * libgomp.texi (OpenMP 5.2 status): Add depobj with
833         destroy-var argument as 'N'. Mark defaultmap with
834         'all' category as 'Y'.
836 2023-08-19  Tobias Burnus  <tobias@codesourcery.com>
838         PR middle-end/111017
839         * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
841 2023-08-17  Tobias Burnus  <tobias@codesourcery.com>
843         PR libgomp/111024
844         * allocator.c (gomp_init_libnuma): Call numa_available; if
845         not available or not returning 0, disable libnuma usage.
847 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
849         * configure: Regenerate.
851 2023-08-07  Alexander von Gluck IV  <kallisti5@unixzen.com>
853         * configure: Regenerate.
855 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
857         * configure: Regenerate.
859 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
861         * configure: Regenerate.
863 2023-08-07  H.J. Lu  <hjl.tools@gmail.com>
865         * configure: Regenerate.
867 2023-08-07  H.J. Lu  <hjl.tools@gmail.com>
869         * configure: Regenerate.
871 2023-07-29  Tobias Burnus  <tobias@codesourcery.com>
873         * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
874         GOMP_OFFLOAD_CAP_SHARED_MEM.
875         (omp_target_memcpy_rect_copy): Likewise for lock condition.
876         (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
877         memcpy3d/memcpy2d.
878         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
879         GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
880         unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
882 2023-07-26  Tobias Burnus  <tobias@codesourcery.com>
884         * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
885         GOMP_OFFLOAD_memcpy3d): New prototypes.
886         * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
887         and memcpy3d_func.
888         * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
889         * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
890         * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
891         cuMemcpy3D): Invoke via CUDA_ONE_CALL.
892         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
893         GOMP_OFFLOAD_memcpy3d): New.
894         * target.c (omp_target_memcpy_rect_worker):
895         (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
896         Permit all device-to-device copyies; invoke new plugins for
897         2D and 3D copying when available.
898         (gomp_load_plugin_for_device): DLSYM the new plugin functions.
899         * testsuite/libgomp.c/target-12.c: Fix dimension bug.
900         * testsuite/libgomp.fortran/target-12.f90: Likewise.
901         * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
903 2023-07-26  Tobias Burnus  <tobias@codesourcery.com>
905         * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
906         (Tasking Routines): Document omp_in_explicit_task.
907         (Implementation-defined ICV Initialization): Use @ref not @code.
909 2023-07-20  Tobias Burnus  <tobias@codesourcery.com>
911         * libgomp.texi (OpenMP Runtime Library Routines):
912         Split long list by adding sections and moving routines there.
913         (OMP_ALLOCATORS): Fix typo.
915 2023-07-19  Tobias Burnus  <tobias@codesourcery.com>
917         PR fortran/107424
918         * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
919         * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
920         commented tests.
921         * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
922         test file; tests are in non-rectangular-loop-1.f90.
923         * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
924         testcase to use a non-constant step to retain the 'sorry' test.
925         * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
927 2023-07-17  Tobias Burnus  <tobias@codesoucery.com>
928             Chung-Lin Tang  <cltang@codesourcery.com>
930         * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
931         * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
933 2023-07-14  Tobias Burnus  <tobias@codesourcery.com>
935         * libgomp.texi (OMP_ALLOCATOR): Document the default values for
936         the traits. Add crossref to 'Memory allocation'.
937         (Memory allocation): Refer to OMP_ALLOCATOR for the available
938         traits and allocators/mem spaces; document the default value
939         for the pool_size trait.
941 2023-07-14  Tobias Burnus  <tobias@codesourcery.com>
943         * allocator.c (omp_init_allocator): Check whether symbol from
944         dlopened libnuma is available before using libnuma for
945         allocations.
947 2023-07-13  David Edelsohn  <dje.gcc@gmail.com>
949         * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
950         * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
951         * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
953 2023-07-12  Tobias Burnus  <tobias@codesourcery.com>
955         * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
956         'Memory allocation' section which contains the full status.
957         (TR11): Remove differently worded duplicated entry.
959 2023-07-12  Tobias Burnus  <tobias@codesourcery.com>
961         * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
962         (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
963         add GOMP_MEMKIND_LIBNUMA.
964         (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
965         (omp_init_allocator): Handle partition=nearest with libnuma if avail.
966         (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
967         numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
968         needed.
969         * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
970         * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
971         (Memory allocation): Renamed from 'Memory allocation with libmemkind';
972         updated for libnuma usage.
973         * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
974         * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
976 2023-07-11  Tobias Burnus  <tobias@codesourcery.com>
978         * allocator.c (omp_init_allocator): Use malloc for
979         omp_high_bw_mem_space when the memkind lib is unavailable
980         instead of returning omp_null_allocator.
981         * libgomp.texi (OpenMP 5.0): Fix typo.
982         (Memory allocation with libmemkind): Document implementation
983         in more detail.
985 2023-06-22  Tobias Burnus  <tobias@codesourcery.com>
987         * libgomp.texi: Use @var for ICV vars.
988         (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
989         document which ICV is set and which scope the ICV has; extend/cleanup
990         some @ref.
991         (Implementation-defined ICV Initialization): New.
992         (nvptx): Document the implementation-defined used per-warp stack size.
994 2023-06-19  Thomas Schwinge  <thomas@codesourcery.com>
996         * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
997         error.
999 2023-06-19  Tobias Burnus  <tobias@codesourcery.com>
1001         * testsuite/libgomp.c/target-51.c: Accept more error msg variants
1002         as expected dg-output.
1004 2023-06-19  Tobias Burnus  <tobias@codesourcery.com>
1006         PR middle-end/110270
1007         * target.c (gomp_map_vars_internal): Copy host value instead of NULL
1008         for  GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
1009         * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
1010         * testsuite/libgomp.c/target-19.c: Update expected value.
1011         * testsuite/libgomp.c++/target-18.C: Likewise.
1012         * testsuite/libgomp.c++/target-19.C: Likewise.
1013         * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
1014         * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
1015         * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
1017 2023-06-16  Tobias Burnus  <tobias@codesourcery.com>
1019         * target.c (resolve_device): Call gomp_get_num_devices early to ensure
1020         gomp_init_targets_once was called before using default-device-var.
1021         * testsuite/libgomp.c/target-55.c: New test.
1022         * testsuite/libgomp.c/target-55a.c: New test.
1024 2023-06-15  Tobias Burnus  <tobias@codesourcery.com>
1026         * env.c (gomp_def_allocator_envvar): New var.
1027         (parse_allocator): Handle OpenMP 5.1 syntax.
1028         (cleanup_env): New.
1029         (omp_display_env): Output gomp_def_allocator_envvar
1030         for an allocator with traits.
1031         * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
1032         OMP_DISPLAY_AFFINITY): New.
1033         * testsuite/libgomp.c/allocator-1.c: New test.
1034         * testsuite/libgomp.c/allocator-2.c: New test.
1035         * testsuite/libgomp.c/allocator-3.c: New test.
1036         * testsuite/libgomp.c/allocator-4.c: New test.
1037         * testsuite/libgomp.c/allocator-5.c: New test.
1038         * testsuite/libgomp.c/allocator-6.c: New test.
1040 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
1042         * target.c (resolve_device): Align a
1043         'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
1044         * testsuite/libgomp.c/target-51.c: Adjust.
1046 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
1048         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
1049         set.
1050         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
1051         Likewise.
1052         * testsuite/libgomp.c/simd-math-1.c: Remove
1053         '-foffload-options=-lm'.
1054         * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
1055         Likewise.
1056         * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
1057         Likewise.
1059 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
1061         * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
1062         * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
1063         Likewise.
1065 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
1067         * testsuite/libgomp.c/target-51.c: Fix typo.
1069 2023-06-14  Tobias Burnus  <tobias@codesourcery.com>
1071         * env.c (gomp_default_icv_values): Init default_device_var to
1072         an nonconforming value - INT_MIN.
1073         (initialize_env): After env-var parsing, set default_device_var to
1074         device 0 unless OMP_TARGET_OFFLOAD=mandatory.
1075         (omp_display_env): If default_device_var is INT_MIN, call
1076         gomp_init_targets_once.
1077         * icv-device.c (omp_get_default_device): Likewise.
1078         * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
1079         (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
1080         * target.c (resolve_device): Improve error message device-num < 0
1081         with 'mandatory' and no no-host devices available.
1082         (gomp_target_init): Set default-device-var if INT_MIN.
1083         * testsuite/libgomp.c/target-48.c: New test.
1084         * testsuite/libgomp.c/target-49.c: New test.
1085         * testsuite/libgomp.c/target-50.c: New test.
1086         * testsuite/libgomp.c/target-50a.c: New test.
1087         * testsuite/libgomp.c/target-51.c: New test.
1088         * testsuite/libgomp.c/target-52.c: New test.
1089         * testsuite/libgomp.c/target-53.c: New test.
1090         * testsuite/libgomp.c/target-54.c: New test.
1092 2023-06-13  Tobias Burnus  <tobias@codesourcery.com>
1094         PR libgomp/109837
1095         * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
1096         * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
1098 2023-06-12  Tobias Burnus  <tobias@codesourcery.com>
1100         * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
1101         GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
1102         (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
1103         error message.
1104         * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
1105         changed error message.
1106         * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1107         * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
1108         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1109         * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
1110         extend testcase to check that data is copied when needed.
1111         * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1112         * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1114 2023-06-07  Thomas Schwinge  <thomas@codesourcery.com>
1115             Tobias Burnus  <tobias@codesourcery.com>
1117         * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
1118         also for non-offload_device targets; check that it runs
1119         successfully for those and for all until a checkpoint for all
1120         * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
1121         * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1122         * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1123         * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1124         * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
1125         add missing vars to map clause.
1127 2023-06-06  Tobias Burnus  <tobias@codesourcery.com>
1129         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
1130         unified_address requirement as supported.
1131         * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
1132         'unified_address' from the not-supported requirements.
1134 2023-06-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
1135             Tobias Burnus  <tobias@codesourcery.com>
1137         * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
1138         defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
1139         * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
1140         modifier.
1141         (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
1142         (gomp_map_vars_internal, gomp_update, gomp_target_rev):
1143         Emit runtime error if memory region not present.
1144         * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
1145         * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
1146         * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
1147         * testsuite/libgomp.fortran/target-present-1.f90: New test.
1148         * testsuite/libgomp.fortran/target-present-2.f90: New test.
1149         * testsuite/libgomp.fortran/target-present-3.f90: New test.
1151 2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
1153         PR testsuite/66005
1154         * testsuite/lib/libgomp.exp: 'flock' through stdout.
1155         * testsuite/flock: New.
1156         * configure.ac (FLOCK): Point to that if no 'flock' available, but
1157         'perl' is.
1158         * configure: Regenerate.
1160 2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
1162         * configure.ac (PERL): Remove.
1163         * configure: Regenerate.
1164         * Makefile.in: Likewise.
1165         * testsuite/Makefile.in: Likewise.
1167 2023-06-01  Tobias Burnus  <tobias@codesourcery.com>
1169         * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
1171 2023-05-26  Tobias Burnus  <tobias@codesourcery.com>
1173         * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
1175 2023-05-21  Tobias Burnus  <tobias@codesourcery.com>
1177         PR libgomp/109875
1178         * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
1179         * config/nvptx/target.c (GOMP_teams4): Likewise.
1180         * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
1181         * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
1182         * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
1183         * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
1185 2023-05-19  Jakub Jelinek  <jakub@redhat.com>
1187         PR libgomp/109904
1188         * configure.ac (link_gomp): Include also $DL_LIBS.
1189         * configure: Regenerated.
1191 2023-05-17  Tobias Burnus  <tobias@codesourcery.com>
1193         * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
1194         'target exit data'.
1195         * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
1196         * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
1197         * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
1198         * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
1200 2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
1202         PR testsuite/66005
1203         * configure.ac: Look for 'flock'.
1204         * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
1205         * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
1206         * testsuite/lib/libgomp.exp: ... but here, instead.
1207         (libgomp_load): Override for parallel testing.
1208         * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
1209         * configure: Regenerate.
1210         * Makefile.in: Regenerate.
1211         * testsuite/Makefile.in: Regenerate.
1213 2023-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1214             Thomas Schwinge  <thomas@codesourcery.com>
1216         PR testsuite/66005
1217         * testsuite/Makefile.am (PWD_COMMAND): New variable.
1218         (%/site.exp): New target.
1219         (check_p_numbers0, check_p_numbers1, check_p_numbers2)
1220         (check_p_numbers3, check_p_numbers4, check_p_numbers5)
1221         (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
1222         (check_p_subdirs)
1223         (check_DEJAGNU_libgomp_targets): New variables.
1224         ($(check_DEJAGNU_libgomp_targets)): New target.
1225         ($(check_DEJAGNU_libgomp_targets)): New dependency.
1226         (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
1227         * testsuite/Makefile.in: Regenerate.
1228         * testsuite/lib/libgomp.exp: For parallel testing,
1229         'load_file ../libgomp-test-support.exp'.
1231 2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
1233         PR testsuite/91884
1234         * configure.ac: 'AC_SUBST(CXX)'.
1235         * configure: Regenerate.
1236         * Makefile.in: Likewise.
1237         * testsuite/Makefile.in: Likewise.
1238         * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
1239         (GFORTRAN_UNDER_TEST): Set.
1240         * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
1241         * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
1242         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1243         * testsuite/libgomp.fortran/fortran.exp: Use
1244         'GFORTRAN_UNDER_TEST'.
1245         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1247 2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
1249         PR testsuite/91884
1250         * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
1251         specify compiler.
1252         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
1253         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1254         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1255         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1256         Likewise.
1257         * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
1258         * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
1259         * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
1260         Likewise.
1262 2023-05-12  Tobias Burnus  <tobias@codesourcery.com>
1264         PR libstdc++/109816
1265         * testsuite/libgomp.c++/target-map-class-1.C: New test.
1266         * testsuite/libgomp.c++/target-map-class-2.C: New test.
1268 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
1270         * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
1271         'lang_library_path' into a list of 'lang_library_paths'.
1272         * testsuite/libgomp.c++/c++.exp: Adjust.
1273         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1274         * testsuite/libgomp.fortran/fortran.exp: Adjust.  Use that for
1275         libquadmath, too.
1276         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1278 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
1280         * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
1281         at 'lang_test_file_found'.
1282         * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
1283         'return' early if not able to test.  Simplify 'ld_library_path' setup.
1284         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1285         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1286         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1288 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
1290         * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
1291         first.
1292         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1293         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1294         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1296 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
1298         * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
1299         * testsuite/libgomp.c/c.exp: Likewise.
1300         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1301         * testsuite/libgomp.graphite/graphite.exp: Likewise.
1302         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1303         * testsuite/libgomp.oacc-c/c.exp: Likewise.
1304         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1306 2023-05-09  Thomas Schwinge  <thomas@codesourcery.com>
1308         * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
1309         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1310         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1311         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1312         * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
1313         'lang_test_file'.
1314         * testsuite/libgomp.oacc-c/c.exp: Likewise.
1315         * testsuite/libgomp.graphite/graphite.exp: Likewise.
1316         * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
1317         'lang_test_file_found' instead of 'lang_test_file'.
1319 2023-05-09  Thomas Schwinge  <thomas@codesourcery.com>
1321         * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
1322         set.
1323         * testsuite/libgomp.c++/c++.exp: Likewise.
1324         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1326 2023-05-09  Thomas Schwinge  <thomas@codesourcery.com>
1328         * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
1329         * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
1331 2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
1333         * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
1334         of 'libstdcxx_includes'.
1335         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1337 2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
1339         * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
1340         'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
1341         * libgomp.h (gomp_target_rev): Adjust.
1342         * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
1343         * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
1344         * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
1345         * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
1346         (rev_off_host_to_dev_cpy): Remove.
1347         (GOMP_OFFLOAD_run): Adjust.
1349 2023-05-04  Julian Brown  <julian@codesourcery.com>
1351         PR fortran/109622
1352         * testsuite/libgomp.fortran/pr109622.f90: Move test...
1353         * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
1354         vector length warning.
1355         * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
1356         * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here.  Add
1357         missing copyin/copyout variable. Ignore vector length warnings.
1358         * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
1359         * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here.  Ignore
1360         vector length warnings.
1361         * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
1363 2023-04-28  Julian Brown  <julian@codesourcery.com>
1365         PR fortran/109622
1366         * testsuite/libgomp.fortran/pr109622.f90: New test.
1367         * testsuite/libgomp.fortran/pr109622-2.f90: New test.
1368         * testsuite/libgomp.fortran/pr109622-3.f90: New test.
1370 2023-04-25  Tobias Burnus  <tobias@codesourcery.com>
1372         * testsuite/libgomp.c-c++-common/scan-1.c: New test.
1373         * testsuite/libgomp.c/scan-23.c: New test.
1374         * testsuite/libgomp.fortran/scan-2.f90: New test.
1376 2023-03-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1378         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
1379         weak_undefined options.
1381 2023-03-24  Tobias Burnus  <tobias@codesourcery.com>
1383         * libgomp.texi (Offload-Target Specifics): Grammar fix.
1385 2023-03-24  Thomas Schwinge  <thomas@codesourcery.com>
1387         PR fortran/104949
1388         * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
1389         caveat/safeguard.
1391 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1393         PR libgomp/90596
1394         * target.c (gomp_map_vars_internal): Allow for
1395         'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
1396         * oacc-parallel.c (GOACC_parallel_keyed): Pass
1397         'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
1398         * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
1399         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1400         Adjust, simplify.
1401         (gomp_offload_free): Remove.
1402         * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1403         (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
1404         (cuda_free_argmem): Remove.
1405         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1406         Adjust.
1408 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1410         * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
1411         libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
1412         data.
1414 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1416         * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
1417         'GOMP_MAP_IF_PRESENT'.
1418         * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
1419         (GOMP_OFFLOAD_openacc_async_exec): Adjust.
1420         * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1421         (GOMP_OFFLOAD_openacc_async_exec): Likewise.
1422         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
1423         testing.
1424         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
1426 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1428         * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
1429         shortcut.
1431 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1433         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
1434         another aspect of OpenACC 'async' semantics.
1436 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1438         * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
1439         position.
1440         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1441         Verify 'acc_ev_alloc', 'acc_ev_free'.
1443 2023-03-09  Hongyu Wang  <hongyu.wang@intel.com>
1445         PR libgomp/109062
1446         * env.c (wait_policy): Initialize to -1.
1447         (initialize_icvs): Initialize icvs->wait_policy to -1.
1448         * testsuite/libgomp.c-c++-common/pr109062.c: New test.
1450 2023-03-08  Tobias Burnus  <tobias@codesourcery.com>
1452         * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
1454 2023-03-02  Kwok Cheung Yeung  <kcy@codesourcery.com>
1455             Paul-Antoine Arras  <pa@codesourcery.com>
1457         * testsuite/libgomp.c/simd-math-1.c: New testcase.
1459 2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
1461         PR middle-end/108546
1462         * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
1463         * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
1465 2023-02-22  Thomas Schwinge  <thomas@codesourcery.com>
1467         * testsuite/libgomp.fortran/alloc-10.f90: Use
1468         '-Wno-complain-wrong-lang'.
1469         * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1470         * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
1471         * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1472         * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
1473         * testsuite/libgomp.fortran/depend-4.f90: Likewise.
1474         * testsuite/libgomp.fortran/depend-5.f90: Likewise.
1475         * testsuite/libgomp.fortran/depend-6.f90: Likewise.
1476         * testsuite/libgomp.fortran/depend-7.f90: Likewise.
1477         * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
1478         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
1479         Likewise.
1480         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
1481         Likewise.
1482         * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
1483         * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1484         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1485         * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
1486         'dg-prune-output'.
1488 2023-02-16  Jakub Jelinek  <jakub@redhat.com>
1490         * libgomp.texi: Fix typos - theads -> threads.
1492 2023-02-16  Jakub Jelinek  <jakub@redhat.com>
1494         * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
1495         comment typo and improve its wording.
1497 2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
1499         * target.c (gomp_target_rev): Dereference ptr
1500         to get device address.
1501         * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
1502         for unallocated allocatable.
1504 2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
1506         * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
1507         kind check.
1508         (GOMP_target_enter_exit_data): If the next map item is
1509         GOMP_MAP_ALWAYS_POINTER map it together with the current item.
1510         * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
1512 2023-02-09  Tobias Burnus  <tobias@codesourcery.com>
1514         PR fortran/107424
1515         * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
1516         * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
1517         * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
1518         * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
1519         * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
1520         * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
1522 2023-02-07  Thomas Schwinge  <thomas@codesourcery.com>
1524         * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
1525         offloading compilation.
1527 2023-02-03  Tobias Burnus  <tobias@codesourcery.com>
1529         * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
1530         freeing not allocated memory.
1531         * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
1533 2023-02-03  Tobias Burnus  <tobias@codesourcery.com>
1535         * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
1536         reverse offload.
1537         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
1538         reverse-offload requirement.
1540 2023-02-02  Andrew Stubbs  <ams@codesourcery.com>
1542         * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
1543         (DEFAULT_TEAM_ARENA_SIZE): New define.
1544         (struct heap): Move to this file.
1545         (struct kernargs_abi): Likewise.
1546         * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
1547         the kernargs.
1548         * libgomp.h: Include libgomp-gcn.h.
1549         (TEAM_ARENA_SIZE): Remove.
1550         (team_malloc): Update the error message.
1551         * plugin/plugin-gcn.c (struct kernargs): Move common content to
1552         struct kernargs_abi.
1553         (struct agent_info): Rename team arenas to ephemeral memories.
1554         (struct team_arena_list): Rename ....
1555         (struct ephemeral_memories_list): to this.
1556         (struct heap): Delete.
1557         (team_arena_size): New variable.
1558         (stack_size): New variable.
1559         (print_kernel_dispatch): Update debug messages.
1560         (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
1561         Read GCN_STACK_SIZE.
1562         (get_team_arena): Rename ...
1563         (configure_ephemeral_memories): ... to this, and set up stacks.
1564         (release_team_arena): Rename ...
1565         (release_ephemeral_memories): ... to this.
1566         (destroy_team_arenas): Rename ...
1567         (destroy_ephemeral_memories): ... to this.
1568         (create_kernel_dispatch): Add num_threads parameter.
1569         Adjust for kernargs_abi refactor and ephemeral memories.
1570         (release_kernel_dispatch): Adjust for ephemeral memories.
1571         (run_kernel): Pass thread-count to create_kernel_dispatch.
1572         (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
1573         (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
1575 2023-02-02  Tobias Burnus  <tobias@codesourcery.com>
1577         * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
1579 2023-02-01  Tobias Burnus  <tobias@codesourcery.com>
1581         * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
1582         usage, remove unused -fdump-tree-original.
1583         * testsuite/libgomp.fortran/allocate-4.f90: New.
1585 2023-02-01  Tobias Burnus  <tobias@codesourcery.com>
1587         * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
1588         (GCN): Add item about 'omp requires'.
1589         (nvptx): Likewise; add item about reverse offload.
1591 2023-01-27  Tobias Burnus  <tobias@codesourcery.com>
1593         PR fortran/108558
1594         * testsuite/libgomp.fortran/has_device_addr.f90: New test.
1596 2023-01-23  Tobias Burnus  <tobias@codesourcery.com>
1598         * libgomp.texi (OpenMP 5.0): Set non-rectangular
1599         loop nest back to 'P' as Fortran support is incomplete.
1601 2023-01-19  Jakub Jelinek  <jakub@redhat.com>
1603         PR middle-end/108459
1604         * testsuite/libgomp.c/pr108459.c: New test.
1606 2023-01-17  Martin Liska  <mliska@suse.cz>
1608         * Makefile.in: Regenerate.
1609         * configure: Regenerate.
1611 2023-01-07  LIU Hao  <lh_mouse@126.com>
1613         PR middle-end/108300
1614         * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
1615         <windows.h>.
1617 2023-01-05  Jakub Jelinek  <jakub@redhat.com>
1619         PR c++/108286
1620         * testsuite/libgomp.c++/pr108286.C: New test.
1622 2023-01-02  Jakub Jelinek  <jakub@redhat.com>
1624         * libgomp.texi: Bump @copying's copyright year.
1626 2022-12-21  Chung-Lin Tang  <cltang@codesourcery.com>
1628         PR target/99555
1629         * config/nvptx/bar.c (generation_to_barrier): Remove.
1630         (futex_wait,futex_wake,do_spin,do_wait): Remove.
1631         (GOMP_WAIT_H): Remove.
1632         (#include "../linux/bar.c"): Remove.
1633         (gomp_barrier_wait_end): New function.
1634         (gomp_barrier_wait): Likewise.
1635         (gomp_barrier_wait_last): Likewise.
1636         (gomp_team_barrier_wait_end): Likewise.
1637         (gomp_team_barrier_wait): Likewise.
1638         (gomp_team_barrier_wait_final): Likewise.
1639         (gomp_team_barrier_wait_cancel_end): Likewise.
1640         (gomp_team_barrier_wait_cancel): Likewise.
1641         (gomp_team_barrier_cancel): Likewise.
1642         * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
1643         (gomp_barrier_init): Remove init of waiters, lock fields.
1644         (gomp_team_barrier_wake): Remove prototype, add new static inline
1645         function.
1647 2022-12-21  Jakub Jelinek  <jakub@redhat.com>
1649         PR c++/108180
1650         * testsuite/libgomp.c++/pr108180.C: New test.
1652 2022-12-16  Tobias Burnus  <tobias@codesourcery.com>
1654         PR libfortran/108056
1655         * testsuite/libgomp.fortran/allocate-4.f90: Remove
1656         accidentally added file.
1658 2022-12-15  Tobias Burnus  <tobias@codesourcery.com>
1660         PR libfortran/108056
1661         * testsuite/libgomp.fortran/allocate-4.f90: New file.
1663 2022-12-14  Julian Brown  <julian@codesourcery.com>
1665         * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
1666         test.
1668 2022-12-10  Tobias Burnus  <tobias@codesourcery.com>
1670         * libgomp.h (struct target_mem_desc): Predeclare; move
1671         below after 'reverse_splay_tree_node' and add rev_array
1672         member.
1673         (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
1674         (reverse_splay_tree_node, reverse_splay_tree,
1675         reverse_splay_tree_key): New typedef.
1676         (struct gomp_device_descr): Add mem_map_rev member.
1677         * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
1678         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
1679         support for GOMP_REQUIRES_REVERSE_OFFLOAD.
1680         * splay-tree.h (splay_tree_callback_stop): New typedef; like
1681         splay_tree_callback but returning int not void.
1682         (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
1683         taking splay_tree_callback_stop as argument.
1684         * splay-tree.c (splay_tree_foreach_internal_lazy,
1685         splay_tree_foreach_lazy): New; but early exit if callback returns
1686         nonzero.
1687         * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
1688         (gomp_map_lookup_rev): New.
1689         (gomp_load_image_to_device): Handle reverse-offload function
1690         lookup table.
1691         (gomp_unload_image_from_device): Free devicep->mem_map_rev.
1692         (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
1693         gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
1694         gomp_map_cdata_lookup): New auxiliary structs and functions for
1695         gomp_target_rev.
1696         (gomp_target_rev): Implement reverse offloading and its mapping.
1697         (gomp_target_init): Init current_device.mem_map_rev.root.
1698         * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
1699         * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
1700         * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
1701         * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
1702         * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
1703         mapping of on-device allocated variables.
1705 2022-12-09  Tobias Burnus  <tobias@codesourcery.com>
1707         * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
1708         item about 'align'; mark clause as 'Y' and directive as 'N'.
1709         * testsuite/libgomp.fortran/allocate-2.f90: New test.
1710         * testsuite/libgomp.fortran/allocate-3.f90: New test.
1712 2022-12-06  Marcel Vollweiler  <marcel@codesourcery.com>
1714         * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
1715         allow processing of device-specific values.
1716         (omp_set_teams_thread_limit): Likewise.
1717         (ialias): Likewise.
1718         * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
1719         (omp_set_teams_thread_limit): Likewise.
1720         (ialias): Likewise.
1721         * icv-device.c (omp_get_teams_thread_limit): Likewise.
1722         (ialias): Likewise.
1723         (omp_set_teams_thread_limit): Likewise.
1724         * icv.c (omp_set_teams_thread_limit): Removed.
1725         (omp_get_teams_thread_limit): Likewise.
1726         (ialias): Likewise.
1727         * libgomp.texi: Updated documentation for nvptx and gcn corresponding
1728         to the limitation of the number of teams.
1729         * plugin/plugin-gcn.c (limit_teams): New helper function that limits
1730         the number of teams by twice the number of compute units.
1731         (parse_target_attributes): Limit the number of teams on gcn offload
1732         devices.
1733         * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
1734         handling.
1735         (gomp_load_image_to_device): Added a size check for the ICVs struct
1736         variable.
1737         (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
1738         copy back the ICV values from device to host.
1739         (GOMP_target_ext): Update the number of teams and threads in the kernel
1740         args also considering device-specific values.
1741         * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
1742         of OMP_TEAMS_THREAD_LIMIT from the environment.
1743         * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
1744         * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
1745         * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
1746         * testsuite/libgomp.c-c++-common/icv-9.c: New test.
1747         * testsuite/libgomp.fortran/icv-5.f90: New test.
1748         * testsuite/libgomp.fortran/icv-6.f90: New test.
1750 2022-12-06  Tobias Burnus  <tobias@codesourcery.com>
1752         * libgomp.texi (OpenMP 5.2): Add missing 'the'.
1753         (TR11): Add missing '@tab N @tab'.
1755 2022-11-30  Tobias Burnus  <tobias@codesourcery.com>
1757         * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
1759 2022-11-30  Paul-Antoine Arras  <pa@codesourcery.com>
1761         * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
1762         * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
1763         * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
1764         * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
1765         * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
1766         * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
1767         * testsuite/libgomp.c/declare-variant-4.h: New header file.
1769 2022-11-28  Tobias Burnus  <tobias@codesourcery.com>
1771         * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
1773 2022-11-25  Sandra Loosemore  <sandra@codesourcery.com>
1775         * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
1776         * testsuite/libgomp.c/target-simd-clone-1.c: New.
1777         * testsuite/libgomp.c/target-simd-clone-2.c: New.
1778         * testsuite/libgomp.c/target-simd-clone-3.c: New.
1780 2022-11-25  Tobias Burnus  <tobias@codesourcery.com>
1782         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
1783         for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
1784         as valid and the code having no reverse-offload code.
1785         * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
1787 2022-11-25  Tobias Burnus  <tobias@codesourcery.com>
1789         * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
1790         and status for Technical Report (TR) 11.
1792 2022-11-21  Tobias Burnus  <tobias@codesourcery.com>
1794         * config/gcn/libgomp-gcn.h (struct output):
1795         Remove 'msg_u64' from the union, change
1796         value_u64[2] to value_u64[6].
1797         * config/gcn/target.c (GOMP_target_ext): Update accordingly.
1798         * plugin/plugin-gcn.c (process_reverse_offload, console_output):
1799         Likewise.
1801 2022-11-19  Tobias Burnus  <tobias@codesourcery.com>
1803         * config/gcn/libgomp-gcn.h: New file; contains
1804         struct output, declared previously in plugin-gcn.c.
1805         * config/gcn/target.c: Include it.
1806         (GOMP_ADDITIONAL_ICVS): Declare as extern var.
1807         (GOMP_target_ext): Handle reverse offload.
1808         * plugin/plugin-gcn.c: Include libgomp-gcn.h.
1809         (struct kernargs): Replace struct def by the one
1810         from libgomp-gcn.h for output_data.
1811         (process_reverse_offload): New.
1812         (console_output): Call it.
1814 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
1815             Andrew Stubbs  <ams@codesourcery.com>
1817         * config/gcn/team.c (gomp_gcn_enter_kernel): Use
1818         __builtin_gcn_kernarg_ptr instead of asm ("s8").
1820 2022-11-14  Martin Liska  <mliska@suse.cz>
1822         Revert:
1823         2022-11-14  Martin Liska  <mliska@suse.cz>
1825         * doc/amd-radeon-gcn.rst: New file.
1826         * doc/conf.py: New file.
1827         * doc/copyright.rst: New file.
1828         * doc/cuda-streams-usage.rst: New file.
1829         * doc/enabling-openacc.rst: New file.
1830         * doc/enabling-openmp.rst: New file.
1831         * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1832         * doc/first-invocation-openacc-library-api.rst: New file.
1833         * doc/funding.rst: New file.
1834         * doc/general-public-license-3.rst: New file.
1835         * doc/gnu-free-documentation-license.rst: New file.
1836         * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1837         * doc/index.rst: New file.
1838         * doc/indices-and-tables.rst: New file.
1839         * doc/introduction.rst: New file.
1840         * doc/memory-allocation-with-libmemkind.rst: New file.
1841         * doc/nvptx.rst: New file.
1842         * doc/offload-target-specifics.rst: New file.
1843         * doc/openacc-environment-variables.rst: New file.
1844         * doc/openacc-environment-variables/accdevicenum.rst: New file.
1845         * doc/openacc-environment-variables/accdevicetype.rst: New file.
1846         * doc/openacc-environment-variables/accproflib.rst: New file.
1847         * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1848         * doc/openacc-introduction.rst: New file.
1849         * doc/openacc-library-and-environment-variables.rst: New file.
1850         * doc/openacc-library-interoperability.rst: New file.
1851         * doc/openacc-profiling-interface.rst: New file.
1852         * doc/openacc-runtime-library-routines.rst: New file.
1853         * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1854         * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1855         * doc/openacc-runtime-library-routines/accattach.rst: New file.
1856         * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1857         * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1858         * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1859         * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1860         * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1861         * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1862         * doc/openacc-runtime-library-routines/accfree.rst: New file.
1863         * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1864         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1865         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1866         * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1867         * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1868         * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1869         * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1870         * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1871         * doc/openacc-runtime-library-routines/accinit.rst: New file.
1872         * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1873         * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1874         * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1875         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1876         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1877         * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1878         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1879         * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1880         * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1881         * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1882         * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1883         * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1884         * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1885         * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1886         * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1887         * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1888         * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1889         * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1890         * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1891         * doc/openacc-runtime-library-routines/accwait.rst: New file.
1892         * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1893         * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1894         * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1895         * doc/openmp-context-selectors.rst: New file.
1896         * doc/openmp-environment-variables.rst: New file.
1897         * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1898         * doc/openmp-environment-variables/gompdebug.rst: New file.
1899         * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1900         * doc/openmp-environment-variables/gompspincount.rst: New file.
1901         * doc/openmp-environment-variables/gompstacksize.rst: New file.
1902         * doc/openmp-environment-variables/ompcancellation.rst: New file.
1903         * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1904         * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1905         * doc/openmp-environment-variables/ompdynamic.rst: New file.
1906         * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1907         * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1908         * doc/openmp-environment-variables/ompnested.rst: New file.
1909         * doc/openmp-environment-variables/ompnumteams.rst: New file.
1910         * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1911         * doc/openmp-environment-variables/ompplaces.rst: New file.
1912         * doc/openmp-environment-variables/ompprocbind.rst: New file.
1913         * doc/openmp-environment-variables/ompschedule.rst: New file.
1914         * doc/openmp-environment-variables/ompstacksize.rst: New file.
1915         * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1916         * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1917         * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1918         * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1919         * doc/openmp-implementation-specifics.rst: New file.
1920         * doc/openmp-implementation-status.rst: New file.
1921         * doc/openmp-implementation-status/openmp-45.rst: New file.
1922         * doc/openmp-implementation-status/openmp-50.rst: New file.
1923         * doc/openmp-implementation-status/openmp-51.rst: New file.
1924         * doc/openmp-implementation-status/openmp-52.rst: New file.
1925         * doc/openmp-runtime-library-routines.rst: New file.
1926         * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1927         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1928         * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1929         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1930         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1931         * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1932         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1933         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1934         * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1935         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1936         * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1937         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1938         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1939         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1940         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1941         * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1942         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1943         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1944         * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1945         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1946         * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1947         * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1948         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1949         * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1950         * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1951         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1952         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1953         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1954         * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1955         * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1956         * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1957         * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1958         * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1959         * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1960         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1961         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1962         * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1963         * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1964         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1965         * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1966         * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1967         * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1968         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1969         * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1970         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1971         * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1972         * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1973         * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1974         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1975         * doc/reporting-bugs.rst: New file.
1976         * doc/the-libgomp-abi.rst: New file.
1977         * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1978         * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1979         * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1980         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1981         New file.
1982         * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1983         * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1984         * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1985         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1986         * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1987         * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1988         * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1989         * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1990         * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1991         * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1992         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1994 2022-11-14  Martin Liska  <mliska@suse.cz>
1996         Revert:
1997         2022-11-14  Martin Liska  <mliska@suse.cz>
1999         * Makefile.in: Support Sphinx based documentation.
2001 2022-11-14  Martin Liska  <mliska@suse.cz>
2003         Revert:
2004         2022-11-14  Martin Liska  <mliska@suse.cz>
2006         * libgomp.texi: Removed.
2008 2022-11-14  Martin Liska  <mliska@suse.cz>
2010         Revert:
2011         2022-11-14  Martin Liska  <mliska@suse.cz>
2013         * Makefile.in: Support --with-sphinx-build.
2014         * configure.ac: Likewise..
2015         * configure: Regenerate.
2017 2022-11-14  Martin Liska  <mliska@suse.cz>
2019         Revert:
2020         2022-11-09  Martin Liska  <mliska@suse.cz>
2022         * Makefile.in: Build info pages conditionally.
2024 2022-11-14  Martin Liska  <mliska@suse.cz>
2026         Revert:
2027         2022-11-14  Martin Liska  <mliska@suse.cz>
2029         * doc/amd-radeon-gcn.rst:
2030         Add trailing newline.
2031         * doc/copyright.rst:
2032         Add trailing newline.
2033         * doc/cuda-streams-usage.rst:
2034         Add trailing newline.
2035         * doc/enabling-openacc.rst:
2036         Add trailing newline.
2037         * doc/enabling-openmp.rst:
2038         Add trailing newline.
2039         * doc/first-invocation-nvidia-cublas-library-api.rst:
2040         Add trailing newline.
2041         * doc/first-invocation-openacc-library-api.rst:
2042         Add trailing newline.
2043         * doc/funding.rst:
2044         Add trailing newline.
2045         * doc/general-public-license-3.rst:
2046         Add trailing newline.
2047         * doc/gnu-free-documentation-license.rst:
2048         Add trailing newline.
2049         * doc/implementation-status-and-implementation-defined-behavior.rst:
2050         Add trailing newline.
2051         * doc/index.rst:
2052         Add trailing newline.
2053         * doc/indices-and-tables.rst:
2054         Add trailing newline.
2055         * doc/introduction.rst:
2056         Add trailing newline.
2057         * doc/memory-allocation-with-libmemkind.rst:
2058         Add trailing newline.
2059         * doc/nvptx.rst:
2060         Add trailing newline.
2061         * doc/offload-target-specifics.rst:
2062         Add trailing newline.
2063         * doc/openacc-environment-variables.rst:
2064         Add trailing newline.
2065         * doc/openacc-environment-variables/accdevicenum.rst:
2066         Add trailing newline.
2067         * doc/openacc-environment-variables/accdevicetype.rst:
2068         Add trailing newline.
2069         * doc/openacc-environment-variables/accproflib.rst:
2070         Add trailing newline.
2071         * doc/openacc-environment-variables/gccaccnotify.rst:
2072         Add trailing newline.
2073         * doc/openacc-introduction.rst:
2074         Add trailing newline.
2075         * doc/openacc-library-and-environment-variables.rst:
2076         Add trailing newline.
2077         * doc/openacc-library-interoperability.rst:
2078         Add trailing newline.
2079         * doc/openacc-profiling-interface.rst:
2080         Add trailing newline.
2081         * doc/openacc-runtime-library-routines.rst:
2082         Add trailing newline.
2083         * doc/openacc-runtime-library-routines/accasynctest.rst:
2084         Add trailing newline.
2085         * doc/openacc-runtime-library-routines/accasynctestall.rst:
2086         Add trailing newline.
2087         * doc/openacc-runtime-library-routines/accattach.rst:
2088         Add trailing newline.
2089         * doc/openacc-runtime-library-routines/acccopyin.rst:
2090         Add trailing newline.
2091         * doc/openacc-runtime-library-routines/acccopyout.rst:
2092         Add trailing newline.
2093         * doc/openacc-runtime-library-routines/acccreate.rst:
2094         Add trailing newline.
2095         * doc/openacc-runtime-library-routines/accdelete.rst:
2096         Add trailing newline.
2097         * doc/openacc-runtime-library-routines/accdetach.rst:
2098         Add trailing newline.
2099         * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2100         Add trailing newline.
2101         * doc/openacc-runtime-library-routines/accfree.rst:
2102         Add trailing newline.
2103         * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2104         Add trailing newline.
2105         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2106         Add trailing newline.
2107         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2108         Add trailing newline.
2109         * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2110         Add trailing newline.
2111         * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2112         Add trailing newline.
2113         * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2114         Add trailing newline.
2115         * doc/openacc-runtime-library-routines/accgetproperty.rst:
2116         Add trailing newline.
2117         * doc/openacc-runtime-library-routines/acchostptr.rst:
2118         Add trailing newline.
2119         * doc/openacc-runtime-library-routines/accinit.rst:
2120         Add trailing newline.
2121         * doc/openacc-runtime-library-routines/accispresent.rst:
2122         Add trailing newline.
2123         * doc/openacc-runtime-library-routines/accmalloc.rst:
2124         Add trailing newline.
2125         * doc/openacc-runtime-library-routines/accmapdata.rst:
2126         Add trailing newline.
2127         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2128         Add trailing newline.
2129         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2130         Add trailing newline.
2131         * doc/openacc-runtime-library-routines/accondevice.rst:
2132         Add trailing newline.
2133         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2134         Add trailing newline.
2135         * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2136         Add trailing newline.
2137         * doc/openacc-runtime-library-routines/accproflookup.rst:
2138         Add trailing newline.
2139         * doc/openacc-runtime-library-routines/accprofregister.rst:
2140         Add trailing newline.
2141         * doc/openacc-runtime-library-routines/accprofunregister.rst:
2142         Add trailing newline.
2143         * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2144         Add trailing newline.
2145         * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2146         Add trailing newline.
2147         * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2148         Add trailing newline.
2149         * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2150         Add trailing newline.
2151         * doc/openacc-runtime-library-routines/accshutdown.rst:
2152         Add trailing newline.
2153         * doc/openacc-runtime-library-routines/accunmapdata.rst:
2154         Add trailing newline.
2155         * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2156         Add trailing newline.
2157         * doc/openacc-runtime-library-routines/accupdateself.rst:
2158         Add trailing newline.
2159         * doc/openacc-runtime-library-routines/accwait.rst:
2160         Add trailing newline.
2161         * doc/openacc-runtime-library-routines/accwaitall.rst:
2162         Add trailing newline.
2163         * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2164         Add trailing newline.
2165         * doc/openacc-runtime-library-routines/accwaitasync.rst:
2166         Add trailing newline.
2167         * doc/openmp-context-selectors.rst:
2168         Add trailing newline.
2169         * doc/openmp-environment-variables.rst:
2170         Add trailing newline.
2171         * doc/openmp-environment-variables/gompcpuaffinity.rst:
2172         Add trailing newline.
2173         * doc/openmp-environment-variables/gompdebug.rst:
2174         Add trailing newline.
2175         * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2176         Add trailing newline.
2177         * doc/openmp-environment-variables/gompspincount.rst:
2178         Add trailing newline.
2179         * doc/openmp-environment-variables/gompstacksize.rst:
2180         Add trailing newline.
2181         * doc/openmp-environment-variables/ompcancellation.rst:
2182         Add trailing newline.
2183         * doc/openmp-environment-variables/ompdefaultdevice.rst:
2184         Add trailing newline.
2185         * doc/openmp-environment-variables/ompdisplayenv.rst:
2186         Add trailing newline.
2187         * doc/openmp-environment-variables/ompdynamic.rst:
2188         Add trailing newline.
2189         * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2190         Add trailing newline.
2191         * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2192         Add trailing newline.
2193         * doc/openmp-environment-variables/ompnested.rst:
2194         Add trailing newline.
2195         * doc/openmp-environment-variables/ompnumteams.rst:
2196         Add trailing newline.
2197         * doc/openmp-environment-variables/ompnumthreads.rst:
2198         Add trailing newline.
2199         * doc/openmp-environment-variables/ompplaces.rst:
2200         Add trailing newline.
2201         * doc/openmp-environment-variables/ompprocbind.rst:
2202         Add trailing newline.
2203         * doc/openmp-environment-variables/ompschedule.rst:
2204         Add trailing newline.
2205         * doc/openmp-environment-variables/ompstacksize.rst:
2206         Add trailing newline.
2207         * doc/openmp-environment-variables/omptargetoffload.rst:
2208         Add trailing newline.
2209         * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2210         Add trailing newline.
2211         * doc/openmp-environment-variables/ompthreadlimit.rst:
2212         Add trailing newline.
2213         * doc/openmp-environment-variables/ompwaitpolicy.rst:
2214         Add trailing newline.
2215         * doc/openmp-implementation-specifics.rst:
2216         Add trailing newline.
2217         * doc/openmp-implementation-status.rst:
2218         Add trailing newline.
2219         * doc/openmp-implementation-status/openmp-45.rst:
2220         Add trailing newline.
2221         * doc/openmp-implementation-status/openmp-50.rst:
2222         Add trailing newline.
2223         * doc/openmp-implementation-status/openmp-51.rst:
2224         Add trailing newline.
2225         * doc/openmp-implementation-status/openmp-52.rst:
2226         Add trailing newline.
2227         * doc/openmp-runtime-library-routines.rst:
2228         Add trailing newline.
2229         * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2230         Add trailing newline.
2231         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2232         Add trailing newline.
2233         * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2234         Add trailing newline.
2235         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2236         Add trailing newline.
2237         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2238         Add trailing newline.
2239         * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2240         Add trailing newline.
2241         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2242         Add trailing newline.
2243         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2244         Add trailing newline.
2245         * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2246         Add trailing newline.
2247         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2248         Add trailing newline.
2249         * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2250         Add trailing newline.
2251         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2252         Add trailing newline.
2253         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2254         Add trailing newline.
2255         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2256         Add trailing newline.
2257         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2258         Add trailing newline.
2259         * doc/openmp-runtime-library-routines/ompgetnested.rst:
2260         Add trailing newline.
2261         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2262         Add trailing newline.
2263         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2264         Add trailing newline.
2265         * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2266         Add trailing newline.
2267         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2268         Add trailing newline.
2269         * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2270         Add trailing newline.
2271         * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2272         Add trailing newline.
2273         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2274         Add trailing newline.
2275         * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2276         Add trailing newline.
2277         * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2278         Add trailing newline.
2279         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2280         Add trailing newline.
2281         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2282         Add trailing newline.
2283         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2284         Add trailing newline.
2285         * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2286         Add trailing newline.
2287         * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2288         Add trailing newline.
2289         * doc/openmp-runtime-library-routines/ompinfinal.rst:
2290         Add trailing newline.
2291         * doc/openmp-runtime-library-routines/ompinitlock.rst:
2292         Add trailing newline.
2293         * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2294         Add trailing newline.
2295         * doc/openmp-runtime-library-routines/ompinparallel.rst:
2296         Add trailing newline.
2297         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2298         Add trailing newline.
2299         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2300         Add trailing newline.
2301         * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2302         Add trailing newline.
2303         * doc/openmp-runtime-library-routines/ompsetlock.rst:
2304         Add trailing newline.
2305         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2306         Add trailing newline.
2307         * doc/openmp-runtime-library-routines/ompsetnested.rst:
2308         Add trailing newline.
2309         * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2310         Add trailing newline.
2311         * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2312         Add trailing newline.
2313         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2314         Add trailing newline.
2315         * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2316         Add trailing newline.
2317         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2318         Add trailing newline.
2319         * doc/openmp-runtime-library-routines/omptestlock.rst:
2320         Add trailing newline.
2321         * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2322         Add trailing newline.
2323         * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2324         Add trailing newline.
2325         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2326         Add trailing newline.
2327         * doc/reporting-bugs.rst:
2328         Add trailing newline.
2329         * doc/the-libgomp-abi.rst:
2330         Add trailing newline.
2331         * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2332         Add trailing newline.
2333         * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2334         Add trailing newline.
2335         * doc/the-libgomp-abi/implementing-critical-construct.rst:
2336         Add trailing newline.
2337         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2338         Add trailing newline.
2339         * doc/the-libgomp-abi/implementing-flush-construct.rst:
2340         Add trailing newline.
2341         * doc/the-libgomp-abi/implementing-for-construct.rst:
2342         Add trailing newline.
2343         * doc/the-libgomp-abi/implementing-master-construct.rst:
2344         Add trailing newline.
2345         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2346         Add trailing newline.
2347         * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2348         Add trailing newline.
2349         * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2350         Add trailing newline.
2351         * doc/the-libgomp-abi/implementing-private-clause.rst:
2352         Add trailing newline.
2353         * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2354         Add trailing newline.
2355         * doc/the-libgomp-abi/implementing-sections-construct.rst:
2356         Add trailing newline.
2357         * doc/the-libgomp-abi/implementing-single-construct.rst:
2358         Add trailing newline.
2359         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2360         Add trailing newline.
2362 2022-11-14  Martin Liska  <mliska@suse.cz>
2364         Revert:
2365         2022-11-09  Martin Liska  <mliska@suse.cz>
2367         * Makefile.in: Add missing HAS_SPHINX_BUILD.
2369 2022-11-14  Martin Liska  <mliska@suse.cz>
2371         Revert:
2372         2022-11-14  Martin Liska  <mliska@suse.cz>
2374         * doc/conf.py: Add newline at last line.
2376 2022-11-14  Martin Liska  <mliska@suse.cz>
2378         Revert:
2379         2022-11-14  Martin Liska  <mliska@suse.cz>
2381         PR other/107620
2382         * configure: Regenerate.
2383         * configure.ac: Always set sphinx-build.
2385 2022-11-13  Martin Liska  <mliska@suse.cz>
2387         PR other/107620
2388         * configure: Regenerate.
2389         * configure.ac: Always set sphinx-build.
2391 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
2393         PR libgomp/107641
2394         * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
2395         unsigned long.  Change type of upper from unsigned to unsigned long.
2397 2022-11-10  Martin Liska  <mliska@suse.cz>
2399         * doc/conf.py: Add newline at last line.
2401 2022-11-09  Martin Liska  <mliska@suse.cz>
2403         * Makefile.in: Add missing HAS_SPHINX_BUILD.
2405 2022-11-09  Martin Liska  <mliska@suse.cz>
2407         * doc/amd-radeon-gcn.rst:
2408         Add trailing newline.
2409         * doc/copyright.rst:
2410         Add trailing newline.
2411         * doc/cuda-streams-usage.rst:
2412         Add trailing newline.
2413         * doc/enabling-openacc.rst:
2414         Add trailing newline.
2415         * doc/enabling-openmp.rst:
2416         Add trailing newline.
2417         * doc/first-invocation-nvidia-cublas-library-api.rst:
2418         Add trailing newline.
2419         * doc/first-invocation-openacc-library-api.rst:
2420         Add trailing newline.
2421         * doc/funding.rst:
2422         Add trailing newline.
2423         * doc/general-public-license-3.rst:
2424         Add trailing newline.
2425         * doc/gnu-free-documentation-license.rst:
2426         Add trailing newline.
2427         * doc/implementation-status-and-implementation-defined-behavior.rst:
2428         Add trailing newline.
2429         * doc/index.rst:
2430         Add trailing newline.
2431         * doc/indices-and-tables.rst:
2432         Add trailing newline.
2433         * doc/introduction.rst:
2434         Add trailing newline.
2435         * doc/memory-allocation-with-libmemkind.rst:
2436         Add trailing newline.
2437         * doc/nvptx.rst:
2438         Add trailing newline.
2439         * doc/offload-target-specifics.rst:
2440         Add trailing newline.
2441         * doc/openacc-environment-variables.rst:
2442         Add trailing newline.
2443         * doc/openacc-environment-variables/accdevicenum.rst:
2444         Add trailing newline.
2445         * doc/openacc-environment-variables/accdevicetype.rst:
2446         Add trailing newline.
2447         * doc/openacc-environment-variables/accproflib.rst:
2448         Add trailing newline.
2449         * doc/openacc-environment-variables/gccaccnotify.rst:
2450         Add trailing newline.
2451         * doc/openacc-introduction.rst:
2452         Add trailing newline.
2453         * doc/openacc-library-and-environment-variables.rst:
2454         Add trailing newline.
2455         * doc/openacc-library-interoperability.rst:
2456         Add trailing newline.
2457         * doc/openacc-profiling-interface.rst:
2458         Add trailing newline.
2459         * doc/openacc-runtime-library-routines.rst:
2460         Add trailing newline.
2461         * doc/openacc-runtime-library-routines/accasynctest.rst:
2462         Add trailing newline.
2463         * doc/openacc-runtime-library-routines/accasynctestall.rst:
2464         Add trailing newline.
2465         * doc/openacc-runtime-library-routines/accattach.rst:
2466         Add trailing newline.
2467         * doc/openacc-runtime-library-routines/acccopyin.rst:
2468         Add trailing newline.
2469         * doc/openacc-runtime-library-routines/acccopyout.rst:
2470         Add trailing newline.
2471         * doc/openacc-runtime-library-routines/acccreate.rst:
2472         Add trailing newline.
2473         * doc/openacc-runtime-library-routines/accdelete.rst:
2474         Add trailing newline.
2475         * doc/openacc-runtime-library-routines/accdetach.rst:
2476         Add trailing newline.
2477         * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2478         Add trailing newline.
2479         * doc/openacc-runtime-library-routines/accfree.rst:
2480         Add trailing newline.
2481         * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2482         Add trailing newline.
2483         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2484         Add trailing newline.
2485         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2486         Add trailing newline.
2487         * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2488         Add trailing newline.
2489         * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2490         Add trailing newline.
2491         * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2492         Add trailing newline.
2493         * doc/openacc-runtime-library-routines/accgetproperty.rst:
2494         Add trailing newline.
2495         * doc/openacc-runtime-library-routines/acchostptr.rst:
2496         Add trailing newline.
2497         * doc/openacc-runtime-library-routines/accinit.rst:
2498         Add trailing newline.
2499         * doc/openacc-runtime-library-routines/accispresent.rst:
2500         Add trailing newline.
2501         * doc/openacc-runtime-library-routines/accmalloc.rst:
2502         Add trailing newline.
2503         * doc/openacc-runtime-library-routines/accmapdata.rst:
2504         Add trailing newline.
2505         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2506         Add trailing newline.
2507         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2508         Add trailing newline.
2509         * doc/openacc-runtime-library-routines/accondevice.rst:
2510         Add trailing newline.
2511         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2512         Add trailing newline.
2513         * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2514         Add trailing newline.
2515         * doc/openacc-runtime-library-routines/accproflookup.rst:
2516         Add trailing newline.
2517         * doc/openacc-runtime-library-routines/accprofregister.rst:
2518         Add trailing newline.
2519         * doc/openacc-runtime-library-routines/accprofunregister.rst:
2520         Add trailing newline.
2521         * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2522         Add trailing newline.
2523         * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2524         Add trailing newline.
2525         * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2526         Add trailing newline.
2527         * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2528         Add trailing newline.
2529         * doc/openacc-runtime-library-routines/accshutdown.rst:
2530         Add trailing newline.
2531         * doc/openacc-runtime-library-routines/accunmapdata.rst:
2532         Add trailing newline.
2533         * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2534         Add trailing newline.
2535         * doc/openacc-runtime-library-routines/accupdateself.rst:
2536         Add trailing newline.
2537         * doc/openacc-runtime-library-routines/accwait.rst:
2538         Add trailing newline.
2539         * doc/openacc-runtime-library-routines/accwaitall.rst:
2540         Add trailing newline.
2541         * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2542         Add trailing newline.
2543         * doc/openacc-runtime-library-routines/accwaitasync.rst:
2544         Add trailing newline.
2545         * doc/openmp-context-selectors.rst:
2546         Add trailing newline.
2547         * doc/openmp-environment-variables.rst:
2548         Add trailing newline.
2549         * doc/openmp-environment-variables/gompcpuaffinity.rst:
2550         Add trailing newline.
2551         * doc/openmp-environment-variables/gompdebug.rst:
2552         Add trailing newline.
2553         * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2554         Add trailing newline.
2555         * doc/openmp-environment-variables/gompspincount.rst:
2556         Add trailing newline.
2557         * doc/openmp-environment-variables/gompstacksize.rst:
2558         Add trailing newline.
2559         * doc/openmp-environment-variables/ompcancellation.rst:
2560         Add trailing newline.
2561         * doc/openmp-environment-variables/ompdefaultdevice.rst:
2562         Add trailing newline.
2563         * doc/openmp-environment-variables/ompdisplayenv.rst:
2564         Add trailing newline.
2565         * doc/openmp-environment-variables/ompdynamic.rst:
2566         Add trailing newline.
2567         * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2568         Add trailing newline.
2569         * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2570         Add trailing newline.
2571         * doc/openmp-environment-variables/ompnested.rst:
2572         Add trailing newline.
2573         * doc/openmp-environment-variables/ompnumteams.rst:
2574         Add trailing newline.
2575         * doc/openmp-environment-variables/ompnumthreads.rst:
2576         Add trailing newline.
2577         * doc/openmp-environment-variables/ompplaces.rst:
2578         Add trailing newline.
2579         * doc/openmp-environment-variables/ompprocbind.rst:
2580         Add trailing newline.
2581         * doc/openmp-environment-variables/ompschedule.rst:
2582         Add trailing newline.
2583         * doc/openmp-environment-variables/ompstacksize.rst:
2584         Add trailing newline.
2585         * doc/openmp-environment-variables/omptargetoffload.rst:
2586         Add trailing newline.
2587         * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2588         Add trailing newline.
2589         * doc/openmp-environment-variables/ompthreadlimit.rst:
2590         Add trailing newline.
2591         * doc/openmp-environment-variables/ompwaitpolicy.rst:
2592         Add trailing newline.
2593         * doc/openmp-implementation-specifics.rst:
2594         Add trailing newline.
2595         * doc/openmp-implementation-status.rst:
2596         Add trailing newline.
2597         * doc/openmp-implementation-status/openmp-45.rst:
2598         Add trailing newline.
2599         * doc/openmp-implementation-status/openmp-50.rst:
2600         Add trailing newline.
2601         * doc/openmp-implementation-status/openmp-51.rst:
2602         Add trailing newline.
2603         * doc/openmp-implementation-status/openmp-52.rst:
2604         Add trailing newline.
2605         * doc/openmp-runtime-library-routines.rst:
2606         Add trailing newline.
2607         * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2608         Add trailing newline.
2609         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2610         Add trailing newline.
2611         * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2612         Add trailing newline.
2613         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2614         Add trailing newline.
2615         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2616         Add trailing newline.
2617         * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2618         Add trailing newline.
2619         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2620         Add trailing newline.
2621         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2622         Add trailing newline.
2623         * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2624         Add trailing newline.
2625         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2626         Add trailing newline.
2627         * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2628         Add trailing newline.
2629         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2630         Add trailing newline.
2631         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2632         Add trailing newline.
2633         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2634         Add trailing newline.
2635         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2636         Add trailing newline.
2637         * doc/openmp-runtime-library-routines/ompgetnested.rst:
2638         Add trailing newline.
2639         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2640         Add trailing newline.
2641         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2642         Add trailing newline.
2643         * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2644         Add trailing newline.
2645         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2646         Add trailing newline.
2647         * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2648         Add trailing newline.
2649         * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2650         Add trailing newline.
2651         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2652         Add trailing newline.
2653         * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2654         Add trailing newline.
2655         * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2656         Add trailing newline.
2657         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2658         Add trailing newline.
2659         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2660         Add trailing newline.
2661         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2662         Add trailing newline.
2663         * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2664         Add trailing newline.
2665         * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2666         Add trailing newline.
2667         * doc/openmp-runtime-library-routines/ompinfinal.rst:
2668         Add trailing newline.
2669         * doc/openmp-runtime-library-routines/ompinitlock.rst:
2670         Add trailing newline.
2671         * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2672         Add trailing newline.
2673         * doc/openmp-runtime-library-routines/ompinparallel.rst:
2674         Add trailing newline.
2675         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2676         Add trailing newline.
2677         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2678         Add trailing newline.
2679         * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2680         Add trailing newline.
2681         * doc/openmp-runtime-library-routines/ompsetlock.rst:
2682         Add trailing newline.
2683         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2684         Add trailing newline.
2685         * doc/openmp-runtime-library-routines/ompsetnested.rst:
2686         Add trailing newline.
2687         * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2688         Add trailing newline.
2689         * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2690         Add trailing newline.
2691         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2692         Add trailing newline.
2693         * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2694         Add trailing newline.
2695         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2696         Add trailing newline.
2697         * doc/openmp-runtime-library-routines/omptestlock.rst:
2698         Add trailing newline.
2699         * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2700         Add trailing newline.
2701         * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2702         Add trailing newline.
2703         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2704         Add trailing newline.
2705         * doc/reporting-bugs.rst:
2706         Add trailing newline.
2707         * doc/the-libgomp-abi.rst:
2708         Add trailing newline.
2709         * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2710         Add trailing newline.
2711         * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2712         Add trailing newline.
2713         * doc/the-libgomp-abi/implementing-critical-construct.rst:
2714         Add trailing newline.
2715         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2716         Add trailing newline.
2717         * doc/the-libgomp-abi/implementing-flush-construct.rst:
2718         Add trailing newline.
2719         * doc/the-libgomp-abi/implementing-for-construct.rst:
2720         Add trailing newline.
2721         * doc/the-libgomp-abi/implementing-master-construct.rst:
2722         Add trailing newline.
2723         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2724         Add trailing newline.
2725         * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2726         Add trailing newline.
2727         * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2728         Add trailing newline.
2729         * doc/the-libgomp-abi/implementing-private-clause.rst:
2730         Add trailing newline.
2731         * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2732         Add trailing newline.
2733         * doc/the-libgomp-abi/implementing-sections-construct.rst:
2734         Add trailing newline.
2735         * doc/the-libgomp-abi/implementing-single-construct.rst:
2736         Add trailing newline.
2737         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2738         Add trailing newline.
2740 2022-11-09  Martin Liska  <mliska@suse.cz>
2742         * Makefile.in: Build info pages conditionally.
2744 2022-11-09  Martin Liska  <mliska@suse.cz>
2746         * Makefile.in: Support --with-sphinx-build.
2747         * configure.ac: Likewise..
2748         * configure: Regenerate.
2750 2022-11-09  Martin Liska  <mliska@suse.cz>
2752         * libgomp.texi: Removed.
2754 2022-11-09  Martin Liska  <mliska@suse.cz>
2756         * Makefile.in: Support Sphinx based documentation.
2758 2022-11-09  Martin Liska  <mliska@suse.cz>
2760         * doc/amd-radeon-gcn.rst: New file.
2761         * doc/conf.py: New file.
2762         * doc/copyright.rst: New file.
2763         * doc/cuda-streams-usage.rst: New file.
2764         * doc/enabling-openacc.rst: New file.
2765         * doc/enabling-openmp.rst: New file.
2766         * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2767         * doc/first-invocation-openacc-library-api.rst: New file.
2768         * doc/funding.rst: New file.
2769         * doc/general-public-license-3.rst: New file.
2770         * doc/gnu-free-documentation-license.rst: New file.
2771         * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2772         * doc/index.rst: New file.
2773         * doc/indices-and-tables.rst: New file.
2774         * doc/introduction.rst: New file.
2775         * doc/memory-allocation-with-libmemkind.rst: New file.
2776         * doc/nvptx.rst: New file.
2777         * doc/offload-target-specifics.rst: New file.
2778         * doc/openacc-environment-variables.rst: New file.
2779         * doc/openacc-environment-variables/accdevicenum.rst: New file.
2780         * doc/openacc-environment-variables/accdevicetype.rst: New file.
2781         * doc/openacc-environment-variables/accproflib.rst: New file.
2782         * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2783         * doc/openacc-introduction.rst: New file.
2784         * doc/openacc-library-and-environment-variables.rst: New file.
2785         * doc/openacc-library-interoperability.rst: New file.
2786         * doc/openacc-profiling-interface.rst: New file.
2787         * doc/openacc-runtime-library-routines.rst: New file.
2788         * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2789         * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2790         * doc/openacc-runtime-library-routines/accattach.rst: New file.
2791         * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2792         * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2793         * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2794         * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2795         * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2796         * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2797         * doc/openacc-runtime-library-routines/accfree.rst: New file.
2798         * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2799         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2800         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2801         * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2802         * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2803         * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2804         * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2805         * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2806         * doc/openacc-runtime-library-routines/accinit.rst: New file.
2807         * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2808         * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2809         * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2810         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2811         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2812         * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2813         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2814         * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2815         * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2816         * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2817         * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2818         * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2819         * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2820         * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2821         * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2822         * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2823         * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2824         * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2825         * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2826         * doc/openacc-runtime-library-routines/accwait.rst: New file.
2827         * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2828         * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2829         * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2830         * doc/openmp-context-selectors.rst: New file.
2831         * doc/openmp-environment-variables.rst: New file.
2832         * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2833         * doc/openmp-environment-variables/gompdebug.rst: New file.
2834         * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2835         * doc/openmp-environment-variables/gompspincount.rst: New file.
2836         * doc/openmp-environment-variables/gompstacksize.rst: New file.
2837         * doc/openmp-environment-variables/ompcancellation.rst: New file.
2838         * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2839         * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2840         * doc/openmp-environment-variables/ompdynamic.rst: New file.
2841         * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2842         * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2843         * doc/openmp-environment-variables/ompnested.rst: New file.
2844         * doc/openmp-environment-variables/ompnumteams.rst: New file.
2845         * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2846         * doc/openmp-environment-variables/ompplaces.rst: New file.
2847         * doc/openmp-environment-variables/ompprocbind.rst: New file.
2848         * doc/openmp-environment-variables/ompschedule.rst: New file.
2849         * doc/openmp-environment-variables/ompstacksize.rst: New file.
2850         * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2851         * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2852         * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2853         * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2854         * doc/openmp-implementation-specifics.rst: New file.
2855         * doc/openmp-implementation-status.rst: New file.
2856         * doc/openmp-implementation-status/openmp-45.rst: New file.
2857         * doc/openmp-implementation-status/openmp-50.rst: New file.
2858         * doc/openmp-implementation-status/openmp-51.rst: New file.
2859         * doc/openmp-implementation-status/openmp-52.rst: New file.
2860         * doc/openmp-runtime-library-routines.rst: New file.
2861         * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2862         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2863         * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2864         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2865         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2866         * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2867         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2868         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2869         * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2870         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2871         * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2872         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2873         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2874         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2875         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2876         * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2877         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2878         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2879         * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2880         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2881         * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2882         * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2883         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2884         * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2885         * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2886         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2887         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2888         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2889         * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2890         * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2891         * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2892         * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2893         * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2894         * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2895         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2896         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2897         * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2898         * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2899         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2900         * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2901         * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2902         * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2903         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2904         * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2905         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2906         * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2907         * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2908         * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2909         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2910         * doc/reporting-bugs.rst: New file.
2911         * doc/the-libgomp-abi.rst: New file.
2912         * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2913         * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2914         * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2915         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2916         New file.
2917         * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2918         * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2919         * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2920         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2921         * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2922         * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2923         * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2924         * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2925         * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2926         * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2927         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2929 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
2931         * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
2932         * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
2933         documentation.
2934         * plugin/configfrag.ac <enable_offload_targets>
2935         [*-intelmic-* | *-intelmicemul-*]: Remove.
2936         * configure: Regenerate.
2937         * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
2938         handling.
2939         (offload_target_to_openacc_device_type)
2940         [$offload_target = *-intelmic*]: Remove.
2941         (check_effective_target_offload_device_intel_mic)
2942         (check_effective_target_offload_device_any_intel_mic): Remove.
2943         * testsuite/libgomp.c-c++-common/on_device_arch.h
2944         (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
2945         (any_device_arch_intel_mic): Remove.
2946         * testsuite/libgomp.c-c++-common/target-45.c: Remove
2947         'offload_device_any_intel_mic' XFAIL.
2948         * testsuite/libgomp.fortran/target10.f90: Likewise.
2950 2022-11-03  Tobias Burnus  <tobias@codesourcery.com>
2952         * testsuite/libgomp.fortran/target-11.f90: New test.
2953         * testsuite/libgomp.fortran/target-13.f90: New test.
2955 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2957         PR libgomp/106643
2958         PR fortran/96668
2959         * oacc-mem.c (goacc_enter_data_internal): Support
2960         OpenACC 'declare create' with Fortran allocatable arrays, part II.
2961         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2962         Adjust.
2963         * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
2965 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2967         PR libgomp/106643
2968         * oacc-mem.c (goacc_enter_data_internal): Support
2969         OpenACC 'declare create' with Fortran allocatable arrays, part I.
2970         * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
2971         New.
2972         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2973         New.
2975 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2977         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
2978         New.
2980 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2982         * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
2983         New.
2985 2022-11-02  Cesar Philippidis  <cesar@codesourcery.com>
2986             Thomas Schwinge  <thomas@codesourcery.com>
2988         * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
2990 2022-10-28  Julian Brown  <julian@codesourcery.com>
2991             Thomas Schwinge  <thomas@codesourcery.com>
2993         PR middle-end/90115
2994         * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
2995         * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2996         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2997         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2998         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3000 2022-10-24  Thomas Schwinge  <thomas@codesourcery.com>
3002         * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
3003         'ptx_dev->rev_data'.
3005 2022-10-24  Tobias Burnus  <tobias@codesourcery.com>
3007         * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
3008         'static' for this variable.
3009         * config/nvptx/libgomp-nvptx.h: New file.
3010         * config/nvptx/target.c: Include it.
3011         (GOMP_ADDITIONAL_ICVS): Declare extern var.
3012         (GOMP_REV_OFFLOAD_VAR): Declare var.
3013         (GOMP_target_ext): Handle reverse offload.
3014         * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
3015         * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
3016         * target.c (gomp_target_rev): ... this new stub function.
3017         * libgomp.h (gomp_target_rev): Declare.
3018         * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
3019         * plugin/cuda-lib.def (cuMemHostAlloc): Add.
3020         * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
3021         (struct ptx_device): Add rev_data member.
3022         (nvptx_open_device): Remove async_engines query, last used in
3023         r10-304-g1f4c5b9b; add unified-address assert check.
3024         (GOMP_OFFLOAD_get_num_devices): Claim unified address
3025         support.
3026         (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
3027         offload functions exist. Make offload var available
3028         on host and device.
3029         (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
3030         (GOMP_OFFLOAD_run): Handle reverse offload.
3032 2022-10-21  Thomas Schwinge  <thomas@codesourcery.com>
3034         PR tree-optimization/107195
3035         PR target/107344
3036         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
3037         regions checking.
3039 2022-10-20  Tobias Burnus  <tobias@codesourcery.com>
3041         * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
3042         New.
3043         * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
3044         on_device_arch_gcn): New.
3045         * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
3046         requires-4.c but using heap-allocated memory.
3048 2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
3050         PR target/105421
3051         * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
3053 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
3055         * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
3056         '-foffload-options' syntax.
3058 2022-10-13  Tobias Burnus  <tobias@codesourcery.com>
3060         * testsuite/libgomp.fortran/task-7.f90: New test.
3061         * testsuite/libgomp.fortran/task-8.f90: New test.
3062         * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
3063         * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
3064         * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
3065         * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
3066         * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
3068 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
3070         * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
3071         in deprecation bullet.
3073 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
3075         * omp.h.in (omp_in_explicit_task): Declare.
3076         * omp_lib.h.in (omp_in_explicit_task): Likewise.
3077         * omp_lib.f90.in (omp_in_explicit_task): New interface.
3078         * libgomp.map (OMP_5.2): New symbol version, export
3079         omp_in_explicit_task and omp_in_explicit_task_.
3080         * task.c (omp_in_explicit_task): New function.
3081         * fortran.c (omp_in_explicit_task): Add ialias_redirect.
3082         (omp_in_explicit_task_): New function.
3083         * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
3084         * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
3085         * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
3086         * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
3088 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
3090         * task.c (gomp_create_artificial_team): Fix up handling of invocations
3091         from within explicit task.
3092         * target.c (GOMP_target_ext): Likewise.
3093         * testsuite/libgomp.c/task-7.c: New test.
3094         * testsuite/libgomp.c/task-8.c: New test.
3095         * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
3096         * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
3098 2022-10-12  Martin Liska  <mliska@suse.cz>
3100         * configure: Regenerate.
3102 2022-10-11  Olivier Hainque  <hainque@adacore.com>
3103             Olivier Hainque  <hainque@adacore.com>
3105         * configure: Regenerate.
3107 2022-10-05  Tobias Burnus  <tobias@codesourcery.com>
3109         * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
3111 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
3113         * libgomp.texi (Support begin/end declare target syntax in C/C++):
3114         Mark as implemented.
3116 2022-09-30  Tobias Burnus  <tobias@codesourcery.com>
3118         PR fortran/105318
3119         * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
3121 2022-09-28  Tobias Burnus  <tobias@codesourcery.com>
3123         * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
3124         for C/C++. Remove duplicated 'begin declare target' entry.
3126 2022-09-24  Jakub Jelinek  <jakub@redhat.com>
3128         PR c/106981
3129         * testsuite/libgomp.c-c++-common/pr106981.c: New test.
3131 2022-09-14  Julian Brown  <julian@codesourcery.com>
3133         * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
3134         * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
3135         * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
3136         * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
3137         test to here, make "run" test.
3139 2022-09-13  Jakub Jelinek  <jakub@redhat.com>
3141         PR libgomp/106906
3142         * env.c (get_icv_member_addr): Cast false to void * before assigning
3143         it to icv_addr[1], and comment the whole assignment out.
3145 2022-09-13  Tobias Burnus  <tobias@codesourcery.com>
3147         * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
3148         (nvptx): ... here.
3150 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
3152         * libgomp.texi (Offload-Target Specifics: nvptx): Document
3153         that reverse offload requires >= -march=sm_35.
3154         * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
3155         with -misa=sm_35.
3156         * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3157         * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
3158         * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
3159         * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
3160         * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
3162 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
3164         * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
3165         (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
3167 2022-09-12  Jakub Jelinek  <jakub@redhat.com>
3169         PR libgomp/106894
3170         * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
3171         (main): Avoid tests for which corresponding non-_ALL suffixed variable
3172         is in the environment, or for OMP_NUM_TEAMS on the device
3173         OMP_NUM_TEAMS_DEV_?.
3175 2022-09-10  Iain Sandoe  <iain@sandoe.co.uk>
3177         * env.c (initialize_env): Include libiberty environ.h.
3179 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
3181         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
3182         function address table '$offload_func_table' if rev_fn_table
3183         is not NULL.
3185 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
3187         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
3188         .offload_func_table to populate rev_fn_table when requested.
3190 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
3192         * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
3193         'uint64_t **rev_fn_table' argument.
3194         * oacc-host.c (host_load_image): Likewise.
3195         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
3196         currently unused.
3197         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3198         * target.c (gomp_load_image_to_device): Update call but pass
3199         NULL for now.
3201 2022-09-09  Jakub Jelinek  <jakub@redhat.com>
3203         PR libgomp/106894
3204         * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
3205         char * for dest[1] initialization from params[1].  Formatting fixes.
3207 2022-09-08  Tobias Burnus  <tobias@codesourcery.com>
3209         PR fortran/106670
3210         * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
3212 2022-09-08  Tobias Burnus  <tobias@codesourcery.com>
3214         * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
3215         section; move OpenMP Context Selectors from ...
3216         (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
3217         'nvptx' sections.
3219 2022-09-08  Marcel Vollweiler  <marcel@codesourcery.com>
3221         * config/gcn/icv-device.c (omp_get_default_device): Return device-
3222         specific ICV.
3223         (omp_get_max_teams): Added for GCN devices.
3224         (omp_set_num_teams): Likewise.
3225         (ialias): Likewise.
3226         * config/nvptx/icv-device.c (omp_get_default_device): Return device-
3227         specific ICV.
3228         (omp_get_max_teams): Added for NVPTX devices.
3229         (omp_set_num_teams): Likewise.
3230         (ialias): Likewise.
3231         * env.c (struct gomp_icv_list): New struct to store entries of initial
3232         ICV values.
3233         (struct gomp_offload_icv_list): New struct to store entries of device-
3234         specific ICV values that are copied to the device and back.
3235         (struct gomp_default_icv_values): New struct to store default values of
3236         ICVs according to the OpenMP standard.
3237         (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
3238         (print_env_var_error): Function that prints an error for invalid values
3239         for ICVs.
3240         (parse_unsigned_long_1): Removed getenv.  Generalized.
3241         (parse_unsigned_long): Likewise.
3242         (parse_int_1): Likewise.
3243         (parse_int): Likewise.
3244         (parse_int_secure): Likewise.
3245         (parse_unsigned_long_list): Likewise.
3246         (parse_target_offload): Likewise.
3247         (parse_bind_var): Likewise.
3248         (parse_stacksize): Likewise.
3249         (parse_boolean): Likewise.
3250         (parse_wait_policy): Likewise.
3251         (parse_allocator): Likewise.
3252         (omp_display_env): Extended to output different variants of environment
3253         variables.
3254         (print_schedule): New helper function for omp_display_env which prints
3255         the values of run_sched_var.
3256         (print_proc_bind): New helper function for omp_display_env which prints
3257         the values of proc_bind_var.
3258         (enum gomp_parse_type): Collection of types used for parsing environment
3259         variables.
3260         (ENTRY): Preprocess string lengths of environment variables.
3261         (OMP_VAR_CNT): Preprocess table size.
3262         (OMP_HOST_VAR_CNT): Likewise.
3263         (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
3264         number.
3265         (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3266         (gomp_set_icv_flag): Sets a flag for a particular ICV.
3267         (print_device_specific_icvs): New helper function for omp_display_env to
3268         print device specific ICV values.
3269         (get_device_num): New helper function for parse_device_specific.
3270         Extracts the device number from an environment variable name.
3271         (get_icv_member_addr): Gets the memory address for a particular member
3272         of an ICV struct.
3273         (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3274         (initialize_icvs): New function to initialize a gomp_initial_icvs
3275         struct.
3276         (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
3277         (startswith): Checks if a string starts with a given prefix.
3278         (initialize_env): Extended to parse the new syntax of environment
3279         variables.
3280         * icv-device.c (omp_get_max_teams): Added.
3281         (ialias): Likewise.
3282         (omp_set_num_teams): Likewise.
3283         * icv.c (omp_set_num_teams): Moved to icv-device.c.
3284         (omp_get_max_teams): Likewise.
3285         (ialias): Likewise.
3286         * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
3287         (GOMP_ADDITIONAL_ICVS): New target-side struct that
3288         holds the designated ICVs of the target device.
3289         * libgomp.h (enum gomp_icvs): Collection of ICVs.
3290         (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
3291         no suffix.
3292         (enum gomp_env_suffix): Collection of possible suffixes of environment
3293         variables.
3294         (struct gomp_initial_icvs): Contains all ICVs for which we need to store
3295         initial values.
3296         (struct gomp_default_icv):New struct to hold ICVs for which we need
3297         to store initial values.
3298         (struct gomp_icv_list): Definition of a linked list that is used for
3299         storing ICVs for the devices and also for _DEV, _ALL, and without
3300         suffix.
3301         (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
3302         a device.
3303         (struct gomp_offload_icv_list): Definition of a linked list that holds
3304         device-specific ICVs that are copied to devices.
3305         (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3306         (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3307         * libgomp.texi: Updated.
3308         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
3309         further ICVs from the offload image.
3310         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3311         * target.c (gomp_get_offload_icv_item): Get a list item of
3312         gomp_offload_icv_list.
3313         (get_gomp_offload_icvs): New. Returns the ICV values
3314         depending on the device num and the variable hierarchy.
3315         (gomp_load_image_to_device): Extended to copy further ICVs to a device.
3316         * testsuite/libgomp.c-c++-common/icv-5.c: New test.
3317         * testsuite/libgomp.c-c++-common/icv-6.c: New test.
3318         * testsuite/libgomp.c-c++-common/icv-7.c: New test.
3319         * testsuite/libgomp.c-c++-common/icv-8.c: New test.
3320         * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
3321         * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
3323 2022-09-08  Jakub Jelinek  <jakub@redhat.com>
3325         * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
3326         fully supported.
3327         * testsuite/libgomp.c/doacross-4.c: New test.
3328         * testsuite/libgomp.c/doacross-5.c: New test.
3329         * testsuite/libgomp.c/doacross-6.c: New test.
3330         * testsuite/libgomp.c/doacross-7.c: New test.
3332 2022-09-05  Tobias Burnus  <tobias@codesourcery.com>
3334         * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
3336 2022-08-26  Tobias Burnus  <tobias@codesourcery.com>
3338         * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
3339         refer to 'requires'.
3340         * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
3341         * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
3342         * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
3343         * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
3345 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
3347         PR middle-end/106548
3348         * testsuite/libgomp.c/linear-2.c: New test.
3350 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
3352         * splay-tree.h: Fix splay_* macro unsetting if
3353         splay_tree_prefix is defined.
3355 2022-07-29  Tobias Burnus  <tobias@codesourcery.com>
3357         * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
3359 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
3361         PR middle-end/106449
3362         * testsuite/libgomp.c-c++-common/pr106449.c: New test.
3364 2022-07-12  Tobias Burnus  <tobias@codesourcery.com>
3366         * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
3368 2022-07-12  Thomas Schwinge  <thomas@codesourcery.com>
3370         PR middle-end/101551
3371         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
3372         'offloading_enabled' diagnostics issue.
3374 2022-07-11  Thomas Schwinge  <thomas@codesourcery.com>
3376         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
3377         '_Pragma' diagnostics verification.
3379 2022-07-10  Lewis Hyatt  <lhyatt@gmail.com>
3381         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
3382         improved warning locations.
3383         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
3385 2022-07-08  Thomas Schwinge  <thomas@codesourcery.com>
3387         * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
3388         * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
3389         * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3390         * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3391         * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3393 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
3395         * target.c (GOMP_offload_register, GOMP_offload_unregister):
3396         Denote as legacy entry points.
3397         * testsuite/lib/libgomp.exp
3398         (check_effective_target_offload_target_any): New proc.
3399         * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
3400         'offload_target_any'.
3401         * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3402         * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3403         * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3405 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
3407         * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
3408         * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3410 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
3412         * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
3414 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
3416         * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
3417         'data'.
3418         (GOMP_offload_unregister_ver): Likewise.  Fix up 'target_data'.
3420 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
3421             Jakub Jelinek  <jakub@redhat.com>
3423         * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
3425 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
3426             Chung-Lin Tang  <cltang@codesourcery.com>
3427             Thomas Schwinge  <thomas@codesourcery.com>
3429         * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
3430         omp_requires_mask arg.
3431         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
3432         return -1 when device available but omp_requires_mask != 0.
3433         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
3434         * oacc-host.c (host_get_num_devices, host_openacc_get_property):
3435         Update call.
3436         * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
3437         goacc_attach_host_thread_to_device, acc_get_num_devices,
3438         acc_set_device_num, get_property_any): Likewise.
3439         * target.c (omp_requires_mask): New global var.
3440         (gomp_requires_to_name): New.
3441         (GOMP_offload_register_ver): Handle passed omp_requires_mask.
3442         (gomp_target_init): Handle omp_requires_mask.
3443         * libgomp.texi (OpenMP 5.0): Update requires impl. status.
3444         (OpenMP 5.1): Add a missed item.
3445         (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
3446         * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
3447         * testsuite/libgomp.c-c++-common/requires-1.c: New test.
3448         * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
3449         * testsuite/libgomp.c-c++-common/requires-2.c: New test.
3450         * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
3451         * testsuite/libgomp.c-c++-common/requires-3.c: New test.
3452         * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
3453         * testsuite/libgomp.c-c++-common/requires-4.c: New test.
3454         * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
3455         * testsuite/libgomp.c-c++-common/requires-5.c: New test.
3456         * testsuite/libgomp.c-c++-common/requires-6.c: New test.
3457         * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
3458         * testsuite/libgomp.c-c++-common/requires-7.c: New test.
3459         * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
3460         * testsuite/libgomp.fortran/requires-1.f90: New test.
3462 2022-07-01  Tobias Burnus  <tobias@codesourcery.com>
3464         * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
3465         with fromto as implemented.
3467 2022-06-28  Martin Liska  <mliska@suse.cz>
3469         * acinclude.m4: Fix typo in mold linker detection.
3470         * Makefile.in: Regenerate.
3471         * configure: Regenerate.
3473 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
3474             Paul Iannetta  <piannetta@kalrayinc.com>
3476         PR libgomp/106045
3477         * testsuite/libgomp.c/target-31.c: Add private (i) clause.
3479 2022-06-17  Martin Liska  <mliska@suse.cz>
3481         * libgomp.texi: Add table header for new features of
3482         OpenMP 5.2.
3484 2022-06-15  Jakub Jelinek  <jakub@redhat.com>
3486         * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
3487         q to ddress of an automatic variable.  Use -5 instead of -1 in
3488         omp_get_mapped_ptr call.  Add test with omp_initial_device.
3489         * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
3490         of -1 in omp_get_mapped_ptr call.  Add test with omp_initial_device.
3491         Renumber stop arguments afterwards.
3493 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
3495         * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
3496         * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
3497         parameters.
3498         * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
3499         * target.c (resolve_device): Add remapped argument, handle
3500         GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
3501         for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
3502         if remapped, otherwise treat omp_initial_device that way.  For
3503         omp_invalid_device, always emit gomp_fatal, even when
3504         OMP_TARGET_OFFLOAD isn't mandatory.
3505         (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
3506         GOMP_target_update, GOMP_target_update_ext,
3507         GOMP_target_enter_exit_data): Pass true as remapped argument to
3508         resolve_device.
3509         (omp_target_alloc, omp_target_free, omp_target_is_present,
3510         omp_target_memcpy_check, omp_target_associate_ptr,
3511         omp_target_disassociate_ptr, omp_get_mapped_ptr,
3512         omp_target_is_accessible): Pass false as remapped argument to
3513         resolve_device.  Treat omp_initial_device the same as
3514         gomp_get_num_devices ().  Don't bypass resolve_device calls if
3515         device_num is negative.
3516         (omp_pause_resource): Treat omp_initial_device the same as
3517         gomp_get_num_devices ().  Call resolve_device.
3518         * icv-device.c (omp_set_default_device): Always set to device_num
3519         even when it is negative.
3520         * libgomp.texi: Document that Conforming device numbers,
3521         omp_initial_device and omp_invalid_device is implemented.
3522         * testsuite/libgomp.c/target-41.c (main): Add test with
3523         omp_initial_device.
3524         * testsuite/libgomp.c/target-45.c: New test.
3525         * testsuite/libgomp.c/target-46.c: New test.
3526         * testsuite/libgomp.c/target-47.c: New test.
3527         * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
3528         test with omp_initial_device.  Use -5 instead of -1 for negative value
3529         test.
3530         * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
3531         Likewise.  Reorder stop numbers.
3533 2022-06-10  Jakub Jelinek  <jakub@redhat.com>
3535         * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
3536         rather than "libmemkind.so".
3538 2022-06-10  Thomas Schwinge  <thomas@codesourcery.com>
3540         * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
3541         * plugin/configfrag.ac (--with-cuda-driver)
3542         (--with-cuda-driver-include, --with-cuda-driver-lib)
3543         (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
3544         (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
3545         Remove.
3546         * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
3547         (cuda_driver_lib): Remove.
3548         * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
3549         * Makefile.in: Regenerate.
3550         * configure: Likewise.
3551         * testsuite/Makefile.in: Likewise.
3553 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
3555         * config/linux/allocator.c: Fix up #include directive.
3557 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
3559         * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
3560         (enum gomp_memkind_kind): New type.
3561         (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
3562         is defined.
3563         (struct gomp_memkind_data): New type.
3564         (memkind_data, memkind_data_once): New variables.
3565         (gomp_init_memkind, gomp_get_memkind): New functions.
3566         (omp_init_allocator): Initialize data.memkind, don't fail for
3567         omp_high_bw_mem_space if libmemkind supports it.
3568         (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
3569         memkind support of LIBGOMP_USE_MEMKIND is defined.
3570         * config/linux/allocator.c: New file.
3572 2022-06-03  Tobias Burnus  <tobias@codesourcery.com>
3574         * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
3575         * testsuite/libgomp.fortran/scope-2.f90: New test.
3577 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
3579         * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
3581 2022-05-31  Jakub Jelinek  <jakub@redhat.com>
3583         * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
3584         scope construct with allocate clause.
3585         * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
3586         * testsuite/libgomp.c-c++-common/scope-2.c: New test.
3588 2022-05-28  Tobias Burnus  <tobias@codesourcery.com>
3590         * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
3591         * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
3592         explicit 'to' and 'enter' clause.
3593         * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
3595 2022-05-28  Jakub Jelinek  <jakub@redhat.com>
3597         PR libgomp/105745
3598         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
3599         defined(HAVE__ALIGNED_MALLOC) case.
3600         * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
3601         handling as last option before fallback instead of first.
3602         (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
3603         _aligned_free.
3605 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
3607         * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
3608         clauses to enter.
3609         * testsuite/libgomp.c/target-41.c: Likewise.
3611 2022-05-27  Tobias Burnus  <tobias@codesourcery.com>
3613         * libgomp.texi (Other new OpenMP 5.1 features): Add
3614         'begin declare target'.
3615         (Other new OpenMP 5.2 features): New.
3617 2022-05-25  Jakub Jelinek  <jakub@redhat.com>
3619         * task.c (gomp_task_run_post_handle_dependers): If empty_task
3620         is the last task taskwait depend depends on, wake it up.
3621         Similarly if it is the last child of a taskgroup, use atomic
3622         store instead of decrement and awak taskgroup wait if any.
3623         * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
3625 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
3627         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3628         EF_AMDGPU_MACH_AMDGCN_GFX90a.
3629         (gcn_gfx90a_s): New.
3630         (isa_hsa_name): Support gfx90a.
3631         (isa_code): Likewise.
3633 2022-05-24  Tobias Burnus  <tobias@codesourcery.com>
3635         PR c/105378
3636         * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
3637         * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
3639 2022-05-24  Jakub Jelinek  <jakub@redhat.com>
3641         PR c/105378
3642         * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
3643         * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
3644         * task.c (empty_task): New function.
3645         (gomp_task_run_post_handle_depend_hash): Declare earlier.
3646         (gomp_task_run_post_handle_depend): Declare.
3647         (GOMP_task): Optimize fn == empty_task if there is nothing to wait
3648         for.
3649         (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
3650         (GOMP_taskwait_depend_nowait): New function.
3651         * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
3653 2022-05-23  Tobias Burnus  <tobias@codesourcery.com>
3655         PR fortran/104949
3656         * target.c (gomp_map_vars_internal, copy_firstprivate_data):
3657         Support attach for GOMP_MAP_FIRSTPRIVATE.
3658         * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
3659         * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
3660         * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
3662 2022-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
3664         * libgomp.map: Added omp_target_memcpy_async and
3665         omp_target_memcpy_rect_async.
3666         * libgomp.texi: Both functions are now supported.
3667         * omp.h.in: Added omp_target_memcpy_async and
3668         omp_target_memcpy_rect_async.
3669         * omp_lib.f90.in: Added interfaces for both new functions.
3670         * omp_lib.h.in: Likewise.
3671         * target.c (ialias_redirect): Added for GOMP_task.
3672         (omp_target_memcpy): Restructured into check and copy part.
3673         (omp_target_memcpy_check): New helper function for omp_target_memcpy and
3674         omp_target_memcpy_async that checks requirements.
3675         (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
3676         omp_target_memcpy_async that performs the memcpy.
3677         (omp_target_memcpy_async_helper): New helper function that is used in
3678         omp_target_memcpy_async for the asynchronous task.
3679         (omp_target_memcpy_async): Added.
3680         (omp_target_memcpy_rect): Restructured into check and copy part.
3681         (omp_target_memcpy_rect_check): New helper function for
3682         omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
3683         requirements.
3684         (omp_target_memcpy_rect_copy): New helper function for
3685         omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
3686         the memcpy.
3687         (omp_target_memcpy_rect_async_helper): New helper function that is used
3688         in omp_target_memcpy_rect_async for the asynchronous task.
3689         (omp_target_memcpy_rect_async): Added.
3690         * task.c (ialias): Added for GOMP_task.
3691         * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
3692         * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
3693         * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
3694         * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
3695         * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
3696         * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
3697         * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
3698         * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
3700 2022-05-18  Tobias Burnus  <tobias@codesourcery.com>
3702         * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
3703         (OpenMP Context Selectors): Add missing comma.
3704         * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
3705         * testsuite/libgomp.fortran/depend-6.f90: Likewise.
3706         * testsuite/libgomp.fortran/depend-7.f90: Likewise.
3707         * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
3709 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
3711         * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
3712         comment for omp_display_env feature.
3714 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3716         * libgomp.texi (Offload-Target Specifics): New chapter; add section
3717         to document OpenMP context selectors.
3719 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
3721         * libgomp.h (struct gomp_task_depend_entry): Change is_in type
3722         from bool to unsigned char.
3723         * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
3724         Ignore dependencies where
3725         task->depend[i].is_in && task->depend[i].is_in == ent->is_in
3726         rather than just task->depend[i].is_in && ent->is_in.  Remember
3727         whether GOMP_DEPEND_IN loop is needed and guard the loop with that
3728         conditional.
3729         (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
3730         Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
3731         rather than just elem.is_in && ent->is_in.
3732         * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
3733         inoutset depend-kind.
3734         * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
3735         * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
3736         * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
3738 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3740         * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
3742 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3744         * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
3745         * testsuite/libgomp.fortran/depend-5.f90: New test.
3746         * testsuite/libgomp.fortran/depend-6.f90: New test.
3747         * testsuite/libgomp.fortran/depend-7.f90: New test.
3749 2022-05-16  Marcel Vollweiler  <marcel@codesourcery.com>
3751         * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
3752         * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
3753         * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
3755 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
3757         * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3759 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
3761         * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3763 2022-05-13  Thomas Schwinge  <thomas@codesourcery.com>
3765         * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
3766         [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
3767         (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
3768         append '$(PLUGIN_NVPTX_LDFLAGS)'.
3769         * Makefile.in: Regenerate.
3771 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
3773         * Makefile.am (libgomp_la_LIBADD): Initialize.
3774         * plugin/configfrag.ac (DL_LIBS): New.
3775         (PLUGIN_GCN_LIBS): Remove.
3776         (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
3777         * plugin/Makefrag.am (libgomp_la_LIBADD)
3778         (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
3779         (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
3780         * Makefile.in: Regenerate.
3781         * config.h.in: Likewise.
3782         * configure: Likewise.
3783         * testsuite/Makefile.in: Likewise.
3785 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
3787         * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
3788         * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
3789         'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
3790         * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
3791         'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
3792         'PLUGIN_NVPTX_LINK_LIBCUDA'.
3793         * Makefile.in: Regenerate.
3794         * config.h.in: Likewise.
3795         * configure: Likewise.
3797 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
3799         * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
3800         for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
3801         * Makefile.in: Regenerate.
3802         * config.h.in: Likewise.
3803         * configure: Likewise.
3804         * testsuite/Makefile.in: Likewise.
3806 2022-05-12  Jakub Jelinek  <jakub@redhat.com>
3808         * libgomp.h (struct gomp_task): Add depend_all_memory member.
3809         * task.c (gomp_init_task): Initialize depend_all_memory.
3810         (gomp_task_handle_depend): Handle omp_all_memory.
3811         (gomp_task_run_post_handle_depend_hash): Clear
3812         parent->depend_all_memory if equal to current task.
3813         (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
3814         * testsuite/libgomp.c-c++-common/depend-1.c: New test.
3815         * testsuite/libgomp.c-c++-common/depend-2.c: New test.
3816         * testsuite/libgomp.c-c++-common/depend-3.c: New test.
3818 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3820         * plugin/configfrag.ac: Remove '--with-hsa-runtime',
3821         '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
3822         * Makefile.in: Regenerate.
3823         * configure: Likewise.
3824         * testsuite/Makefile.in: Likewise.
3826 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3828         * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
3829         consider 'PLUGIN_GCN_CPPFLAGS'.
3830         (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
3831         'PLUGIN_GCN_LDFLAGS'.
3832         * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
3833         Remove.
3834         * Makefile.in: Regenerate.
3835         * configure: Likewise.
3836         * testsuite/Makefile.in: Likewise.
3838 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3840         * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
3841         (HSA_RUNTIME_LDFLAGS): Remove.
3842         * configure: Regenerate.
3844 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3846         * testsuite/lib/libgomp.exp (libgomp_init): Don't
3847         'append always_ld_library_path ":$hsa_runtime_lib"'.
3848         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
3850 2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
3852         * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
3853         multi-device testing.
3855 2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
3857         * libgomp.map: Added omp_target_is_accessible.
3858         * libgomp.texi: Tagged omp_target_is_accessible as supported.
3859         * omp.h.in: Added omp_target_is_accessible.
3860         * omp_lib.f90.in: Added interface for omp_target_is_accessible.
3861         * omp_lib.h.in: Likewise.
3862         * target.c (omp_target_is_accessible): Added implementation of
3863         omp_target_is_accessible.
3864         * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
3865         * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
3867 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
3869         * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
3871 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
3873         * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
3875 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
3877         * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
3879 2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
3881         * libgomp.map: Added omp_get_mapped_ptr.
3882         * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
3883         * omp.h.in: Added omp_get_mapped_ptr.
3884         * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
3885         * omp_lib.h.in: Likewise.
3886         * target.c (omp_get_mapped_ptr): Added implementation of
3887         omp_get_mapped_ptr.
3888         * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
3889         * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
3890         * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
3891         * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
3892         * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
3893         * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
3894         * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
3895         * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
3897 2022-04-28  Thomas Schwinge  <thomas@codesourcery.com>
3899         PR fortran/104717
3900         * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
3901         privatization scanning.  For GCN offloading compilation, raise
3902         '-mgang-private-size'.
3904 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
3906         PR libgomp/105358
3907         * work.c (gomp_init_work_share): Don't mask of adjustment for
3908         dynamic long long realignment if struct gomp_work_share has smaller
3909         alignof than long long.
3910         * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
3911         struct gomp_work_share has smaller alignof than long long or if
3912         sizeof (struct gomp_work_share) is smaller than
3913         INLINE_ORDERED_TEAM_IDS_OFF.
3914         * loop_ull.c (GOMP_loop_ull_start): Likewise.
3915         * sections.c (GOMP_sections2_start): Likewise.
3917 2022-04-25  Jakub Jelinek  <jakub@redhat.com>
3918             Thomas Schwinge  <thomas@codesourcery.com>
3920         PR fortran/104717
3921         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
3923 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
3925         * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
3927 2022-04-06  Thomas Schwinge  <thomas@codesourcery.com>
3929         * plugin/cuda/cuda.h: Remove file.
3930         * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
3931         "cuda/cuda.h" instead of <cuda.h>.
3932         * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
3933         'PLUGIN_NVPTX_CPPFLAGS'.
3934         * configure: Regenerate.
3936 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
3938         * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
3940 2022-04-04  Tom de Vries  <tdevries@suse.de>
3942         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
3943         on_device_arch_nvptx instead of offload_target_nvptx.
3944         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3946 2022-04-01  Tom de Vries  <tdevries@suse.de>
3948         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
3949         and use REC_DEPTH.
3950         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3952 2022-04-01  Tom de Vries  <tdevries@suse.de>
3954         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
3955         num_workers check.
3957 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
3958             Lulu Cheng  <chenglulu@loongson.cn>
3960         * configure.tgt: Add LoongArch triplet.
3962 2022-03-28  Tom de Vries  <tdevries@suse.de>
3964         * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
3965         instead of /libexec/.
3966         * configure: Regenerate.
3968 2022-03-25  Tom de Vries  <tdevries@suse.de>
3970         PR libgomp/105042
3971         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
3972         execution time.
3973         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
3974         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
3976 2022-03-23  Tobias Burnus  <tobias@codesourcery.com>
3978         PR middle-end/104285
3979         * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
3980         * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
3981         * testsuite/libgomp.c++/target-same-name-2.C: New test.
3982         * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
3983         * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
3984         * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
3986 2022-03-22  Tom de Vries  <tdevries@suse.de>
3988         PR target/104916
3989         PR target/104783
3990         * testsuite/libgomp.c/pr104783-2.c: New test.
3992 2022-03-18  Tobias Burnus  <tobias@codesourcery.com>
3994         PR fortran/103039
3995         * testsuite/libgomp.fortran/associate4.f90: New test.
3997 2022-03-18  Tom de Vries  <tdevries@suse.de>
3999         PR target/104952
4000         * testsuite/libgomp.c/pr104952-1.c: New test.
4001         * testsuite/libgomp.c/pr104952-2.c: New test.
4003 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
4005         * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
4006         variable next to pl variable.
4008 2022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
4010         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4011         Enhance.
4012         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4013         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4015 2022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
4017         PR middle-end/90115
4018         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
4019         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4021 2022-03-16  Marcel Vollweiler  <marcel@codesourcery.com>
4023         * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
4024         omp_set_max_active_levels.
4025         * testsuite/libgomp.fortran/icv-8.f90: New test.
4027 2022-03-16  Thomas Schwinge  <thomas@codesourcery.com>
4029         PR testsuite/102841
4030         * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
4032 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
4034         * libgomp.texi: Fix typo.
4036 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
4038         PR middle-end/100280
4039         PR middle-end/104892
4040         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
4041         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
4042         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4043         Likewise.
4044         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4045         Likewise.
4046         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4047         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4048         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4049         Likewise.
4051 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
4053         PR middle-end/104892
4054         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
4055         to PR104892.
4056         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
4057         enable '--param=openacc-kernels=decompose' and adjust.
4058         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4059         Likewise.
4060         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4061         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4062         Likewise.
4064 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
4066         PR middle-end/90115
4067         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
4068         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
4069         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4070         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
4072 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
4074         PR middle-end/100280
4075         PR middle-end/104086
4076         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4077         Merge this...
4078         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4079         ..., and this...
4080         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
4081         this, and adjust.
4082         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4083         Extend.
4085 2022-03-10  Hafiz Abid Qadeer  <abidh@codesourcery.com>
4087         * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
4088         trait.  Test last index in w and v array.  Remove redundant
4089         assignment to V(1).  Move alignment checks at the end of
4090         parallel region.
4092 2022-03-10  Tom de Vries  <tdevries@suse.de>
4094         * testsuite/libgomp.c/pr104783.c: New test.
4096 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
4098         PR middle-end/90115
4099         PR middle-end/102330
4100         PR middle-end/104774
4101         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4102         Enhance.
4103         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4104         Adjust.
4105         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4106         Likewise.
4107         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4108         Likewise.
4109         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4110         Likewise.
4111         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4112         Likewise.
4113         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4114         Likewise.
4115         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4116         Likewise.
4117         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4118         Likewise.
4119         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4120         Likewise.
4121         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4122         Likewise.
4123         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4124         Likewise.
4125         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4126         Likewise.
4127         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4128         Likewise.
4129         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
4130         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4131         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4133 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
4135         PR middle-end/90115
4136         * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
4137         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4138         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4139         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4141 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4143         PR testsuite/104791
4144         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
4145         expected diagnostics.
4147 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4149         PR middle-end/104784
4150         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4151         Test with '--param=openacc-kernels=decompose'.
4152         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4153         Likewise.
4154         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4155         Likewise.
4156         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4157         Likewise.
4158         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4159         Likewise.
4160         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4161         Likewise.
4162         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4163         Likewise.
4164         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4165         Likewise.
4166         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4167         Likewise.
4168         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4169         Likewise.
4170         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4171         Likewise.
4172         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4173         Likewise.
4174         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4175         Likewise.
4176         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4177         Likewise.
4178         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4179         Likewise.
4180         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4181         Likewise.
4182         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4183         Likewise.
4184         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4185         Likewise.
4186         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4187         Likewise.
4188         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4189         Likewise.
4190         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4191         Likewise.
4192         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4193         Likewise.
4194         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4195         Likewise.
4196         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4197         Likewise.
4198         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4199         Likewise.
4200         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4201         Likewise.
4202         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4203         Likewise.
4204         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4205         Likewise.
4206         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4207         Likewise.
4208         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4209         Likewise.
4210         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4211         Likewise.
4212         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4213         Likewise.
4214         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4215         Likewise.
4217 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4219         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4220         Test '-fopt-info-omp-all'.
4221         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4222         Likewise.
4223         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4224         Likewise.
4225         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4226         Likewise.
4227         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4228         Likewise.
4229         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4230         Likewise.
4231         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4232         Likewise.
4233         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4234         Likewise.
4235         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4236         Likewise.
4237         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4238         Likewise.
4239         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4240         Likewise.
4241         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4242         Likewise.
4243         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4244         Likewise.
4245         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4246         Likewise.
4247         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4248         Likewise.
4249         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4250         Likewise.
4251         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4252         Likewise.
4253         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4254         Likewise.
4255         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4256         Likewise.
4257         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4258         Likewise.
4259         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4260         Likewise.
4261         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4262         Likewise.
4263         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4264         Likewise.
4265         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4266         Likewise.
4267         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4268         Likewise.
4269         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4270         Likewise.
4271         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4272         Likewise.
4273         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4274         Likewise.
4275         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4276         Likewise.
4277         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4278         Likewise.
4279         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4280         Likewise.
4281         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4282         Likewise.
4283         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4284         Likewise.
4286 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4288         PR middle-end/100280
4289         PR middle-end/104132
4290         PR middle-end/104133
4291         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4292         Extend.
4294 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4296         PR middle-end/100280
4297         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4298         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4299         Likewise.
4301 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4303         PR middle-end/100280
4304         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4305         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4306         Likewise.
4308 2022-02-28  Tom de Vries  <tdevries@suse.de>
4310         * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
4311         * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
4312         * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
4313         * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
4314         * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
4315         * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
4317 2022-02-24  Tom de Vries  <tdevries@suse.de>
4319         * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
4320         * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
4321         * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
4322         * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
4323         * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
4324         * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
4325         * testsuite/libgomp.c/declare-variant-3.h: New header file.
4327 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
4329         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
4330         gang-redundant execution.
4332 2022-02-22  Tom de Vries  <tdevries@suse.de>
4334         PR target/99555
4335         * config/nvptx/bar.c (generation_to_barrier): New function, copied
4336         from config/rtems/bar.c.
4337         (futex_wait, futex_wake): New function.
4338         (do_spin, do_wait): New function, copied from config/linux/wait.h.
4339         (gomp_barrier_wait_end, gomp_barrier_wait_last)
4340         (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
4341         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
4342         and replace with include of config/linux/bar.c.
4343         * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
4344         (gomp_barrier_init): Init new fields.
4345         * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
4346         workarounds.
4347         * testsuite/libgomp.c/pr99555-1.c: Same.
4348         * testsuite/libgomp.fortran/task-detach-6.f90: Same.
4350 2022-02-22  Tom de Vries  <tdevries@suse.de>
4352         PR testsuite/104146
4353         * testsuite/libgomp.c++/pr96390.C: Add additional-option
4354         -foffload=-Wa,--verify for nvptx.
4355         * testsuite/libgomp.c-c++-common/pr96390.c: Same.
4357 2022-02-15  Tobias Burnus  <tobias@codesourcery.com>
4359         * testsuite/libgomp.fortran/depend-4.f90: New test.
4361 2022-02-10  Tobias Burnus  <tobias@codesourcery.com>
4363         PR c++/102204
4364         * testsuite/libgomp.c++/target-virtual-1.C: New test.
4366 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
4368         * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
4369         * target.c (copy_firstprivate_data): Copy only if host address is not
4370         NULL.
4371         * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
4372         * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
4373         * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
4374         * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
4375         * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
4376         * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
4377         * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
4378         * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
4379         * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
4380         * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
4382 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
4384         PR libgomp/104385
4385         * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
4386         clear task->parent.
4387         * testsuite/libgomp.c/pr104385.c: New test.
4389 2022-02-04  Tobias Burnus  <tobias@codesourcery.com>
4391         * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
4392         STOP of previous commit.
4394 2022-02-04  Tobias Burnus  <tobias@codesourcery.com>
4396         * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
4397         from is_64bit_aligned_.
4398         * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
4399         and use it, more implicit none, remove unused argument.
4401 2022-02-03  David Seifert  <soap@gentoo.org>
4402             Jakub Jelinek  <jakub@redhat.com>
4404         * configure.ac: Support --disable-werror.
4405         * configure: Regenerate.
4407 2022-02-01  Tom de Vries  <tdevries@suse.de>
4409         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
4410         PR83812 workaround.
4411         * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
4412         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
4414 2022-02-01  Tom de Vries  <tdevries@suse.de>
4416         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
4417         num_workers for nvidia accelerator to fix libgomp error 'insufficient
4418         resources'.
4419         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4420         Same.
4421         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
4423 2022-02-01  Tom de Vries  <tdevries@suse.de>
4425         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4426         recursion depth.
4427         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4429 2022-01-31  Martin Liska  <mliska@suse.cz>
4431         * acinclude.m4: Detect *_ld_is_mold and use it.
4432         * configure: Regenerate.
4434 2022-01-27  Tobias Burnus  <tobias@codesourcery.com>
4436         * libgomp.texi (OpenMP 5.0): Update implementation status.
4438 2022-01-21  Thomas Schwinge  <thomas@codesourcery.com>
4440         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
4441         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4442         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4443         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4444         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4445         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4446         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4447         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4448         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4449         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4450         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4451         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4452         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4453         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4454         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4456 2022-01-19  Marcel Vollweiler  <marcel@codesourcery.com>
4458         * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
4459         "static") to make the device num available in the offload image.
4461 2022-01-19  Martin Liska  <mliska@suse.cz>
4462             Thomas Schwinge  <thomas@codesourcery.com>
4464         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
4465         patterns.
4466         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4467         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4468         Likewise.
4469         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4470         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4471         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4472         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4473         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4474         Likewise.
4475         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
4476         Likewise.
4477         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
4478         Likewise.
4479         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
4480         Likewise.
4481         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
4482         Likewise.
4483         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
4484         Likewise.
4485         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4486         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4487         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4489 2022-01-18  Martin Liska  <mliska@suse.cz>
4491         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
4492         in dg-warning.
4493         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4494         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4495         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4496         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4497         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4498         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4499         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
4500         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
4501         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
4502         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
4503         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
4504         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
4505         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4506         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4507         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4509 2022-01-17  Thomas Schwinge  <thomas@codesourcery.com>
4511         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
4512         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4513         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4515 2022-01-17  Julian Brown  <julian@codesourcery.com>
4516             Thomas Schwinge  <thomas@codesourcery.com>
4518         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
4519         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
4520         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
4522 2022-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
4523             Andrew Stubbs   <ams@codesourcery.com>
4525         * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
4526         the number of teams and threads if necessary.
4527         (gcn_exec): Automatically set the number of gangs and workers if
4528         necessary.
4530 2022-01-13  Hafiz Abid Qadeer  <abidh@codesourcery.com>
4532         * testsuite/libgomp.fortran/allocate-1.c: New test.
4533         * testsuite/libgomp.fortran/allocate-1.f90: New test.
4534         * libgomp.texi: Remove string that says that allocate clause
4535         support is for C/C++ only.
4537 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4539         * testsuite/libgomp.c-c++-common/on_device_arch.h
4540         (any_device_arch, any_device_arch_intel_mic): New.
4541         * testsuite/lib/libgomp.exp
4542         (check_effective_target_offload_device_any_intel_mic): New.
4543         * testsuite/libgomp.c-c++-common/target-45.c: Use it.
4544         * testsuite/libgomp.fortran/target10.f90: Likewise.
4546 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4548         PR tree-optimization/102192
4549         * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
4550         '-Wuninitialized' diagnostics.
4552 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4554         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
4555         current '-Wuninitialized' diagnostics.
4556         * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
4557         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
4558         * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
4559         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
4560         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4561         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4562         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
4563         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4564         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4565         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4566         * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
4567         Likewise.
4569 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4571         * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
4572         for 'offload_device_intel_mic'.
4574 2022-01-13  Julian Brown  <julian@codesourcery.com>
4575             Thomas Schwinge  <thomas@codesourcery.com>
4577         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
4578         offloading execution XFAIL.
4580 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4582         PR middle-end/100280
4583         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4584         Update.
4585         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4586         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4587         Likewise.
4589 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4591         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4592         Enhance.
4593         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4594         Likewise.
4595         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
4596         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4597         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
4598         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
4599         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4600         Likewise.
4601         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4602         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4603         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4604         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4606 2022-01-04  Tobias Burnus  <tobias@codesourcery.com>
4608         * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
4609         * testsuite/libgomp.fortran/target10.f90: Likewise.
4611 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
4613         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
4614         into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
4615         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
4617 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
4619         * libgomp.texi: Bump @copying's copyright year.
4621 2021-12-13  Tobias Burnus  <tobias@codesourcery.com>
4623         * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
4624         * testsuite/libgomp.fortran/atomic-19.f90: New test.
4626 2021-12-10  Andrew Stubbs  <ams@codesourcery.com>
4628         * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4629         (GOMP_OFFLOAD_load_image): Locate the offload variables via the
4630         table, not individual symbols.
4632 2021-12-09  Chung-Lin Tang  <cltang@codesourcery.com>
4634         * testsuite/libgomp.c++/target-lambda-1.C: Only run under
4635         "target offload_device_nonshared_as"
4636         * testsuite/libgomp.c++/target-this-3.C: Likewise.
4637         * testsuite/libgomp.c++/target-this-4.C: Likewise.
4639 2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
4641         * target.c (gomp_map_vars_existing): Make sure attached pointer is
4642         not overwritten during cross-host/device copying.
4643         (gomp_update): Likewise.
4644         (gomp_exit_data): Likewise.
4645         * testsuite/libgomp.c++/target-11.C: Adjust testcase.
4646         * testsuite/libgomp.c++/target-12.C: Likewise.
4647         * testsuite/libgomp.c++/target-15.C: Likewise.
4648         * testsuite/libgomp.c++/target-16.C: Likewise.
4649         * testsuite/libgomp.c++/target-17.C: Likewise.
4650         * testsuite/libgomp.c++/target-21.C: Likewise.
4651         * testsuite/libgomp.c++/target-23.C: Likewise.
4652         * testsuite/libgomp.c/target-23.c: Likewise.
4653         * testsuite/libgomp.c/target-29.c: Likewise.
4654         * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
4656 2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
4658         PR middle-end/92120
4659         * libgomp.h (gomp_attach_pointer): Add bool parameter.
4660         * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
4661         (goacc_enter_data_internal): Likewise.
4662         * target.c (gomp_map_vars_existing): Update assert condition to
4663         include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
4664         (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
4665         parameter, add support for mapping a pointer with NULL target.
4666         (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
4667         parameter, add support for attaching a pointer with NULL target.
4668         (gomp_map_vars_internal): Update calls to gomp_map_pointer and
4669         gomp_attach_pointer, add handling for
4670         GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
4671         GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
4672         * testsuite/libgomp.c++/target-23.C: New testcase.
4673         * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
4674         * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
4675         * testsuite/libgomp.c++/target-this-1.C: New testcase.
4676         * testsuite/libgomp.c++/target-this-2.C: New testcase.
4677         * testsuite/libgomp.c++/target-this-3.C: New testcase.
4678         * testsuite/libgomp.c++/target-this-4.C: New testcase.
4679         * testsuite/libgomp.c++/target-this-5.C: New testcase.
4681 2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
4683         * libgomp.texi (OpenMP 5.1): Update status.
4685 2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
4687         * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
4689 2021-12-02  Chung-Lin Tang  <cltang@codesourcery.com>
4691         PR fortran/90030
4692         * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
4693         * testsuite/libgomp.fortran/pr90030.f90: New test.
4695 2021-11-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
4696             Thomas Schwinge  <thomas@codesourcery.com>
4698         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
4699         temporary skip.
4701 2021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
4702             Thomas Schwinge  <thomas@codesourcery.com>
4704         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
4705         skip.
4707 2021-11-29  Richard Biener  <rguenther@suse.de>
4709         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
4710         return.
4712 2021-11-24  Jakub Jelinek  <jakub@redhat.com>
4714         PR middle-end/103384
4715         * testsuite/libgomp.c/declare-variant-2.c: New test.
4717 2021-11-18  David Edelsohn  <dje.gcc@gmail.com>
4719         * alloc.c (gomp_aligned_alloc): Fix typo.
4721 2021-11-18  Jakub Jelinek  <jakub@redhat.com>
4723         PR libgomp/102838
4724         * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
4725         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
4726         (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
4727         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4728         * work.c (alloc_work_share, gomp_work_share_start): Likewise.
4729         * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
4730         gomp_aligned_alloc instead of team_malloc.
4732 2021-11-18  Jakub Jelinek  <jakub@redhat.com>
4734         PR libgomp/102838
4735         * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
4736         memalign over posix_memalign over aligned_alloc over fallback
4737         with malloc instead of aligned_alloc over _aligned_alloc over
4738         posix_memalign over memalign over fallback with malloc.  For
4739         aligned_alloc, round up size up to multiple of al.
4741 2021-11-16  Jakub Jelinek  <jakub@redhat.com>
4743         * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
4744         construct as implemented.
4746 2021-11-15  Tobias Burnus  <tobias@codesourcery.com>
4748         * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
4750 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
4752         * task.c (gomp_create_target_task): Copy args array as well.
4753         * target.c (gomp_target_fallback): Add args argument.
4754         Set gomp_icv (true)->thread_limit_var if thread_limit is present.
4755         (GOMP_target): Adjust gomp_target_fallback caller.
4756         (GOMP_target_ext): Likewise.
4757         (gomp_target_task_fn): Likewise.
4758         * config/nvptx/team.c (gomp_nvptx_main): Set
4759         gomp_global_icv.thread_limit_var.
4760         * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
4762 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
4764         * config/nvptx/team.c (__gomp_team_num): Define as
4765         __attribute__((shared)) var.
4766         (gomp_nvptx_main): Initialize __gomp_team_num to 0.
4767         * config/nvptx/target.c (__gomp_team_num): Declare as
4768         extern __attribute__((shared)) var.
4769         (GOMP_teams4): Use __gomp_team_num as the team number instead of
4770         %ctaid.x.  If first, initialize it to %ctaid.x.  If num_teams_lower
4771         is bigger than num_blocks, use num_teams_lower teams and arrange for
4772         bumping of __gomp_team_num if !first and returning false once we run
4773         out of teams.
4774         * config/nvptx/teams.c (__gomp_team_num): Declare as
4775         extern __attribute__((shared)) var.
4776         (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
4778 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
4780         * testsuite/libgomp.c/teams-5.c: New test.
4782 2021-11-12  Jakub Jelinek  <jakub@redhat.com>
4784         PR target/103201
4785         * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
4786         to ...
4787         * config/gcn/teams.c: ... here.  New file.
4789 2021-11-12  Chung-Lin Tang  <cltang@codesourcery.com>
4791         * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
4792         implicit map handling to allow a "superset" existing map as valid case.
4793         (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
4794         (get_implicit): New function to extract implicit status.
4795         (gomp_map_fields_existing): Adjust arguments in calls to
4796         gomp_map_vars_existing, and add uses of get_implicit.
4797         (gomp_map_vars_internal): Likewise.
4798         * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
4800 2021-11-12  Jakub Jelinek  <jakub@redhat.com>
4802         * libgomp_g.h (GOMP_teams4): Declare.
4803         * libgomp.map (GOMP_5.1): Export GOMP_teams4.
4804         * target.c (GOMP_teams4): New function.
4805         * config/nvptx/target.c (GOMP_teams): Remove.
4806         (GOMP_teams4): New function.
4807         * config/gcn/target.c (GOMP_teams): Remove.
4808         (GOMP_teams4): New function.
4809         * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
4810         teams instead of <= 2.
4811         * testsuite/libgomp.c-c++-common/teams-2.c: New test.
4813 2021-11-11  Tobias Burnus  <tobias@codesourcery.com>
4815         * testsuite/libgomp.fortran/teams-1.f90: New test.
4817 2021-11-11  Jakub Jelinek  <jakub@redhat.com>
4819         * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
4820         * team.c (struct gomp_thread_start_data): Likewise.
4821         (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
4822         (gomp_team_start): Initialize start_data->num_teams and
4823         start_data->team_num.  Update nthr->num_teams and nthr->team_num.
4824         * teams.c (gomp_num_teams, gomp_team_num): Remove.
4825         (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
4826         instead of gomp_num_teams and gomp_team_num.
4827         (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
4828         (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
4829         * testsuite/libgomp.c/teams-4.c: New test.
4831 2021-11-11  Jakub Jelinek  <jakub@redhat.com>
4833         * testsuite/libgomp.c-c++-common/teams-1.c: New test.
4835 2021-11-09  Thomas Schwinge  <thomas@codesourcery.com>
4837         * env.c (parse_gomp_openacc_dim): Restore parsing.
4839 2021-10-30  Tobias Burnus  <tobias@codesourcery.com>
4841         PR middle-end/102972
4842         * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
4843         parallel construct.
4844         * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
4845         * testsuite/libgomp.c/target-3.c: Likewise.
4846         * testsuite/libgomp.c/target-5.c: Likewise.
4847         * testsuite/libgomp.c/target-6.c: Likewise.
4848         * testsuite/libgomp.c/target-teams-1.c: Likewise.
4849         * testsuite/libgomp.c/teams-1.c: Likewise.
4850         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4851         * testsuite/libgomp.c/thread-limit-3.c: Likewise.
4852         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
4853         * testsuite/libgomp.c/thread-limit-5.c: Likewise.
4854         * testsuite/libgomp.fortran/icv-3.f90: Likewise.
4855         * testsuite/libgomp.fortran/icv-4.f90: Likewise.
4856         * testsuite/libgomp.fortran/teams1.f90: Likewise.
4858 2021-10-29  Aldy Hernandez  <aldyh@redhat.com>
4860         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
4861         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4863 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
4865         * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
4866         aren't implemented for Fortran yet.
4868 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
4870         * testsuite/libgomp.c/loop-26.c: New test.
4871         * testsuite/libgomp.c/loop-27.c: New test.
4873 2021-10-25  Tobias Burnus  <tobias@codesourcery.com>
4875         PR testsuite/102910
4876         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
4877         instead of #include <alloca.h> + alloca.
4879 2021-10-21  Chung-Lin Tang  <cltang@codesourcery.com>
4881         * libgomp.texi (Support of strictly structured blocks in Fortran):
4882         Adjust to 'Y'.
4883         * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
4885 2021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
4887         * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
4888         * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
4890 2021-10-20  Jakub Jelinek  <jakub@redhat.com>
4892         PR libgomp/102838
4893         * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
4894         (struct gomp_work_share): Only use aligned(64) attribute if
4895         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
4896         add padding before lock to ensure lock is at offset 64 bytes
4897         into the structure.
4898         (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
4899         New poor man's static assertions.
4900         * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
4901         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4903 2021-10-20  Aldy Hernandez  <aldyh@redhat.com>
4904             Richard Biener  <rguenther@suse.de>
4906         * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
4908 2021-10-18  Jakub Jelinek  <jakub@redhat.com>
4910         * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
4911         && gomp_places_list_len < count after nfirst <= nlast loop condition.
4913 2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
4915         PR fortran/102086
4916         PR fortran/92189
4917         PR fortran/92621
4918         PR fortran/101308
4919         PR fortran/101309
4920         PR fortran/101635
4921         PR fortran/92482
4922         * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
4924 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4926         * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
4927         type from char [50] to const char *.
4928         (places_array): Add a testcase for simplified syntax place followed
4929         by length or length and stride.
4931 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4933         * env.c (parse_one_place): Handle non-negative-number the same
4934         as { non-negative-number }.  Reject even !number:1 and
4935         !number:1:stride or !place:1 or !place:1:stride instead of just
4936         length other than 1.
4937         * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
4938         and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
4939         omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
4940         as implemented.
4941         * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
4942         simplified syntax.
4944 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4946         * env.c (parse_schedule): For strtoul or strtoull calls which don't
4947         clearly reject return value 0 as invalid handle the case where end
4948         pointer is the same as first argument as invalid.
4949         (parse_unsigned_long_1): Likewise.
4950         (parse_one_place): Likewise.
4951         (parse_places_var): Likewise.
4952         (parse_stacksize): Likewise.
4953         (parse_spincount): Likewise.
4954         (parse_affinity): Likewise.
4955         (parse_gomp_openacc_dim): Likewise.  Avoid strict aliasing violation.
4956         Make code valid C89.
4957         * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
4958         For strtoul calls which don't clearly reject return value 0 as
4959         invalid handle the case where end pointer is the same as first
4960         argument as invalid.
4961         (gomp_affinity_init_level_1): Likewise.
4962         (gomp_affinity_init_numa_domains): Likewise.
4963         * config/rtems/proc.c (parse_thread_pools): Likewise.
4965 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4967         * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
4968         after creating count places clean up and return immediately.
4969         * testsuite/libgomp.c/places-6.c: New test.
4970         * testsuite/libgomp.c/places-7.c: New test.
4971         * testsuite/libgomp.c/places-8.c: New test.
4972         * testsuite/libgomp.c/places-9.c: New test.
4973         * testsuite/libgomp.c/places-10.c: New test.
4975 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4977         * env.c (parse_places_var): Handle numa_domains as level 5.
4978         * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
4979         function.
4980         (gomp_affinity_init_level): Use it instead of
4981         gomp_affinity_init_level_1 for level == 5.
4982         * testsuite/libgomp.c/places-5.c: New test.
4984 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4986         * env.c (parse_places_var): Handle ll_caches as level 4.
4987         * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
4988         function.
4989         (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
4990         last level cache.
4991         (gomp_affinity_init_level): Likewise.
4992         * testsuite/libgomp.c/places-1.c: New test.
4993         * testsuite/libgomp.c/places-2.c: New test.
4994         * testsuite/libgomp.c/places-3.c: New test.
4995         * testsuite/libgomp.c/places-4.c: New test.
4997 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
4999         * libgomp.texi (OpenMP 5.0): Update entry for declare variant
5000         directive.
5002 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
5004         * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
5006 2021-10-12  Julian Brown  <julian@codesourcery.com>
5008         * target.c (gomp_copy_host2dev): Release device lock on cbuf
5009         error path.
5011 2021-10-12  Tobias Burnus  <tobias@codesourcery.com>
5013         * testsuite/libgomp.fortran/icv-3.f90: New.
5014         * testsuite/libgomp.fortran/icv-4.f90: New.
5016 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
5018         * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
5019         omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
5020         OMP_TEAMS_THREAD_LIMIT): Document.
5022 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
5024         * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
5025         to avoid makeinfo warnings.
5027 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
5029         * testsuite/libgomp.c-c++-common/icv-3.c: New test.
5030         * testsuite/libgomp.c-c++-common/icv-4.c: New test.
5032 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
5034         PR libgomp/102628
5035         PR libgomp/102668
5036         * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
5037         allocation sizes from 420 to 320 and from 768 to 568.
5038         * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
5039         * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
5040         for cr from 16 to 4.
5042 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
5044         * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
5045         * testsuite/libgomp.c/scan-12.c: Likewise.
5046         * testsuite/libgomp.c/scan-13.c: Likewise.
5047         * testsuite/libgomp.c/scan-14.c: Likewise.
5048         * testsuite/libgomp.c/scan-15.c: Likewise.
5049         * testsuite/libgomp.c/scan-16.c: Likewise.
5050         * testsuite/libgomp.c/scan-17.c: Likewise.
5051         * testsuite/libgomp.c/scan-18.c: Likewise.
5052         * testsuite/libgomp.c/scan-19.c: Likewise.
5053         * testsuite/libgomp.c/scan-20.c: Likewise.
5054         * testsuite/libgomp.c/scan-21.c: Likewise.
5055         * testsuite/libgomp.c/scan-22.c: Likewise.
5056         * testsuite/libgomp.c++/scan-9.C: Likewise.
5057         * testsuite/libgomp.c++/scan-10.C: Likewise.
5058         * testsuite/libgomp.c++/scan-11.C: Likewise.
5059         * testsuite/libgomp.c++/scan-12.C: Likewise.
5060         * testsuite/libgomp.c++/scan-13.C: Likewise.
5061         * testsuite/libgomp.c++/scan-14.C: Likewise.
5062         * testsuite/libgomp.c++/scan-15.C: Likewise.
5063         * testsuite/libgomp.c++/scan-16.C: Likewise.
5065 2021-10-12  Kewen Lin  <linkw@linux.ibm.com>
5067         * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
5069 2021-10-11  Marcel Vollweiler  <marcel@codesourcery.com>
5071         * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
5072         omp_atv_serialized.
5073         * omp.h.in: Add deprecated flag for omp_atv_sequential.
5074         * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
5075         * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
5076         * testsuite/libgomp.fortran/alloc-12.f90: New test.
5078 2021-10-11  Jakub Jelinek  <jakub@redhat.com>
5080         * omp.h.in (omp_set_num_teams, omp_get_max_teams,
5081         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5082         * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
5083         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5084         * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
5085         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5086         * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
5087         * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
5088         omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
5089         omp_set_teams_thread_limit{,_,_8_}.
5090         * icv.c (omp_set_num_teams, omp_get_max_teams,
5091         omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
5092         functions.
5093         * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
5094         (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
5095         (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
5096         vars.
5097         * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
5098         gomp_teams_thread_limit_var as fallback if not zero.  If num_teams
5099         is not specified, use gomp_nteams_var.
5100         * fortran.c (omp_set_num_teams, omp_get_max_teams,
5101         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
5102         ialias_redirect.
5103         (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
5104         omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
5105         omp_get_teams_thread_limit_): New functions.
5107 2021-10-09  liuhongt  <hongtao.liu@intel.com>
5109         * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
5110         * testsuite/libgomp.c++/scan-11.C: Ditto.
5111         * testsuite/libgomp.c++/scan-12.C: Ditto.
5112         * testsuite/libgomp.c++/scan-13.C: Ditto.
5113         * testsuite/libgomp.c++/scan-14.C: Ditto.
5114         * testsuite/libgomp.c++/scan-15.C: Ditto.
5115         * testsuite/libgomp.c++/scan-16.C: Ditto.
5116         * testsuite/libgomp.c++/scan-9.C: Ditto.
5117         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
5118         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
5119         * testsuite/libgomp.c/scan-11.c: Ditto.
5120         * testsuite/libgomp.c/scan-12.c: Ditto.
5121         * testsuite/libgomp.c/scan-13.c: Ditto.
5122         * testsuite/libgomp.c/scan-14.c: Ditto.
5123         * testsuite/libgomp.c/scan-15.c: Ditto.
5124         * testsuite/libgomp.c/scan-16.c: Ditto.
5125         * testsuite/libgomp.c/scan-17.c: Ditto.
5126         * testsuite/libgomp.c/scan-18.c: Ditto.
5127         * testsuite/libgomp.c/scan-19.c: Ditto.
5128         * testsuite/libgomp.c/scan-20.c: Ditto.
5129         * testsuite/libgomp.c/scan-21.c: Ditto.
5130         * testsuite/libgomp.c/scan-22.c: Ditto.
5132 2021-10-09  Jakub Jelinek  <jakub@redhat.com>
5134         * libgomp.texi (OpenMP 5.1): Mention implemented support for
5135         structured block sequences in C/C++.  Mention support for
5136         unconstrained/reproducible modifiers on order clause.
5137         Mention partial (C/C++ only) support of extentensions to atomics
5138         construct.  Mention partial (C/C++ on clause only) support of
5139         align/allocator modifiers on allocate clause.
5141 2021-10-02  Tobias Burnus  <tobias@codesourcery.com>
5143         * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
5144         based on libgomp.c-c++-common/order-reproducible-1.c.
5145         * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
5146         * testsuite/libgomp.fortran/my-usleep.c: New test.
5148 2021-10-01  Tobias Burnus  <tobias@codesourcery.com>
5150         * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
5151         * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
5152         * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
5153         * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
5154         based on libgomp.c-c++-common/alloc-9.c.
5156 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
5158         * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
5159         * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
5161 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
5163         * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
5164         ialias_redirect.
5165         * env.c (handle_omp_display_env): Use ialias_call.
5166         * icv-device.c: Move ialias right below each function.
5167         (omp_get_device_num): Use ialias_call.
5168         * fortran.c (omp_fulfill_event): Add ialias_redirect.
5169         * icv.c (omp_get_active_level): Add ialias_redirect.
5171 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
5173         * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
5174         __alloc_align__ (1) attribute.
5175         * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
5177 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
5179         * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
5180         for -fintrinsic-modules-path= warning of the C compiler.
5181         * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
5182         * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
5184 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
5186         * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
5187         omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
5188         * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5189         omp_realloc): Add.
5190         * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5191         omp_realloc): Add.
5192         * testsuite/libgomp.fortran/alloc-10.f90: New test.
5193         * testsuite/libgomp.fortran/alloc-6.f90: New test.
5194         * testsuite/libgomp.fortran/alloc-7.c: New test.
5195         * testsuite/libgomp.fortran/alloc-7.f90: New test.
5196         * testsuite/libgomp.fortran/alloc-8.f90: New test.
5197         * testsuite/libgomp.fortran/alloc-9.f90: New test.
5199 2021-09-30  Jakub Jelinek  <jakub@redhat.com>
5201         * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
5202         omp_realloc): New prototypes.
5203         (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
5204         attribute.
5205         * allocator.c: Include string.h.
5206         (omp_aligned_alloc): No longer static, add ialias.  Add new_alignment
5207         variable and use it instead of alignment so that when retrying the old
5208         alignment is used again.  Don't retry if new alignment is the same
5209         as old alignment, unless allocator had pool size.
5210         (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
5211         (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
5212         * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
5213         omp_aligned_calloc and omp_realloc.
5214         * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
5215         omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
5216         * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
5217         * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
5218         * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
5219         * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
5221 2021-09-28  Tobias Burnus  <tobias@codesourcery.com>
5223         PR libgomp/96661
5224         * configure.ac: Only check for int-type = 2*size_t support when
5225         building with Fortran support.
5226         * configure: Regenerate.
5228 2021-09-28  Thomas Schwinge  <thomas@codesourcery.com>
5230         * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
5231         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5233 2021-09-27  Aldy Hernandez  <aldyh@redhat.com>
5235         * team.c: Initialize start_data.
5236         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5237         * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
5239 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
5241         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
5242         dg-message back to dg-note.
5244 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
5246         PR fortran/94070
5247         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
5248         expected dg-note output.
5250 2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
5252         PR fortran/55534
5253         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
5254         r12-3722 by removing -Wno-missing-include-dirs.
5255         * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5257 2021-09-22  Jakub Jelinek  <jakub@redhat.com>
5259         * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
5260         * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
5262 2021-09-21  Tobias Burnus  <tobias@codesourcery.com>
5264         PR fortran/55534
5265         * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
5266         to ALWAYS_CFLAGS.
5267         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5269 2021-09-18  Jakub Jelinek  <jakub@redhat.com>
5271         * testsuite/libgomp.c++/default-1.C: New test.
5272         * testsuite/libgomp.c-c++-common/default-1.c: New test.
5273         * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
5274         to default clause in C and C++" as implemented.
5276 2021-09-17  Julian Brown  <julian@codesourcery.com>
5278         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
5280 2021-09-17  Julian Brown  <julian@codesourcery.com>
5282         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
5284 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
5286         * libgomp.texi (OpenMP 5.1): Spelling fix,
5287         declare variante -> declare variant.
5289 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
5291         * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
5292         Use /* */ comments instead of //.
5293         * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
5294         * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
5295         * testsuite/libgomp.c++/atomic-16.C: New test.
5296         * testsuite/libgomp.c++/atomic-17.C: New test.
5298 2021-09-10  Jakub Jelinek  <jakub@redhat.com>
5300         * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
5301         * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
5302         * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
5304 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
5306         * libgomp.texi (OpenMP Implementation Status): Extend
5307         OpenMP 5.0 section.
5308         (OpenACC Profiling Interface): Fix typo.
5310 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
5312         * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
5313         not to 4.5; link to new section.
5314         (OpenMP Implementation Status): New.
5316 2021-09-06  Thomas Schwinge  <thomas@codesourcery.com>
5318         * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
5320 2021-09-03  Tobias Burnus  <tobias@codesourcery.com>
5322         * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
5323         dg-output.
5324         * testsuite/libgomp.fortran/error-1.f90: Likewise.
5326 2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
5327             Jakub Jelinek  <jakub@redhat.com>
5329         * testsuite/libgomp.c/address-space-1.c: New file.
5331 2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
5333         * testsuite/lib/libgomp.exp
5334         (check_effective_target_offload_target_intelmic): Remove 'proc'.
5335         (check_effective_target_offload_device_intel_mic): New 'proc'.
5336         * testsuite/libgomp.c-c++-common/on_device_arch.h
5337         (device_arch_intel_mic, on_device_arch_intel_mic): New.
5338         * testsuite/libgomp.c-c++-common/target-45.c: Use that for
5339         'dg-xfail-run-if'.
5340         * testsuite/libgomp.fortran/target10.f90: Likewise.
5342 2021-08-23  Tobias Burnus  <tobias@codesourcery.com>
5344         * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
5345         * testsuite/libgomp.fortran/taskloop-4.f90: New test.
5346         * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
5347         * testsuite/libgomp.fortran/taskloop-5.f90: New test.
5349 2021-08-23  Jakub Jelinek  <jakub@redhat.com>
5351         * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
5352         * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
5353         * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
5355 2021-08-22  Thomas Schwinge  <thomas@codesourcery.com>
5357         * config/nvptx/error.c (fwrite, exit): Override, too.
5358         * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
5359         of offloading testing.
5360         * testsuite/libgomp.fortran/error-1.f90: Likewise.
5362 2021-08-20  Tobias Burnus  <tobias@codesourcery.com>
5364         * testsuite/libgomp.fortran/error-1.f90: New test.
5366 2021-08-20  Jakub Jelinek  <jakub@redhat.com>
5368         * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
5369         * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
5370         * error.c (GOMP_warning, GOMP_error): New functions.
5371         * testsuite/libgomp.c-c++-common/error-1.c: New test.
5373 2021-08-18  Tobias Burnus  <tobias@codesourcery.com>
5375         * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
5376         omp_target_free. omp_target_is_present, omp_target_memcpy,
5377         omp_target_memcpy_rect, omp_target_associate_ptr,
5378         omp_target_disassociate_ptr): Add interface.
5379         * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
5380         omp_target_free. omp_target_is_present, omp_target_memcpy,
5381         omp_target_memcpy_rect, omp_target_associate_ptr,
5382         omp_target_disassociate_ptr): Add interface.
5383         * testsuite/libgomp.fortran/alloc-1.F90: Remove local
5384         interface block for omp_alloc + omp_free.
5385         * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
5386         * testsuite/libgomp.fortran/refcount-1.f90: New test.
5387         * testsuite/libgomp.fortran/target-12.f90: New test.
5389 2021-08-18  Jakub Jelinek  <jakub@redhat.com>
5391         * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
5393 2021-08-17  Tobias Burnus  <tobias@codesourcery.com>
5395         * testsuite/libgomp.fortran/scope-1.f90: New test.
5396         * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
5398 2021-08-17  Jakub Jelinek  <jakub@redhat.com>
5400         * Makefile.am (libgomp_la_SOURCES): Add scope.c
5401         * Makefile.in: Regenerated.
5402         * libgomp_g.h (GOMP_scope_start): Declare.
5403         * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
5404         * scope.c: New file.
5405         * testsuite/libgomp.c-c++-common/scope-1.c: New test.
5406         * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
5408 2021-08-16  Thomas Schwinge  <thomas@codesourcery.com>
5410         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
5411         '?:' issues.
5413 2021-08-16  Tobias Burnus  <tobias@codesourcery.com>
5415         * testsuite/libgomp.fortran/masked-1.f90: New test.
5417 2021-08-13  Thomas Schwinge  <thomas@codesourcery.com>
5419         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
5421 2021-08-12  Jakub Jelinek  <jakub@redhat.com>
5423         * testsuite/libgomp.c-c++-common/masked-1.c: New test.
5425 2021-08-12  Tobias Burnus  <tobias@codesourcery.com>
5427         * env.c (parse_bind_var): Accept 'primary' as alias for
5428         'master'.
5429         (omp_display_env): Add TODO comment to
5430         change 'master' to 'primary' in proc_bind for OpenMP 5.1.
5431         * libgomp.texi: Change 'master thread' to 'primary thread'
5432         in line with OpenMP 5.1.
5433         (omp_get_proc_bind): Add omp_proc_bind_primary and note that
5434         omp_proc_bind_master is an alias of it.
5435         (OMP_PROC_BIND): Mention 'PRIMARY'.
5436         * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
5437         (omp_proc_bind_primary): Add.
5438         (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5439         * omp_lib.f90.in (omp_proc_bind_primary): Add.
5440         (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5441         * omp_lib.h.in (omp_proc_bind_primary): Add.
5442         * testsuite/libgomp.c/affinity-1.c: Check that
5443         'primary' works and is identical to 'master'.
5445 2021-08-09  Julian Brown  <julian@codesourcery.com>
5446             Kwok Cheung Yeung  <kcy@codesourcery.com>
5447             Thomas Schwinge  <thomas@codesourcery.com>
5449         * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
5450         16.
5451         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5452         [acc_device_radeon]: Update.
5453         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
5454         [ACC_DEVICE_TYPE_radeon]: Likewise.
5455         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5456         [acc_device_radeon]: Likewise.
5457         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
5458         [ACC_DEVICE_TYPE_radeon]: Likewise.
5459         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
5460         'openacc_radeon_accel_selected' and '-O0'.
5461         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5463 2021-08-05  Chung-Lin Tang  <cltang@codesourcery.com>
5465         * icv-device.c (omp_get_device_num): New API function, host side.
5466         * fortran.c (omp_get_device_num_): New interface function.
5467         * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
5468         * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
5469         omp_get_device_num_.
5470         * libgomp.texi (omp_get_device_num): Add documentation for new API
5471         function.
5472         * omp.h.in (omp_get_device_num): Add declaration.
5473         * omp_lib.f90.in (omp_get_device_num): Likewise.
5474         * omp_lib.h.in (omp_get_device_num): Likewise.
5475         * target.c (gomp_load_image_to_device): If additional entry for device
5476         number exists at end of returned entries from 'load_image_func' hook,
5477         copy the assigned device number over to the device variable.
5478         * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5479         (omp_get_device_num): New API function, device side.
5480         * plugin/plugin-gcn.c ("symcat.h"): Add include.
5481         (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5482         at end of returned 'target_table' entries.
5483         * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5484         (omp_get_device_num): New API function, device side.
5485         * plugin/plugin-nvptx.c ("symcat.h"): Add include.
5486         (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5487         at end of returned 'target_table' entries.
5488         * testsuite/lib/libgomp.exp
5489         (check_effective_target_offload_target_intelmic): New function for
5490         testing for intelmic offloading.
5491         * testsuite/libgomp.c-c++-common/target-45.c: New test.
5492         * testsuite/libgomp.fortran/target10.f90: New test.
5494 2021-07-30  Thomas Schwinge  <thomas@codesourcery.com>
5495             Ulrich Drepper  <drepper@redhat.com>
5497         * fortran.c (omp_display_env_, omp_display_env_8_): Only
5498         '#ifndef LIBGOMP_OFFLOADED_ONLY'.
5500 2021-07-29  Thomas Schwinge  <thomas@codesourcery.com>
5501             Julian Brown  <julian@codesourcery.com>
5502             Kwok Cheung Yeung  <kcy@codesourcery.com>
5504         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
5505         's%oaccdevlow%oaccloops%g'.
5506         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5507         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5508         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
5509         Likewise.
5510         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
5511         Likewise.
5512         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
5513         Likewise.
5514         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
5515         Likewise.
5516         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
5517         Likewise.
5518         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
5519         Likewise.
5520         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
5521         Likewise.
5522         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
5523         Likewise.
5524         * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5526 2021-07-29  Aldy Hernandez  <aldyh@redhat.com>
5528         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
5529         threader.
5530         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5532 2021-07-27  Ulrich Drepper  <drepper@gmail.com>
5534         * env.c (wait_policy, stacksize): New static variables,
5535         move out of handle_omp_display_env.
5536         (omp_display_env): New function.  The meat of the old
5537         handle_omp_display_env function.
5538         (handle_omp_display_env): Change to not take parameters
5539         and instead use the global variables.  Only perform
5540         parsing, defer to omp_display_env for the implementation.
5541         (initialize_env): Remove local variables wait_policy and
5542         stacksize.  Don't pass parameters to handle_omp_display_env.
5543         * fortran.c: Add ialias_redirect for omp_display_env.
5544         (omp_display_env_, omp_display_env_8_): New functions.
5545         * libgomp.map (OMP_5.1): New version.  Add omp_display_env,
5546         omp_display_env_, and omp_display_env_8_.
5547         * omp.h.in: Declare omp_display_env.
5548         * omp_lib.f90.in: Likewise.
5549         * omp_lib.h.in: Likewise.
5551 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
5552             Julian Brown  <julian@codesourcery.com>
5554         * target.c (gomp_coalesce_buf_add): Update comment.
5555         (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
5556         'aq && cbuf'.
5557         (gomp_map_vars_internal): Only 'if (!aq)', do
5558         'gomp_coalesce_buf_add'.
5559         * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
5560         XFAIL.
5562 2021-07-27  Julian Brown  <julian@codesourcery.com>
5563             Thomas Schwinge  <thomas@codesourcery.com>
5565         * libgomp.h (gomp_copy_host2dev): Update prototype.
5566         * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
5567         argument to gomp_copy_host2dev (false).
5568         * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
5569         (copy_data): Don't free src.
5570         (queue_push_copy): Remove free_src handling.
5571         (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
5572         (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
5573         snapshotting.
5574         (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
5575         queue_push_copy.
5576         * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
5577         (gomp_copy_host2dev): Add EPHEMERAL parameter.  Snapshot source
5578         data when true, and set up deferred freeing of temporary buffer.
5579         (gomp_copy_dev2host): Update call to goacc_device_copy_async.
5580         (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
5581         (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
5582         calls to gomp_copy_host2dev with appropriate ephemeral argument.
5583         * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
5584         XFAIL.
5586 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
5587             Tom de Vries  <tom@codesourcery.com>
5589         * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
5590         * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
5592 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
5594         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
5595         sequencing of 'async' data copying vs. profiling events.
5596         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5597         Likewise.
5599 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
5600             Julian Brown  <julian@codesourcery.com>
5602         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
5603         'async'/'wait' issue.
5604         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
5605         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
5606         * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
5608 2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
5609             Joseph Myers  <joseph@codesourcery.com>
5610             Cesar Philippidis  <cesar@codesourcery.com>
5612         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
5613         file.
5614         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
5615         Likewise.
5616         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
5617         Likewise.
5618         * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5620 2021-07-20  Thomas Schwinge  <thomas@codesourcery.com>
5622         PR target/101484
5623         * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
5624         '-Wno-error=array-bounds'.
5625         * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
5626         * libgomp.h [__AMDGCN__]: Likewise.
5628 2021-07-19  Thomas Schwinge  <thomas@codesourcery.com>
5630         PR target/101484
5631         * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
5632         * libgomp.h [__AMDGCN__]: Likewise.
5634 2021-07-13  Jakub Jelinek  <jakub@redhat.com>
5635             Florian Weimer  <fweimer@redhat.com>
5637         * config/linux/sem.h: Don't include limits.h.
5638         (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
5639         * config/linux/affinity.c: Include limits.h.
5641 2021-07-01  Jakub Jelinek  <jakub@redhat.com>
5643         PR middle-end/94366
5644         * testsuite/libgomp.c-c++-common/pr94366.c: New test.
5646 2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
5648         PR other/67300
5649         * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
5650         -foffload=nvptx-none= by -foffload-options=nvptx-none= to
5651         avoid disabling other offload targets.
5652         * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
5653         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5654         * testsuite/libgomp.c/target-44.c: Likewise.
5656 2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
5658         * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
5659         target has shared memory and disable some scalar pointer/allocatable
5660         checks if not as firstprivate does not work.
5662 2021-06-25  Chung-Lin Tang  <cltang@codesourcery.com>
5664         PR testsuite/101114
5665         * testsuite/libgomp.c-c++-common/struct-elem-5.c:
5666         Add "target offload_device_nonshared_as" condition for enabling test.
5668 2021-06-24  Jakub Jelinek  <jakub@redhat.com>
5670         * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
5671         * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
5672         * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
5673         * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
5675 2021-06-23  Jakub Jelinek  <jakub@redhat.com>
5677         PR middle-end/101167
5678         * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
5680 2021-06-17  Chung-Lin Tang  <cltang@codesourcery.com>
5682         * hashtab.h (htab_clear): New function with initialization code
5683         factored out from...
5684         (htab_create): ...here, adjust to use htab_clear function.
5685         * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
5686         special refcount values, add comments.
5687         (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
5688         (REFCOUNT_LINK): Likewise.
5689         (REFCOUNT_STRUCTELEM): New special refcount range for structure
5690         element siblings.
5691         (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
5692         sibling maps.
5693         (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
5694         (REFCOUNT_STRUCTELEM_FLAG_LAST):  Flag to indicate last sibling.
5695         (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
5696         (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
5697         (struct splay_tree_key_s): Add structelem_refcount and
5698         structelem_refcount_ptr fields into a union with dynamic_refcount.
5699         Add comments.
5700         (gomp_map_vars): Delete declaration.
5701         (gomp_map_vars_async): Likewise.
5702         (gomp_unmap_vars): Likewise.
5703         (gomp_unmap_vars_async): Likewise.
5704         (goacc_map_vars): New declaration.
5705         (goacc_unmap_vars): Likewise.
5706         * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
5707         (goacc_enter_datum): Likewise.
5708         (goacc_enter_data_internal): Likewise.
5709         * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
5710         and goacc_unmap_vars.
5711         (GOACC_data_start): Adjust to use goacc_map_vars.
5712         (GOACC_data_end): Adjust to use goacc_unmap_vars.
5713         * target.c (hash_entry_type): New typedef.
5714         (htab_alloc): New function hook for hashtab.h.
5715         (htab_free): Likewise.
5716         (htab_hash): Likewise.
5717         (htab_eq): Likewise.
5718         (hashtab.h): Add file include.
5719         (gomp_increment_refcount): New function.
5720         (gomp_decrement_refcount): Likewise.
5721         (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
5722         gomp_increment_refcount.
5723         (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
5724         to gomp_map_vars_existing.
5725         (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
5726         variable to guard OpenMP specific paths, adjust calls to
5727         gomp_map_vars_existing, add structure element sibling splay_tree_key
5728         sequence creation code, adjust Fortran map case to avoid increment
5729         under OpenMP.
5730         (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
5731         local refcount_set if caller passed in NULL, adjust call to
5732         gomp_map_vars_internal.
5733         (gomp_map_vars_async): Adjust and rename into...
5734         (goacc_map_vars): ...this new function, adjust call to
5735         gomp_map_vars_internal.
5736         (gomp_remove_splay_tree_key): New function with code factored out from
5737         gomp_remove_var_internal.
5738         (gomp_remove_var_internal): Add code to handle removing multiple
5739         splay_tree_key sequence for structure elements, adjust code to use
5740         gomp_remove_splay_tree_key for splay-tree key removal.
5741         (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
5742         gomp_decrement_refcount.
5743         (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
5744         local refcount_set if caller passed in NULL, adjust call to
5745         gomp_unmap_vars_internal.
5746         (gomp_unmap_vars_async): Adjust and rename into...
5747         (goacc_unmap_vars): ...this new function, adjust call to
5748         gomp_unmap_vars_internal.
5749         (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
5750         gomp_unmap_vars.
5751         (GOMP_target_ext): Likewise.
5752         (gomp_target_data_fallback): Adjust call to gomp_map_vars.
5753         (GOMP_target_data): Likewise.
5754         (GOMP_target_data_ext): Likewise.
5755         (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
5756         (gomp_exit_data): Add refcount_set parameter, adjust to use
5757         gomp_decrement_refcount, adjust to queue splay-tree keys for removal
5758         after main loop.
5759         (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
5760         gomp_map_vars and gomp_exit_data.
5761         (gomp_target_task_fn): Likewise.
5762         * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
5763         * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
5764         * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
5765         * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
5766         * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
5767         * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
5769 2021-06-15  Tobias Burnus  <tobias@codesourcery.com>
5771         PR fortran/92568
5772         * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
5774 2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
5775             Thomas Schwinge  <thomas@codesourcery.com>
5777         * libgomp.map (GOACC_2.0.2): New symbol version.
5778         * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
5779         * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
5781 2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
5782             Andrew Stubbs  <ams@codesourcery.com>
5784         * oacc-mem.c (goacc_enter_exit_data_internal): New function,
5785         extracted from...
5786         (GOACC_enter_exit_data): ... here.
5787         (GOACC_declare): Use it.
5789 2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
5791         * oacc-parallel.c (GOACC_declare): Move...
5792         * oacc-mem.c: ... here.
5793         * libgomp_g.h: Adjust.
5795 2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
5796             Thomas Schwinge  <thomas@codesourcery.com>
5798         * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
5799         handling.
5801 2021-06-10  Jakub Jelinek  <jakub@redhat.com>
5803         PR tree-optimization/100981
5804         * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
5805         dsdotr and dsdoti to 0.
5807 2021-06-09  H.J. Lu  <hjl.tools@gmail.com>
5809         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
5810         if atomic compare-and-swap is supported on 'int'.
5812 2021-06-09  Richard Biener  <rguenther@suse.de>
5814         PR tree-optimization/100981
5815         * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
5817 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5819         * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
5820         unconditionally.
5821         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5822         Update.
5823         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5824         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5826 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5828         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
5829         '-DACC_MEM_SHARED=0'.
5830         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5831         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5832         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5833         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5834         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5835         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5836         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5837         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5838         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5839         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5840         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5841         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5842         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5843         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5844         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
5845         'acc_device_radeon' testing.
5846         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5847         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5848         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5849         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
5850         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5851         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5852         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5853         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5854         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5855         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5856         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
5857         for non-'openacc_nvidia_accel_selected'.
5858         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5859         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
5860         all implement this checking".
5861         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5862         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5863         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5864         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5865         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5867 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5869         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
5870         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
5872 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5874         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
5875         for 'acc_device_radeon'.
5877 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5879         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
5880         for non-'acc_device_nvidia'.
5882 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5884         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
5885         'acc_device_radeon' testing.
5886         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5887         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5888         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5890 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5892         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
5893         require 'openacc_nvidia_accel_selected'.  Fix up for
5894         'ACC_DEVICE_TYPE_radeon'.
5896 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5898         * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
5899         'openacc_nvidia_accel_selected'.
5900         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
5902 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5904         * testsuite/lib/libgomp.exp
5905         (check_effective_target_openacc_radeon_accel_selected):
5906         Streamline.
5908 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5910         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
5911         PR80547 workaround.
5913 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5915         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5916         <acc_device_nvidia>: Update comment.
5918 2021-05-28  Tobias Burnus  <tobias@codesourcery.com>
5920         * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
5922 2021-05-27  Jakub Jelinek  <jakub@redhat.com>
5924         * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
5925         check_effective_target_openacc_cublas,
5926         check_effective_target_openacc_cudart): New.
5927         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
5928         target openacc_cublas.
5929         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5930         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5931         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
5932         target openacc_cuda.
5933         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
5934         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
5935         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
5936         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
5937         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
5938         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
5939         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
5940         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5941         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
5942         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5943         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
5944         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5945         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
5946         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
5947         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
5948         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5949         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
5950         targets openacc_cublas and openacc_cudart.
5951         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5952         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5953         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5954         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5955         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
5956         Require effective target openacc_cudart.
5957         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
5958         for effective target openacc_cuda and add && defined USE_CUDA_H to
5959         preprocessor conditionals.  Guard -lcuda also on openacc_cuda
5960         effective target.
5962 2021-05-26  Jakub Jelinek  <jakub@redhat.com>
5964         PR libgomp/100573
5965         * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
5966         GOMP_target_end_data, GOMP_target_update_ext,
5967         GOMP_target_enter_exit_data): New dummy entrypoints.
5968         * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
5969         GOMP_target_end_data, GOMP_target_update_ext,
5970         GOMP_target_enter_exit_data): Likewise.
5971         * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
5972         OMPFROM, OMPTO): Define.
5973         (main): Remove #pragma omp target teams around all the tests.
5974         * testsuite/libgomp.c-c++-common/target-41.c: New test.
5975         * testsuite/libgomp.c-c++-common/target-42.c: New test.
5977 2021-05-25  Jakub Jelinek  <jakub@redhat.com>
5979         PR middle-end/99928
5980         * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
5982 2021-05-24  Tobias Burnus  <tobias@codesourcery.com>
5984         PR fortran/86470
5985         * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
5986         * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
5987         * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
5989 2021-05-22  Thomas Schwinge  <thomas@codesourcery.com>
5991         PR testsuite/90115
5992         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
5993         uninteresting/varying diagnostics.
5995 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
5997         PR middle-end/90115
5998         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
5999         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
6001 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
6003         PR middle-end/90115
6004         * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
6005         file.
6006         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6007         * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
6008         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6009         Likewise.
6010         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
6011         Likewise.
6012         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
6013         Likewise.
6014         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
6015         Likewise.
6016         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
6017         Likewise.
6018         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
6019         Likewise.
6020         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
6021         Likewise.
6022         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
6023         Likewise.
6024         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
6025         Likewise.
6026         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
6027         Likewise.
6028         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
6029         Likewise.
6030         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
6031         Likewise.
6032         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
6033         Likewise.
6034         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
6035         Likewise.
6036         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
6037         Likewise.
6038         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
6039         Likewise.
6040         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
6041         Likewise.
6042         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
6043         Likewise.
6044         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
6045         Likewise.
6046         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
6047         Likewise.
6048         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
6049         Likewise.
6050         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6051         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6052         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6053         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
6054         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6055         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6056         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6057         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6058         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6059         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6060         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6061         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6062         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6063         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6064         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6065         Likewise.
6066         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
6067         Likewise.
6068         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
6069         Likewise.
6070         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6071         Likewise.
6072         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6073         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6074         Likewise.
6075         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6076         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6077         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6078         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6079         * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
6080         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6081         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6082         Likewise.
6083         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6084         Likewise.
6085         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6086         Likewise.
6087         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6088         Likewise.
6089         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
6090         Likewise.
6091         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
6092         Likewise.
6093         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
6094         Likewise.
6095         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
6096         Likewise.
6097         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
6098         Likewise.
6099         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6100         Likewise.
6101         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6102         Likewise.
6103         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6104         Likewise.
6105         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6106         Likewise.
6107         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6108         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6109         * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6110         Likewise.
6111         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6112         Likewise.
6113         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6114         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
6115         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6117 2021-05-21  Julian Brown  <julian@codesourcery.com>
6118             Chung-Lin Tang  <cltang@codesourcery.com>
6119             Thomas Schwinge  <thomas@codesourcery.com>
6121         PR middle-end/90115
6122         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
6123         test.
6124         * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6125         Likewise.
6126         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6127         Likewise.
6129 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
6131         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
6132         for nvptx offloading.
6134 2021-05-21  Tobias Burnus  <tobias@codesourcery.com>
6136         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
6138 2021-05-19  Thomas Schwinge  <thomas@codesourcery.com>
6140         PR target/83812
6141         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
6143 2021-05-19  Julian Brown  <julian@codesourcery.com>
6145         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
6147 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
6149         * testsuite/lib/libgomp.exp
6150         (check_effective_target_offload_target_nvptx): Don't shadow global
6151         'offload_targets' variable.
6153 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
6155         * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
6156         '-latomic' to nvptx offloading compilation.
6157         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6159 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
6161         * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
6162         offloading compilation.
6164 2021-05-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
6166         * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
6167         if new tasks generated.
6168         * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
6170 2021-05-14  Tobias Burnus  <tobias@codesourcery.com>
6172         * testsuite/libgomp.fortran/parallel-master.f90: New test.
6174 2021-05-13  Martin Liska  <mliska@suse.cz>
6176         PR testsuite/100569
6177         * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
6178         * testsuite/libgomp.c/pr46032-2.c: Likewise.
6179         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
6180         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
6182 2021-05-12  Tobias Burnus  <tobias@codesourcery.com>
6184         * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
6185         * testsuite/libgomp.fortran/task-detach-12.f90: New test.
6187 2021-05-11  Jakub Jelinek  <jakub@redhat.com>
6189         PR middle-end/100471
6190         * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
6191         GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
6192         reduction pointer.
6193         * testsuite/libgomp.c/task-reduction-4.c: New test.
6195 2021-05-07  Tobias Burnus  <tobias@codesourcery.com>
6196             Tom de Vries  <tdevries@suse.de>
6198         * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
6199         complex/floating-point || + && reduction with 'omp target'.
6200         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6202 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
6204         * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
6205         * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
6206         * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
6207         * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
6209 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
6211         PR testsuite/100397
6212         * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
6213         declaration to scope of non-'depend'-guarded assignment to avoid races.
6215 2021-05-03  Tom de Vries  <tdevries@suse.de>
6217         PR target/100321
6218         * testsuite/libgomp.c/target-44.c: New test.
6220 2021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
6222         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
6224 2021-04-29  Tom de Vries  <tdevries@suse.de>
6226         * testsuite/libgomp.c/pr81778.c: New test.
6228 2021-04-29  Tom de Vries  <tdevries@suse.de>
6230         PR target/100232
6231         * testsuite/libgomp.c/target-43.c: New file.
6233 2021-04-28  Jakub Jelinek  <jakub@redhat.com>
6234             Tobias Burnus  <tobias@codesourcery.com>
6236         * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
6237         * target.c (gomp_load_plugin_for_device): If set and if a plugin
6238         can't be dlopened, silently assume it has no devices.
6239         * Makefile.in: Regenerate.
6240         * config.h.in: Regenerate.
6241         * configure: Regenerate.
6243 2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
6245         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6246         Use [Ww]arning in dg-bogus as FE diagnostic and default
6247         diagnostic differ and the result depends on ENABLE_OFFLOAD.
6248         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6249         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6250         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6252 2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
6254         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6255         Correct spelling in dg-bogus to match -Wopenacc-parallelism.
6256         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6257         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6258         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6260 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
6261             Nathan Sidwell  <nathan@codesourcery.com>
6262             Tom de Vries  <vries@codesourcery.com>
6263             Julian Brown  <julian@codesourcery.com>
6264             Kwok Cheung Yeung  <kcy@codesourcery.com>
6266         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
6267         '-Wopenacc-parallelism', and match diagnostics, as appropriate.
6268         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6269         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6270         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6271         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6272         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
6273         Likewise.
6274         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6275         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6276         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6277         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6278         Likewise.
6279         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6280         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6281         Likewise.
6282         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6283         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6284         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6285         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6286         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6287         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6288         Likewise.
6289         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6290         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6291         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6292         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6293         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6294         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6295         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6296         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6297         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6298         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6299         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6301 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
6303         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
6304         compile with '-w'.
6305         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6306         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6307         Likewise.
6308         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6309         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
6310         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6311         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6312         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6313         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6314         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6316 2021-04-22  Richard Biener  <rguenther@suse.de>
6318         * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
6319         only on nvptx-none.
6321 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
6323         * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
6324         omp_depend_kind instead of defining it as 16.
6326 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
6328         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
6329         New, based on check_effective_target_offload_target_nvptx.
6330         (check_effective_target_offload_target_nvptx): Call it.
6331         (check_effective_target_offload_target_amdgcn): New.
6332         * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
6333         Require target offload_target_nvptx || offload_target_amdgcn.
6334         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
6335         * testsuite/libgomp.c/pr86416-1.c: Likewise.
6336         * testsuite/libgomp.c/pr86416-2.c: Likewise.
6338 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
6340         * testsuite/libgomp.fortran/depobj-1.f90: New test.
6342 2021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
6344         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6345         '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
6346         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6347         Likewise.
6348         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6349         Likewise.
6350         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6352 2021-04-15  Thomas Schwinge  <thomas@codesourcery.com>
6354         PR target/99555
6355         * testsuite/lib/libgomp.exp
6356         (check_effective_target_offload_device_nvptx): New.
6357         * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
6358         resolved, make sure that we exit quickly, with error status,
6359         XFAILed.
6360         * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
6361         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6363 2021-04-14  Jakub Jelinek  <jakub@redhat.com>
6365         PR testsuite/100071
6366         * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
6367         cp = omp_alloc with cp, p arguments instead of cq, q and call
6368         c_f_pointer after last cq = omp_alloc with cq, q.
6370 2021-04-11  Hafiz Abid Qadeer  <abidh@codesourcery.com>
6372         PR middle-end/98088
6373         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
6374         for loop with GT/GE condition.
6375         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6377 2021-04-09  Thomas Schwinge  <thomas@codesourcery.com>
6379         PR middle-end/84991
6380         PR middle-end/84992
6381         PR middle-end/90779
6382         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
6384 2021-04-09  Jakub Jelinek  <jakub@redhat.com>
6386         PR libgomp/99984
6387         * team.c (gomp_thread_start): Call pthread_setspecific for
6388         !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
6389         has been initialized to avoid false positive warning.
6391 2021-03-29  Tobias Burnus  <tobias@codesourcery.com>
6393         PR target/99555
6394         * testsuite/lib/on_device_arch.c: Move to ...
6395         * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
6396         * testsuite/libgomp.fortran/on_device_arch.c: New file;
6397         #include on_device_arch.h.
6398         * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
6399         on_device_arch.h instead of using dg-additional-source.
6400         * testsuite/libgomp.c/pr99555-1.c: Likewise.
6401         * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
6402         on_device_arch.c without relative paths.
6404 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
6406         * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
6407         the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
6408         * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
6409         * config.h.in: Regenerate.
6410         * configure: Likewise.
6412 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
6414         PR target/99555
6415         * testsuite/lib/on_device_arch.c: New file.
6416         * testsuite/libgomp.c/pr99555-1.c: Likewise.
6417         * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
6418         skip for nvptx offloading, with error status.
6419         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6421 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
6423         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
6424         OpenACC 'serial' construct diagnostic for nvptx offloading.
6426 2021-03-15  Tobias Burnus  <tobias@codesourcery.com>
6428         PR c++/99509
6429         * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
6431 2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
6433         PR fortran/98858
6434         * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
6436 2021-03-04  Jakub Jelinek  <jakub@redhat.com>
6438         * configure.ac: Add AC_CHECK_SIZEOF([void *]).
6439         * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
6440         checking of -m32 or -mx32 options on the command line.
6441         * config.h.in: Regenerated.
6442         * configure: Regenerated.
6444 2021-02-27  Iain Sandoe  <iain@sandoe.co.uk>
6446         * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
6447         support from the target.
6449 2021-02-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
6450             Jakub Jelinek  <jakub@redhat.com>
6452         PR libgomp/98738
6453         * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
6454         (struct gomp_task): Replace detach and completion_sem fields with
6455         union containing completion_sem and detach_team.  Add deferred_p
6456         field.
6457         (struct gomp_team): Remove task_detach_queue.
6458         * task.c: Include assert.h.
6459         (gomp_init_task): Initialize deferred_p and completion_sem fields.
6460         Rearrange initialization order of fields.
6461         (task_fulfilled_p): Delete.
6462         (GOMP_task): Use address of task as the event handle.  Remove
6463         initialization of detach field.  Initialize deferred_p field.
6464         Use automatic local for completion_sem.  Initialize detach_team field
6465         for deferred tasks.
6466         (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
6467         Set kind of suspended detach task to GOMP_TASK_DETACHED and
6468         decrement task_running_count.  Move finish_cancelled block out of
6469         else branch.  Relocate call to gomp_team_barrier_done.
6470         (GOMP_taskwait): Handle tasks with completion events that have not
6471         been fulfilled.
6472         (GOMP_taskgroup_end): Likewise.
6473         (omp_fulfill_event): Use address of task as event handle.  Post to
6474         completion_sem for undeferred tasks.  Clear detach_team if task
6475         has not finished.  For finished tasks, handle post-execution tasks,
6476         call gomp_team_barrier_wake if necessary, and free task.
6477         * team.c (gomp_new_team): Remove initialization of task_detach_queue.
6478         (free_team): Remove free of task_detach_queue.
6479         * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
6480         * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
6481         * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
6482         * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
6483         * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
6484         Change data-sharing of detach events on enclosing parallel to private.
6485         * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.  Remove
6486         taskwait directive.
6487         * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
6488         * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
6489         * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
6490         * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
6491         * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
6492         * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
6493         * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
6494         * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
6495         * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
6496         * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
6497         Change data-sharing of detach events on enclosing parallel to private.
6498         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.  Remove
6499         taskwait directive.
6500         * testsuite/libgomp.fortran/task-detach-7.f90: New.
6501         * testsuite/libgomp.fortran/task-detach-8.f90: New.
6502         * testsuite/libgomp.fortran/task-detach-9.f90: New.
6503         * testsuite/libgomp.fortran/task-detach-10.f90: New.
6504         * testsuite/libgomp.fortran/task-detach-11.f90: New.
6506 2021-02-22  Tobias Burnus  <tobias@codesourcery.com>
6508         PR fortran/99171
6509         * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
6511 2021-02-17  Julian Brown  <julian@codesourcery.com>
6513         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
6514         expected errors.
6516 2021-02-17  Julian Brown  <julian@codesourcery.com>
6518         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
6519         * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
6521 2021-02-11  UroÅ¡ Bizjak  <ubizjak@gmail.com>
6523         * config/linux/x86/futex.h (__futex_wait):
6524         Revert output type back to long.
6525         (__futex_wake): Ditto.
6526         (futex_wait): Update for revert.
6527         (futex_wake): Ditto.
6529 2021-02-11  UroÅ¡ Bizjak  <ubizjak@gmail.com>
6531         * config/linux/x86/futex.h (__futex_wait): New static inline
6532         wrapper function.  Correct output type to int and
6533         timeout type to void *.
6534         (__futex_wake): New static inline wrapper function.
6535         Correct output type to int.
6536         (futex_wait): Use __futex_wait.
6537         (futex_wake): Use __futex_wake.
6539 2021-02-10  Julian Brown  <julian@codesourcery.com>
6541         PR fortran/98979
6542         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
6543         errors.
6545 2021-02-04  Julian Brown  <julian@codesourcery.com>
6547         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
6549 2021-02-03  Andrew Stubbs  <ams@codesourcery.com>
6551         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
6552         EF_AMDGPU_MACH_AMDGCN_GFX908.
6553         (gcn_gfx908_s): New constant string.
6554         (isa_hsa_name): Add gfx908.
6555         (isa_code): Add gfx908.
6557 2021-01-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
6559         * libgomp.texi (omp_fulfill_event): New entry.
6561 2021-01-20  Jakub Jelinek  <jakub@redhat.com>
6563         * task.c (GOMP_task): Rename priority argument to priority_arg,
6564         add priority automatic variable and modify that variable.  Instead of
6565         clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
6566         check flags for that bit.
6568 2021-01-19  Tobias Burnus  <tobias@codesourcery.com>
6570         PR fortran/98476
6571         * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
6573 2021-01-18  Andreas Schwab  <schwab@suse.de>
6575         * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
6577 2021-01-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6579         * config/rtems/sem.h (gomp_sem_getcount): New function.
6581 2021-01-18  Jakub Jelinek  <jakub@redhat.com>
6583         * config/linux/sem.h (gomp_sem_getcount): New function.
6584         * config/posix/sem.h (gomp_sem_getcount): New function.
6585         * config/posix/sem.c (gomp_sem_getcount): New function.
6586         * config/accel/sem.h (gomp_sem_getcount): New function.
6587         * task.c (task_fulfilled_p): Use gomp_sem_getcount.
6588         (omp_fulfill_event): Likewise.
6590 2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
6592         * fortran.c (omp_fulfill_event_): New.
6593         * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
6594         (struct gomp_team): Add task_detach_queue and task_detach_count
6595         fields.
6596         * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
6597         * libgomp_g.h (GOMP_task): Add extra argument.
6598         * omp.h.in (enum omp_event_handle_t): New.
6599         (omp_fulfill_event): New.
6600         * omp_lib.f90.in (omp_event_handle_kind): New.
6601         (omp_fulfill_event): New.
6602         * omp_lib.h.in (omp_event_handle_kind): New.
6603         (omp_fulfill_event): Declare.
6604         * priority_queue.c (priority_tree_find): New.
6605         (priority_list_find): New.
6606         (priority_queue_find): New.
6607         * priority_queue.h (priority_queue_predicate): New.
6608         (priority_queue_find): New.
6609         * task.c (gomp_init_task): Initialize detach field.
6610         (task_fulfilled_p): New.
6611         (GOMP_task): Add detach argument.  Ignore detach argument if
6612         GOMP_TASK_FLAG_DETACH not set in flags.  Initialize completion_sem
6613         field.  Copy address of completion_sem into detach argument and
6614         into the start of the data record.  Wait for detach event if task
6615         not deferred.
6616         (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
6617         Remove completed tasks and requeue dependent tasks.
6618         (omp_fulfill_event): New.
6619         * team.c (gomp_new_team): Initialize task_detach_queue and
6620         task_detach_count fields.
6621         (free_team): Free task_detach_queue field.
6622         * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
6623         * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
6624         * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
6625         * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
6626         * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
6627         * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
6628         * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
6629         * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
6630         * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
6631         * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
6632         * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
6633         * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
6635 2021-01-15  Jakub Jelinek  <jakub@redhat.com>
6637         PR target/70454
6638         * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
6639         be added through preprocessor check on
6640         __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
6642 2021-01-14  Thomas Schwinge  <thomas@codesourcery.com>
6644         PR libgomp/65099
6645         * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
6646         configurations.
6647         * configure: Regenerate.
6648         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
6649         check.
6651 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
6653         * configure: Re-generate.
6655 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
6657         * configure: Re-generate.
6659 2021-01-05  Julian Brown  <julian@codesourcery.com>
6661         * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
6662         (struct ptx_device): Add omp_stacks struct.
6663         (nvptx_open_device): Initialise cached-stacks housekeeping info.
6664         (nvptx_close_device): Free cached stacks block and mutex.
6665         (nvptx_stacks_free): New function.
6666         (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
6667         (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
6668         (nvptx_stacks_alloc): Rename to...
6669         (nvptx_stacks_acquire): This.  Cache stacks block between runs if same
6670         size or smaller is required.
6671         (nvptx_stacks_free): Remove.
6672         (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
6673         during kernel execution.
6675 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
6677         * libgomp.texi: Bump @copying's copyright year.
6679 2020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
6681         * libgomp.texi (Top): Avoid bad "up" link.
6683 2020-12-18  Jakub Jelinek  <jakub@redhat.com>
6685         * testsuite/libgomp.c/task-6.c: New test.
6687 2020-12-09  Andrew Stubbs  <ams@codesourcery.com>
6689         * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
6690         (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
6692 2020-12-08  Tobias Burnus  <tobias@codesourcery.com>
6694         * testsuite/libgomp.fortran/scan-1.f90: New test.
6696 2020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
6698         PR target/97865
6699         * configure: Regenerate.
6701 2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
6703         * configure: Regenerate.
6705 2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
6707         * testsuite/libgomp.oacc-c++/cache-1.C: New.
6708         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
6710 2020-11-25  Andrew Stubbs  <ams@codesourcery.com>
6712         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
6713         expected results.
6715 2020-11-24  Andrew Stubbs  <ams@codesourcery.com>
6717         * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
6718         (reserved): Delete unused define.
6720 2020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
6722         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
6723         Tcl 8.5-specific behavior.
6724         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6726 2020-11-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
6728         * env.c (gomp_global_icv): Remove nest_var field.  Add
6729         max_active_levels_var field.
6730         (gomp_max_active_levels_var): Remove.
6731         (parse_boolean): Return true on success.
6732         (handle_omp_display_env): Express OMP_NESTED in terms of
6733         max_active_levels_var.  Change format specifier for
6734         max_active_levels_var.
6735         (initialize_env): Set max_active_levels_var from
6736         OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
6737         OMP_PROC_BIND.
6738         * icv.c (omp_set_nested): Express in terms of
6739         max_active_levels_var.
6740         (omp_get_nested): Likewise.
6741         (omp_set_max_active_levels): Use max_active_levels_var field instead
6742         of gomp_max_active_levels_var.
6743         (omp_get_max_active_levels): Likewise.
6744         * libgomp.h (struct gomp_task_icv): Remove nest_var field.  Add
6745         max_active_levels_var field.
6746         (gomp_supported_active_levels): Set to UCHAR_MAX.
6747         (gomp_max_active_levels_var): Delete.
6748         * libgomp.texi (omp_get_nested): Update documentation.
6749         (omp_set_nested): Likewise.
6750         (OMP_MAX_ACTIVE_LEVELS): Likewise.
6751         (OMP_NESTED): Likewise.
6752         (OMP_NUM_THREADS): Likewise.
6753         (OMP_PROC_BIND): Likewise.
6754         * parallel.c (gomp_resolve_num_threads): Replace reference
6755         to nest_var with max_active_levels_var.  Use max_active_levels_var
6756         field instead of gomp_max_active_levels_var.
6758 2020-11-18  Tobias Burnus  <tobias@codesourcery.com>
6760         * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
6761         nvptx_usleep; use also for device={arch(gcn)}.
6763 2020-11-14  Jakub Jelinek  <jakub@redhat.com>
6765         * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
6766         (foo): Add tests for non-VLA private and firstprivate clauses on
6767         omp task.
6768         (bar): Likewise.  Remove taking of address from private/firstprivate
6769         variables.
6770         * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
6771         (foo): Add p, q, px and s arguments.  Add tests for array reductions
6772         and for non-VLA private and firstprivate clauses on omp task.
6773         (bar): Removed.
6774         (main): Adjust foo caller.  Don't call bar.
6776 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
6777             Thomas Schwinge  <thomas@codesourcery.com>
6779         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6780         New.
6781         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6782         Likewise.
6783         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6784         Likewise.
6785         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
6786         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6788 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
6789             Thomas Schwinge  <thomas@codesourcery.com>
6791         PR fortran/94358
6792         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
6794 2020-11-13  Jakub Jelinek  <jakub@redhat.com>
6796         * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
6797         for array reductions.
6798         (main): Adjust foo callers.
6800 2020-11-12  Jakub Jelinek  <jakub@redhat.com>
6802         * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
6803         * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
6804         * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6805         * allocator.c (omp_aligned_alloc): New for now static function,
6806         add alignment argument and handle it.
6807         (omp_alloc): Reimplement using omp_aligned_alloc.
6808         (GOMP_alloc, GOMP_free): New functions.
6809         (omp_free): Add ialias.
6810         * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
6811         * testsuite/libgomp.c++/allocate-1.C: New test.
6813 2020-11-12  Thomas Schwinge  <thomas@codesourcery.com>
6815         PR fortran/97782
6816         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
6818 2020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
6820         * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
6821         usable.
6822         * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
6823         'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
6824         (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
6825         (goacc_enter_data_internal): Likewise.
6826         * target.c (gomp_map_vars_internal):
6827         Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
6828         of gomp_attach_pointer for OpenMP cases.
6829         (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
6830         (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
6831         * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
6833 2020-11-05  Ulrich Drepper  <drepper@redhat.com>
6834             Kwok Cheung Yeung  <kcy@codesourcery.com>
6836         * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
6837         * Makefile.in: Regenerate.
6838         * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
6839         pragmas to ignore -Wdeprecated-declarations warnings.
6840         * icv.c: Likewise.
6841         * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
6842         Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
6843         and omp_get_nested with __GOMP_DEPRECATED_5_0.
6844         * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
6845         deprecated.
6846         * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
6847         to test options.
6848         * testsuite/libgomp.c/affinity-1.c: Likewise.
6849         * testsuite/libgomp.c/affinity-2.c: Likewise.
6850         * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
6851         * testsuite/libgomp.c/lib-1.c: Likewise.
6852         * testsuite/libgomp.c/nested-1.c: Likewise.
6853         * testsuite/libgomp.c/nested-2.c: Likewise.
6854         * testsuite/libgomp.c/nested-3.c: Likewise.
6855         * testsuite/libgomp.c/pr32362-1.c: Likewise.
6856         * testsuite/libgomp.c/pr32362-2.c: Likewise.
6857         * testsuite/libgomp.c/pr32362-3.c: Likewise.
6858         * testsuite/libgomp.c/pr35549.c: Likewise.
6859         * testsuite/libgomp.c/pr42942.c: Likewise.
6860         * testsuite/libgomp.c/pr61200.c: Likewise.
6861         * testsuite/libgomp.c/sort-1.c: Likewise.
6862         * testsuite/libgomp.c/target-5.c: Likewise.
6863         * testsuite/libgomp.c/target-6.c: Likewise.
6864         * testsuite/libgomp.c/teams-1.c: Likewise.
6865         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6866         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6867         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
6868         * testsuite/libgomp.fortran/affinity1.f90: Likewise.
6869         * testsuite/libgomp.fortran/lib1.f90: Likewise.
6870         * testsuite/libgomp.fortran/lib2.f: Likewise.
6871         * testsuite/libgomp.fortran/nested1.f90: Likewise.
6872         * testsuite/libgomp.fortran/teams1.f90: Likewise.
6874 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
6876         PR target/85486
6877         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
6878         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
6879         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
6881 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
6883         PR testsuite/80219
6884         PR testsuite/85303
6885         * testsuite/lib/libgomp.exp (libgomp_init): Set
6886         'gcc_warning_prefix', 'gcc_error_prefix'.
6888 2020-10-30  Jakub Jelinek  <jakub@redhat.com>
6890         * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
6891         even in field_tgt_clear initializer.
6893 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
6895         * testsuite/libgomp.c/target-42.c: New test.
6897 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
6898             Tom de Vries  <tdevries@suse.de>
6900         PR testsuite/81690
6901         * testsuite/libgomp.c/usleep.h: New file.
6902         * testsuite/libgomp.c/target-32.c: Include usleep.h.
6903         (main): Use tgt_usleep instead of usleep.
6904         * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
6905         (main): Use tgt_usleep instead of usleep.
6907 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
6909         PR lto/96680
6910         * testsuite/libgomp.c/declare-variant-1.c: New test.
6912 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
6914         * testsuite/libgomp.c/target-41.c: New test.
6916 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
6918         * icv.c (omp_get_initial_device): Remove including corresponding
6919         ialias.
6920         * icv-device.c (omp_get_initial_device): New function.  Return
6921         gomp_get_num_devices ().  Add ialias.
6922         * target.c (resolve_device): Don't fail with
6923         OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
6924         gomp_get_num_devices ().
6925         (omp_target_alloc, omp_target_free, omp_target_is_present,
6926         omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
6927         omp_target_disassociate_ptr, omp_pause_resource): Use
6928         gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
6929         first use in the functions, in uses dominated by the
6930         gomp_get_num_devices call use num_devices_openmp instead.
6931         * libgomp.texi (omp_get_initial_device): Document.
6932         * config/gcn/icv-device.c (omp_get_initial_device): New function.
6933         Add ialias.
6934         * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
6935         * testsuite/libgomp.c/target-40.c: New test.
6937 2020-10-21  Jakub Jelinek  <jakub@redhat.com>
6939         * env.c (parse_target_offload): Change new_offload var type to int,
6940         preinitialize to -1, remove found var and test new_offload != -1
6941         instead of found.
6943 2020-10-20  Jakub Jelinek  <jakub@redhat.com>
6945         * target.c (gomp_target_init): Inside of the function, use automatic
6946         variables corresponding to num_devices, num_devices_openmp and devices
6947         global variables and update the globals only at the end of the
6948         function.
6950 2020-10-20  Kwok Cheung Yeung  <kcy@codesourcery.com>
6952         * env.c (gomp_target_offload_var): New.
6953         (parse_target_offload): New.
6954         (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
6955         (initialize_env): Parse OMP_TARGET_OFFLOAD.
6956         * libgomp.h (gomp_target_offload_t): New.
6957         (gomp_target_offload_var): New.
6958         * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
6959         * target.c (resolve_device): Generate error if device not found and
6960         offloading is mandatory.
6961         (gomp_target_fallback): Generate error if offloading is mandatory.
6962         (GOMP_target): Add argument in call to gomp_target_fallback.
6963         (GOMP_target_ext): Likewise.
6964         (gomp_target_data_fallback): Generate error if offloading is mandatory.
6965         (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
6966         (GOMP_target_data_ext): Likewise.
6967         (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
6968         (gomp_target_init): Return early if offloading is disabled.
6970 2020-10-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
6972         * libgomp.texi (omp_get_max_active_levels): Modify description.
6973         (omp_get_supported_active_levels): Make descriptions consistent.
6975 2020-10-14  Jakub Jelinek  <jakub@redhat.com>
6977         * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
6979 2020-10-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
6981         * env.c (gomp_max_active_levels_var): Initialize to
6982         gomp_supported_active_levels.
6983         (initialize_env): Limit gomp_max_active_levels_var to be at most
6984         equal to gomp_supported_active_levels.
6985         * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
6986         (omp_get_supported_active_levels_): New.
6987         * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
6988         to at most equal to gomp_supported_active_levels.
6989         (omp_get_supported_active_levels): New.
6990         * libgomp.h (gomp_supported_active_levels): New.
6991         * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
6992         omp_get_supported_active_levels_.
6993         * libgomp.texi (omp_get_supported_active_levels): New.
6994         (omp_set_max_active_levels): Update.  Add reference to
6995         omp_get_supported_active_levels.
6996         * omp.h.in (omp_get_supported_active_levels): New.
6997         * omp_lib.f90.in (omp_get_supported_active_levels): New.
6998         * omp_lib.h.in (omp_get_supported_active_levels): New.
6999         * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
7000         against omp_get_supported_active_levels.
7001         * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
7003 2020-10-11  Clement Chigot  <clement.chigot@atos.net>
7005         * config/t-aix: Delete and recreate libgomp before creating
7006         FAT library.
7008 2020-10-08  Tom de Vries  <tdevries@suse.de>
7010         PR libgomp/81802
7011         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
7012         dimensions.
7014 2020-10-06  Tom de Vries  <tdevries@suse.de>
7016         * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
7018 2020-10-06  Tom de Vries  <tdevries@suse.de>
7020         PR middle-end/90861
7021         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
7023 2020-10-05  Tom de Vries  <tdevries@suse.de>
7025         PR fortran/95654
7026         * testsuite/libgomp.fortran/pr95654.f90: New test.
7028 2020-10-02  Tobias Burnus  <tobias@codesourcery.com>
7030         * Makefile.in: Regenerate with automake 1.15.1.
7031         * aclocal.m4: Likewise.
7032         * configure: Likewise.
7033         * testsuite/Makefile.in: Likewise.
7035 2020-09-30  Andrew Stubbs  <ams@codesourcery.com>
7037         * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
7038         and amdgcn targets.
7040 2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
7042         * testsuite/libgomp.fortran/declare-target-3.f90: New test.
7044 2020-09-29  Andrew Stubbs  <ams@codesourcery.com>
7046         * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
7047         total number of threads is one.
7048         (gomp_team_barrier_wake): Likewise.
7049         (gomp_team_barrier_wait_end): Likewise.
7050         (gomp_team_barrier_wait_cancel_end): Likewise.
7051         * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
7052         (gomp_team_barrier_wake): Likewise.
7053         (gomp_team_barrier_wait_end): Likewise.
7054         (gomp_team_barrier_wait_cancel_end): Likewise.
7055         * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
7057 2020-09-28  Tobias Burnus  <tobias@codesourcery.com>
7059         PR middle-end/96390
7060         * testsuite/libgomp.c++/pr96390.C: New test.
7061         * testsuite/libgomp.c-c++-common/pr96390.c: New test.
7063 2020-09-27  Clement Chigot  <clement.chigot@atos.net>
7065         * config/t-aix: Use $(AR) without -X32_64.
7067 2020-09-25  Jakub Jelinek  <jakub@redhat.com>
7069         * testsuite/libgomp.c/loop-25.c: New test.
7071 2020-09-22  Tobias Burnus  <tobias@codesourcery.com>
7073         PR fortran/95654
7074         * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
7076 2020-09-22  Tom de Vries  <tdevries@suse.de>
7078         * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
7079         fails.
7081 2020-09-16  Nathan Sidwell  <nathan@acm.org>
7083         * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
7085 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
7087         PR fortran/96668
7088         * target.c (gomp_map_vars_internal): Initialize has_nullptr.
7090 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
7092         PR fortran/96668
7093         * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
7094         * target.c (gomp_map_vars_existing): Add always_to_flag flag.
7095         (gomp_map_vars_existing): Update call to it.
7096         (gomp_map_fields_existing): Likewise
7097         (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
7098         now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
7099         remapped.
7100         (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
7101         GOMP_MAP_POINTER.
7102         * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
7103         * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
7105 2020-09-14  Tom de Vries  <tdevries@suse.de>
7107         * config/nvptx/atomic.c: New file.  Add
7108         __sync_val_compare_and_swap_16.
7109         * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
7110         target offload_target_nvptx.
7112 2020-09-08  Julian Brown  <julian@codesourcery.com>
7114         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
7115         iteration-ordering assumptions.
7117 2020-09-08  Julian Brown  <julian@codesourcery.com>
7119         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
7120         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7122 2020-08-20  Chung-Lin Tang  <cltang@codesourcery.com>
7124         * plugin/plugin-nvptx.c (nvptx_free):
7125         Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
7126         CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
7127         comments.
7129 2020-08-20  Tobias Burnus  <tobias@codesourcery.com>
7131         * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
7133 2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
7135         * testsuite/libgomp.c-c++-common/reduction-16.c: New.
7137 2020-08-13  Jakub Jelinek  <jakub@redhat.com>
7139         * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
7140         * testsuite/libgomp.c/loop-23.c (main): Likewise.
7141         * testsuite/libgomp.c/loop-24.c: New test.
7143 2020-08-08  Jakub Jelinek  <jakub@redhat.com>
7144             Tobias Burnus  <tobias@codesourcery.com>
7146         PR fortran/93553
7147         * testsuite/libgomp.fortran/pr93553.f90: New test.
7149 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
7151         * testsuite/libgomp.c/loop-22.c: New test.
7152         * testsuite/libgomp.c/loop-23.c: New test.
7154 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
7156         PR middle-end/96459
7157         * testsuite/libgomp.c/teams-3.c: New test.
7158         * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
7159         if not defined yet.
7160         (N(test)): Use it before all N(f*) calls.
7161         * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
7162         (main): Don't call all test_* functions from within
7163         #pragma omp teams reduction(|:err), call them directly.
7165 2020-08-04  Tom de Vries  <tdevries@suse.de>
7167         PR target/96428
7168         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
7169         * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
7171 2020-08-03  Julian Brown  <julian@codesourcery.com>
7172             Thomas Schwinge  <thomas@codesourcery.com>
7174         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
7175         shared-memory devices.  Extend with further checking.
7177 2020-08-03  Martin Jambor  <mjambor@suse.cz>
7179         * plugin/Makefrag.am: Remove configuration of HSA plugin.
7180         * aclocal.m4: Regenerated.
7181         * Makefile.in: Regenerated.
7182         * config.h.in: Regenerated.
7183         * configure: Regenerated.
7184         * plugin/configfrag.ac: Likewise.
7185         * plugin/hsa_ext_finalize.h: Removed.
7186         * plugin/plugin-hsa.c: Likewise.
7187         * testsuite/Makefile.in: Regenerated.
7188         * testsuite/lib/libgomp.exp
7189         (offload_target_to_openacc_device_type): Remove hsa case.
7190         (check_effective_target_hsa_offloading_selected_nocache): Removed
7191         (check_effective_target_hsa_offloading_selected): Likewise.
7192         (libgomp_init): Do not add -Wno-hsa to additional_flags.
7193         * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
7194         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
7195         * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
7196         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
7197         * testsuite/libgomp.hsa.c/c.exp: Likewise.
7198         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
7199         * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
7200         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7201         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7202         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7203         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7204         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7205         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7206         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7207         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7208         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7209         * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
7210         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7211         * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
7212         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7213         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7214         * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
7215         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
7216         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7218 2020-07-27  Julian Brown  <julian@codesourcery.com>
7219             Thomas Schwinge  <thomas@codesourcery.com>
7221         * libgomp.h (struct target_var_desc): Rename do_detach field to
7222         is_attach.
7223         * oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
7224         GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
7225         (goacc_enter_data_internal): Don't affect reference counts
7226         for attach mappings.
7227         (goacc_exit_data_internal): Don't affect reference counts for detach
7228         mappings.
7229         * target.c (gomp_map_vars_existing): Don't affect reference counts for
7230         attach mappings.
7231         (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
7232         mark attach mappings.
7233         (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
7234         reference count for attach mappings.
7235         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
7236         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7237         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7238         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
7239         test as shouldfail.
7240         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
7241         gracefully in no-finalize mode.
7242         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
7244 2020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
7246         * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
7247         use.
7248         * testsuite/libgomp.oacc-c/c.exp: Likewise.
7249         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7251 2020-07-23  Julian Brown  <julian@codesourcery.com>
7252             Thomas Schwinge  <thomas@codesourcery.com>
7254         * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
7255         finalization for detach operation.
7256         * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
7257         New test.
7259 2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
7261         * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
7262         * libgomp_f.h.in (omp_check_defines): Check whether
7263         sizeof of determined Fortran kind and C typedef match.
7264         * omp_lib.f90.in: Add omp_depened_kind.
7265         * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
7266         * configure: Regenerate.
7267         * Makefile.in: Regenerate.
7268         * testsuite/Makefile.in: Regenerate.
7270 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
7272         * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
7273         gcc/testsuite/c-c++-common/gomp/.
7274         * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
7275         * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
7276         from gcc/testsuite/gfortran.dg/gomp/.
7277         * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
7279 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
7281         * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
7282         * omp_lib.h.in: Likewise.
7284 2020-07-18  H.J. Lu  <hjl.tools@gmail.com>
7286         PR target/95620
7287         * testsuite/libgomp.c/pr95620.c: New test.
7289 2020-07-16  Julian Brown  <julian@codesourcery.com>
7290             Thomas Schwinge  <thomas@codesourcery.com>
7292         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
7293         * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
7295 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
7297         * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
7298         avoid conversion on 32bit systems from 32bit to 64bit due
7299         to -fdefault-integer-8.
7301 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
7303         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
7304         variables; add character(kind=4) tests; update TODO comment.
7306 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
7308         * allocator.c: Add ialias for omp_init_allocator and
7309         omp_destroy_allocator.
7310         * configure.ac: Set INTPTR_T_KIND.
7311         * configure: Regenerate.
7312         * Makefile.in: Regenerate.
7313         * testsuite/Makefile.in: Regenerate.
7314         * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
7315         omp_set_default_allocator_, omp_get_default_allocator_): New
7316         functions and ialias_redirect.
7317         * icv.c: Add ialias for omp_set_default_allocator and
7318         omp_get_default_allocator.
7319         * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
7320         omp_destroy_allocator_, omp_set_default_allocator_ and
7321         omp_get_default_allocator_.
7322         * omp_lib.f90.in: Add allocator traits parameters, declare
7323         allocator routines and add related kind parameters.
7324         * omp_lib.h.in: Likewise.
7325         * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
7326         * testsuite/libgomp.fortran/alloc-1.F90: New test.
7327         * testsuite/libgomp.fortran/alloc-2.F90: New test.
7328         * testsuite/libgomp.fortran/alloc-3.F: New test.
7329         * testsuite/libgomp.fortran/alloc-4.f90: New test.
7330         * testsuite/libgomp.fortran/alloc-5.f90: New test.
7332 2020-07-14  Tom de Vries  <tom@codesourcery.com>
7333             Cesar Philippidis  <cesar@codesourcery.com>
7334             Thomas Schwinge  <thomas@codesourcery.com>
7335             Kwok Cheung Yeung  <kcy@codesourcery.com>
7337         * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
7338         New variable.
7339         (acc_init_1): Set acc_init_thread to pthread_self ().  Set
7340         acc_init_state to initializing at the start, and to initialized at the
7341         end.
7342         (self_initializing_p): New function.
7343         (acc_get_device_type): Return acc_device_none if called by thread that
7344         is currently executing acc_init_1.
7345         * libgomp.texi (acc_get_device_type): Update documentation.
7346         (Implementation Status and Implementation-Defined Behavior): Likewise.
7347         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
7349 2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
7351         * config/t-aix: Set BITS from compiler cpp macro.
7353 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
7355         * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
7357 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
7359         PR fortran/67311
7360         * testsuite/libgomp.fortran/target-map-1.f90: New test.
7362 2020-07-14  Jakub Jelinek  <jakub@redhat.com>
7364         * testsuite/libgomp.c/loop-21.c: New test.
7366 2020-07-13  Julian Brown  <julian@codesourcery.com>
7367             Thomas Schwinge  <thomas@codesourcery.com>
7369         * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
7371 2020-07-10  Julian Brown  <julian@codesourcery.com>
7372             Thomas Schwinge  <thomas@codesourcery.com>
7374         * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
7375         dynamic_refcount.
7376         (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7377         * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
7378         dynamic_refcount.
7379         (acc_unmap_data): Update comment.
7380         (goacc_map_var_existing, goacc_enter_datum): Adjust for
7381         dynamic_refcount semantics.
7382         (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
7383         Adjust for dynamic_refcount semantics.
7384         (goacc_enter_data_internal): Implement "present" case of dynamic
7385         memory-map handling here.  Update "non-present" case for
7386         dynamic_refcount semantics.
7387         (goacc_exit_data_internal): Use goacc_exit_datum_1.
7388         * target.c (gomp_map_vars_internal): Remove
7389         GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
7390         handling.
7391         (gomp_unmap_vars_internal): Remove virtual_refcount handling.
7392         (gomp_load_image_to_device): Substitute dynamic_refcount for
7393         virtual_refcount.
7394         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
7395         * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
7396         * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
7397         * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
7398         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
7399         trace output.
7400         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
7401         trace output.
7402         * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
7403         test.
7404         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7405         Remove stale comment.
7406         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
7407         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7408         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7409         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7410         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7411         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
7413 2020-07-10  Julian Brown  <julian@codesourcery.com>
7414             Thomas Schwinge  <thomas@codesourcery.com>
7416         * oacc-mem.c (goacc_map_var_existing): New function.
7417         (goacc_enter_datum): Use above function.
7418         (goacc_exit_datum_1): New function.
7419         (goacc_exit_datum): Use above function.
7421 2020-07-09  Julian Brown  <julian@codesourcery.com>
7422             Thomas Schwinge  <thomas@codesourcery.com>
7424         PR middle-end/95270
7425         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
7426         * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
7428 2020-07-09  Julian Brown  <julian@codesourcery.com>
7430         * oacc-mem.c (find_group_last): Group data-movement clauses
7431         (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
7432         GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
7434 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
7436         * testsuite/libgomp.c/loop-19.c: New test.
7437         * testsuite/libgomp.c/loop-20.c: New test.
7439 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
7441         * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
7442         2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
7443         it.  Remove __omp_alloctrait_value_max__.
7444         * allocator.c (omp_init_allocator): Handle omp_atv_default for
7445         omp_atk_alignment and omp_atk_pool_size.
7447 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
7449         * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
7450         behavior for 'GOMP_MAP_FORCE_FROM'.
7451         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
7453 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
7455         * oacc-mem.c (goacc_exit_data_internal): Remove
7456         'GOMP_MAP_ALWAYS_FROM' handling.
7458 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
7460         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
7461         'scan-assembler' with 'scan-offload-rtl'.
7462         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
7463         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7464         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
7465         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
7467 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
7469         * target.c (gomp_map_vars_existing): Assert 'kind !=
7470         GOMP_MAP_ATTACH'.
7471         (gomp_map_vars_internal): Clean up.
7473 2020-06-27  Jakub Jelinek  <jakub@redhat.com>
7475         * testsuite/libgomp.c/loop-17.c: New test.
7476         * testsuite/libgomp.c/loop-18.c: New test.
7478 2020-06-26  Marek Polacek  <polacek@redhat.com>
7480         * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
7482 2020-06-23  Alexandre Oliva  <oliva@adacore.com>
7484         * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
7485         * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
7487 2020-06-22  David Edelsohn  <dje.gcc@gmail.com>
7489         * Makefile.am: Use -include.
7490         * Makefile.in: Regenerate.
7492 2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
7494         * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
7495         * Makefile.in: Regenerate
7496         * configure.ac (tmake_file): Substitute.
7497         * configure: Regenerate.
7498         * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
7499         * config/t-aix: New file.
7501 2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
7503         PR lto/94848
7504         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
7505         'dg-do run'.
7507 2020-06-17  Andrew Stubbs  <ams@codesourcery.com>
7509         * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
7510         variant for HSA_RUNTIME_LIB name.
7511         (find_executable_symbol_1): Delete.
7512         (find_executable_symbol): Delete.
7513         (init_kernel_properties): Add ".kd" suffix to symbol names.
7514         (find_load_offset): Delete.
7515         (create_and_finalize_hsa_program): Remove relocation handling.
7517 2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
7519         * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
7521 2020-06-08  Tobias Burnus  <tobias@codesourcery.com>
7523         PR lto/94848
7524         PR middle-end/95551
7525         * testsuite/libgomp.fortran/target-var.f90: New test.
7527 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
7528             Julian Brown  <julian@codesourcery.com>
7530         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
7531         special handling.
7533 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
7534             Julian Brown  <julian@codesourcery.com>
7536         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7537         Simplify.
7539 2020-06-05  Julian Brown  <julian@codesourcery.com>
7541         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
7542         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
7544 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7546         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7547         Evaluate 'copyfrom' individually for each entry.
7548         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
7550 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7552         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7553         Evaluate 'finalize' individually for each entry.
7554         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
7555         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
7556         file.
7558 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7560         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
7561         usage.
7562         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
7564 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7565             Julian Brown  <julian@codesourcery.com>
7567         * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
7568         checking.
7569         (acc_unmap_data, goacc_exit_data_internal): Restore
7570         'is_tgt_unmapped' checking.
7571         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
7572         file.
7573         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
7574         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7575         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7576         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7577         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7578         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7580 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7581             Julian Brown  <julian@codesourcery.com>
7583         * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
7585 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7587         PR libgomp/92854
7588         * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
7590 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7592         PR libgomp/92854
7593         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
7594         more.
7596 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7597             Julian Brown  <julian@codesourcery.com>
7599         * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
7600         'gomp_map_vars'.
7601         (acc_map_data): Clean up accordingly.
7603 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7605         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
7606         of over-eager 'finalize' clause.
7607         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
7608         file.
7609         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7610         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7611         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7612         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7613         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7614         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
7615         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7616         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
7618 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7620         * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
7622 2020-06-04  Julian Brown  <julian@codesourcery.com>
7624         * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
7625         error path.
7626         (goacc_detach_internal): Likewise.
7628 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7630         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
7631         the checkpoint.
7632         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7633         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7634         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7635         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7636         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7638 2020-06-02  Jakub Jelinek  <jakub@redhat.com>
7640         * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
7641         defined.
7643 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
7645         * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
7647 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
7649         * allocator.c (omp_alloc): For size == 0, return NULL early.
7651 2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
7653         PR bootstrap/95413
7654         * configure: Regenerated.
7656 2020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
7658         PR libfortran/95191
7659         * testsuite/libgomp.fortran/async_io_9.f90: New test.
7661 2020-05-19  Jakub Jelinek  <jakub@redhat.com>
7663         * omp.h.in (omp_uintptr_t): New typedef.
7664         (__GOMP_UINTPTR_T_ENUM): Define.
7665         (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
7666         omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
7667         (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
7668         (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
7669         omp_get_default_allocator, omp_alloc, omp_free): Declare.
7670         * libgomp.h (struct gomp_team_state): Add def_allocator field.
7671         (gomp_def_allocator): Declare.
7672         * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
7673         omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
7674         omp_alloc and omp_free.
7675         * team.c (gomp_team_start): Copy over ts.def_allocator.
7676         * env.c (gomp_def_allocator): New variable.
7677         (parse_wait_policy): Adjust function comment.
7678         (parse_allocator): New function.
7679         (handle_omp_display_env): Print OMP_ALLOCATOR.
7680         (initialize_env): Call parse_allocator.
7681         * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
7682         * allocator.c: New file.
7683         * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
7684         functions.
7685         * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
7686         * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
7687         * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
7688         * Makefile.in: Regenerated.
7690 2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
7692         PR bootstrap/95147
7693         * configure: Regenerated.
7695 2020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
7697         PR libfortran/95119
7698         * testsuite/libgomp.fortran/close_errors_1.f90: New test.
7700 2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
7702         * configure: Regenerated.
7704 2020-05-14  Jakub Jelinek  <jakub@redhat.com>
7706         * testsuite/libgomp.c-c++-common/target-40.c: New test.
7708 2020-05-13  Tobias Burnus  <tobias@codesourcery.com>
7710         PR fortran/94690
7711         * testsuite/libgomp.fortran/pr66199-3.f90: New.
7712         * testsuite/libgomp.fortran/pr66199-4.f90: New.
7713         * testsuite/libgomp.fortran/pr66199-5.f90: New.
7714         * testsuite/libgomp.fortran/pr66199-6.f90: New.
7715         * testsuite/libgomp.fortran/pr66199-7.f90: New.
7716         * testsuite/libgomp.fortran/pr66199-8.f90: New.
7717         * testsuite/libgomp.fortran/pr66199-9.f90: New.
7719 2020-05-12  Jakub Jelinek  <jakub@redhat.com>
7721         * testsuite/libgomp.c/target-39.c: New test.
7723 2020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
7725         * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
7726         * openacc.f90 (acc_device_current): Likewise.
7727         * openacc.h (acc_device_current): Likewise.
7728         * openacc_lib.h (acc_device_current): Likewise.
7730         PR target/94282
7731         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
7732         'dg-allow-blank-lines-in-output'.
7734         * oacc-init.c (get_openacc_name): Handle 'gcn'.
7735         * testsuite/lib/libgomp.exp
7736         (offload_target_to_openacc_device_type) [amdgcn*]: Return
7737         'radeon'.  Adjust all users.
7738         (check_effective_target_openacc_amdgcn_accel_present): Rename
7739         to...
7740         (check_effective_target_openacc_radeon_accel_present): ... this.
7741         Adjust all users.
7742         (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
7743         (check_effective_target_openacc_radeon_accel_selected): ... this.
7744         Adjust all users.
7746         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
7747         'dg-do run'.
7749 2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
7751         PR other/94629
7753         * plugin/plugin-gcn.c (init_hsa_context): Check return value from
7754         hsa_iterate_agents.
7755         (GOMP_OFFLOAD_init_device): Check return values from both calls to
7756         hsa_agent_iterate_regions.
7758 2020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
7760         PR middle-end/94635
7761         * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
7762         run'.
7764 2020-04-20  Tobias Burnus  <tobias@codesourcery.com>
7766         PR middle-end/94120
7767         * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
7768         test case.
7770 2020-04-17  Tobias Burnus  <tobias@codesourcery.com>
7772         PR middle-end/94635
7773         * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
7775 2020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
7777         PR libgomp/92843
7778         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7779         Rename to...
7780         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
7781         ... this.
7782         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7783         Rename to...
7784         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
7785         ... this.
7786         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7787         Rename to...
7788         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
7789         ... this.
7790         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7791         Rename to...
7792         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
7793         ... this.
7794         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7795         Rename to...
7796         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
7797         ... this.
7798         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7799         Rename to...
7800         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
7801         ... this.
7802         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7803         Rename to...
7804         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
7805         ... this.
7806         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7807         Rename to...
7808         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7809         ... this.
7810         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7811         Rename to...
7812         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
7813         ... this.
7814         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7815         Rename to...
7816         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
7817         ... this.
7818         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7819         Rename to...
7820         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
7821         ... this.
7822         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7823         Rename to...
7824         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
7825         ... this.
7826         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7827         Rename to...
7828         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
7829         ... this.
7830         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7831         Rename to...
7832         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
7833         ... this.
7834         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7835         Rename to...
7836         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
7837         ... this.
7838         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
7839         Rename to...
7840         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
7841         ... this.
7843 2020-04-10  Julian Brown  <julian@codesourcery.com>
7844             Thomas Schwinge  <thomas@codesourcery.com>
7846         PR libgomp/92843
7847         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7848         New file.
7849         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7850         Likewise.
7851         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7852         Likewise.
7853         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7854         Likewise.
7855         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7856         Likewise.
7857         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7858         Likewise.
7859         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7860         Likewise.
7861         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7862         Likewise.
7863         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7864         Likewise.
7865         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7866         Likewise.
7867         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7868         Likewise.
7869         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7870         Likewise.
7871         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7872         Likewise.
7873         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7874         Likewise.
7875         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7876         Likewise.
7877         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
7878         Likewise.
7880 2020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
7882         * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
7883         run'.
7885 2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
7887         PR middle-end/94120
7888         * libgomp.oacc-c++/declare-pr94120.C: New.
7890 2020-04-06  Maciej W. Rozycki  <macro@wdc.com>
7892         * configure.ac: Add testsuite/libgomp-site-extra.exp to output
7893         files.
7894         * configure: Regenerate.
7895         * testsuite/libgomp-site-extra.exp.in: New file.
7896         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
7897         variable.
7898         * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
7899         variable.
7900         * testsuite/Makefile.in: Regenerate.
7902 2020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
7904         PR tree-optimization/89713
7905         PR c/94392
7906         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
7907         'bar.sync'.
7908         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7910 2020-03-31  Tobias Burnus  <tobias@codesourcery.com>
7912         * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
7913         * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
7915 2020-03-24  Tobias Burnus  <tobias@codesourcery.com>
7917         PR libgomp/81689
7918         * testsuite/libgomp.c/target-link-1.c: Remove xfail.
7920 2020-03-20  Tobias Burnus  <tobias@codesourcery.com>
7922         PR libgomp/94251
7923         * target.c (gomp_load_image_to_device): Fix link
7924         variable handling.
7926 2020-03-19  Jakub Jelinek  <jakub@redhat.com>
7928         PR c++/93931
7929         * testsuite/libgomp.c++/pr93931.C: New test.
7931 2020-03-19  Tobias Burnus  <tobias@codesourcery.com>
7933         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
7934         dg-allow-blank-lines-in-output.
7936 2020-03-18  Julian Brown <julian@codesourcery.com>
7937             Tobias Burnus  <tobias@codesourcery.com>
7939         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
7940         it work concurrently.
7942 2020-03-18  Tobias Burnus  <tobias@codesourcery.com>
7944         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
7945         #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
7946         * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
7948 2020-03-14  Jakub Jelinek  <jakub@redhat.com>
7950         PR middle-end/93566
7951         * testsuite/libgomp.c/pr93566.c: New test.
7953 2020-02-21  Frederik Harwath  <frederik@codesourcery.com>
7955         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
7956         changes from 2020-02-19, i.e. use integer(c_size_t) instead of
7957         integer(acc_device_property) for the type of the return value of
7958         acc_get_property.
7960 2020-02-19  Tobias Burnus  <tobias@codesourcery.com>
7962         * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
7963         * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
7964         (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
7965         * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
7966         (acc_set_device_num): Fix Fortran argument name, use same name for C.
7967         (acc_get_property): Update Fortran interface to post-OpenACC 3.0
7968         corrections; add note about the previous interface and named constant.
7969         (OpenACC library and environment variables): Fix two typos.
7970         * openacc.f90: Use for all procedures the argument names from the spec
7971         as for â€¦_h they are user visible.
7972         (openacc_kinds): Rename acc_device_property to
7973         acc_device_property_kinds and change value to int32 ; and update users.
7974         Re-add acc_device_property for for backward compatibility.
7975         (acc_get_property_string_h): Clean up as acc_device_property_kind
7976         changed.
7977         (acc_get_property_h): Likewise and return c_size_t instead of
7978         acc_device_property.
7979         (openacc): Also export acc_device_property_kinds.
7980         (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
7981         acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
7982         handling; check against /= 0 instead of == 1 to match C.
7983         * openacc_lib.h: Use for all procedures the argument names from the spec
7984         as for â€¦_h they are user visible. Place !GCC$ into the first column to
7985         be active also for fixed-form souce form.
7986         (acc_device_current, acc_device_property_kind, acc_device_property,
7987         acc_property_memory, acc_property_free_memory, acc_property_name,
7988         acc_property_vendor, acc_property_driver): New named constants.
7989         (acc_get_property, acc_get_property_string): New generic interface.
7991 2020-02-13  Frederik Harwath  <frederik@codesourcery.com>
7993         PR libgomp/93481
7994         * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
7995         * target.c (gomp_load_plugin_for_device): Make "async_run" loading
7996         optional.
7997         (gomp_target_task_fn): Assert "devicep->async_run_func".
7998         (clear_unsupported_flags): New function to remove unsupported flags
7999         (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
8000         (GOMP_target_ext): Apply clear_unsupported_flags to flags.
8001         * testsuite/libgomp.c/target-33.c:
8002         Remove xfail for offload_target_nvptx.
8003         * testsuite/libgomp.c/target-34.c: Likewise.
8005 2020-02-10  Frederik Harwath  <frederik@codesourcery.com>
8007         * testsuite/libgomp.c/target-33.c: Add xfail for execution on
8008         offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
8009         * testsuite/libgomp.c/target-34.c: Likewise.
8010         * testsuite/libgomp.c/target-link-1.c: Add xfail for
8011         offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
8013 2020-02-09  Jakub Jelinek  <jakub@redhat.com>
8015         * testsuite/libgomp.c/target-38.c: New test.
8017 2020-02-06  Jakub Jelinek  <jakub@redhat.com>
8019         PR libgomp/93515
8020         * testsuite/libgomp.c-c++-common/pr93515.c: New test.
8022 2020-02-05  Tobias Burnus  <tobias@codesourcery.com>
8024         * testsuite/lib/libgomp.exp
8025         (check_effective_target_offload_target_nvptx): Pass flags as 'options'
8026         and not as 'source' argument to libgomp_target_compile.
8028 2020-02-03  Andrew Stubbs  <ams@codesourcery.com>
8030         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
8031         (gcn_gfx801_s): Remove.
8032         (isa_hsa_name): Remove gfx801.
8033         (isa_gcc_name): Remove gfx801/carizzo.
8034         (isa_code): Remove gfx801.
8036 2020-02-03  Julian Brown  <julian@codesourcery.com>
8037             Tobias Burnus  <tobias@codesourcery.com>
8039         * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
8040         and *_finalize variants; document acc_attach and acc_detach; update
8041         references from OpenACC 2.0 to 2.6.
8042         * openacc.f90 (openacc_version): Update to 201711.
8043         * openacc_lib.h (openacc_version): Update to 201711.
8044         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
8045         openacc_version to 201711.
8046         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8048 2020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
8050         * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
8051         and vgpr_count fields.
8052         (struct kernel_info): Add a field for a hsa_kernel_description.
8053         (run_kernel): Reduce the number of threads/workers if the requested
8054         number would require too many VGPRs.
8055         (init_basic_kernel_info): Initialize description field with
8056         the hsa_kernel_description entry for the kernel.
8058 2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
8060         PR bootstrap/93409
8061         * plugin/configfrag.ac (enable_offload_targets): Skip
8062         HSA and GCN plugin besides -m32 also for -mx32.
8063         * configure: Regenerate.
8065 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
8067         * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
8069 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
8071         * plugin-gcn.c (struct agent_info): Add fields "name" and
8072         "vendor_name" ...
8073         (GOMP_OFFLOAD_init_device): ... and init from here.
8074         (struct hsa_context_info): Add field "driver_version_s" ...
8075         (init_hsa_contest): ... and init from here.
8076         (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
8077         implementation.
8078         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8079         Enable test execution for amdgcn and host offloading targets.
8080         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
8081         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8082         (expect_device_properties): Split function into ...
8083         (expect_device_string_properties): ... this new function ...
8084         (expect_device_memory): ... and this new function.
8085         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
8086         Add test.
8088 2020-01-28  Julian Brown  <julian@codesourcery.com>
8090         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
8091         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
8092         component/non-component variable refs in a single directive.
8093         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
8095 2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
8097         * configure.ac: Handle `--with-toolexeclibdir='.
8098         * Makefile.in: Regenerate.
8099         * aclocal.m4: Regenerate.
8100         * configure: Regenerate.
8101         * testsuite/Makefile.in: Regenerate.
8103 2020-01-24  Frederik Harwath  <frederik@codesourcery.com>
8105         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8106         (expect_device_properties): Remove "expected_free_mem" argument,
8107         change "expected_total_mem" argument type to size_t;
8108         change types of acc_get_property results to size_t,
8109         adapt format strings.
8110         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8111         Use %zu instead of %zd to print size_t values.
8112         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
8113         rename to ...
8114         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
8115         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
8116         rename to ...
8117         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
8119 2020-01-23  Andrew Stubbs  <ams@codesourcery.com>
8121         * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
8122         the device id.
8124 2020-01-20  Andrew Stubbs  <ams@codesourcery.com>
8126         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
8127         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
8128         Adjust test dimensions for amdgcn.
8129         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
8130         gang/worker/vector expectations dynamically.
8131         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
8132         (main): Likewise.
8133         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
8134         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
8135         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
8136         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
8137         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
8138         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
8139         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
8140         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
8141         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
8142         (acc_gang): Recognise acc_device_radeon.
8143         (acc_worker): Likewise.
8144         (acc_vector): Likewise.
8145         (main): Set expectations for amdgcn.
8146         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
8147         (main): Adjust gang/worker/vector expectations dynamically.
8148         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
8149         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
8150         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
8151         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
8152         for amdgcn.
8154 2020-01-17  Andrew Stubbs  <ams@codesourcery.com>
8156         * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
8157         acc_device_radeon.
8158         (openacc): Likewise.
8159         * openacc.f90 (openacc_kinds): Likewise.
8160         (openacc): Likewise.
8161         * openacc.h (acc_device_t): Likewise.
8162         * openacc_lib.h: Likewise.
8163         * testsuite/lib/libgomp.exp
8164         (check_effective_target_openacc_amdgcn_accel_present): Likewise.
8165         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
8166         (cb_compute_construct_end): Likewise.
8167         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
8168         (cb_enqueue_launch_start): Likewise.
8169         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
8170         (cb_enter_data_end): Likewise.
8171         (cb_exit_data_start): Likewise.
8172         (cb_exit_data_end): Likewise.
8173         (cb_compute_construct_end): Likewise.
8174         (cb_enqueue_launch_start): Likewise.
8175         (cb_enqueue_launch_end): Likewise.
8176         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
8177         (main): Likewise.
8179 2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
8181         * libgomp-plugin.h (enum goacc_property): New.  Adjust all users
8182         to use this instead of 'enum gomp_device_property'.
8183         (GOMP_OFFLOAD_get_property): Rename to...
8184         (GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
8185         * libgomp.h (struct gomp_device_descr): Move
8186         'GOMP_OFFLOAD_openacc_get_property'...
8187         (struct acc_dispatch_t): ... here.  Adjust all users.
8188         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
8190         * target.c (gomp_map_vars_internal)
8191         <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
8192         paths.
8194 2020-01-10  Jakub Jelinek  <jakub@redhat.com>
8196         PR libgomp/93219
8197         * libgomp.h (gomp_print_string): Change return type from void to int.
8198         * affinity-fmt.c (gomp_print_string): Likewise.  Return true if
8199         not all characters have been written.
8201 2020-01-08  Tobias Burnus  <tobias@codesourcery.com>
8203         * libgomp.texi: Fix typos, use https.
8205 2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
8207         * testsuite/libgomp.fortran/optional-map.f90: Add test for
8208         unallocated/disassociated actual arguments to nonallocatable/nonpointer
8209         dummy arguments; those are/shall be regarded as absent arguments.
8210         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8211         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
8213 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
8215         Update copyright years.
8217         * libgomp.texi: Bump @copying's copyright year.
8219 2019-12-31  Ayush Mittal  <ayush.m@samsung.com>
8221         PR libgomp/93065
8222         * oacc-init.c (goacc_runtime_deinitialize): New function.
8224 2019-12-28  Jakub Jelinek  <jakub@redhat.com>
8226         PR bootstrap/93074
8227         * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
8228         (cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
8230 2019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
8231             Frederik Harwath  <frederik@codesourcery.com>
8232             Thomas Schwinge  <tschwinge@codesourcery.com>
8234         * libgomp.h (gomp_device_descr): Add `get_property_func' member.
8235         * libgomp-plugin.h (gomp_device_property_value): New union.
8236         (gomp_device_property_value): New prototype.
8237         * openacc.h (acc_device_t): Add `acc_device_current' enumeration
8238         constant.
8239         (acc_device_property_t): New enum.
8240         (acc_get_property, acc_get_property_string): New prototypes.
8241         * oacc-init.c (acc_get_device_type): Also assert that result
8242         is not `acc_device_current'.
8243         (get_property_any, acc_get_property, acc_get_property_string):
8244         New functions.
8245         * openacc.f90 (openacc_kinds): Add `acc_device_current' and
8246         `acc_property_memory', `acc_property_free_memory',
8247         `acc_property_name', `acc_property_vendor' and
8248         `acc_property_driver' constants.  Add `acc_device_property' data
8249         type.
8250         (openacc_internal): Add `acc_get_property' and
8251         `acc_get_property_string' interfaces.  Add `acc_get_property_h',
8252         `acc_get_property_string_h', `acc_get_property_l' and
8253         `acc_get_property_string_l'.
8254         * oacc-host.c (host_get_property): New function.
8255         (host_dispatch): Wire it.
8256         * target.c (gomp_load_plugin_for_device): Handle `get_property'.
8257         * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
8258         `acc_get_property_string' and `acc_get_property_string_h_' symbols.
8259         * libgomp.texi (OpenACC Runtime Library Routines): Add
8260         `acc_get_property'.
8261         (acc_get_property): New node.
8262         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
8263         function (stub).
8264         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
8265         * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
8266         `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
8267         calls.
8268         (GOMP_OFFLOAD_get_property): New function.
8269         (struct ptx_device): Add new field "name".
8270         (cuda_driver_version_s): Add new static variable ...
8271         (nvptx_init): ... and init from here.
8273         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
8274         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
8275         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
8276         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
8277         with test helper functions.
8279         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
8281 2019-12-22  Maciej W. Rozycki  <macro@wdc.com>
8283         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
8284         variable.
8286 2019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
8288         * target.c (gomp_map_vars_internal): Restore 'omp declare target
8289         link' handling.
8291 2019-12-19  Julian Brown  <julian@codesourcery.com>
8293         * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
8294         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
8295         * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
8297 2019-12-19  Julian Brown  <julian@codesourcery.com>
8298             Cesar Philippidis  <cesar@codesourcery.com>
8300         * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
8301         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
8302         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
8303         * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
8304         * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
8305         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
8306         * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
8307         * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
8308         * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
8309         * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
8310         * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
8311         * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
8312         * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
8314 2019-12-19  Julian Brown  <julian@codesourcery.com>
8316         * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
8317         * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
8318         * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
8319         * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
8320         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
8321         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
8322         * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
8323         * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
8324         * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
8325         * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
8326         * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
8327         * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
8329 2019-12-19  Julian Brown  <julian@codesourcery.com>
8331         * libgomp.h (struct target_var_desc): Add do_detach flag.
8332         * oacc-init.c (acc_shutdown_1): Free aux block if present.
8333         * oacc-mem.c (find_group_last): Add SIZES parameter. Support
8334         struct components.  Tidy up and add some new checks.
8335         (goacc_enter_data_internal): Update call to find_group_last.
8336         (goacc_exit_data_internal): Support detach operations and
8337         GOMP_MAP_STRUCT.
8338         (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
8339         GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
8340         attach/detach in enter/exit data detection code.
8341         * target.c (gomp_map_vars_existing): Initialise do_detach field of
8342         tgt_var_desc.
8343         (gomp_map_vars_internal): Support attach.
8344         (gomp_unmap_vars_internal): Support detach.
8346 2019-12-19  Julian Brown  <julian@codesourcery.com>
8347             Thomas Schwinge  <thomas@codesourcery.com>
8349         * libgomp.h (struct splay_tree_aux): Add attach_count field.
8350         (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
8351         * libgomp.map (OACC_2.6): New section. Add acc_attach,
8352         acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
8353         acc_detach_finalize_async.
8354         * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
8355         acc_detach, acc_detach_async, acc_detach_finalize,
8356         acc_detach_finalize_async): New functions.
8357         * openacc.h (acc_attach, acc_attach_async, acc_detach,
8358         (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
8359         prototypes.
8360         * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
8361         (gomp_remove_var_internal): Free attachment counts if present.
8362         * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
8363         * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
8365 2019-12-19  Julian Brown  <julian@codesourcery.com>
8366             Cesar Philippidis  <cesar@codesourcery.com>
8368         * libgomp.h (gomp_map_val): Add prototype.
8369         * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
8370         open-coding device-address calculation.
8371         * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
8372         non-present case.
8374 2019-12-19  Julian Brown  <julian@codesourcery.com>
8376         * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
8377         field for virtual_refcount.
8378         (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
8379         (gomp_free_memmap): Remove prototype.
8380         * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
8381         instead of calling gomp_free_memmap.
8382         * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
8383         dynamic_refcount.
8384         (acc_unmap_data): Open code instead of forcing target_mem_desc's
8385         to_free field to NULL then calling gomp_unmap_vars.  Handle
8386         REFCOUNT_INFINITY on target blocks.
8387         (goacc_enter_data): Rename to...
8388         (goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
8389         handling for mapping groups.  Use virtual_refcount instead of
8390         dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
8391         map_map_vars_async call.  Re-do lookup for target pointer return value.
8392         (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
8393         renamed goacc_enter_datum function.
8394         (goacc_exit_data): Rename to...
8395         (goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
8396         (acc_delete, acc_delete_async, acc_delete_finalize,
8397         acc_delete_finalize_async, acc_copyout, acc_copyout_async,
8398         acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
8399         goacc_exit_datum function.
8400         (gomp_acc_remove_pointer, find_pointer): Remove functions.
8401         (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
8402         New functions.
8403         (GOACC_enter_exit_data): Use goacc_enter_data_internal and
8404         goacc_exit_data_internal helper functions.
8405         * target.c (gomp_map_vars_internal): Handle
8406         GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
8407         semantics.
8408         (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
8409         (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
8410         virtual_refcount field instead of dynamic_refcount.
8411         (gomp_free_memmap): Remove function.
8412         * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
8413         * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
8414         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
8416 2019-12-19  Julian Brown  <julian@codesourcery.com>
8417             Thomas Schwinge  <thomas@codesourcery.com>
8419         * libgomp.h (struct splay_tree_aux): New.
8420         (struct splay_tree_key_s): Replace link_key field with aux pointer.
8421         * target.c (gomp_map_vars_internal): Adjust for link_key being moved
8422         to aux struct.
8423         (gomp_remove_var_internal): Free aux block if present.
8424         (gomp_load_image_to_device): Zero-initialise aux field instead of
8425         link_key field.
8426         (omp_target_associate_pointer): Zero-initialise aux field.
8428 2019-12-18  Jakub Jelinek  <jakub@redhat.com>
8430         PR middle-end/86416
8431         * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
8432         q or none.
8433         * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
8434         L or none.
8436 2019-12-19  Julian Brown  <julian@codesourcery.com>
8437             Maciej W. Rozycki  <macro@codesourcery.com>
8438             Tobias Burnus  <tobias@codesourcery.com>
8439             Thomas Schwinge  <thomas@codesourcery.com>
8441         * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
8442         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8443         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
8444         * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
8445         * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
8446         * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
8447         * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
8448         * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
8449         * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
8451 2019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
8453         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8454         called...
8455         (goacc_insert_pointer): ... from here, "present" case.
8456         (goacc_insert_pointer): Inline function into...
8457         (GOACC_enter_exit_data): ... here, and simplify.
8459         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8460         called...
8461         (goacc_insert_pointer): ... from here, "not present" case.
8463         * oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
8464         all users.
8466         * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
8467         'goacc_enter_data', 'goacc_exit_data'.
8469         * oacc-mem.c (delete_copyout): Refactor into...
8470         (goacc_exit_data): ... this.  Adjust all users.
8472         * oacc-mem.c (present_create_copy): Refactor into...
8473         (goacc_enter_data): ... this.  Adjust all users.
8475         * target.c (gomp_unmap_vars_internal): Add a safeguard to
8476         'gomp_remove_var'.
8478         * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
8479         like 'GOMP_MAP_FROM'.
8481         PR libgomp/92726
8482         PR libgomp/92970
8483         PR libgomp/92984
8484         * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
8485         fails.
8486         (GOACC_enter_exit_data): Simplify accordingly.
8487         * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
8488         subsuming...
8489         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
8490         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
8491         file.
8492         * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
8493         subsuming...
8494         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
8495         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
8496         file.
8497         * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
8498         subsuming...
8499         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
8501         * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
8502         'finalize' handling.
8504         PR libgomp/92848
8505         * oacc-mem.c (acc_map_data, present_create_copy)
8506         (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
8507         (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
8508         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
8509         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
8510         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
8511         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
8512         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
8513         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8514         Remove "XFAIL"s.
8516         * target.c (gomp_unmap_tgt): Make it 'static'.
8517         * libgomp.h (gomp_unmap_tgt): Remove.
8519 2019-12-18  Tobias Burnus  <tobias@codesourcery.com>
8521         PR middle-end/86416
8522         * testsuite/libgomp.c/pr86416-1.c: New.
8523         * testsuite/libgomp.c/pr86416-2.c: New.
8525 2019-12-17  Tobias Burnus  <tobias@codesourcery.com>
8527         * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
8528         all symbols as public except for the 'use â€¦, only' imported symbol,
8529         which is private.
8530         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8531         all symbols from module openacc_kinds as PUBLIC
8532         * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
8533         fix comment typo.
8534         * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
8536 2019-12-13  Julian Brown  <julian@codesourcery.com>
8538         PR libgomp/92881
8540         * libgomp.h (gomp_remove_var_async): Add prototype.
8541         * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
8542         gomp_remove_var.
8543         * target.c (gomp_unref_tgt): Change return type to bool, indicating
8544         whether target_mem_desc was unmapped.
8545         (gomp_unref_tgt_void): New.
8546         (gomp_remove_var): Reimplement in terms of...
8547         (gomp_remove_var_internal): ...this new helper function.
8548         (gomp_remove_var_async): New, implemented using above helper function.
8549         (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
8550         gomp_unref_tgt.
8552 2019-12-13  Andrew Stubbs  <ams@codesourcery.com>
8554         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
8555         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
8556         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
8557         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
8558         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
8559         Likewise.
8560         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
8561         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
8563 2019-12-13  Tobias Burnus  <tobias@codesourcery.com>
8565         * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
8566         as public except for the 'use â€¦, only' imported symbol, which is
8567         private.
8568         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8569         all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
8570         attributes for acc_copyout_finalize and acc_delete_finalize.
8572 2019-12-11  Jakub Jelinek  <jakub@redhat.com>
8574         PR fortran/92899
8575         * testsuite/libgomp.fortran/atomic1.f90: New test.
8577 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
8579         PR libgomp/92843
8580         * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
8581         reference counting for structured 'REFCOUNT_INFINITY'.  Add some
8582         assertions.
8583         (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
8584         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
8585         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
8586         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8587         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8589         * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
8590         * oacc-mem.c: ... here.
8591         (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
8592         'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
8593         * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8594         Remove.
8595         * libgomp_g.h: Update.
8597         * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
8598         * oacc-async.c: ... here.
8599         * oacc-int.h (goacc_wait): Declare.
8600         * libgomp_g.h: Update
8602         PR libgomp/92854
8603         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
8604         New file.
8605         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
8606         Likewise.
8607         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
8608         Likewise.
8609         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
8610         Likewise.
8611         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
8612         Likewise.
8613         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
8614         Likewise.
8616 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
8617             Julian Brown  <julian@codesourcery.com>
8619         * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
8620         Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
8622 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
8624         * omp_lib.h.in: Fix spelling of function declaration
8625         omp_get_cancell(l)ation.
8626         * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
8627         Fix typos.
8628         * env.c: Fix comment typos.
8629         * oacc-host.c: Likewise.
8630         * ordered.c: Likewise.
8631         * task.c: Likewise.
8632         * team.c: Likewise.
8633         * config/gcn/task.c: Likewise.
8634         * config/gcn/team.c: Likewise.
8635         * config/nvptx/task.c: Likewise.
8636         * config/nvptx/team.c: Likewise.
8637         * plugin/plugin-gcn.c: Likewise.
8638         * testsuite/libgomp.fortran/jacobi.f: Likewise.
8639         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8640         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
8642 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
8644         * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
8645         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
8646         unnecessary 'dg-additional-options "-w"'.
8648 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
8649             Julian Brown  <julian@codesourcery.com>
8651         PR libgomp/92116
8652         PR libgomp/92877
8654         * oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
8655         * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
8656         Adjust all users.
8657         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8658         Remove XFAIL.
8659         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8660         Likewise.
8661         * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
8663 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
8665         PR libgomp/92503
8666         * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
8667         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
8668         file.
8669         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
8670         Likewise.
8671         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
8672         Likewise.
8673         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
8674         Likewise.
8675         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8676         Likewise.
8677         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8678         Likewise.
8679         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8680         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8681         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8682         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8683         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8684         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8685         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8686         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8687         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8688         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8690         PR libgomp/92840
8691         * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
8692         (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
8693         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
8694         New file.
8695         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
8696         Likewise.
8697         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
8698         Likewise.
8699         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8700         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
8702         PR libgomp/92511
8703         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
8704         this file...
8705         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
8706         this file...
8707         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
8708         file...
8709         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
8710         file...
8711         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8712         ... with their content moved into, and extended in this new file.
8713         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
8714         New file.
8715         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
8716         Likewise.
8717         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
8718         Likewise.
8719         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
8720         Likewise.
8722         * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
8724         PR libgomp/92854
8725         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
8727         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
8729         * target.c (gomp_exit_data): Use 'gomp_remove_var'.
8731 2019-12-09  Tobias Burnus  <tobias@codesourcery.com>
8733         * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
8734         unique.
8735         * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
8736         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8737         * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
8738         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
8739         Ditto.
8740         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
8741         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
8743 2019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
8745         * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
8747 2019-12-06  Tobias Burnus  <tobias@codesourcery.com>
8748             Kwok Cheung Yeung <kcy@codesourcery.com>
8750         * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
8751         if input it a NULL pointer.
8752         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
8753         diagnostic of NULL pointer.
8754         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
8755         * testsuite/libgomp.fortran/optional-map.f90: New.
8756         * testsuite/libgomp.fortran/use_device_addr-1.f90
8757         (test_dummy_opt_callee_1_absent): New.
8758         (test_dummy_opt_call_1): Call it.
8759         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8760         * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
8761         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8762         * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
8763         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
8764         * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
8765         * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
8766         * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
8767         * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
8768         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
8769         * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
8770         * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
8771         * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
8772         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
8773         * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
8774         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
8776 2019-12-05  Tobias Burnus  <tobias@codesourcery.com>
8778         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
8779         expect dg-output of 'Error termination.' for GCN.
8780         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8781         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8783 2019-12-04  Jakub Jelinek  <jakub@redhat.com>
8785         PR fortran/92756
8786         * testsuite/libgomp.fortran/teams1.f90: New test.
8787         * testsuite/libgomp.fortran/teams2.f90: New test.
8789 2019-12-03  Frederik Harwath  <frederik@codesourcery.com>
8791         * oacc-init.c (acc_known_device_type): Add function.
8792         (unknown_device_type_error): Add function.
8793         (name_of_acc_device_t): Change to call unknown_device_type_error
8794         on unknown type.
8795         (resolve_device): Use acc_known_device_type.
8796         (acc_init): Fail if acc_device_t argument is not valid.
8797         (acc_shutdown): Likewise.
8798         (acc_get_num_devices): Likewise.
8799         (acc_set_device_type): Likewise.
8800         (acc_get_device_num): Likewise.
8801         (acc_set_device_num): Likewise.
8802         (acc_on_device): Add comment that argument validity is not checked.
8804 2019-12-03  Andrew Stubbs  <ams@codesourcery.com>
8806         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
8807         Recognize amdgcn.
8808         (check_effective_target_openacc_amdgcn_accel_present): New proc.
8809         (check_effective_target_openacc_amdgcn_accel_selected): New proc.
8810         * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
8811         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8812         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8814 2019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
8816         PR libgomp/91938
8817         * configure.tgt: Avoid IE tls on *-*-musl*.
8819 2019-11-29  Tobias Burnus  <tobias@codesourcery.com>
8821         * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
8822         adding a common-block test case.
8824 2019-11-29  Jakub Jelinek  <jakub@redhat.com>
8826         PR c++/60228
8827         * testsuite/libgomp.c++/udr-20.C: New test.
8828         * testsuite/libgomp.c++/udr-21.C: New test.
8830 2019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
8832         * testsuite/lib/libgomp.exp
8833         (check_effective_target_offload_target_nvptx): New proc.
8834         * testsuite/libgomp.fortran/target-print-1.f90: Use it with
8835         'dg-skip-if'.
8836         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
8837         * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
8838         * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
8840 2019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8842         * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
8843         * testsuite/libgomp.c/pr39591-2.c: Likewise.
8844         * testsuite/libgomp.c/pr39591-3.c: Likewise.
8845         * testsuite/libgomp.c/private-1.c: Likewise.
8846         * testsuite/libgomp.c/task-1.c: Likewise.
8847         * testsuite/libgomp.c/task-5.c: Renamed err to serr.
8849 2019-11-20  Julian Brown  <julian@codesourcery.com>
8851         * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
8852         aq->mutex here.
8853         (queue_push_launch): Lock aq->mutex before calling
8854         wait_for_queue_nonfull.
8855         (queue_push_callback): Likewise.
8856         (queue_push_asyncwait): Likewise.
8857         (queue_push_placeholder): Likewise.
8859 2019-11-20  Julian Brown  <julian@codesourcery.com>
8861         * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
8862         (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
8863         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
8864         return code.
8866 2019-11-20  Julian Brown  <julian@codesourcery.com>
8868         PR libgomp/92511
8870         * oacc-mem.c (present_create_copy): Fix device pointer return value in
8871         case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
8872         in non-present/create case.
8873         (delete_copyout): Change error condition to fail only on copies outside
8874         of mapped block.  Adjust error message accordingly.
8875         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
8876         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
8877         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
8878         message.
8879         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8880         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
8881         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8883 2019-11-20  Maciej W. Rozycki  <macro@wdc.com>
8885         * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
8886         libatomic in build-tree testing.
8888 2019-11-18  Maciej W. Rozycki  <macro@wdc.com>
8890         * testsuite/Makefile.in: Regenerate.
8892 2019-11-15  Andrew Stubbs  <ams@codesourcery.com>
8894         * testsuite/libgomp.c/target-print-1.c: New file.
8895         * testsuite/libgomp.fortran/target-print-1.f90: New file.
8896         * testsuite/libgomp.oacc-c/print-1.c: New file.
8897         * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
8899 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8900             Kwok Cheung Yeung  <kcy@codesourcery.com>
8901             Julian Brown  <julian@codesourcery.com>
8902             Tom de Vries  <tom@codesourcery.com>
8904         * plugin/Makefrag.am: Add amdgcn plugin support.
8905         * plugin/configfrag.ac: Likewise.
8906         * plugin/plugin-gcn.c: New file.
8907         * configure: Regenerate.
8908         * Makefile.in: Regenerate.
8909         * testsuite/Makefile.in: Regenerate.
8911 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8913         * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
8914         and use team_malloc variants.
8915         (gomp_gcn_exit_kernel): Use team_free.
8916         * libgomp.h (TEAM_ARENA_SIZE): Define.
8917         (TEAM_ARENA_START): Define.
8918         (TEAM_ARENA_FREE): Define.
8919         (TEAM_ARENA_END): Define.
8920         (team_malloc): New function.
8921         (team_malloc_cleared): New function.
8922         (team_free): New function.
8923         * team.c (gomp_new_team): Initialize and use team_malloc.
8924         (free_team): Use team_free.
8925         (gomp_free_thread): Use team_free.
8926         (gomp_pause_host): Use team_free.
8927         * work.c (gomp_init_work_share): Use team_malloc.
8928         (gomp_fini_work_share): Use team_free.
8930 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8931             Kwok Cheung Yeung  <kcy@codesourcery.com>
8932             Julian Brown  <julian@codesourcery.com>
8933             Tom de Vries  <tom@codesourcery.com>
8935         * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
8936         * Makefile.in: Regenerate.
8937         * config.h.in (PLUGIN_GCN): Add new undef.
8938         * config/accel/openacc.f90 (acc_device_gcn): New parameter.
8939         * config/gcn/affinity-fmt.c: New file.
8940         * config/gcn/bar.c: New file.
8941         * config/gcn/bar.h: New file.
8942         * config/gcn/doacross.h: New file.
8943         * config/gcn/icv-device.c: New file.
8944         * config/gcn/oacc-target.c: New file.
8945         * config/gcn/simple-bar.h: New file.
8946         * config/gcn/target.c: New file.
8947         * config/gcn/task.c: New file.
8948         * config/gcn/team.c: New file.
8949         * config/gcn/time.c: New file.
8950         * configure.ac: Add amdgcn*-*-*.
8951         * configure: Regenerate.
8952         * configure.tgt: Add amdgcn*-*-*.
8953         * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
8954         * libgomp.h (gcn_thrs): Add amdgcn variant.
8955         (set_gcn_thrs): Likewise.
8956         (gomp_thread): Likewise.
8957         * oacc-int.h (goacc_thread): Likewise.
8958         * oacc-target.c: New file.
8959         * openacc.f90 (acc_device_gcn): New parameter.
8960         * openacc.h (acc_device_t): Add acc_device_gcn.
8961         * team.c (gomp_free_pool_helper): Add amdgcn support.
8963 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8964             Julian Brown  <julian@codesourcery.com>
8966         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
8967         parameter.
8968         * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
8969         queue constructor.
8970         * oacc-host.c (host_openacc_async_construct): Add device parameter.
8971         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
8972         device parameter.
8974 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8976         * configure.tgt (nvptx*-*-*): Add "accel" directory.
8977         * config/nvptx/libgomp-plugin.c: Move ...
8978         * config/accel/libgomp-plugin.c: ... to here.
8979         * config/nvptx/lock.c: Move ...
8980         * config/accel/lock.c: ... to here.
8981         * config/nvptx/mutex.c: Move ...
8982         * config/accel/mutex.c: ... to here.
8983         * config/nvptx/mutex.h: Move ...
8984         * config/accel/mutex.h: ... to here.
8985         * config/nvptx/oacc-async.c: Move ...
8986         * config/accel/oacc-async.c: ... to here.
8987         * config/nvptx/oacc-cuda.c: Move ...
8988         * config/accel/oacc-cuda.c: ... to here.
8989         * config/nvptx/oacc-host.c: Move ...
8990         * config/accel/oacc-host.c: ... to here.
8991         * config/nvptx/oacc-init.c: Move ...
8992         * config/accel/oacc-init.c: ... to here.
8993         * config/nvptx/oacc-mem.c: Move ...
8994         * config/accel/oacc-mem.c: ... to here.
8995         * config/nvptx/oacc-plugin.c: Move ...
8996         * config/accel/oacc-plugin.c: ... to here.
8997         * config/nvptx/omp-lock.h: Move ...
8998         * config/accel/omp-lock.h: ... to here.
8999         * config/nvptx/openacc.f90: Move ...
9000         * config/accel/openacc.f90: ... to here.
9001         * config/nvptx/pool.h: Move ...
9002         * config/accel/pool.h: ... to here.
9003         * config/nvptx/proc.c: Move ...
9004         * config/accel/proc.c: ... to here.
9005         * config/nvptx/ptrlock.c: Move ...
9006         * config/accel/ptrlock.c: ... to here.
9007         * config/nvptx/ptrlock.h: Move ...
9008         * config/accel/ptrlock.h: ... to here.
9009         * config/nvptx/sem.c: Move ...
9010         * config/accel/sem.c: ... to here.
9011         * config/nvptx/sem.h: Move ...
9012         * config/accel/sem.h: ... to here.
9013         * config/nvptx/thread-stacksize.h: Move ...
9014         * config/accel/thread-stacksize.h: ... to here.
9016 2019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
9017             Tobias Burnus  <tobias@codesourcery.com>
9018             Frederik Harwath  <frederik@codesourcery.com>
9019             Thomas Schwinge  <thomas@codesourcery.com>
9021         libgomp/
9022         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
9023         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
9024         * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
9026 2019-11-11  Tobias Burnus  <tobias@codesourcery.com>
9027             Kwok Cheung Yeung  <kcy@codesourcery.com>
9029         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
9030         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
9032 2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
9034         * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
9036         * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
9037         run'.
9038         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
9039         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
9041 2019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
9043         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
9044         Add expected warnings about missing reduction clauses.
9045         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9046         Likewise.
9047         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
9048         Likewise.
9049         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
9050         Likewise.
9052 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
9054         * testsuite/libgomp.fortran/pr66199-1.f90: Remove
9055         'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
9056         * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
9057         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9058         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9059         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9061 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
9063         PR fortran/92305
9064         * testsuite/libgomp.fortran/allocatable2.f90: Use
9065         unique numbers with 'stop'.
9066         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9067         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9068         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
9069         * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
9070         * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
9072 2019-11-01  Tobias Burnus  <tobias@codesourcery.com>
9074         * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
9075         test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
9076         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
9077         * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
9078         * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
9079         * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
9081 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
9083         * testsuite/libgomp.fortran/target9.f90: New.
9085 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
9087         * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
9088         * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
9089         * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
9090         * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
9091         * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
9092         * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
9093         * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
9094         * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
9095         * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
9096         * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
9097         * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
9098         * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
9099         * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
9100         * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
9101         * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
9102         * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
9103         * testsuite/libgomp.fortran/associate1.f90: Ditto.
9104         * testsuite/libgomp.fortran/associate2.f90: Ditto.
9105         * testsuite/libgomp.fortran/associate3.f90: Ditto.
9106         * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
9107         * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
9108         * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
9109         * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
9110         * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
9111         * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
9112         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
9113         * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
9114         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
9115         * testsuite/libgomp.fortran/character1.f90: Ditto.
9116         * testsuite/libgomp.fortran/character2.f90: Ditto.
9117         * testsuite/libgomp.fortran/collapse1.f90: Ditto.
9118         * testsuite/libgomp.fortran/collapse2.f90: Ditto.
9119         * testsuite/libgomp.fortran/collapse3.f90: Ditto.
9120         * testsuite/libgomp.fortran/collapse4.f90: Ditto.
9121         * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
9122         * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
9123         * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
9124         * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
9125         * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
9126         * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
9127         * testsuite/libgomp.fortran/depend-1.f90: Ditto.
9128         * testsuite/libgomp.fortran/depend-2.f90: Ditto.
9129         * testsuite/libgomp.fortran/depend-3.f90: Ditto.
9130         * testsuite/libgomp.fortran/do1.f90: Ditto.
9131         * testsuite/libgomp.fortran/do2.f90: Ditto.
9132         * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
9133         * testsuite/libgomp.fortran/doacross1.f90: Ditto.
9134         * testsuite/libgomp.fortran/doacross2.f90: Ditto.
9135         * testsuite/libgomp.fortran/doacross3.f90: Ditto.
9136         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
9137         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
9138         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
9139         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
9140         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
9141         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
9142         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
9143         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
9144         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
9145         * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
9146         * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
9147         * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
9148         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
9149         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
9150         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
9151         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
9152         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
9153         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
9154         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
9155         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
9156         * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
9157         * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
9158         * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
9159         * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
9160         * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
9161         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
9162         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
9163         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
9164         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
9165         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
9166         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
9167         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
9168         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
9169         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
9170         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
9171         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
9172         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
9173         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
9174         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
9175         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
9176         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
9177         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
9178         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
9179         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
9180         * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
9181         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9182         * testsuite/libgomp.fortran/lib1.f90: Ditto.
9183         * testsuite/libgomp.fortran/lib4.f90: Ditto.
9184         * testsuite/libgomp.fortran/lock-1.f90: Ditto.
9185         * testsuite/libgomp.fortran/lock-2.f90: Ditto.
9186         * testsuite/libgomp.fortran/nested1.f90: Ditto.
9187         * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
9188         * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
9189         * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
9190         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9191         * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
9192         * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
9193         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
9194         * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
9195         * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
9196         * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
9197         * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
9198         * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
9199         * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
9200         * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
9201         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
9202         * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
9203         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
9204         * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
9205         * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
9206         * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
9207         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
9208         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
9209         * testsuite/libgomp.fortran/pointer1.f90: Ditto.
9210         * testsuite/libgomp.fortran/pointer2.f90: Ditto.
9211         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9212         * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
9213         * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
9214         * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
9215         * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
9216         * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
9217         * testsuite/libgomp.fortran/pr28390.f: Ditto.
9218         * testsuite/libgomp.fortran/pr29629.f90: Ditto.
9219         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9220         * testsuite/libgomp.fortran/pr33880.f90: Ditto.
9221         * testsuite/libgomp.fortran/pr34020.f90: Ditto.
9222         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9223         * testsuite/libgomp.fortran/pr42162.f90: Ditto.
9224         * testsuite/libgomp.fortran/pr46753.f90: Ditto.
9225         * testsuite/libgomp.fortran/pr48894.f90: Ditto.
9226         * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
9227         * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
9228         * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
9229         * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
9230         * testsuite/libgomp.fortran/pr65597.f90: Ditto.
9231         * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
9232         * testsuite/libgomp.fortran/pr71014.f90: Ditto.
9233         * testsuite/libgomp.fortran/pr81304.f90: Ditto.
9234         * testsuite/libgomp.fortran/pr81841.f90: Ditto.
9235         * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
9236         * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
9237         * testsuite/libgomp.fortran/procptr1.f90: Ditto.
9238         * testsuite/libgomp.fortran/recursion1.f90: Ditto.
9239         * testsuite/libgomp.fortran/reduction1.f90: Ditto.
9240         * testsuite/libgomp.fortran/reduction2.f90: Ditto.
9241         * testsuite/libgomp.fortran/reduction3.f90: Ditto.
9242         * testsuite/libgomp.fortran/reduction4.f90: Ditto.
9243         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9244         * testsuite/libgomp.fortran/reduction6.f90: Ditto.
9245         * testsuite/libgomp.fortran/reference1.f90: Ditto.
9246         * testsuite/libgomp.fortran/reference2.f90: Ditto.
9247         * testsuite/libgomp.fortran/retval1.f90: Ditto.
9248         * testsuite/libgomp.fortran/retval2.f90: Ditto.
9249         * testsuite/libgomp.fortran/sharing1.f90: Ditto.
9250         * testsuite/libgomp.fortran/sharing2.f90: Ditto.
9251         * testsuite/libgomp.fortran/simd1.f90: Ditto.
9252         * testsuite/libgomp.fortran/simd2.f90: Ditto.
9253         * testsuite/libgomp.fortran/simd3.f90: Ditto.
9254         * testsuite/libgomp.fortran/simd4.f90: Ditto.
9255         * testsuite/libgomp.fortran/simd5.f90: Ditto.
9256         * testsuite/libgomp.fortran/simd6.f90: Ditto.
9257         * testsuite/libgomp.fortran/simd7.f90: Ditto.
9258         * testsuite/libgomp.fortran/stack.f90: Ditto.
9259         * testsuite/libgomp.fortran/strassen.f90: Ditto.
9260         * testsuite/libgomp.fortran/tabs1.f90: Ditto.
9261         * testsuite/libgomp.fortran/tabs2.f: Ditto.
9262         * testsuite/libgomp.fortran/target1.f90: Ditto.
9263         * testsuite/libgomp.fortran/target2.f90: Ditto.
9264         * testsuite/libgomp.fortran/target3.f90: Ditto.
9265         * testsuite/libgomp.fortran/target4.f90: Ditto.
9266         * testsuite/libgomp.fortran/target5.f90: Ditto.
9267         * testsuite/libgomp.fortran/target6.f90: Ditto.
9268         * testsuite/libgomp.fortran/target7.f90: Ditto.
9269         * testsuite/libgomp.fortran/target8.f90: Ditto.
9270         * testsuite/libgomp.fortran/task1.f90: Ditto.
9271         * testsuite/libgomp.fortran/task2.f90: Ditto.
9272         * testsuite/libgomp.fortran/task3.f90: Ditto.
9273         * testsuite/libgomp.fortran/task4.f90: Ditto.
9274         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9275         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9276         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9277         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9278         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9279         * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
9280         * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
9281         * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
9282         * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
9283         * testsuite/libgomp.fortran/udr1.f90: Ditto.
9284         * testsuite/libgomp.fortran/udr10.f90: Ditto.
9285         * testsuite/libgomp.fortran/udr11.f90: Ditto.
9286         * testsuite/libgomp.fortran/udr12.f90: Ditto.
9287         * testsuite/libgomp.fortran/udr13.f90: Ditto.
9288         * testsuite/libgomp.fortran/udr14.f90: Ditto.
9289         * testsuite/libgomp.fortran/udr15.f90: Ditto.
9290         * testsuite/libgomp.fortran/udr2.f90: Ditto.
9291         * testsuite/libgomp.fortran/udr3.f90: Ditto.
9292         * testsuite/libgomp.fortran/udr4.f90: Ditto.
9293         * testsuite/libgomp.fortran/udr5.f90: Ditto.
9294         * testsuite/libgomp.fortran/udr6.f90: Ditto.
9295         * testsuite/libgomp.fortran/udr7.f90: Ditto.
9296         * testsuite/libgomp.fortran/udr8.f90: Ditto.
9297         * testsuite/libgomp.fortran/udr9.f90: Ditto.
9298         * testsuite/libgomp.fortran/vla1.f90: Ditto.
9299         * testsuite/libgomp.fortran/vla2.f90: Ditto.
9300         * testsuite/libgomp.fortran/vla3.f90: Ditto.
9301         * testsuite/libgomp.fortran/vla4.f90: Ditto.
9302         * testsuite/libgomp.fortran/vla5.f90: Ditto.
9303         * testsuite/libgomp.fortran/vla6.f90: Ditto.
9304         * testsuite/libgomp.fortran/vla7.f90: Ditto.
9305         * testsuite/libgomp.fortran/vla8.f90: Ditto.
9306         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9307         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9309 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
9311         * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
9312         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
9313         Ditto; add 'dg-do run' for torture testing.
9314         * testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
9315         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9316         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9317         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9318         * testsuite/libgomp.fortran/pr28390.f: Ditto.
9319         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9320         * testsuite/libgomp.fortran/pr90779.f90: Ditto.
9321         * testsuite/libgomp.fortran/task2.f90: Ditto.
9322         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9323         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9324         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9325         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9326         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9327         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9329 2019-10-28  Tobias Burnus  <tobias@codesourcery.com>
9331         * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
9332         * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
9333         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
9334         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
9335         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
9336         * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
9337         * testsuite/libgomp.oacc-fortran/common-block-1.f90:
9338         Use 'stop' not abort().
9339         * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
9340         * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
9341         * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
9342         * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
9343         * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
9344         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
9345         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
9346         * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
9347         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
9348         * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
9349         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
9350         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
9351         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
9352         * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
9353         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
9354         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
9355         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9356         Ditto.
9357         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9358         Ditto.
9359         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9360         Ditto.
9361         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9362         Ditto.
9363         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9364         Ditto.
9365         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
9366         Ditto.
9367         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
9368         Ditto.
9369         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
9370         Ditto.
9371         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
9372         Ditto.
9373         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
9374         Ditto.
9375         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
9376         Ditto.
9377         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
9378         Ditto.
9379         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
9380         Ditto.
9381         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
9382         Ditto.
9383         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
9384         * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
9385         * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
9386         * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
9387         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9388         Likewise and also add 'dg-do run'.
9389         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9390         Ditto.
9392 2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
9393             Tobias Burnus  <tobias@codesourcery.com>
9395         * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
9396         * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
9397         * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
9399 2019-10-14  Jakub Jelinek  <jakub@redhat.com>
9401         PR libgomp/92081
9402         * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
9403         than 0.
9405 2019-10-11  Tobias Burnus  <tobias@codesourcery.com>
9407         * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
9408         * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
9410 2019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
9412         PR middle-end/92036
9413         * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
9414         file.
9416 2019-10-09  Tobias Burnus  <tobias@codesourcery.com>
9418         PR testsuite/91884
9419         * testsuite/libgomp.fortran/fortran.exp: Conditionally
9420         add -lquadmath.
9421         * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
9423 2019-10-09  Jakub Jelinek  <jakub@redhat.com>
9425         PR libgomp/92028
9426         * target.c (gomp_map_vars_internal): Readd the previous
9427         GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
9428         though do that just in the !not_found_cnt case.
9430 2019-10-08  Tobias Burnus  <tobias@codesourcery.com>
9432         * gfortran.dg/gomp/target-simd.f90: New.
9434 2019-10-02  Julian Brown  <julian@codesourcery.com>
9435             Cesar Philippidis  <cesar@codesourcery.com>
9437         * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
9438         * target.c (FIELD_TGT_EMPTY): Define.
9439         (gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
9440         as switch instead of list of ifs.
9441         (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
9443 2019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
9445         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
9446         include. Replace alloca () with __builtin_alloca ().
9447         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
9449 2019-10-01  Jakub Jelinek  <jakub@redhat.com>
9451         * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
9452         * libgomp.h: Include <stdint.h> instead of "gstdint.h".
9453         * oacc-parallel.c: Don't include "libgomp_g.h".
9454         * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
9455         * plugin/plugin-nvptx.c: Don't include "gstdint.h".
9456         * aclocal.m4: Regenerated.
9457         * config.h.in: Regenerated.
9458         * configure: Regenerated.
9459         * Makefile.in: Regenerated.
9461 2019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
9463         * libgomp_g.h: Include stdint.h instead of gstdint.h.
9465 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
9467         * configure: Regenerate.
9469 2019-09-13  Tobias Burnus  <tobias@codesourcery.com>
9471         * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
9472         string is initialized.
9474 2019-09-06  Florian Weimer  <fweimer@redhat.com>
9476         * configure: Regenerate.
9478 2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
9480         PR other/79543
9481         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
9482         scanning to conform to the GNU Coding Standards.
9483         * configure: Regenerate.
9485 2019-08-28  Jakub Jelinek  <jakub@redhat.com>
9487         PR libgomp/91530
9488         * testsuite/libgomp.c/scan-21.c: New test.
9489         * testsuite/libgomp.c/scan-22.c: New test.
9491 2019-08-27  Jakub Jelinek  <jakub@redhat.com>
9493         PR libgomp/91530
9494         * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
9495         targets.
9496         * testsuite/libgomp.c/scan-12.c: Likewise.
9497         * testsuite/libgomp.c/scan-13.c: Likewise.
9498         * testsuite/libgomp.c/scan-14.c: Likewise.
9499         * testsuite/libgomp.c/scan-15.c: Likewise.
9500         * testsuite/libgomp.c/scan-16.c: Likewise.
9501         * testsuite/libgomp.c/scan-17.c: Likewise.
9502         * testsuite/libgomp.c/scan-18.c: Likewise.
9503         * testsuite/libgomp.c/scan-19.c: Likewise.
9504         * testsuite/libgomp.c/scan-20.c: Likewise.
9505         * testsuite/libgomp.c++/scan-9.C: Likewise.
9506         * testsuite/libgomp.c++/scan-10.C: Likewise.
9507         * testsuite/libgomp.c++/scan-11.C: Likewise.
9508         * testsuite/libgomp.c++/scan-12.C: Likewise.
9509         * testsuite/libgomp.c++/scan-14.C: Likewise.
9510         * testsuite/libgomp.c++/scan-15.C: Likewise.
9511         * testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
9512         instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
9513         * testsuite/libgomp.c++/scan-16.C: Likewise.
9515 2019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
9517         PR fortran/91473
9518         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
9519         -std=legacy so invalid code in the test case is accepted.
9521 2019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
9523         PR fortran/91422
9524         * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
9525         dimension.
9527 2019-08-08  Jakub Jelinek  <jakub@redhat.com>
9529         * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
9530         perform the lookup in the first loop only if !not_found_cnt, otherwise
9531         perform lookups for it in the second loop guarded with
9532         if (not_found_cnt || has_firstprivate).
9533         * testsuite/libgomp.c/target-37.c: New test.
9534         * testsuite/libgomp.c++/target-22.C: New test.
9536 2019-08-07  Jakub Jelinek  <jakub@redhat.com>
9538         * testsuite/libgomp.c/target-18.c (struct S): New type.
9539         (foo): Use use_device_addr clause instead of use_device_ptr clause
9540         where required by OpenMP 5.0, add further tests for both use_device_ptr
9541         and use_device_addr clauses.
9542         * testsuite/libgomp.c++/target-9.C (struct S): New type.
9543         (foo): Use use_device_addr clause instead of use_device_ptr clause
9544         where required by OpenMP 5.0, add further tests for both use_device_ptr
9545         and use_device_addr clauses.  Add t and u arguments.
9546         (main): Adjust caller.
9548 2019-08-06  Jakub Jelinek  <jakub@redhat.com>
9550         * testsuite/libgomp.c++/loop-13.C: New test.
9551         * testsuite/libgomp.c++/loop-14.C: New test.
9552         * testsuite/libgomp.c++/loop-15.C: New test.
9554 2019-07-31  Jakub Jelinek  <jakub@redhat.com>
9556         PR middle-end/91301
9557         * testsuite/libgomp.c++/for-27.C: New test.
9559 2019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
9561         * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
9562         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9564 2019-07-20  Jakub Jelinek  <jakub@redhat.com>
9566         * testsuite/libgomp.c-c++-common/loop-1.c: New test.
9568 2019-07-08  Jakub Jelinek  <jakub@redhat.com>
9570         * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
9571         * testsuite/libgomp.c++/scan-16.C: Likewise.
9573 2019-07-06  Jakub Jelinek  <jakub@redhat.com>
9575         * testsuite/libgomp.c/scan-19.c: New test.
9576         * testsuite/libgomp.c/scan-20.c: New test.
9578         * testsuite/libgomp.c/scan-11.c: New test.
9579         * testsuite/libgomp.c/scan-12.c: New test.
9580         * testsuite/libgomp.c/scan-13.c: New test.
9581         * testsuite/libgomp.c/scan-14.c: New test.
9582         * testsuite/libgomp.c/scan-15.c: New test.
9583         * testsuite/libgomp.c/scan-16.c: New test.
9584         * testsuite/libgomp.c/scan-17.c: New test.
9585         * testsuite/libgomp.c/scan-18.c: New test.
9586         * testsuite/libgomp.c++/scan-9.C: New test.
9587         * testsuite/libgomp.c++/scan-10.C: New test.
9588         * testsuite/libgomp.c++/scan-11.C: New test.
9589         * testsuite/libgomp.c++/scan-12.C: New test.
9590         * testsuite/libgomp.c++/scan-13.C: New test.
9591         * testsuite/libgomp.c++/scan-14.C: New test.
9592         * testsuite/libgomp.c++/scan-15.C: New test.
9593         * testsuite/libgomp.c++/scan-16.C: New test.
9595 2019-07-04  Jakub Jelinek  <jakub@redhat.com>
9597         * testsuite/libgomp.c/scan-9.c: New test.
9598         * testsuite/libgomp.c/scan-10.c: New test.
9600 2019-07-03  Jakub Jelinek  <jakub@redhat.com>
9602         * testsuite/libgomp.c++/scan-1.C: New test.
9603         * testsuite/libgomp.c++/scan-2.C: New test.
9604         * testsuite/libgomp.c++/scan-3.C: New test.
9605         * testsuite/libgomp.c++/scan-4.C: New test.
9606         * testsuite/libgomp.c++/scan-5.C: New test.
9607         * testsuite/libgomp.c++/scan-6.C: New test.
9608         * testsuite/libgomp.c++/scan-7.C: New test.
9609         * testsuite/libgomp.c++/scan-8.C: New test.
9610         * testsuite/libgomp.c/scan-1.c: New test.
9611         * testsuite/libgomp.c/scan-2.c: New test.
9612         * testsuite/libgomp.c/scan-3.c: New test.
9613         * testsuite/libgomp.c/scan-4.c: New test.
9614         * testsuite/libgomp.c/scan-5.c: New test.
9615         * testsuite/libgomp.c/scan-6.c: New test.
9616         * testsuite/libgomp.c/scan-7.c: New test.
9617         * testsuite/libgomp.c/scan-8.c: New test.
9619 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
9621         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
9622         * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
9623         Likewise.
9625         * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
9626         check.
9628 2019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
9630         * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
9631         file.
9633 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
9635         PR fortran/90743
9636         * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
9637         case.
9638         * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
9639         * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
9640         * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
9641         * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
9643         PR testsuite/90861
9644         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
9646         PR middle-end/90862
9647         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
9649 2019-06-16  Tom de Vries  <tdevries@suse.de>
9651         PR tree-optimization/89376
9652         * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
9654 2019-06-15  Tom de Vries  <tdevries@suse.de>
9656         PR tree-optimization/89713
9657         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
9658         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
9660 2019-06-15  Jakub Jelinek  <jakub@redhat.com>
9662         PR middle-end/90779
9663         * testsuite/libgomp.c/pr90779.c: New test.
9664         * testsuite/libgomp.fortran/pr90779.f90: New test.
9666 2019-06-15  Tom de Vries  <tdevries@suse.de>
9668         PR tree-optimization/90009
9669         * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
9671 2019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
9673         PR tree-optimization/89713
9674         * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
9676 2019-06-11  Jakub Jelinek  <jakub@redhat.com>
9678         PR target/90811
9679         * testsuite/libgomp.c/pr90811.c: New test.
9681 2019-06-05  Jakub Jelinek  <jakub@redhat.com>
9683         * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9684         * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
9686 2019-06-04  Jakub Jelinek  <jakub@redhat.com>
9688         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
9689         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
9690         * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
9691         * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
9693 2019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9695         * configure.ac: Call AX_COUNT_CPUS.
9696         Substitute CPU_COUNT.
9697         * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
9698         count fallback.
9699         * aclocal.m4: Regenerate.
9700         * configure: Regenerate.
9701         * Makefile.in, testsuite/Makefile.in: Regenerate.
9703 2019-05-29  Jakub Jelinek  <jakub@redhat.com>
9705         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
9706         to ...
9707         * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
9708         * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
9709         * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
9711 2019-05-27  Jakub Jelinek  <jakub@redhat.com>
9713         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
9715         * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
9717         PR libgomp/90641
9718         * work.c (gomp_init_work_share): Instead of aligning final ordered
9719         value to multiples of long long alignment, align to that the
9720         first part (ordered team ids) and if inline_ordered_team_ids
9721         is not on a long long alignment boundary within the structure,
9722         use __alignof__ (long long) - 1 pad size always.
9723         * loop.c (GOMP_loop_start): Fix *mem computation if
9724         inline_ordered_team_ids is not aligned on long long alignment boundary
9725         within the structure.
9726         * loop-ull.c (GOMP_loop_ull_start): Likewise.
9727         * sections.c (GOMP_sections2_start): Likewise.
9729 2019-05-24  Jakub Jelinek  <jakub@redhat.com>
9731         * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
9732         * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
9734         PR libgomp/90585
9735         * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
9736         HAVE_INTTYPES_H is defined.
9737         (print_uint64_t): New typedef.
9738         (PRIu64): Define if HAVE_INTTYPES_H is not defined.
9739         (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
9740         "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
9741         (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
9742         before casting to void *.
9743         * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
9744         * oacc-mem.c: Don't include config.h nor stdint.h.
9745         * target.c: Don't include config.h.
9746         * oacc-cuda.c: Likewise.
9747         * oacc-host.c: Don't include stdint.h.
9749 2019-05-20  Jakub Jelinek  <jakub@redhat.com>
9751         PR libgomp/90527
9752         * alloc.c (_GNU_SOURCE): Define.
9754 2019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
9756         * acc_prof.h: New file.
9757         * oacc-profiling.c: Likewise.
9758         * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
9759         Add these, respectively.
9760         * Makefile.in: Regenerate.
9761         * env.c (initialize_env): Call goacc_profiling_initialize.
9762         * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
9763         (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
9764         * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
9765         (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
9766         * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
9767         acc_prof_register, acc_prof_unregister, and acc_register_library.
9768         (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
9769         GOMP_PLUGIN_goacc_thread.
9770         * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
9771         prof_callbacks_enabled members.
9772         (goacc_prof_enabled, goacc_profiling_initialize)
9773         (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
9774         (goacc_profiling_dispatch): Declare.
9775         (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
9776         (GOACC_PROFILING_SETUP_P): Define.
9777         * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
9778         (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
9779         OpenACC Profiling Interface.
9780         * oacc-cuda.c (acc_get_current_cuda_device)
9781         (acc_get_current_cuda_context, acc_get_cuda_stream)
9782         (acc_set_cuda_stream): Likewise.
9783         * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
9784         (acc_init, acc_set_device_type, acc_get_device_type)
9785         (acc_get_device_num, goacc_lazy_initialize): Likewise.
9786         * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
9787         (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
9788         (acc_unmap_data, present_create_copy, delete_copyout)
9789         (update_dev_host): Likewise.
9790         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
9791         (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
9792         Likewise.
9793         * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
9794         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
9795         Likewise.
9796         * libgomp.texi: Update.
9797         * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
9798         file.
9799         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
9800         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
9801         Likewise.
9802         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
9803         Likewise.
9804         * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
9805         Likewise.
9806         * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
9807         Likewise.
9809 2019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
9811         * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
9812         (struct goacc_asyncqueue_list): Likewise.
9813         (goacc_aq): Likewise.
9814         (goacc_aq_list): Likewise.
9815         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9816         (GOMP_OFFLOAD_openacc_async_test): Remove.
9817         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9818         (GOMP_OFFLOAD_openacc_async_wait): Remove.
9819         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9820         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9821         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9822         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9823         (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
9824         (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
9825         (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
9826         (GOMP_OFFLOAD_openacc_async_exec): Declare.
9827         (GOMP_OFFLOAD_openacc_async_construct): Declare.
9828         (GOMP_OFFLOAD_openacc_async_destruct): Declare.
9829         (GOMP_OFFLOAD_openacc_async_test): Declare.
9830         (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
9831         (GOMP_OFFLOAD_openacc_async_serialize): Declare.
9832         (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
9833         (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
9834         (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
9836         * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
9837         (gomp_acc_insert_pointer): Adjust declaration.
9838         (gomp_copy_host2dev): New declaration.
9839         (gomp_copy_dev2host): Likewise.
9840         (gomp_map_vars_async): Likewise.
9841         (gomp_unmap_tgt): Likewise.
9842         (gomp_unmap_vars_async): Likewise.
9843         (gomp_fini_device): Likewise.
9845         * oacc-async.c (get_goacc_thread): New function.
9846         (get_goacc_thread_device): New function.
9847         (lookup_goacc_asyncqueue): New function.
9848         (get_goacc_asyncqueue): New function.
9849         (acc_async_test): Adjust code to use new async design.
9850         (acc_async_test_all): Likewise.
9851         (acc_wait): Likewise.
9852         (acc_wait_async): Likewise.
9853         (acc_wait_all): Likewise.
9854         (acc_wait_all_async): Likewise.
9855         (goacc_async_free): New function.
9856         (goacc_init_asyncqueues): Likewise.
9857         (goacc_fini_asyncqueues): Likewise.
9858         * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
9859         design.
9860         (acc_set_cuda_stream): Likewise.
9861         * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
9862         (host_openacc_register_async_cleanup): Remove.
9863         (host_openacc_async_exec): New function.
9864         (host_openacc_async_test): Adjust parameters.
9865         (host_openacc_async_test_all): Remove.
9866         (host_openacc_async_wait): Remove.
9867         (host_openacc_async_wait_async): Remove.
9868         (host_openacc_async_wait_all): Remove.
9869         (host_openacc_async_wait_all_async): Remove.
9870         (host_openacc_async_set_async): Remove.
9871         (host_openacc_async_synchronize): New function.
9872         (host_openacc_async_serialize): New function.
9873         (host_openacc_async_host2dev): New function.
9874         (host_openacc_async_dev2host): New function.
9875         (host_openacc_async_queue_callback): New function.
9876         (host_openacc_async_construct): New function.
9877         (host_openacc_async_destruct): New function.
9878         (struct gomp_device_descr host_dispatch): Remove initialization of old
9879         interface, add initialization of new async sub-struct.
9880         * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
9881         (goacc_attach_host_thread_to_device): Remove old async code usage.
9882         * oacc-int.h (goacc_init_asyncqueues): New declaration.
9883         (goacc_fini_asyncqueues): Likewise.
9884         (goacc_async_copyout_unmap_vars): Likewise.
9885         (goacc_async_free): Likewise.
9886         (get_goacc_asyncqueue): Likewise.
9887         (lookup_goacc_asyncqueue): Likewise.
9888         * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
9889         design.
9890         (present_create_copy): Adjust code to use new async design.
9891         (delete_copyout): Likewise.
9892         (update_dev_host): Likewise.
9893         (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
9894         async design.
9895         (gomp_acc_remove_pointer): Adjust code to use new async design.
9896         * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
9897         design.
9898         (GOACC_enter_exit_data): Likewise.
9899         (goacc_wait): Likewise.
9900         (GOACC_update): Likewise.
9901         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
9902         when called, warn as obsolete in comment.
9903         * target.c (goacc_device_copy_async): New function.
9904         (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
9905         add goacc_device_copy_async case.
9906         (gomp_copy_dev2host): Likewise.
9907         (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
9908         (gomp_map_pointer): Likewise.
9909         (gomp_map_fields_existing): Likewise.
9910         (gomp_map_vars_internal): New always_inline function, renamed from
9911         gomp_map_vars.
9912         (gomp_map_vars): Implement by calling gomp_map_vars_internal.
9913         (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
9914         passing goacc_asyncqueue argument.
9915         (gomp_unmap_tgt): Remove static, add attribute_hidden.
9916         (gomp_unref_tgt): New function.
9917         (gomp_unmap_vars_internal): New always_inline function, renamed from
9918         gomp_unmap_vars.
9919         (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
9920         (gomp_unmap_vars_async): Implement by calling
9921         gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
9922         (gomp_fini_device): New function.
9923         (gomp_exit_data): Adjust gomp_copy_dev2host call.
9924         (gomp_load_plugin_for_device): Remove old interface, adjust to load
9925         new async interface.
9926         (gomp_target_fini): Adjust code to call gomp_fini_device.
9928         * plugin/plugin-nvptx.c (struct cuda_map): Remove.
9929         (struct ptx_stream): Remove.
9930         (struct nvptx_thread): Remove current_stream field.
9931         (cuda_map_create): Remove.
9932         (cuda_map_destroy): Remove.
9933         (map_init): Remove.
9934         (map_fini): Remove.
9935         (map_pop): Remove.
9936         (map_push): Remove.
9937         (struct goacc_asyncqueue): Define.
9938         (struct nvptx_callback): Define.
9939         (struct ptx_free_block): Define.
9940         (struct ptx_device): Remove null_stream, active_streams, async_streams,
9941         stream_lock, and next fields.
9942         (enum ptx_event_type): Remove.
9943         (struct ptx_event): Remove.
9944         (ptx_event_lock): Remove.
9945         (ptx_events): Remove.
9946         (init_streams_for_device): Remove.
9947         (fini_streams_for_device): Remove.
9948         (select_stream_for_async): Remove.
9949         (nvptx_init): Remove ptx_events and ptx_event_lock references.
9950         (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
9951         case.
9952         (nvptx_open_device): Add free_blocks initialization, remove
9953         init_streams_for_device call.
9954         (nvptx_close_device): Remove fini_streams_for_device call, add
9955         free_blocks destruct code.
9956         (event_gc): Remove.
9957         (event_add): Remove.
9958         (nvptx_exec): Adjust parameters and code.
9959         (nvptx_free): Likewise.
9960         (nvptx_host2dev): Remove.
9961         (nvptx_dev2host): Remove.
9962         (nvptx_set_async): Remove.
9963         (nvptx_async_test): Remove.
9964         (nvptx_async_test_all): Remove.
9965         (nvptx_wait): Remove.
9966         (nvptx_wait_async): Remove.
9967         (nvptx_wait_all): Remove.
9968         (nvptx_wait_all_async): Remove.
9969         (nvptx_get_cuda_stream): Remove.
9970         (nvptx_set_cuda_stream): Remove.
9971         (GOMP_OFFLOAD_alloc): Adjust code.
9972         (GOMP_OFFLOAD_free): Likewise.
9973         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9974         (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
9975         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9976         (GOMP_OFFLOAD_openacc_async_wait): Remove.
9977         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9978         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9979         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9980         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9981         (cuda_free_argmem): New function.
9982         (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
9983         (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
9984         (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
9985         (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
9986         (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
9987         (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
9988         (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
9989         (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
9990         (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
9991         (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
9992         (cuda_callback_wrapper): New function.
9993         (cuda_memcpy_sanity_check): New function.
9994         (GOMP_OFFLOAD_host2dev): Remove and re-implement.
9995         (GOMP_OFFLOAD_dev2host): Remove and re-implement.
9996         (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
9997         (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
9999 2019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
10001         PR target/87835
10002         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
10004 2019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
10006         * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
10008 2019-03-27  Kevin Buettner  <kevinb@redhat.com>
10010         * team.c (gomp_team_start): Initialize pool->threads[0].
10012 2019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
10014         * testsuite/libgomp.oacc-c++/c++.exp: Specify
10015         "-foffload=$offload_target".
10016         * testsuite/libgomp.oacc-c/c.exp: Likewise.
10017         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10018         * testsuite/lib/libgomp.exp
10019         (check_effective_target_openacc_nvidia_accel_configured): Remove,
10020         as (conceptually) merged into
10021         check_effective_target_openacc_nvidia_accel_selected.  Adjust all
10022         users.
10024         * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
10025         * testsuite/libgomp-test-support.exp.in: Adjust.
10026         * testsuite/lib/libgomp.exp: Likewise.  Don't populate
10027         openacc_device_types_s.
10028         (offload_target_to_openacc_device_type): New proc.
10029         * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
10030         * testsuite/libgomp.oacc-c/c.exp: Likewise.
10031         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10032         * Makefile.in: Regenerate.
10033         * configure: Likewise.
10034         * testsuite/Makefile.in: Likewise.
10036         * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
10037         instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
10038         instead of OFFLOAD_TARGETS.
10039         * target.c (gomp_target_init): Adjust.
10040         * testsuite/libgomp-test-support.exp.in: Likewise.
10041         * testsuite/lib/libgomp.exp: Likewise.  Populate
10042         openacc_device_types_s instead of offload_targets_s_openacc.
10043         (check_effective_target_openacc_nvidia_accel_selected)
10044         (check_effective_target_openacc_host_selected): Adjust.
10045         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
10046         * testsuite/libgomp.oacc-c/c.exp: Likewise.
10047         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10048         * Makefile.in: Regenerate.
10049         * config.h.in: Likewise.
10050         * configure: Likewise.
10051         * testsuite/Makefile.in: Likewise.
10053         * testsuite/lib/libgomp.exp: Error out for unknown offload target.
10054         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
10055         "offloading: supported, but hardware not accessible".
10056         * testsuite/libgomp.oacc-c/c.exp: Likewise.
10057         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10059 2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
10061         PR c/87924
10062         * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
10063         goacc_wait().
10064         (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
10065         and related adjustment.
10067 2019-01-30  Jakub Jelinek  <jakub@redhat.com>
10069         PR c++/88988
10070         * testsuite/libgomp.c++/pr88988.C: New test.
10072 2019-01-28  Jakub Jelinek  <jakub@redhat.com>
10074         PR middle-end/89002
10075         * testsuite/libgomp.c/pr89002.c: New test.
10077 2019-01-28  Richard Biener  <rguenther@suse.de>
10079         PR testsuite/89064
10080         PR tree-optimization/86865
10081         * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
10083 2019-01-24  Tom de Vries  <tdevries@suse.de>
10085         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
10086         once instantiated_devices drops to 0.
10088 2019-01-23  Tom de Vries  <tdevries@suse.de>
10090         PR target/PR88946
10091         * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
10092         cuMemFree.
10093         (nvptx_exec): Don't call map_push if mapnum == 0.
10094         * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
10096 2019-01-23  Tom de Vries  <tdevries@suse.de>
10098         PR target/88941
10099         PR target/88939
10100         * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
10101         (map_fini): Remove "assert (!s->map->active)".
10102         * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
10104 2019-01-23  Tom de Vries  <tdevries@suse.de>
10106         PR target/87835
10107         * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
10108         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
10110 2019-01-15  Tom de Vries  <tdevries@suse.de>
10112         PR target/80547
10113         * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
10114         New test.
10116 2019-01-12  Tom de Vries  <tdevries@suse.de>
10118         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
10119         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
10120         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
10121         * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
10123 2019-01-12  Tom de Vries  <tdevries@suse.de>
10125         * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
10127 2019-01-12  Tom de Vries  <tdevries@suse.de>
10129         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
10130         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
10131         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
10133 2019-01-12  Tom de Vries  <tdevries@suse.de>
10135         PR target/85486
10136         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
10137         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
10139 2019-01-12  Tom de Vries  <tdevries@suse.de>
10141         PR target/85381
10142         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
10143         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
10145 2019-01-12  Tom de Vries  <tdevries@suse.de>
10147         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
10148         * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
10149         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
10151 2019-01-12  Tom de Vries  <tdevries@suse.de>
10153         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
10154         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
10155         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
10157 2019-01-12  Tom de Vries  <tdevries@suse.de>
10159         * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
10160         resources diagnostic.
10162 2019-01-12  Tom de Vries  <tdevries@suse.de>
10164         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
10165         vector length to be 128.
10166         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
10167         length 2097152 to be reduced to 1024 instead of 32.
10169 2019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
10170             James Norris  <jnorris@codesourcery.com>
10172         * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
10173         Library Routines", and "Environment Variables".
10175 2019-01-11  Tom de Vries  <tdevries@suse.de>
10177         * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
10178         num_workers 16.
10180 2019-01-11  Tom de Vries  <tdevries@suse.de>
10182         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
10183         -foffload=-w.
10184         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
10185         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
10186         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
10187         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
10189 2019-01-11  Tom de Vries  <tdevries@suse.de>
10191         * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
10192         test.
10194 2019-01-10  Nathan Sidwell  <nathan@acm.org>
10195             Julian Brown  <julian@codesourcery.com>
10197         PR lto/71959
10198         * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
10199         * testsuite/libgomp.oacc-c++/pr71959.C: New.
10201 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10203         * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
10204         and paste code.
10206 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10208         * config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
10209         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10210         write.
10212 2019-01-09  Tom de Vries  <tdevries@suse.de>
10214         PR target/88756
10215         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
10216         #define instead of "const int".
10217         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
10218         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
10219         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
10220         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
10222 2019-01-09  Tom de Vries  <tdevries@suse.de>
10224         * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
10225         one worker.
10227 2019-01-07  Tom de Vries  <tdevries@suse.de>
10229         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
10230         GOMP_OPENACC_DIM argument.
10232 2019-01-03  Tom de Vries  <tdevries@suse.de>
10234         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
10235         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
10237 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
10239         Update copyright years.
10241 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
10243         * libgomp.texi: Bump @copying's copyright year.
10245 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
10247         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
10248         (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
10249         (GOACC_declare): Redefine the "device" argument to "flags".
10251 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
10252             Cesar Philippidis  <cesar@codesourcery.com>
10254         * target.c (struct gomp_coalesce_chunk): New structure.
10255         (struct gomp_coalesce_buf): Update the chunks member to use that
10256         type.  Adjust all users.
10258 2018-12-19  Tom de Vries  <tdevries@suse.de>
10260         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
10261         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
10262         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
10264 2018-12-19  Tom de Vries  <tdevries@suse.de>
10266         * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
10267         * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
10268         gcc/testsuite/gcc.dg/goacc.
10269         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
10271 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
10272             Chung-Lin Tang  <cltang@codesourcery.com>
10274         * oacc-mem.c (acc_present_or_create): Remove definition and change
10275         to alias of acc_create.
10276         (acc_present_or_copyin): Remove definition and change to alias of
10277         acc_copyin.
10278         * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
10279         of acc_present_or_create.
10280         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
10281         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10282         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10283         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10284         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10285         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10286         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10287         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10288         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10289         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10290         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10291         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10292         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10293         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10294         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10295         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10297 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
10299         PR libgomp/88495
10300         * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
10301         "identical parameters".
10302         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
10303         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
10305         PR libgomp/88484
10306         * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
10307         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
10309         PR libgomp/88407
10310         * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
10311         (nvptx_wait_async): Unseen async-argument is a no-op.
10312         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
10313         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
10314         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10315         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10316         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10317         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
10318         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
10319         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
10320         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
10322         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
10323         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10325 2018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
10327         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
10328         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10329         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10331 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
10333         PR libgomp/88370
10334         * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
10335         (acc_set_cuda_stream): Clarify.
10336         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10337         "async_valid_p".
10338         * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
10339         acc_async_sync".
10340         * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
10341         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
10342         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
10343         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10345 2018-12-14  Tom de Vries  <tdevries@suse.de>
10347         * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
10348         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
10349         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
10350         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
10351         * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
10353 2018-12-13  Tom de Vries  <tdevries@suse.de>
10355         * affinity-fmt.c (gomp_print_string): New function, factored out of ...
10356         (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
10357         * fortran.c (omp_display_affinity_): ... here.
10358         * libgomp.h (gomp_print_string): Declare.
10359         * config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
10360         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10361         write.
10363 2018-12-13  Jakub Jelinek  <jakub@redhat.com>
10365         PR libgomp/88460
10366         * testsuite/libgomp.c++/for-24.C (results): Include it in
10367         omp declare target region.
10368         (main): Use map (always, tofrom: results) instead of
10369         map (tofrom: results).
10371 2018-12-12  Jakub Jelinek  <jakub@redhat.com>
10373         PR fortran/88463
10374         * testsuite/libgomp.fortran/pr88463-1.f90: New test.
10375         * testsuite/libgomp.fortran/pr88463-2.f90: New test.
10377         * testsuite/libgomp.c-c++-common/for-16.c: New test.
10379 2018-12-12  Andreas Schwab  <schwab@suse.de>
10381         * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
10382         clobbered.
10384 2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
10386         PR fortran/88411
10387         * testsuite/libgomp.fortran/async_io_8.f90: New test.
10389 2018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
10390             Jakub Jelinek  <jakub@redhat.com>
10392         * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
10393         devicep->host2dev_func.
10395 2018-12-08  Jakub Jelinek  <jakub@redhat.com>
10397         PR libgomp/87995
10398         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
10399         tls_runtime effective target.
10400         (t): New threadprivate variable.
10401         (main): Set t in threads which execute iterations of the worksharing
10402         loop.  Propagate that to the task after the loop and don't abort
10403         if the current taskgroup hasn't been cancelled.
10405 2018-12-02  Jakub Jelinek  <jakub@redhat.com>
10407         * testsuite/libgomp.c/task-reduction-3.c: New test.
10409         * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
10411 2018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
10413         PR libgomp/88288
10414         * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
10415         * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
10417 2018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
10419         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
10421 2018-10-19  Richard Biener  <rguenther@suse.de>
10423         PR tree-optimization/88182
10424         * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
10426 2018-11-26  Jakub Jelinek  <jakub@redhat.com>
10428         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
10429         (RUNTEST): Don't define.
10430         (RUNTESTDEFAULTFLAGS): Add.
10431         (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
10432         (distclean-am): Depend on distclean-DEJAGNU.
10433         (check-am): If -j% option is present in MFLAGS and if
10434         `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
10435         (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
10436         * testsuite/Makefile.in: Regenerated.
10438 2018-11-26  Richard Biener  <rguenther@suse.de>
10440         PR tree-optimization/88182
10441         * testsuite/libgomp.c++/pr88182.C: New testcase.
10443 2018-11-20  Jakub Jelinek  <jakub@redhat.com>
10445         PR bootstrap/88106
10446         * config/mingw32/affinity-fmt.c: New file.
10448 2018-11-09  Jakub Jelinek  <jakub@redhat.com>
10450         * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
10451         (gomp_display_affinity): Use __builtin_choose_expr to handle
10452         properly handle argument having integral, or pointer or some other
10453         type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
10454         with uint64_t type instead of %llx and unsigned long long.
10456         * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
10457         * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
10459 2018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10461         * affinity.c: Include <string.h>, <stdio.h>.
10462         (gomp_display_affinity_place): Remove cpusetp.
10463         * teams.c: Include <limits.h>.
10465 2018-11-08  Jakub Jelinek  <jakub@redhat.com>
10467         * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
10468         in_reduction clause for s[0].
10470         * affinity.c (gomp_display_affinity_place): New function.
10471         * affinity-fmt.c: New file.
10472         * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
10473         * config/linux/affinity.c (gomp_display_affinity_place): New function.
10474         * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
10475         Move these functions to ...
10476         * config/nvptx/teams.c: ... here.  New file.
10477         * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
10478         New functions.
10479         * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
10480         functions.
10481         * configure.ac: Check for aligned_alloc, posix_memalign, memalign
10482         and _aligned_malloc.
10483         (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
10484         * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
10485         * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
10486         gomp_affinity_format_len): New variables.
10487         (parse_schedule): Parse monotonic and nonmonotonic modifiers in
10488         OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
10489         (handle_omp_display_env): Display monotonic/nonmonotonic schedule
10490         modifiers.  Display (non-default) chunk sizes.  Print
10491         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
10492         (initialize_env): Don't call pthread_attr_setdetachstate.  Handle
10493         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
10494         * fortran.c: Include stdio.h and string.h.
10495         (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
10496         (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
10497         (omp_set_affinity_format_, omp_get_affinity_format_,
10498         omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
10499         omp_pause_resource_all_): New functions.
10500         * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
10501         switch.
10502         * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
10503         functions to ...
10504         * teams.c: ... here.  New file.
10505         * libgomp_g.h: Include gstdint.h.
10506         (GOMP_loop_nonmonotonic_runtime_start,
10507         GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
10508         GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
10509         GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
10510         GOMP_parallel_loop_nonmonotonic_runtime,
10511         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10512         GOMP_loop_ull_nonmonotonic_runtime_start,
10513         GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
10514         GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
10515         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10516         GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
10517         GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
10518         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10519         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10520         GOMP_teams_reg): Declare.
10521         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
10522         gomp_aligned_alloc uses fallback implementation.
10523         (gomp_aligned_alloc, gomp_aligned_free): Declare.
10524         (enum gomp_schedule_type): Add GFS_MONOTONIC.
10525         (struct gomp_doacross_work_share): Add extra field.
10526         (struct gomp_work_share): Add task_reductions field.
10527         (struct gomp_taskgroup): Add workshare and reductions fields.
10528         (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
10529         (gomp_thread_handle): New typedef.
10530         (gomp_display_affinity_place, gomp_set_affinity_format,
10531         gomp_display_string, gomp_display_affinity,
10532         gomp_display_affinity_thread): Declare.
10533         (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
10534         (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
10535         gomp_workshare_task_reduction_register): Declare.
10536         (gomp_team_start): Add taskgroup argument.
10537         (gomp_pause_host): Declare.
10538         (gomp_init_work_share, gomp_work_share_start): Change bool argument
10539         to size_t.
10540         (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
10541         * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
10542         GOMP_loop_ordered_start, GOMP_loop_doacross_start,
10543         GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10544         GOMP_loop_ull_doacross_start,
10545         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10546         GOMP_loop_maybe_nonmonotonic_runtime_next,
10547         GOMP_loop_maybe_nonmonotonic_runtime_start,
10548         GOMP_loop_nonmonotonic_runtime_next,
10549         GOMP_loop_nonmonotonic_runtime_start,
10550         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10551         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10552         GOMP_loop_ull_nonmonotonic_runtime_next,
10553         GOMP_loop_ull_nonmonotonic_runtime_start,
10554         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10555         GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
10556         GOMP_taskgroup_reduction_register,
10557         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10558         GOMP_teams_reg and GOMP_taskwait_depend.
10559         (OMP_5.0): Export omp_pause_resource{,_all}{,_},
10560         omp_{capture,display}_affinity{,_}, and
10561         omp_[gs]et_affinity_format{,_}.
10562         * loop.c: Include string.h.
10563         (GOMP_loop_runtime_next): Add ialias.
10564         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10565         (gomp_loop_static_start, gomp_loop_dynamic_start,
10566         gomp_loop_guided_start, gomp_loop_ordered_static_start,
10567         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10568         gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10569         gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
10570         or gomp_doacross_init callers.
10571         (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
10572         GOMP_loop_doacross_start): New functions.
10573         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10574         GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
10575         Mask off GFS_MONOTONIC bit.
10576         (GOMP_loop_maybe_nonmonotonic_runtime_next,
10577         GOMP_loop_maybe_nonmonotonic_runtime_start,
10578         GOMP_loop_nonmonotonic_runtime_next,
10579         GOMP_loop_nonmonotonic_runtime_start,
10580         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10581         GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
10582         functions.
10583         (gomp_parallel_loop_start): Pass NULL as taskgroup to
10584         gomp_team_start.
10585         * loop_ull.c: Include string.h.
10586         (GOMP_loop_ull_runtime_next): Add ialias.
10587         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10588         (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
10589         gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
10590         gomp_loop_ull_ordered_dynamic_start,
10591         gomp_loop_ull_ordered_guided_start,
10592         gomp_loop_ull_doacross_static_start,
10593         gomp_loop_ull_doacross_dynamic_start,
10594         gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
10595         and gomp_doacross_ull_init callers.
10596         (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10597         GOMP_loop_ull_doacross_start): New functions.
10598         (GOMP_loop_ull_runtime_start,
10599         GOMP_loop_ull_ordered_runtime_start,
10600         GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
10601         (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10602         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10603         GOMP_loop_ull_nonmonotonic_runtime_next,
10604         GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
10605         * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
10606         * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
10607         (omp_pause_resource_t, omp_depend_t): New typedefs.
10608         (enum omp_lock_hint_t): Renamed to ...
10609         (enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
10610         enumerators using numbers and omp_lock_hint_* as their aliases.
10611         (omp_lock_hint_t): New typedef.  Rename to ...
10612         (omp_sync_hint_t): ... this.
10613         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
10614         omp_sync_hint_t instead of omp_lock_hint_t.
10615         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10616         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10617         Declare.
10618         (omp_target_is_present, omp_target_disassociate_ptr):
10619         Change first argument from void * to const void *.
10620         (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
10621         from void * to const void *.
10622         (omp_target_associate_ptr): Change first and second arguments from
10623         void * to const void *.
10624         * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
10625         omp_pause_hard): New parameters.
10626         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10627         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10628         New interfaces.
10629         * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
10630         omp_pause_hard): New parameters.
10631         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10632         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10633         New externals.
10634         * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
10635         EXTRA argument.  If not needed to prepare array, if extra is 0,
10636         clear ws->doacross, otherwise allocate just doacross structure and
10637         extra payload.  If array is needed, allocate also extra payload.
10638         (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
10639         GOMP_doacross_ull_wait): Handle doacross->array == NULL like
10640         doacross == NULL.
10641         * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
10642         gomp_team_start.
10643         (GOMP_parallel): Likewise.  Formatting fix.
10644         (GOMP_parallel_reductions): New function.
10645         (GOMP_cancellation_point): If taskgroup has workshare
10646         flag set, check cancelled of prev taskgroup if any.
10647         (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
10648         on prev taskgroup if any.
10649         * sections.c: Include string.h.
10650         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10651         (GOMP_sections_start): Adjust gomp_work_share_start caller.
10652         (GOMP_sections2_start): New function.
10653         (GOMP_parallel_sections_start, GOMP_parallel_sections):
10654         Pass NULL as taskgroup to gomp_team_start.
10655         * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
10656         gomp_work_share_start callers.
10657         * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
10658         If taskgroup has workshare flag set, check cancelled on prev
10659         taskgroup if any.  Guard all cancellation tests with
10660         gomp_cancel_var test.
10661         (omp_target_is_present, omp_target_disassociate_ptr):
10662         Change ptr argument from void * to const void *.
10663         (omp_target_memcpy): Change src argument from void * to const void *.
10664         (omp_target_memcpy_rect): Likewise.
10665         (omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
10666         instead of char * where needed.
10667         (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
10668         from void * to const void *.
10669         (omp_pause_resource, omp_pause_resource_all): New functions.
10670         * task.c (gomp_task_handle_depend): Handle new depend array format
10671         in addition to the old.  Handle mutexinoutset kinds the same as
10672         inout for now, handle unspecified kinds.
10673         (gomp_create_target_task): If taskgroup has workshare flag set, check
10674         cancelled on prev taskgroup if any.  Guard all cancellation tests with
10675         gomp_cancel_var test.  Handle new depend array format count in
10676         addition to the old.
10677         (GOMP_task): Likewise.  Adjust function comment.
10678         (gomp_task_run_pre): If taskgroup has workshare flag set, check
10679         cancelled on prev taskgroup if any.  Guard all cancellation tests with
10680         gomp_cancel_var test.
10681         (GOMP_taskwait_depend): New function.
10682         (gomp_task_maybe_wait_for_dependencies): Handle new depend array
10683         format in addition to the old.  Handle mutexinoutset kinds the same as
10684         inout for now, handle unspecified kinds.  Fix a function comment typo.
10685         (gomp_taskgroup_init): New function.
10686         (GOMP_taskgroup_start): Use it.
10687         (gomp_reduction_register, gomp_create_artificial_team,
10688         GOMP_taskgroup_reduction_register,
10689         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10690         gomp_parallel_reduction_register,
10691         gomp_workshare_task_reduction_register,
10692         gomp_workshare_taskgroup_start,
10693         GOMP_workshare_task_reduction_unregister): New functions.
10694         * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
10695         check cancelled on prev taskgroup if any.  Guard all cancellation
10696         tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
10697         by calling GOMP_taskgroup_reduction_register.
10698         * team.c (gomp_thread_attr): Remove comment.
10699         (struct gomp_thread_start_data): Add handle field.
10700         (gomp_thread_start): Call pthread_detach.
10701         (gomp_new_team): Adjust gomp_init_work_share caller.
10702         (gomp_free_pool_helper): Call pthread_detach.
10703         (gomp_team_start): Add taskgroup argument, initialize implicit
10704         tasks' taskgroup field to that.  Don't call
10705         pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
10706         (gomp_team_end): Determine nesting by thr->ts.level != 0
10707         rather than thr->ts.team != NULL.
10708         (gomp_pause_pool_helper, gomp_pause_host): New functions.
10709         * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
10710         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
10711         (gomp_init_work_share): Change ORDERED argument from bool to size_t,
10712         if more than 1 allocate also extra payload at the end of array.  Never
10713         keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
10714         (gomp_work_share_start): Change ORDERED argument from bool to size_t,
10715         return true instead of ws.
10716         * Makefile.in: Regenerated.
10717         * configure: Regenerated.
10718         * config.h.in: Regenerated.
10719         * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
10720         in some cases.
10721         * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
10722         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
10723         * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
10724         * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
10725         * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
10726         * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
10727         * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
10728         * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
10729         * testsuite/libgomp.c-c++-common/for-10.c: New test.
10730         * testsuite/libgomp.c-c++-common/for-11.c: New test.
10731         * testsuite/libgomp.c-c++-common/for-12.c: New test.
10732         * testsuite/libgomp.c-c++-common/for-13.c: New test.
10733         * testsuite/libgomp.c-c++-common/for-14.c: New test.
10734         * testsuite/libgomp.c-c++-common/for-15.c: New test.
10735         * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
10736         define a different N(test), don't define N(f0) to N(f14), but instead
10737         define N(f20) to N(f34) using != comparisons.
10738         * testsuite/libgomp.c-c++-common/for-7.c: New test.
10739         * testsuite/libgomp.c-c++-common/for-8.c: New test.
10740         * testsuite/libgomp.c-c++-common/for-9.c: New test.
10741         * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
10742         * testsuite/libgomp.c-c++-common/pause-1.c: New test.
10743         * testsuite/libgomp.c-c++-common/pause-2.c: New test.
10744         * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
10745         * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
10746         * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
10747         * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
10748         * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
10749         * testsuite/libgomp.c-c++-common/simd-1.c: New test.
10750         * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
10751         * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
10752         * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
10753         * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
10754         * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
10755         * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
10756         * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
10757         * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
10758         * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
10759         * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
10760         * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
10761         * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
10762         * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
10763         * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
10764         * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
10765         * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
10766         * testsuite/libgomp.c++/depend-1.C: New test.
10767         * testsuite/libgomp.c++/depend-iterator-1.C: New test.
10768         * testsuite/libgomp.c++/depobj-1.C: New test.
10769         * testsuite/libgomp.c++/for-16.C: New test.
10770         * testsuite/libgomp.c++/for-21.C: New test.
10771         * testsuite/libgomp.c++/for-22.C: New test.
10772         * testsuite/libgomp.c++/for-23.C: New test.
10773         * testsuite/libgomp.c++/for-24.C: New test.
10774         * testsuite/libgomp.c++/for-25.C: New test.
10775         * testsuite/libgomp.c++/for-26.C: New test.
10776         * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
10777         * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
10778         * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
10779         * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
10780         * testsuite/libgomp.c++/task-reduction-10.C: New test.
10781         * testsuite/libgomp.c++/task-reduction-11.C: New test.
10782         * testsuite/libgomp.c++/task-reduction-12.C: New test.
10783         * testsuite/libgomp.c++/task-reduction-13.C: New test.
10784         * testsuite/libgomp.c++/task-reduction-14.C: New test.
10785         * testsuite/libgomp.c++/task-reduction-15.C: New test.
10786         * testsuite/libgomp.c++/task-reduction-16.C: New test.
10787         * testsuite/libgomp.c++/task-reduction-17.C: New test.
10788         * testsuite/libgomp.c++/task-reduction-18.C: New test.
10789         * testsuite/libgomp.c++/task-reduction-19.C: New test.
10790         * testsuite/libgomp.c/task-reduction-1.c: New test.
10791         * testsuite/libgomp.c++/task-reduction-1.C: New test.
10792         * testsuite/libgomp.c/task-reduction-2.c: New test.
10793         * testsuite/libgomp.c++/task-reduction-2.C: New test.
10794         * testsuite/libgomp.c++/task-reduction-3.C: New test.
10795         * testsuite/libgomp.c++/task-reduction-4.C: New test.
10796         * testsuite/libgomp.c++/task-reduction-5.C: New test.
10797         * testsuite/libgomp.c++/task-reduction-6.C: New test.
10798         * testsuite/libgomp.c++/task-reduction-7.C: New test.
10799         * testsuite/libgomp.c++/task-reduction-8.C: New test.
10800         * testsuite/libgomp.c++/task-reduction-9.C: New test.
10801         * testsuite/libgomp.c/teams-1.c: New test.
10802         * testsuite/libgomp.c/teams-2.c: New test.
10803         * testsuite/libgomp.c/thread-limit-4.c: New test.
10804         * testsuite/libgomp.c/thread-limit-5.c: New test.
10805         * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
10807 2018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
10809         * oacc-mem.c (memcpy_tofrom_device): New function, combined from
10810         acc_memcpy_to/from_device functions, now with async parameter.
10811         (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
10812         (acc_memcpy_from_device): Likewise.
10813         (acc_memcpy_to_device_async): New API function.
10814         (acc_memcpy_from_device_async): Likewise.
10815         (present_create_copy): Add async parameter and async setting/unsetting.
10816         (acc_create): Adjust present_create_copy call.
10817         (acc_copyin): Likewise.
10818         (acc_present_or_create): Likewise.
10819         (acc_present_or_copyin): Likewise.
10820         (acc_create_async): New API function.
10821         (acc_copyin_async): New API function.
10822         (delete_copyout): Add async parameter and async setting/unsetting.
10823         (acc_delete): Adjust delete_copyout call.
10824         (acc_copyout): Likewise.
10825         (acc_delete_async): New API function.
10826         (acc_copyout_async): Likewise.
10827         (update_dev_host): Add async parameter and async setting/unsetting.
10828         (acc_update_device): Adjust update_dev_host call.
10829         (acc_update_self): Likewise.
10830         (acc_update_device_async): New API function.
10831         (acc_update_self_async): Likewise.
10832         * openacc.h (acc_copyin_async): Declare new API function.
10833         (acc_create_async): Likewise.
10834         (acc_copyout_async): Likewise.
10835         (acc_delete_async): Likewise.
10836         (acc_update_device_async): Likewise.
10837         (acc_update_self_async): Likewise.
10838         (acc_memcpy_to_device_async): Likewise.
10839         (acc_memcpy_from_device_async): Likewise.
10840         * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
10841         (acc_copyin_async_64_h): New subroutine.
10842         (acc_copyin_async_array_h): New subroutine.
10843         (acc_create_async_32_h): New subroutine.
10844         (acc_create_async_64_h): New subroutine.
10845         (acc_create_async_array_h): New subroutine.
10846         (acc_copyout_async_32_h): New subroutine.
10847         (acc_copyout_async_64_h): New subroutine.
10848         (acc_copyout_async_array_h): New subroutine.
10849         (acc_delete_async_32_h): New subroutine.
10850         (acc_delete_async_64_h): New subroutine.
10851         (acc_delete_async_array_h): New subroutine.
10852         (acc_update_device_async_32_h): New subroutine.
10853         (acc_update_device_async_64_h): New subroutine.
10854         (acc_update_device_async_array_h): New subroutine.
10855         (acc_update_self_async_32_h): New subroutine.
10856         (acc_update_self_async_64_h): New subroutine.
10857         (acc_update_self_async_array_h): New subroutine.
10858         * openacc.f90 (acc_copyin_async_32_h): New subroutine.
10859         (acc_copyin_async_64_h): New subroutine.
10860         (acc_copyin_async_array_h): New subroutine.
10861         (acc_create_async_32_h): New subroutine.
10862         (acc_create_async_64_h): New subroutine.
10863         (acc_create_async_array_h): New subroutine.
10864         (acc_copyout_async_32_h): New subroutine.
10865         (acc_copyout_async_64_h): New subroutine.
10866         (acc_copyout_async_array_h): New subroutine.
10867         (acc_delete_async_32_h): New subroutine.
10868         (acc_delete_async_64_h): New subroutine.
10869         (acc_delete_async_array_h): New subroutine.
10870         (acc_update_device_async_32_h): New subroutine.
10871         (acc_update_device_async_64_h): New subroutine.
10872         (acc_update_device_async_array_h): New subroutine.
10873         (acc_update_self_async_32_h): New subroutine.
10874         (acc_update_self_async_64_h): New subroutine.
10875         (acc_update_self_async_array_h): New subroutine.
10876         * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
10877         acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
10878         acc_delete_finalize_async*, acc_memcpy_from_device_async*,
10879         acc_memcpy_to_device_async*, acc_update_device_async*, and
10880         acc_update_self_async* entries.
10881         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
10882         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
10883         * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
10885 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
10887         PR bootstrap/82856
10888         * Makefile.am: Include multilib.am
10889         (AUTOMAKE_OPTIONS): Add info-in-builddir.
10890         (CLEANFILES): Remove libgomp.info.
10891         * configure.ac: Remove AC_PREREQ.
10892         * testsuite/Makefile.am (RUNTEST): Remove quotes.
10893         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
10894         Regenerate.
10896 2018-10-29  Joseph Myers  <joseph@codesourcery.com>
10897             Julian Brown  <julian@codesourcery.com>
10899         * testsuite/libgomp.oacc-c++/this.C: New.
10901 2018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
10903         * plugin/plugin-nvptx.c (struct cuda_map): New.
10904         (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
10905         h_tail with (cuda_map *) map.
10906         (cuda_map_create): New function.
10907         (cuda_map_destroy): New function.
10908         (map_init): Update to use a linked list of cuda_map objects.
10909         (map_fini): Likewise.
10910         (map_pop): Likewise.
10911         (map_push): Likewise.  Return CUdeviceptr instead of void.
10912         (init_streams_for_device): Remove stales references to ptx_stream
10913         members.
10914         (select_stream_for_async): Likewise.
10915         (nvptx_exec): Update call to map_init.
10917 2018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
10918             Julian Brown  <julian@codesourcery.com>
10920         PR middle-end/86336
10921         * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
10923 2018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
10924         Thomas Koenig <tkoenig@gcc.gnu.org>
10926         PR fortran/25829
10927         * testsuite/libgomp.fortran/async_io_1.f90: New test.
10928         * testsuite/libgomp.fortran/async_io_2.f90: New test.
10929         * testsuite/libgomp.fortran/async_io_3.f90: New test.
10930         * testsuite/libgomp.fortran/async_io_4.f90: New test.
10931         * testsuite/libgomp.fortran/async_io_5.f90: New test.
10932         * testsuite/libgomp.fortran/async_io_6.f90: New test.
10933         * testsuite/libgomp.fortran/async_io_7.f90: New test.
10935 2018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
10936             Tom de Vries  <tdevries@suse.de>
10938         PR target/85590
10939         * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
10940         (cuOccupancyMaxPotentialBlockSize): Declare.
10941         * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
10942         CUDA_ONE_CALL_MAYBE_NULL.
10943         * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
10944         CUoccupancyB2DSize and declare
10945         cuOccupancyMaxPotentialBlockSize.
10946         (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
10947         default num_gangs and num_workers when the driver supports it.
10949 2018-08-08  Tom de Vries  <tdevries@suse.de>
10951         * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
10952         CUDA_ONE_CALL_MAYBE_NULL.
10953         * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
10954         (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
10955         (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
10956         are not found.
10958 2018-08-08  Tom de Vries  <tdevries@suse.de>
10960         * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
10961         * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
10962         present.
10964 2018-08-08  Tom de Vries  <tdevries@suse.de>
10966         * plugin/plugin-nvptx.c
10967         (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
10968         (nvptx_open_device): Use
10969         CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
10971 2018-08-08  Tom de Vries  <tdevries@suse.de>
10973         * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
10974         (cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
10976 2018-08-07  Tom de Vries  <tdevries@suse.de>
10978         * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
10979         (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
10980         (init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
10981         corresponding call in CUDA_ONE_CALL.  Add def/undef of
10982         CUDA_ONE_CALL_MAYBE_NULL.
10983         (CUDA_CALL_EXISTS): Define.
10985 2018-08-07  Tom de Vries  <tdevries@suse.de>
10987         * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
10988         CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
10989         corresponding undefs right after.
10991 2018-08-04  Tom de Vries  <tdevries@suse.de>
10993         * plugin/configfrag.ac: For --without-cuda-driver, set
10994         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
10995         CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
10996         * configure: Regenerate.
10998 2018-08-02  Tom de Vries  <tdevries@suse.de>
11000         PR target/86660
11001         * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
11002         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
11003         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
11004         Same.
11005         * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
11006         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
11007         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
11009 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
11010             Thomas Schwinge <thomas@codesourcery.com>
11012         * config/nvptx/oacc-parallel.c: Truncate.
11014 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
11015             James Norris <jnorris@codesourcery.com>
11017         * plugin/plugin-nvptx.c (struct map): Removed.
11018         (map_init, map_pop): Remove use of struct map.
11019         (map_push): Likewise and change argument list.
11020         * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
11022 2018-08-01  Tom de Vries  <tdevries@suse.de>
11024         * plugin/cuda-lib.def: New file.  Factor out of ...
11025         * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
11026         (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
11027         using CUDA_CALLS.
11029 2018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
11031         Revert 'AsyncI/O patch committed'.
11032         2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
11033                 Thomas Koenig <tkoenig@gcc.gnu.org>
11035         PR fortran/25829
11036         * testsuite/libgomp.fortran/async_io_1.f90: New test.
11037         * testsuite/libgomp.fortran/async_io_2.f90: New test.
11038         * testsuite/libgomp.fortran/async_io_3.f90: New test.
11039         * testsuite/libgomp.fortran/async_io_4.f90: New test.
11040         * testsuite/libgomp.fortran/async_io_5.f90: New test.
11041         * testsuite/libgomp.fortran/async_io_6.f90: New test.
11042         * testsuite/libgomp.fortran/async_io_7.f90: New test.
11044 2018-07-30  Tom de Vries  <tdevries@suse.de>
11046         * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
11047         (nvptx_exec): Ensure worker and vector default dims don't exceed
11048         targ_fn->max_threads_per_block.
11050 2018-07-30  Tom de Vries  <tdevries@suse.de>
11052         * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
11053         (nvptx_open_device): Init default_dims for device.
11054         (nvptx_exec): Use default_dims from device.
11056 2018-07-26  Jakub Jelinek  <jakub@redhat.com>
11058         PR testsuite/86660
11059         * testsuite/libgomp.c++/for-15.C (results): Include it in
11060         omp declare target region.
11061         (main): Use map (always, tofrom: results) instead of
11062         map (tofrom: results).
11064         PR middle-end/86660
11065         * testsuite/libgomp.c/pr86660.c: New test.
11067 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
11068             Tom de Vries  <tdevries@suse.de>
11070         * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
11071         sufficient resources to launch a kernel, and give a hint on how to fix
11072         it.
11074 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
11075             Tom de Vries  <tdevries@suse.de>
11077         * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
11078         max_threads_per_block and max_threads_per_multiprocessor fields.
11079         (nvptx_open_device): Initialize new fields.
11080         (nvptx_exec): Use num_sms, and new fields.
11082 2018-07-26  Tom de Vries  <tdevries@suse.de>
11084         * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
11085         to correct locations.  Remove xfail.
11087 2018-07-26  Tom de Vries  <tdevries@suse.de>
11089         * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
11090         acc_wait.  Move acc_async_test calls to correct locations.  Remove
11091         xfail.
11093 2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
11094         Thomas Koenig <tkoenig@gcc.gnu.org>
11096         PR fortran/25829
11097         * testsuite/libgomp.fortran/async_io_1.f90: New test.
11098         * testsuite/libgomp.fortran/async_io_2.f90: New test.
11099         * testsuite/libgomp.fortran/async_io_3.f90: New test.
11100         * testsuite/libgomp.fortran/async_io_4.f90: New test.
11101         * testsuite/libgomp.fortran/async_io_5.f90: New test.
11102         * testsuite/libgomp.fortran/async_io_6.f90: New test.
11103         * testsuite/libgomp.fortran/async_io_7.f90: New test.
11105 2018-07-17  Jakub Jelinek  <jakub@redhat.com>
11107         PR middle-end/86542
11108         * testsuite/libgomp.c++/pr86542.C: New test.
11110         PR middle-end/86539
11111         * testsuite/libgomp.c++/pr86539.C: New test.
11113 2018-07-11  Jakub Jelinek  <jakub@redhat.com>
11115         PR c++/86443
11116         * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
11117         (results): Make sure the variable is not inside declare target region.
11118         (qux): Remove unused function.
11120 2018-07-10  Jakub Jelinek  <jakub@redhat.com>
11122         PR c++/86443
11123         * testsuite/libgomp.c++/for-15.C: New test.
11125 2018-06-26  Jakub Jelinek  <jakub@redhat.com>
11127         PR c++/86291
11128         * testsuite/libgomp.c++/pr86291.C: New test.
11130 2018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
11132         * libgomp.texi (Top): Move www.openmp.org to https.
11133         (Enabling OpenMP): Ditto.
11134         (omp_get_active_level): Ditto.
11135         (omp_get_ancestor_thread_num): Ditto.
11136         (omp_get_cancellation): Ditto.
11137         (omp_get_default_device): Ditto.
11138         (omp_get_dynamic): Ditto.
11139         (omp_get_level): Ditto.
11140         (omp_get_max_active_levels): Ditto.
11141         (omp_get_max_task_priority): Ditto.
11142         (omp_get_max_threads): Ditto.
11143         (omp_get_nested): Ditto.
11144         (omp_get_num_devices): Ditto.
11145         (omp_get_num_procs): Ditto.
11146         (omp_get_num_teams): Ditto.
11147         (omp_get_num_threads): Ditto.
11148         (omp_get_proc_bind): Ditto.
11149         (omp_get_schedule): Ditto.
11150         (omp_get_team_num): Ditto.
11151         (omp_get_team_size): Ditto.
11152         (omp_get_thread_limit): Ditto.
11153         (omp_get_thread_num): Ditto.
11154         (omp_in_parallel): Ditto.
11155         (omp_in_final): Ditto.
11156         (omp_is_initial_device): Ditto.
11157         (omp_set_default_device): Ditto.
11158         (omp_set_dynamic): Ditto.
11159         (omp_set_max_active_levels): Ditto.
11160         (omp_set_nested): Ditto.
11161         (omp_set_num_threads): Ditto.
11162         (omp_set_schedule): Ditto.
11163         (omp_init_lock): Ditto.
11164         (omp_set_lock): Ditto.
11165         (omp_test_lock): Ditto.
11166         (omp_unset_lock): Ditto.
11167         (omp_destroy_lock): Ditto.
11168         (omp_init_nest_lock): Ditto.
11169         (omp_set_nest_lock): Ditto.
11170         (omp_test_nest_lock): Ditto.
11171         (omp_unset_nest_lock): Ditto.
11172         (omp_destroy_nest_lock): Ditto.
11173         (omp_get_wtick): Ditto.
11174         (omp_get_wtime): Ditto.
11175         (OMP_CANCELLATION): Ditto.
11176         (OMP_DISPLAY_ENV): Ditto.
11177         (OMP_DEFAULT_DEVICE): Ditto.
11178         (OMP_DYNAMIC): Ditto.
11179         (OMP_MAX_ACTIVE_LEVELS): Ditto.
11180         (OMP_MAX_TASK_PRIORITY): Ditto.
11181         (OMP_NESTED): Ditto.
11182         (OMP_NUM_THREADS): Ditto.
11183         (OMP_PROC_BIND): Ditto.
11184         (OMP_PLACES): Ditto.
11185         (OMP_STACKSIZE): Ditto.
11186         (OMP_SCHEDULE): Ditto.
11187         (OMP_THREAD_LIMIT): Ditto.
11188         (OMP_WAIT_POLICY): Ditto.
11190 2018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
11191             James Norris  <jnorris@codesourcery.com>
11192             Julian Brown  <julian@codesourcery.com>
11193             Thomas Schwinge  <thomas@codesourcery.com>
11194             Tom de Vries  <tom@codesourcery.com>
11196         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
11197         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
11198         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
11199         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
11200         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11201         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11202         * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
11203         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
11204         * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
11205         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
11206         Likewise.
11207         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
11208         Likewise.
11209         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
11210         Likewise.
11211         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
11212         Likewise.
11213         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
11214         Likewise.
11215         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
11216         Likewise.
11217         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
11218         Likewise.
11219         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
11220         Likewise.
11221         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
11222         Likewise.
11223         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
11224         Likewise.
11225         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
11226         Likewise.
11227         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
11228         Likewise.
11229         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
11230         Likewise.
11231         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
11232         Likewise.
11233         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
11234         Likewise.
11235         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
11236         Likewise.
11237         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
11238         Likewise.
11239         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
11240         Likewise.
11241         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
11242         Likewise.
11243         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
11244         Likewise.
11245         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
11246         Likewise.
11247         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
11248         Likewise.
11249         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
11250         Likewise.
11251         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
11252         Likewise.
11253         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
11254         Likewise.
11255         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
11256         Likewise.
11257         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
11258         Likewise.
11259         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
11260         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
11261         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
11262         * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
11263         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
11264         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
11265         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
11266         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
11267         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
11268         Likewise.
11269         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
11270         Likewise.
11271         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
11272         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
11273         * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
11274         Likewise.
11275         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
11276         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
11277         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
11278         Likewise.
11279         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
11280         Likewise.
11281         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
11282         Likewise.
11283         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
11284         Likewise.
11285         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
11286         Likewise.
11287         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
11288         Likewise.
11289         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
11290         Likewise.
11291         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
11292         Likewise.
11293         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
11294         Likewise.
11295         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
11296         Likewise.
11297         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
11298         Likewise.
11299         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
11300         Likewise.
11301         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
11302         Likewise.
11303         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
11304         Likewise.
11305         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
11306         Likewise.
11307         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11308         * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
11309         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
11310         * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
11311         * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
11312         * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
11313         * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
11315 2018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
11316             Thomas Schwinge <thomas@codesourcery.com>
11317             Cesar Philippidis  <cesar@codesourcery.com>
11319         * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
11320         (gomp_acc_remove_pointer): Update declaration.
11321         (gomp_acc_declare_allocate): Declare.
11322         (gomp_remove_var): Declare.
11323         * libgomp.map (OACC_2.5): Define.
11324         * oacc-mem.c (acc_map_data): Update refcount.
11325         (acc_unmap_data): Likewise.
11326         (present_create_copy): Likewise.
11327         (acc_create): Add FLAG_PRESENT when calling present_create_copy.
11328         (acc_copyin): Likewise.
11329         (FLAG_FINALIZE): Define.
11330         (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
11331         (acc_delete_finalize): New function.
11332         (acc_delete_finalize_async): New function.
11333         (acc_copyout_finalize): New function.
11334         (acc_copyout_finalize_async): New function.
11335         (gomp_acc_insert_pointer): Update refcounts.
11336         (gomp_acc_remove_pointer): Return if data is not present on the
11337         accelerator.
11338         * oacc-parallel.c (find_pset): Rename to find_pointer.
11339         (find_pointer): Add support for GOMP_MAP_POINTER.
11340         (handle_ftn_pointers): New function.
11341         (GOACC_parallel_keyed): Update refcounts of variables.
11342         (GOACC_enter_exit_data): Add support for finalized data mappings.
11343         Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
11344         of fortran arrays.
11345         (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
11346         (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
11347         for GOMP_MAP_FORCE_FROM.
11348         * openacc.f90 (module openacc_internal): Add
11349         acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
11350         acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
11351         acc_copyout_finalize and acc_delete_finalize.
11352         (acc_copyout_finalize_32_h): New subroutine.
11353         (acc_copyout_finalize_64_h): New subroutine.
11354         (acc_copyout_finalize_array_h): New subroutine.
11355         (acc_delete_finalize_32_h): New subroutine.
11356         (acc_delete_finalize_64_h): New subroutine.
11357         (acc_delete_finalize_array_h): New subroutine.
11358         * openacc.h (acc_copyout_finalize): Declare.
11359         (acc_copyout_finalize_async): Declare.
11360         (acc_delete_finalize): Declare.
11361         (acc_delete_finalize_async): Declare.
11362         * openacc_lib.h (acc_copyout_finalize): New interface.
11363         (acc_delete_finalize): New interface.
11364         * target.c (gomp_map_vars): Update dynamic_refcount.
11365         (gomp_remove_var): New function.
11366         (gomp_unmap_vars): Use it.
11367         (gomp_unload_image_from_device): Likewise.
11368         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
11369         case to utilize OpenACC 2.5 data clause semantics.
11370         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11371         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11372         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11373         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11374         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11375         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11376         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11377         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11378         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11379         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11380         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11381         * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
11382         * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
11383         utilize OpenACC 2.5 data clause semantics.
11384         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11385         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11386         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11387         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11388         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11389         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11390         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11391         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11392         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11394 2018-05-21  Janus Weil  <janus@gcc.gnu.org>
11396         PR fortran/85841
11397         PR testsuite/85865
11398         * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
11399         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
11400         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
11401         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
11402         * testsuite/libgomp.fortran/task2.f90: Ditto.
11403         * testsuite/libgomp.fortran/vla1.f90: Ditto.
11404         * testsuite/libgomp.fortran/vla2.f90: Ditto.
11405         * testsuite/libgomp.fortran/vla3.f90: Ditto.
11406         * testsuite/libgomp.fortran/vla4.f90: Ditto.
11407         * testsuite/libgomp.fortran/vla5.f90: Ditto.
11408         * testsuite/libgomp.fortran/vla6.f90: Ditto.
11409         * testsuite/libgomp.fortran/vla8.f90: Ditto.
11410         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
11411         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
11413 2018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
11415         PR c++/85782
11416         * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
11418 2018-05-09  Tom de Vries  <tom@codesourcery.com>
11420         PR libgomp/82901
11421         * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
11422         to GOACC_enter_exit_data.
11424 2018-05-09  Tom de Vries  <tom@codesourcery.com>
11426         PR libgomp/83792
11427         * oacc-int.h (async_valid_stream_id_p, async_valid_p)
11428         (async_synchronous_p): New function.
11429         * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
11430         async_valid_p.
11431         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
11432         async_valid_stream_id_p.
11433         * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11434         * oacc-parallel.c (GOACC_parallel_keyed): Same.
11436 2018-05-07  Tom de Vries  <tom@codesourcery.com>
11438         PR testsuite/85677
11439         * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
11440         include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
11442 2018-05-03  Tom de Vries  <tom@codesourcery.com>
11444         PR testsuite/85106
11445         * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
11446         extra_tool_flags if it contains an -foffload=-fdump-* flag.
11447         * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
11448         * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
11450 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11452         PR libgomp/85411
11453         * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
11454         GOMP_OPENACC_DIM ...
11455         * env.c (parse_gomp_openacc_dim): ... here.  New function.
11456         (initialize_env): Call parse_gomp_openacc_dim.
11457         (goacc_default_dims): Define.
11458         * libgomp.h (goacc_default_dims): Declare.
11459         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
11460         * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
11461         * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
11462         GOMP_PLUGIN_acc_default_dim.
11463         * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
11464         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
11466 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11468         PR testsuite/83791
11469         * testsuite/libgomp.c++/udr-9.C: Update.
11470         * testsuite/libgomp.c++/atomic-16.C: Remove.
11471         * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
11472         * testsuite/libgomp.c++/loop-13.C: Remove.
11473         * testsuite/libgomp.c++/loop-14.C: Remove.
11474         * testsuite/libgomp.c++/loop-15.C: Remove.
11475         * testsuite/libgomp.c++/monotonic-1.C: Remove.
11476         * testsuite/libgomp.c++/monotonic-2.C: Remove.
11477         * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
11478         * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
11479         * testsuite/libgomp.c++/ordered-1.C: Remove.
11480         * testsuite/libgomp.c++/pr45784.C: Remove.
11481         * testsuite/libgomp.c++/pr64824.C: Remove.
11482         * testsuite/libgomp.c++/pr64868.C: Remove.
11483         * testsuite/libgomp.c++/pr66199-1.C: Remove.
11484         * testsuite/libgomp.c++/pr66199-2.C: Remove.
11485         * testsuite/libgomp.c++/pr66199-3.C: Remove.
11486         * testsuite/libgomp.c++/pr66199-4.C: Remove.
11487         * testsuite/libgomp.c++/pr66199-5.C: Remove.
11488         * testsuite/libgomp.c++/pr66199-6.C: Remove.
11489         * testsuite/libgomp.c++/pr66199-7.C: Remove.
11490         * testsuite/libgomp.c++/pr66199-8.C: Remove.
11491         * testsuite/libgomp.c++/pr66199-9.C: Remove.
11492         * testsuite/libgomp.c++/pr69389.C: Remove.
11493         * testsuite/libgomp.c++/simd10.C: Remove.
11494         * testsuite/libgomp.c++/simd11.C: Remove.
11495         * testsuite/libgomp.c++/simd12.C: Remove.
11496         * testsuite/libgomp.c++/simd13.C: Remove.
11497         * testsuite/libgomp.c++/target-1.C: Remove.
11498         * testsuite/libgomp.c++/target-3.C: Remove.
11499         * testsuite/libgomp.c++/target-4.C: Remove.
11500         * testsuite/libgomp.c++/target-5.C: Remove.
11501         * testsuite/libgomp.c++/taskgroup-1.C: Remove.
11502         * testsuite/libgomp.c++/taskloop-1.C: Remove.
11503         * testsuite/libgomp.c++/taskloop-2.C: Remove.
11504         * testsuite/libgomp.c++/taskloop-3.C: Remove.
11505         * testsuite/libgomp.c++/taskloop-4.C: Remove.
11506         * testsuite/libgomp.c++/udr-9.C: Remove.
11507         * testsuite/libgomp.c++/for-10.C: Remove.
11508         * testsuite/libgomp.c++/for-11.C: Remove.
11509         * testsuite/libgomp.c++/for-12.C: Remove.
11510         * testsuite/libgomp.c++/for-13.C: Remove.
11511         * testsuite/libgomp.c++/for-14.C: Remove.
11512         * testsuite/libgomp.c++/for-9.C: Remove.
11513         * testsuite/libgomp.c/atomic-18.c: Move ...
11514         * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
11515         * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
11516         * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
11517         * testsuite/libgomp.c/loop-13.c: Move ...
11518         * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
11519         * testsuite/libgomp.c/loop-14.c: Move ...
11520         * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
11521         * testsuite/libgomp.c/loop-15.c: Remove.
11522         * testsuite/libgomp.c-c++-common/loop-15.c: New test.
11523         * testsuite/libgomp.c/monotonic-1.c: Move ...
11524         * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
11525         * testsuite/libgomp.c/monotonic-2.c: Move ...
11526         * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
11527         * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
11528         * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
11529         * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
11530         * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
11531         * testsuite/libgomp.c/ordered-4.c: Move ...
11532         * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
11533         * testsuite/libgomp.c/pr45784.c: Move ...
11534         * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
11535         * testsuite/libgomp.c/pr64824.c: Move ...
11536         * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
11537         * testsuite/libgomp.c/pr64868.c: Move ...
11538         * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
11539         * testsuite/libgomp.c/pr66199-1.c: Move ...
11540         * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
11541         * testsuite/libgomp.c/pr66199-2.c: Move ...
11542         * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
11543         * testsuite/libgomp.c/pr66199-3.c: Move ...
11544         * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
11545         * testsuite/libgomp.c/pr66199-4.c: Move ...
11546         * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
11547         * testsuite/libgomp.c/pr66199-5.c: Move ...
11548         * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
11549         * testsuite/libgomp.c/pr66199-6.c: Move ...
11550         * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
11551         * testsuite/libgomp.c/pr66199-7.c: Move ...
11552         * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
11553         * testsuite/libgomp.c/pr66199-8.c: Move ...
11554         * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
11555         * testsuite/libgomp.c/pr66199-9.c: Move ...
11556         * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
11557         * testsuite/libgomp.c/pr69389.c: Move ...
11558         * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
11559         * testsuite/libgomp.c/simd-14.c: Move ...
11560         * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
11561         * testsuite/libgomp.c/simd-15.c: Move ...
11562         * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
11563         * testsuite/libgomp.c/simd-16.c: Move ...
11564         * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
11565         * testsuite/libgomp.c/simd-17.c: Move ...
11566         * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
11567         * testsuite/libgomp.c/target-1.c: Move ...
11568         * testsuite/libgomp.c-c++-common/target-1.c: ... here.
11569         * testsuite/libgomp.c/target-10.c: Move ...
11570         * testsuite/libgomp.c-c++-common/target-10.c: ... here.
11571         * testsuite/libgomp.c/target-13.c: Move ...
11572         * testsuite/libgomp.c-c++-common/target-13.c: ... here.
11573         * testsuite/libgomp.c/target-2.c: Move ...
11574         * testsuite/libgomp.c-c++-common/target-2.c: ... here.
11575         * testsuite/libgomp.c/taskgroup-1.c: Move ...
11576         * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
11577         * testsuite/libgomp.c/taskloop-1.c: Move ...
11578         * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
11579         * testsuite/libgomp.c/taskloop-2.c: Move ...
11580         * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
11581         * testsuite/libgomp.c/taskloop-3.c: Move ...
11582         * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
11583         * testsuite/libgomp.c/taskloop-4.c: Move ...
11584         * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
11585         * testsuite/libgomp.c/udr-1.c: Move ...
11586         * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
11587         * testsuite/libgomp.c/for-1.c: Move ...
11588         * testsuite/libgomp.c-c++-common/for-1.c: ... here.
11589         * testsuite/libgomp.c/for-1.h: Move ...
11590         * testsuite/libgomp.c-c++-common/for-1.h: ... here.
11591         * testsuite/libgomp.c/for-2.c: Move ...
11592         * testsuite/libgomp.c-c++-common/for-2.c: ... here.
11593         * testsuite/libgomp.c/for-2.h: Move ...
11594         * testsuite/libgomp.c-c++-common/for-2.h: ... here.
11595         * testsuite/libgomp.c/for-3.c: Move ...
11596         * testsuite/libgomp.c-c++-common/for-3.c: ... here.
11597         * testsuite/libgomp.c/for-4.c: Move ...
11598         * testsuite/libgomp.c-c++-common/for-4.c: ... here.
11599         * testsuite/libgomp.c/for-5.c: Move ...
11600         * testsuite/libgomp.c-c++-common/for-5.c: ... here.
11601         * testsuite/libgomp.c/for-6.c: Move ...
11602         * testsuite/libgomp.c-c++-common/for-6.c: ... here.
11604 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11606         PR libgomp/82428
11607         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
11608         __builtin_goacc_parlevel_{id,size}.
11609         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
11610         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
11611         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
11612         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
11613         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11614         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
11615         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
11616         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
11617         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
11618         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
11619         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
11620         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
11621         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
11622         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
11623         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
11624         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
11625         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
11626         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
11627         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
11628         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
11629         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
11630         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
11631         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
11633 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11635         PR testsuite/85106
11636         * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
11638 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11640         PR testsuite/85106
11641         * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
11643 2018-04-29  Julian Brown  <julian@codesourcery.com>
11644             Tom de Vries  <tom@codesourcery.com>
11646         PR testsuite/85527
11647         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
11648         arbitrary order for iterations of atomic subtract check.
11650 2018-04-28  Tom de Vries  <tom@codesourcery.com>
11652         PR testsuite/85527
11653         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
11654         atomic capture results obtained in parallel loop to an array, instead of
11655         to a scalar.
11657 2018-04-26  Tom de Vries  <tom@codesourcery.com>
11659         PR libgomp/84020
11660         * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
11661         * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
11662         (process_GOMP_NVPTX_JIT): New function.
11663         (link_ptx): Use process_GOMP_NVPTX_JIT.
11665 2018-04-26  Richard Biener <rguenther@suse.de>
11666             Tom de Vries  <tom@codesourcery.com>
11668         PR lto/85422
11669         * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
11671 2018-04-26  Tom de Vries  <tom@codesourcery.com>
11673         PR target/85519
11674         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
11675         recursion depth from 25 to 23.
11676         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
11678 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
11680         * configure: Regenerated.
11682 2018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
11683             Tom de Vries  <tom@codesourcery.com>
11685         PR target/85445
11686         * testsuite/libgomp.oacc-c++/ref-1.C: New.
11688 2018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
11690         PR libgomp/85463
11691         * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
11692         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
11693         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
11694         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
11695         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
11696         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
11698         PR libfortran/85166
11699         * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
11700         abort".
11701         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11703 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
11705         * configure: Regenerated.
11707 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
11709         PR jit/85384
11710         * configure: Regenerate.
11712 2018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
11713             Tom de Vries  <tom@codesourcery.com>
11715         PR middle-end/84955
11716         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11717         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11719 2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
11721         PR fortran/83064
11722         PR testsuite/85346
11723         * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
11724         test from gfortran.dg to here.
11726 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
11728         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
11729         * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
11731 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
11733         PR middle-end/84955
11734         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11735         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11737 2018-04-05  Tom de Vries  <tom@codesourcery.com>
11739         PR target/85204
11740         * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
11742 2018-03-26  Tom de Vries  <tom@codesourcery.com>
11744         PR tree-optimization/85063
11745         * testsuite/libgomp.c/switch-conversion-2.c: New test.
11746         * testsuite/libgomp.c/switch-conversion.c: New test.
11747         * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
11748         * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
11750 2018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
11752         PR fortran/84381
11753         * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
11754         call abort by STOP n.
11755         * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
11756         * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
11757         * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
11758         * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
11759         * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
11760         * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
11761         * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
11762         * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
11763         * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
11764         * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
11765         * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
11766         * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
11767         * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
11768         * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
11769         * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
11770         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
11771         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
11772         * testsuite/libgomp.fortran/associate1.f90: Likewise.
11773         * testsuite/libgomp.fortran/associate2.f90: Likewise.
11774         * testsuite/libgomp.fortran/associate3.f90: Likewise.
11775         * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
11776         * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
11777         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
11778         * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
11779         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
11780         * testsuite/libgomp.fortran/character1.f90: Likewise.
11781         * testsuite/libgomp.fortran/character2.f90: Likewise.
11782         * testsuite/libgomp.fortran/collapse1.f90: Likewise.
11783         * testsuite/libgomp.fortran/collapse2.f90: Likewise.
11784         * testsuite/libgomp.fortran/collapse3.f90: Likewise.
11785         * testsuite/libgomp.fortran/collapse4.f90: Likewise.
11786         * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
11787         * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
11788         * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
11789         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11790         * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
11791         * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
11792         * testsuite/libgomp.fortran/depend-1.f90: Likewise.
11793         * testsuite/libgomp.fortran/depend-2.f90: Likewise.
11794         * testsuite/libgomp.fortran/depend-3.f90: Likewise.
11795         * testsuite/libgomp.fortran/do1.f90: Likewise.
11796         * testsuite/libgomp.fortran/do2.f90: Likewise.
11797         * testsuite/libgomp.fortran/doacross1.f90: Likewise.
11798         * testsuite/libgomp.fortran/doacross2.f90: Likewise.
11799         * testsuite/libgomp.fortran/doacross3.f90: Likewise.
11800         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
11801         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
11802         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
11803         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
11804         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
11805         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
11806         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
11807         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
11808         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
11809         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
11810         * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
11811         * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
11812         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
11813         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
11814         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
11815         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
11816         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
11817         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
11818         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
11819         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
11820         * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
11821         * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
11822         * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
11823         * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
11824         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
11825         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
11826         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
11827         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
11828         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
11829         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
11830         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
11831         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
11832         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
11833         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
11834         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
11835         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
11836         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
11837         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
11838         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
11839         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
11840         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
11841         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
11842         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
11843         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
11844         * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
11845         * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
11846         * testsuite/libgomp.fortran/lib1.f90: Likewise.
11847         * testsuite/libgomp.fortran/lib2.f: Likewise.
11848         * testsuite/libgomp.fortran/lib3.f: Likewise.
11849         * testsuite/libgomp.fortran/lib4.f90: Likewise.
11850         * testsuite/libgomp.fortran/lock-1.f90: Likewise.
11851         * testsuite/libgomp.fortran/lock-2.f90: Likewise.
11852         * testsuite/libgomp.fortran/nested1.f90: Likewise.
11853         * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
11854         * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
11855         * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
11856         * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
11857         * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
11858         * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
11859         * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
11860         * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
11861         * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
11862         * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
11863         * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
11864         * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
11865         * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
11866         * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
11867         * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
11868         * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
11869         * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
11870         * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
11871         * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
11872         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11873         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
11874         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
11875         * testsuite/libgomp.fortran/pointer1.f90: Likewise.
11876         * testsuite/libgomp.fortran/pointer2.f90: Likewise.
11877         * testsuite/libgomp.fortran/pr25162.f: Likewise.
11878         * testsuite/libgomp.fortran/pr25219.f90: Likewise.
11879         * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
11880         * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
11881         * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
11882         * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
11883         * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
11884         * testsuite/libgomp.fortran/pr28390.f: Likewise.
11885         * testsuite/libgomp.fortran/pr29629.f90: Likewise.
11886         * testsuite/libgomp.fortran/pr32550.f90: Likewise.
11887         * testsuite/libgomp.fortran/pr33880.f90: Likewise.
11888         * testsuite/libgomp.fortran/pr34020.f90: Likewise.
11889         * testsuite/libgomp.fortran/pr35130.f90: Likewise.
11890         * testsuite/libgomp.fortran/pr42162.f90: Likewise.
11891         * testsuite/libgomp.fortran/pr46753.f90: Likewise.
11892         * testsuite/libgomp.fortran/pr48894.f90: Likewise.
11893         * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
11894         * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
11895         * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
11896         * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
11897         * testsuite/libgomp.fortran/pr65597.f90: Likewise.
11898         * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
11899         * testsuite/libgomp.fortran/pr71014.f90: Likewise.
11900         * testsuite/libgomp.fortran/pr81304.f90: Likewise.
11901         * testsuite/libgomp.fortran/pr81841.f90: Likewise.
11902         * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
11903         * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
11904         * testsuite/libgomp.fortran/procptr1.f90: Likewise.
11905         * testsuite/libgomp.fortran/recursion1.f90: Likewise.
11906         * testsuite/libgomp.fortran/reduction1.f90: Likewise.
11907         * testsuite/libgomp.fortran/reduction2.f90: Likewise.
11908         * testsuite/libgomp.fortran/reduction3.f90: Likewise.
11909         * testsuite/libgomp.fortran/reduction4.f90: Likewise.
11910         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11911         * testsuite/libgomp.fortran/reduction6.f90: Likewise.
11912         * testsuite/libgomp.fortran/reference1.f90: Likewise.
11913         * testsuite/libgomp.fortran/reference2.f90: Likewise.
11914         * testsuite/libgomp.fortran/retval1.f90: Likewise.
11915         * testsuite/libgomp.fortran/retval2.f90: Likewise.
11916         * testsuite/libgomp.fortran/sharing1.f90: Likewise.
11917         * testsuite/libgomp.fortran/sharing2.f90: Likewise.
11918         * testsuite/libgomp.fortran/simd1.f90: Likewise.
11919         * testsuite/libgomp.fortran/simd2.f90: Likewise.
11920         * testsuite/libgomp.fortran/simd3.f90: Likewise.
11921         * testsuite/libgomp.fortran/simd4.f90: Likewise.
11922         * testsuite/libgomp.fortran/simd5.f90: Likewise.
11923         * testsuite/libgomp.fortran/simd6.f90: Likewise.
11924         * testsuite/libgomp.fortran/simd7.f90: Likewise.
11925         * testsuite/libgomp.fortran/stack.f90: Likewise.
11926         * testsuite/libgomp.fortran/strassen.f90: Likewise.
11927         * testsuite/libgomp.fortran/tabs1.f90: Likewise.
11928         * testsuite/libgomp.fortran/tabs2.f: Likewise.
11929         * testsuite/libgomp.fortran/target1.f90: Likewise.
11930         * testsuite/libgomp.fortran/target2.f90: Likewise.
11931         * testsuite/libgomp.fortran/target3.f90: Likewise.
11932         * testsuite/libgomp.fortran/target4.f90: Likewise.
11933         * testsuite/libgomp.fortran/target5.f90: Likewise.
11934         * testsuite/libgomp.fortran/target6.f90: Likewise.
11935         * testsuite/libgomp.fortran/target7.f90: Likewise.
11936         * testsuite/libgomp.fortran/target8.f90: Likewise.
11937         * testsuite/libgomp.fortran/task1.f90: Likewise.
11938         * testsuite/libgomp.fortran/task2.f90: Likewise.
11939         * testsuite/libgomp.fortran/task3.f90: Likewise.
11940         * testsuite/libgomp.fortran/task4.f90: Likewise.
11941         * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
11942         * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
11943         * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
11944         * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
11945         * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
11946         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11947         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11948         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11949         * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
11950         * testsuite/libgomp.fortran/udr1.f90: Likewise.
11951         * testsuite/libgomp.fortran/udr10.f90: Likewise.
11952         * testsuite/libgomp.fortran/udr11.f90: Likewise.
11953         * testsuite/libgomp.fortran/udr12.f90: Likewise.
11954         * testsuite/libgomp.fortran/udr13.f90: Likewise.
11955         * testsuite/libgomp.fortran/udr14.f90: Likewise.
11956         * testsuite/libgomp.fortran/udr15.f90: Likewise.
11957         * testsuite/libgomp.fortran/udr2.f90: Likewise.
11958         * testsuite/libgomp.fortran/udr3.f90: Likewise.
11959         * testsuite/libgomp.fortran/udr4.f90: Likewise.
11960         * testsuite/libgomp.fortran/udr5.f90: Likewise.
11961         * testsuite/libgomp.fortran/udr6.f90: Likewise.
11962         * testsuite/libgomp.fortran/udr7.f90: Likewise.
11963         * testsuite/libgomp.fortran/udr8.f90: Likewise.
11964         * testsuite/libgomp.fortran/udr9.f90: Likewise.
11965         * testsuite/libgomp.fortran/vla1.f90: Likewise.
11966         * testsuite/libgomp.fortran/vla2.f90: Likewise.
11967         * testsuite/libgomp.fortran/vla3.f90: Likewise.
11968         * testsuite/libgomp.fortran/vla4.f90: Likewise.
11969         * testsuite/libgomp.fortran/vla5.f90: Likewise.
11970         * testsuite/libgomp.fortran/vla6.f90: Likewise.
11971         * testsuite/libgomp.fortran/vla7.f90: Likewise.
11972         * testsuite/libgomp.fortran/vla8.f90: Likewise.
11973         * testsuite/libgomp.fortran/workshare1.f90: Likewise.
11974         * testsuite/libgomp.fortran/workshare2.f90: Likewise.
11975         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11976         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11977         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11978         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11979         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11980         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11981         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11982         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11983         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11984         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
11985         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11986         * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
11987         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
11988         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11989         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11990         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11991         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11992         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11993         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11994         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11995         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11996         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
11997         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
11998         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11999         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12000         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12001         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12002         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12003         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
12004         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12005         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12006         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12007         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12008         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12009         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
12010         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
12011         * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
12012         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
12013         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
12014         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12015         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
12016         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
12017         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
12018         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
12019         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
12020         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
12021         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12022         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12023         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12024         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12025         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
12026         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12027         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12028         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12029         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12030         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12031         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12032         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12033         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
12034         * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
12035         * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
12036         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12037         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12038         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12039         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
12040         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12041         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
12042         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12043         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
12044         * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
12045         * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
12046         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
12047         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
12048         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12049         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12050         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12051         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12052         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12053         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12054         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12055         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
12056         * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
12057         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12058         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12059         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12060         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12061         * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
12062         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
12063         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
12064         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12065         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12066         * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
12068 2018-03-20  Richard Biener  <rguenther@suse.de>
12070         * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
12071         parallelizable loop.
12073 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
12075         PR target/84148
12076         * configure: Regenerate.
12078 2018-02-16  Jakub Jelinek  <jakub@redhat.com>
12080         PR fortran/84418
12081         * libgomp.fortran/pr84418-1.f90: New test.
12082         * libgomp.fortran/pr84418-2.f90: New test.
12084 2018-02-14  Jakub Jelinek  <jakub@redhat.com>
12086         PR fortran/84313
12087         * testsuite/libgomp.fortran/threadprivate4.f90: Add
12088         -std=f2003 -fall-intrinsics into dg-additional-options.
12090 2018-02-08  Martin Jambor  <mjambor@suse.cz>
12092         * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
12093         clonable.
12095 2018-02-08  Martin Jambor  <mjambor@suse.cz>
12097         * testsuite/libgomp.hsa.c/staticvar.c: New test.
12099 2018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12101         * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
12102         [__cplusplus]: Declare extern "C".
12104 2018-02-07  Tom de Vries  <tom@codesourcery.com>
12106         PR libgomp/84217
12107         * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
12109 2018-01-29  Christoph Spiel  <cspiel@freenet.de>
12110             Jakub Jelinek  <jakub@redhat.com>
12112         PR libgomp/84096
12113         * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
12114         instead of omp_lock_t.
12116 2018-01-25  Tom de Vries  <tom@codesourcery.com>
12118         PR target/84028
12119         * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
12121 2018-01-24  Tom de Vries  <tom@codesourcery.com>
12123         PR target/83589
12124         * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
12126 2018-01-24  Tom de Vries  <tom@codesourcery.com>
12128         PR target/81352
12129         * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
12131 2018-01-19  Tom de Vries  <tom@codesourcery.com>
12132             Cesar Philippidis  <cesar@codesourcery.com>
12134         PR target/83920
12135         * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
12136         * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
12138 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
12140         Update copyright years.
12142         * libgomp.texi: Bump @copying's copyright year.
12144 2017-12-30  Tom de Vries  <tom@codesourcery.com>
12146         PR libgomp/83046
12147         * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
12148         * testsuite/libgomp.c-c++-common/pr83046.c: New test.
12150 2017-12-27  Tom de Vries  <tom@codesourcery.com>
12152         PR c++/83046
12153         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
12154         (test_nonstatic): Fix return type to workaround PR83046.
12156 2017-12-05  Jakub Jelinek  <jakub@redhat.com>
12158         PR testsuite/83281
12159         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
12160         j suffix instead of i.
12161         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
12162         Likewise.
12164 2017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
12166         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
12167         call to acc_wait (1).
12169 2017-11-24  Jakub Jelinek  <jakub@redhat.com>
12171         PR fortran/81304
12172         * testsuite/libgomp.fortran/pr81304.f90: New test.
12174 2017-11-23  Jakub Jelinek  <jakub@redhat.com>
12176         PR fortran/81841
12177         * libgomp.fortran/pr81841.f90: New test.
12179 2017-11-22  Jakub Jelinek  <jakub@redhat.com>
12181         PR libgomp/83106
12182         * target.c (gomp_target_init): Compute lengths just once and
12183         use them in both malloc size and subsequent copying.
12185 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
12187         * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
12188         * acinclude.m4: Add cet.m4.
12189         * configure: Regenerate.
12190         * Makefile.in: Likewise.
12191         * testsuite/Makefile.in: Likewise.
12193 2017-11-15  Tom de Vries  <tom@codesourcery.com>
12195         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
12196         from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
12197         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
12198         from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
12199         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
12200         from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
12202 2017-11-14  Tom de Vries  <tom@codesourcery.com>
12204         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
12205         non-nvidia devices.
12207 2017-11-07  Jakub Jelinek  <jakub@redhat.com>
12209         PR c++/82835
12210         * testsuite/libgomp.c++/pr82835.C: New test.
12212 2017-11-06  Martin Liska  <mliska@suse.cz>
12214         * testsuite/libgomp.c++/loop-2.C: Return a value
12215         for functions with non-void return type, or change type to void,
12216         or add -Wno-return-type for test.
12217         * testsuite/libgomp.c++/loop-4.C: Likewise.
12218         * testsuite/libgomp.c++/parallel-1.C: Likewise.
12219         * testsuite/libgomp.c++/shared-1.C: Likewise.
12220         * testsuite/libgomp.c++/single-1.C: Likewise.
12221         * testsuite/libgomp.c++/single-2.C: Likewise.
12223 2017-10-31  Tom de Vries  <tom@codesourcery.com>
12225         * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
12226         "do {} while (false)".
12227         (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
12228         after HSA_DEBUG call.
12230 2017-10-28  Jakub Jelinek  <jakub@redhat.com>
12232         * target.c (struct gomp_coalesce_buf): New type.
12233         (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
12234         (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
12235         (gomp_copy_host2dev): Add CBUF argument, if copying into
12236         the cached ranges, memcpy into buffer instead of copying
12237         into device.
12238         (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
12239         Add CBUF argument, pass it through to other calls.
12240         (gomp_map_vars): Aggregate copies from host to device if small enough
12241         and with small enough gaps in between into memcpy into a buffer and
12242         fewer host to device copies from the buffer.
12243         (gomp_update): Adjust gomp_copy_host2dev caller.
12245 2017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
12247         * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
12248         run" directive.
12249         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12250         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12251         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12252         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12254 2017-10-16  Tom de Vries  <tom@codesourcery.com>
12256         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
12257         openacc_nvidia_accel_selected.
12258         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
12259         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
12260         * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
12261         * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
12262         * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
12263         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
12264         openacc_nvidia_accel_selected. Skip for shared memory device.
12265         * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
12266         * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
12268 2017-10-09  Martin Jambor  <mjambor@suse.cz>
12270         PR hsa/82416
12271         * testsuite/libgomp.hsa.c/pr82416.c: New test.
12273 2017-10-07  Tom de Vries  <tom@codesourcery.com>
12275         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
12276         Remove acc_device_nvidia references.
12277         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
12278         Same.
12280 2017-10-05  Tom de Vries  <tom@codesourcery.com>
12282         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
12283         vector_length(32) clause from acc parallel directive.
12284         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
12286 2017-10-04  Tom de Vries  <tom@codesourcery.com>
12288         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
12289         (main): Reduce sum of arr elements.  Assert that hres is exactly
12290         representable in 32-bit floating point.
12291         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
12292         (main): Reduce sum of arr elements.  Assert that hres and hmres are
12293         exactly representable in 32-bit floating point.
12294         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
12296 2017-09-28  Tom de Vries  <tom@codesourcery.com>
12298         * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
12299         setting.
12300         * testsuite/libgomp.c++/pr69393.C: Same.
12301         * testsuite/libgomp.c++/taskloop-1.C: Same.
12302         * testsuite/libgomp.c++/taskloop-3.C: Same.
12303         * testsuite/libgomp.c++/taskloop-4.C: Same.
12304         * testsuite/libgomp.c/for-4.c: Same.
12305         * testsuite/libgomp.c/pr66199-3.c: Same.
12306         * testsuite/libgomp.c/pr66199-4.c: Same.
12307         * testsuite/libgomp.c/pr66199-6.c: Same.
12308         * testsuite/libgomp.c/taskloop-1.c: Same.
12309         * testsuite/libgomp.c/taskloop-3.c: Same.
12310         * testsuite/libgomp.c/taskloop-4.c: Same.
12311         * testsuite/libgomp.fortran/aligned1.f03: Same.
12312         * testsuite/libgomp.fortran/condinc1.f: Same.
12313         * testsuite/libgomp.fortran/condinc3.f90: Same.
12314         * testsuite/libgomp.fortran/crayptr1.f90: Same.
12315         * testsuite/libgomp.fortran/crayptr2.f90: Same.
12316         * testsuite/libgomp.fortran/crayptr3.f90: Same.
12317         * testsuite/libgomp.fortran/omp_cond1.f: Same.
12318         * testsuite/libgomp.fortran/omp_cond3.F90: Same.
12319         * testsuite/libgomp.fortran/pr66199-1.f90: Same.
12320         * testsuite/libgomp.fortran/pr66199-2.f90: Same.
12321         * testsuite/libgomp.fortran/recursion1.f90: Same.
12322         * testsuite/libgomp.fortran/target2.f90: Same.
12323         * testsuite/libgomp.fortran/target5.f90: Same.
12324         * testsuite/libgomp.fortran/task3.f90: Same.
12326 2017-09-28  Tom de Vries  <tom@codesourcery.com>
12328         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
12329         vector_length(32) clause from acc parallel directive.
12330         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
12332 2017-09-27  Tom de Vries  <tom@codesourcery.com>
12334         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
12335         Remove acc_device_nvidia references.
12337 2017-09-16  Tom de Vries  <tom@codesourcery.com>
12339         PR c/81875
12340         * testsuite/libgomp.c-c++-common/pr81875.c: New test.
12342 2017-09-14  Tom de Vries  <tom@codesourcery.com>
12344         * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
12345         * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
12346         * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
12347         * testsuite/libgomp.c/c.exp: Include test-cases from
12348         libgomp.c-c++-common.
12349         * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
12350         files.
12352 2017-09-14  Jakub Jelinek  <jakub@redhat.com>
12354         PR c++/81314
12355         * testsuite/libgomp.c++/pr81314.C: New test.
12357 2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
12359         * libgomp.texi (Top): www.openacc.org now uses https.
12360         (Enabling OpenACC): Ditto.
12361         (acc_get_num_devices): Ditto.
12362         (acc_set_device_type): Ditto.
12363         (acc_get_device_type): Ditto.
12364         (acc_set_device_num): Ditto.
12365         (acc_get_device_num): Ditto.
12366         (acc_async_test): Ditto.
12367         (acc_async_test_all): Ditto.
12368         (acc_wait): Ditto.
12369         (acc_wait_all): Ditto.
12370         (acc_wait_all_async): Ditto.
12371         (acc_wait_async): Ditto.
12372         (acc_init): Ditto.
12373         (acc_shutdown): Ditto.
12374         (acc_on_device): Ditto.
12375         (acc_malloc): Ditto.
12376         (acc_free): Ditto.
12377         (acc_copyin): Ditto.
12378         (acc_present_or_copyin): Ditto.
12379         (acc_create): Ditto.
12380         (acc_present_or_create): Ditto.
12381         (acc_copyout): Ditto.
12382         (acc_delete): Ditto.
12383         (acc_update_device): Ditto.
12384         (acc_update_self): Ditto.
12385         (acc_map_data): Ditto.
12386         (acc_unmap_data): Ditto.
12387         (acc_deviceptr): Ditto.
12388         (acc_hostptr): Ditto.
12389         (acc_is_present): Ditto.
12390         (acc_memcpy_to_device): Ditto.
12391         (acc_memcpy_from_device): Ditto.
12392         (acc_get_current_cuda_device): Ditto.
12393         (acc_get_current_cuda_context): Ditto.
12394         (acc_get_cuda_stream): Ditto.
12395         (acc_set_cuda_stream): Ditto.
12396         (ACC_DEVICE_TYPE): Ditto.
12397         (ACC_DEVICE_NUM): Ditto.
12398         (OpenACC Library Interoperability): Ditto.
12400 2017-08-09  Jakub Jelinek  <jakub@redhat.com>
12402         PR c/81687
12403         * testsuite/libgomp.c/pr81687-1.c: New test.
12404         * testsuite/libgomp.c/pr81687-2.c: New test.
12406 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
12408         PR c/69389
12409         * testsuite/libgomp.c/pr69389.c: New test.
12410         * testsuite/libgomp.c++/pr69389.C: New test.
12412 2017-08-07  Tom de Vries  <tom@codesourcery.com>
12414         PR middle-end/78266
12415         * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
12416         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
12418 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
12420         PR c/45784
12421         * testsuite/libgomp.c/pr45784.c: New test.
12422         * testsuite/libgomp.c++/pr45784.C: New test.
12424 2017-07-19  Tom de Vries  <tom@codesourcery.com>
12426         * testsuite/libgomp.oacc-c/vec.c: New test.
12428 2017-07-03  Tom de Vries  <tom@codesourcery.com>
12430         * plugin/plugin-hsa.c: Fix secure_getenv.h include.
12432 2017-06-27  Tom de Vries  <tom@codesourcery.com>
12434         * plugin/plugin-nvptx.c (notify_var): New function.
12435         (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
12437 2017-06-27  Tom de Vries  <tom@codesourcery.com>
12439         * env.c (parse_unsigned_long_1): Factor out of ...
12440         (parse_unsigned_long): ... here.
12441         (parse_int_1): Factor out of ...
12442         (parse_int): ... here.
12443         (parse_int_secure): New function.
12444         (initialize_env): Use parse_int_secure for GOMP_DEBUG.
12445         * secure_getenv.h: Factor out of ...
12446         * plugin/plugin-hsa.c: ... here.
12447         * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
12449 2017-06-21  Jakub Jelinek  <jakub@redhat.com>
12451         PR c++/81130
12452         * testsuite/libgomp.c++/pr81130.C: New test.
12454 2017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12456         * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
12457         default args.
12458         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
12459         dg-xfail-run-if default args.
12461 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
12463         * testsuite/libgomp.c/pr39591-2.c: Fix test case.
12464         * testsuite/libgomp.c/pr39591-3.c: Likewise.
12466 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
12468         PR libgomp/80822
12469         * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
12470         (gomp_affinity_init_level): Use it.  Always analyze the core and thread
12471         sibling lists, depending on level just pick up what CPUs to put
12472         together into a place vs. whether add multiple ordered places.
12474 2017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
12476         * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
12477         * libgomp.map (OACC_2.0.1): Add these.
12478         * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
12479         for "acc_wait", and "acc_wait_all", respectively.
12480         * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
12481         for "acc_wait", and "acc_wait_all", respectively.
12482         * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
12483         * libgomp.texi (acc_wait, acc_wait_all): Update.
12484         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
12485         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
12486         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12488         * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
12489         acc_present_or_copyin and acc_present_or_create procedures,
12490         respectively.
12491         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
12492         generally different variants of OpenACC Runtime Library functions.
12493         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12495         * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
12496         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12498         * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
12499         of preprocessor definitions.
12500         * libgomp.h (strong_alias): Guard by "#ifdef
12501         HAVE_ATTRIBUTE_ALIAS".
12502         * oacc-mem.c: Provide "acc_pcreate" as alias for
12503         "acc_present_or_create", and "acc_pcopyin" as alias for
12504         "acc_present_or_copyin".
12505         * libgomp.map: New version "OACC_2.0.1".
12506         (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
12507         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
12508         its content into...
12509         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
12510         Extend testing.
12512         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
12513         when disabling nvptx offloading.
12515 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
12517         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
12518         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12519         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12521         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
12522         * testsuite/lib/libgomp.exp
12523         (check_effective_target_openacc_nvidia_accel_configured): New
12524         proc.
12525         * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
12526         (check_effective_target_c++): New procs.
12527         * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
12528         (check_effective_target_c++): Likewise.
12530 2017-05-22  Jakub Jelinek  <jakub@redhat.com>
12532         PR middle-end/80809
12533         * testsuite/libgomp.c/pr80809-2.c: New test.
12534         * testsuite/libgomp.c/pr80809-3.c: New test.
12536         PR middle-end/80809
12537         * testsuite/libgomp.c/pr80809-1.c: New test.
12539         PR middle-end/80853
12540         * testsuite/libgomp.c/pr80853.c: New test.
12542 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
12544         * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
12545         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
12546         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12547         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12548         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12550         * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
12551         Debug output for failure.
12553 2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12555         * testsuite/lib/libgomp.exp: Load scanlang.exp.
12557 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
12559         PR bootstrap/80531
12560         * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
12561         bootstrap compare failures.
12563 2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
12565         * testsuite/libgomp.c/target-36.c: New testcase.
12567 2017-04-13  Jakub Jelinek  <jakub@redhat.com>
12569         * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
12570         instead of char.
12572 2017-04-11  Jakub Jelinek  <jakub@redhat.com>
12574         PR libgomp/80394
12575         * testsuite/libgomp.c/pr80394.c: New test.
12577 2017-04-04  Jakub Jelinek  <jakub@redhat.com>
12579         PR libgomp/79876
12580         * config/posix/thread-stacksize.h: New file.
12581         * config/darwin/thread-stacksize.h: New file.
12582         * config/nvptx/thread-stacksize.h: New file.
12583         * env.c: Include thread-stacksize.h.
12584         (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
12585         instead of 0.  Call pthread_attr_setstacksize even if
12586         GOMP_DEFAULT_STACKSIZE is non-zero.
12588 2017-03-30  Jakub Jelinek  <jakub@redhat.com>
12590         * env.c (initialize_env): Initialize stacksize to 0.
12592 2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
12594         PR c++/80029
12595         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
12597 2017-03-08  Jakub Jelinek  <jakub@redhat.com>
12599         PR c/79940
12600         * testsuite/libgomp.c/pr79940.c: New test.
12602 2017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12604         * testsuite/libgomp.c/pr48591.c: Enable on all __float128
12605         targets.
12606         Add __float128 options.
12608 2017-02-11  John David Anglin  <danglin@gcc.gnu.org>
12610         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
12611         hppa*-*-* dg-skip-if directive.
12613 2017-02-09  Jakub Jelinek  <jakub@redhat.com>
12615         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
12616         dg-skip-if directive into a comment.
12618 2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
12619             Chung-Lin Tang  <cltang@codesourcery.com>
12621         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
12622         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
12623         add additional case.
12624         * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
12625         "openacc_nvidia_accel_selected".
12626         * libgomp.oacc-fortran/nested-function-1.f90 (test2):
12627         Add num_workers(8) clause.
12629 2017-02-08  John David Anglin  <danglin@gcc.gnu.org>
12631         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
12632         hppa*-*-*.
12633         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
12634         include complex.h on hppa*-*-hpux*.
12635         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12637 2017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
12639         * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
12641         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
12642         GOMP_OFFLOAD_openacc_exec.  Adjust all users.
12643         (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
12644         GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
12645         (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
12646         GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
12647         (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
12648         GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
12649         (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
12650         GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
12652 2017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
12654         * libgomp-plugin.h: #include <stdbool.h>.
12655         (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
12656         (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
12657         (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
12658         (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
12659         (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
12660         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
12661         (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
12662         (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
12663         (GOMP_OFFLOAD_openacc_register_async_cleanup)
12664         (GOMP_OFFLOAD_openacc_async_test)
12665         (GOMP_OFFLOAD_openacc_async_test_all)
12666         (GOMP_OFFLOAD_openacc_async_wait)
12667         (GOMP_OFFLOAD_openacc_async_wait_async)
12668         (GOMP_OFFLOAD_openacc_async_wait_all)
12669         (GOMP_OFFLOAD_openacc_async_wait_all_async)
12670         (GOMP_OFFLOAD_openacc_async_set_async)
12671         (GOMP_OFFLOAD_openacc_create_thread_data)
12672         (GOMP_OFFLOAD_openacc_destroy_thread_data)
12673         (GOMP_OFFLOAD_openacc_get_current_cuda_device)
12674         (GOMP_OFFLOAD_openacc_get_current_cuda_context)
12675         (GOMP_OFFLOAD_openacc_get_cuda_stream)
12676         (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
12677         * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
12678         these.
12679         * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
12680         (GOMP_OFFLOAD_unload_image): Fix argument types.
12682 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
12684         * testsuite/lib/libgomp.exp
12685         (check_effective_target_hsa_offloading_selected_nocache): Fix up
12686         check_compile invocation.  Fix up removal of executable.  Drop
12687         bogus "2>&1" argument.
12689         * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
12690         directive.
12692 2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
12693             Martin Jambor  <mjambor@suse.cz>
12695         * plugin/hsa.h: Moved to top level include.
12696         * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
12698 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
12700         PR other/79046
12701         * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
12702         of cat to get version from BASE-VER file.
12703         * testsuite/Makefile.in: Regenerated.
12705 2017-01-19  Jakub Jelinek  <jakub@redhat.com>
12707         * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
12708         for _WIN64.
12710 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
12712         * plugin/hsa.h: Add GCC runtime library exception.
12713         * plugin/hsa_ext_finalize.h: Likewise.
12715         * plugin/configfrag.ac: For --without-cuda-driver don't initialize
12716         CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
12717         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
12718         cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
12719         plugin/include/cuda as include dir and -ldl instead of -lcuda as
12720         library to link ptx plugin against.
12721         * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
12722         (CUDA_CALLS): Define.
12723         (cuda_lib, cuda_lib_inited): New variables.
12724         (init_cuda_lib): New function.
12725         (CUDA_CALL_PREFIX): Define.
12726         (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
12727         (CUDA_CALL): Use FN instead of (FN).
12728         (CUDA_CALL_NOCHECK): Define.
12729         (cuda_error, fini_streams_for_device, select_stream_for_async,
12730         nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
12731         event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
12732         nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
12733         nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
12734         CUDA_CALL_NOCHECK.
12735         (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
12736         CUDA_CALL_NOCHECK.
12737         (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
12738         Use CUDA_CALL_NOCHECK.
12739         * plugin/cuda/cuda.h: New file.
12740         * config.h.in: Regenerated.
12741         * configure: Regenerated.
12743         PR other/79046
12744         * configure.ac: Add GCC_BASE_VER.
12745         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
12746         get version from BASE-VER file.
12747         * testsuite/Makefile.in: Regenerated.
12748         * configure: Regenerated.
12749         * Makefile.in: Regenerated.
12751 2017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
12753         PR libgomp/60670
12754         * Makefile.am: Make fincludedir multilib-aware.
12755         * Makefile.in: Regenerate.
12757 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
12759         Update copyright years.
12761         * libgomp.texi: Bump @copying's copyright year.
12763 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12765         * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
12766         pthread_spinlock_t instead of gomp_mutex_t lock.
12767         (gomp_get_thread_pool): Likewise.
12768         (gomp_release_thread_pool): Likewise.
12769         * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
12770         Likewise.
12772 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12774         * config/rtems/pool.h (gomp_get_thread_pool): Return proper
12775         thread pool in case nthreads == 1.
12777 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
12779         * config/nvptx/env.c: Delete.
12780         * icv.c: Move definitions of ICV variables back ...
12781         * env.c: ...here.  Do not compile environment-related functionality if
12782         LIBGOMP_OFFLOADED_ONLY is set.
12784 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
12786         * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
12787         (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
12788         * configure: Regenerate.
12789         * config.h.in: Likewise.
12791 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
12793         * Makefile.in: Regenerate with automake-1.11.6.
12794         * aclocal.m4: Likewise.
12795         * configure: Likewise.
12796         * testsuite/Makefile.in: Likewise.
12798 2016-11-28  Alexander Monakov  <amonakov@ispras.ru>
12800         * config/nvptx/critical.c: Delete to use generic implementation.
12802 2016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
12804         * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
12805         ../../affinity.c as fallback.
12806         * config/nvptx/affinity.c: Delete to use fallback implementation.
12808 2016-11-23  Alexander Monakov  <amonakov@ispras.ru>
12809             Jakub Jelinek  <jakub@redhat.com>
12810             Dmitry Melnik  <dm@ispras.ru>
12812         * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
12813         * Makefile.in. Regenerate.
12814         * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
12815         (LIBGOMP_USE_PTHREADS): ...here; new define.
12816         * configure: Regenerate.
12817         * config.h.in: Likewise.
12818         * config/posix/affinity.c: Move to...
12819         * affinity.c: ...here (new file).  Guard use of Pthreads-specific
12820         interface by LIBGOMP_USE_PTHREADS. 
12821         * critical.c: Split out GOMP_atomic_{start,end} into...
12822         * atomic.c: ...here (new file).
12823         * env.c: Split out ICV definitions into...
12824         * icv.c: ...here (new file) and...
12825         * icv-device.c: ...here. New file.
12826         * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
12827         (gomp_destroy_lock_30): Ditto.
12828         (gomp_set_lock_30): Ditto.
12829         (gomp_unset_lock_30): Ditto.
12830         (gomp_test_lock_30): Ditto.
12831         (gomp_init_nest_lock_30): Ditto.
12832         (gomp_destroy_nest_lock_30): Ditto.
12833         (gomp_set_nest_lock_30): Ditto.
12834         (gomp_unset_nest_lock_30): Ditto.
12835         (gomp_test_nest_lock_30): Ditto.
12836         * lock.c: New.
12837         * config/nvptx/lock.c: New.
12838         * config/nvptx/bar.c: New.
12839         * config/nvptx/bar.h: New.
12840         * config/nvptx/doacross.h: New.
12841         * config/nvptx/error.c: New.
12842         * config/nvptx/icv-device.c: New.
12843         * config/nvptx/mutex.h: New.
12844         * config/nvptx/pool.h: New.
12845         * config/nvptx/proc.c: New.
12846         * config/nvptx/ptrlock.h: New.
12847         * config/nvptx/sem.h: New.
12848         * config/nvptx/simple-bar.h: New.
12849         * config/nvptx/target.c: New.
12850         * config/nvptx/task.c: New.
12851         * config/nvptx/team.c: New.
12852         * config/nvptx/time.c: New.
12853         * config/posix/simple-bar.h: New.
12854         * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
12855         (gomp_num_teams_var): Declare.
12856         (struct gomp_thread_pool): Change threads_dock member to
12857         gomp_simple_barrier_t.
12858         [__nvptx__] (gomp_thread): New implementation.
12859         (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
12860         (gomp_thread_destructor): Ditto.
12861         (gomp_init_thread_affinity): Ditto.
12862         * team.c: Guard uses of Pthreads-specific interfaces by
12863         LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
12864         (gomp_free_thread) [__nvptx__]: Do not call 'free'.
12865         * config/nvptx/alloc.c: Delete.
12866         * config/nvptx/barrier.c: Ditto.
12867         * config/nvptx/fortran.c: Ditto.
12868         * config/nvptx/iter.c: Ditto.
12869         * config/nvptx/iter_ull.c: Ditto.
12870         * config/nvptx/loop.c: Ditto.
12871         * config/nvptx/loop_ull.c: Ditto.
12872         * config/nvptx/ordered.c: Ditto.
12873         * config/nvptx/parallel.c: Ditto.
12874         * config/nvptx/priority_queue.c: Ditto.
12875         * config/nvptx/sections.c: Ditto.
12876         * config/nvptx/single.c: Ditto.
12877         * config/nvptx/splay-tree.c: Ditto.
12878         * config/nvptx/work.c: Ditto.
12879         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
12880         -foffload=-lgfortran in addition to -lgfortran.
12881         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
12882         * plugin/plugin-nvptx.c: Include <limits.h>.
12883         (struct targ_fn_descriptor): Add new fields.
12884         (struct ptx_device): Ditto.  Set them...
12885         (nvptx_open_device): ...here.
12886         (nvptx_adjust_launch_bounds): New.
12887         (nvptx_host2dev): Allow NULL 'nvthd'.
12888         (nvptx_dev2host): Ditto.
12889         (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
12890         (link_ptx): Adjust log sizes.
12891         (nvptx_host2dev): Allow NULL 'nvthd'.
12892         (nvptx_dev2host): Ditto.
12893         (nvptx_set_clocktick): New.  Use it...
12894         (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
12895         fields.
12896         (GOMP_OFFLOAD_dev2dev): New.
12897         (nvptx_adjust_launch_bounds): New.
12898         (nvptx_stacks_size): New.
12899         (nvptx_stacks_alloc): New.
12900         (nvptx_stacks_free): New.
12901         (GOMP_OFFLOAD_run): New.
12902         (GOMP_OFFLOAD_async_run): New (stub).
12904 2016-11-23  Martin Jambor  <mjambor@suse.cz>
12906         * testsuite/libgomp.hsa.c/bits-insns.c: New test.
12907         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
12908         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
12910 2016-11-23  Martin Liska  <mliska@suse.cz>
12911             Martin Jambor  <mjambor@suse.cz>
12913         * plugin/hsa.h: New file.
12914         * plugin/hsa_ext_finalize.h: New file.
12915         * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
12916         header file unistd.h, and functions secure_getenv, __secure_getenv,
12917         getuid, geteuid, getgid and getegid.
12918         * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
12919         -D_GNU_SOURCE.
12920         * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
12921         Handle various cases of secure_getenv presence, add an implementation
12922         when we can test effective UID and GID.
12923         (struct hsa_runtime_fn_info): New structure.
12924         (hsa_runtime_fn_info hsa_fns): New variable.
12925         (hsa_runtime_lib): Likewise.
12926         (support_cpu_devices): Likewise.
12927         (init_enviroment_variables): Load newly introduced ENV
12928         variables.
12929         (hsa_warn): Call hsa run-time functions via hsa_fns structure.
12930         (hsa_fatal): Likewise.
12931         (DLSYM_FN): New macro.
12932         (init_hsa_runtime_functions): New function.
12933         (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
12934         structure.  Depending on environment, also allow CPU devices.
12935         (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
12936         (get_kernarg_memory_region): Likewise.
12937         (GOMP_OFFLOAD_init_device): Likewise.
12938         (destroy_hsa_program): Likewise.
12939         (init_basic_kernel_info): New function.
12940         (GOMP_OFFLOAD_load_image): Use it.
12941         (create_and_finalize_hsa_program): Call hsa run-time functions via
12942         hsa_fns structure.
12943         (create_single_kernel_dispatch): Likewise.
12944         (release_kernel_dispatch): Likewise.
12945         (init_single_kernel): Likewise.
12946         (parse_target_attributes): Allow up multiple HSA grid dimensions.
12947         (get_group_size): New function.
12948         (run_kernel): Likewise.
12949         (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
12950         (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
12951         structure.
12952         * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
12953         * testsuite/libgomp-test-support.exp.in: Likewise.
12954         * Makefile.in: Regenerated.
12955         * aclocal.m4: Likewise.
12956         * config.h.in: Likewise.
12957         * configure: Likewise.
12958         * testsuite/Makefile.in: Likewise.
12960 2016-11-15  Martin Jambor  <mjambor@suse.cz>
12961             Alexander Monakov  <amonakov@ispras.ru>
12963         * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
12964         mapping clauses to target constructs.
12965         * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
12967 2016-11-15  Matthias Klose  <doko@ubuntu.com>
12969         * configure: Regenerate.
12971 2016-11-10  Jakub Jelinek  <jakub@redhat.com>
12973         * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
12974         * omp_lib.h.in (openmp_version): Likewise.
12975         * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
12976         of 201307.
12977         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12979         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
12980         (fib_wrapper): Add map(from: x) clause.
12981         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
12982         (e_53_2): Likewise.
12983         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
12984         (accum): Add map(tmp) clause.
12985         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
12986         (accum): Add map(tofrom: tmp) clause.
12987         * testsuite/libgomp.fortran/examples-4/target_data-3.f90
12988         (gramSchmidt): Likewise.
12989         * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
12990         map(tofrom: sum) clause.
12991         * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
12992         map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
12993         * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
12994         only allowed on the loop iterator.
12995         * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
12996         * testsuite/libgomp.fortran/taskloop2.f90: New test.
12997         * testsuite/libgomp.fortran/taskloop4.f90: New test.
12998         * testsuite/libgomp.fortran/doacross1.f90: New test.
12999         * testsuite/libgomp.fortran/doacross3.f90: New test.
13000         * testsuite/libgomp.fortran/taskloop1.f90: New test.
13001         * testsuite/libgomp.fortran/taskloop3.f90: New test.
13002         * testsuite/libgomp.fortran/doacross2.f90: New test.
13003         * testsuite/libgomp.c/doacross-1.c (main): Add missing
13004         #pragma omp atomic read.
13005         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
13006         * testsuite/libgomp.c/doacross-3.c (main): Likewise.
13008 2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
13009             Nathan Sidwell  <nathan@acm.org>
13011         * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
13012         to determine default geometry.
13013         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
13014         dimension.
13016 2016-11-01  Jakub Jelinek  <jakub@redhat.com>
13018         * hashtab.h: Use standard GPLv3 with runtime exception
13019         boilerplate.
13021 2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
13023         * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
13024         size when allocating new thread.
13026 2016-09-14  Marek Polacek  <polacek@redhat.com>
13028         * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
13030 2016-08-19  Jakub Jelinek  <jakub@redhat.com>
13032         PR fortran/71014
13033         * testsuite/libgomp.fortran/pr71014.f90: New test.
13035 2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
13037         PR middle-end/70895
13038         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
13039         firstprivate clauses.
13040         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
13041         copy clauses.
13042         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13043         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
13044         * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
13045         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13046         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13047         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
13048         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13049         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
13050         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13051         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13052         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13053         * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
13055 2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
13057         PR fortran/70598
13058         * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
13060 2016-08-08  Jakub Jelinek  <jakub@redhat.com>
13062         PR c++/58706
13063         * testsuite/libgomp.c++/pr58706.C: New test.
13065 2016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
13067         * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
13068         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
13069         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
13070         Likewise.
13071         * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
13072         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
13073         Likewise.
13074         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
13076         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
13077         test, and don't hardcode -O0.
13079 2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
13081         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
13083 2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
13085         * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
13086         test.
13088 2016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
13090         PR middle-end/71734
13091         * testsuite/libgomp.fortran/pr71734-1.f90: New test.
13092         * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
13094 2016-07-01  Jakub Jelinek  <jakub@redhat.com>
13096         PR fortran/71717
13097         * testsuite/libgomp.fortran/associate3.f90: New test.
13099 2016-06-17  Jakub Jelinek  <jakub@redhat.com>
13101         * testsuite/libgomp.c++/target-21.C: New test.
13103 2016-06-16  Jakub Jelinek  <jakub@redhat.com>
13105         * testsuite/libgomp.c++/target-20.C: New test.
13107 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
13108             Cesar Philippidis  <cesar@codesourcery.com>
13110         PR middle-end/71373
13111         * libgomp.oacc-c/nested-function-1.c: New file.
13112         * libgomp.oacc-c/nested-function-2.c: Likewise.
13113         * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
13114         * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
13115         * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
13117 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
13119         PR c/71381
13120         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
13121         "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
13122         * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
13124 2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
13126         * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
13127         * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
13129 2016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
13131         PR c/70688
13132         * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
13134 2016-05-26  Jakub Jelinek  <jakub@redhat.com>
13136         * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
13137         instead of invalid schedule(static, 0).
13138         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
13140 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
13142         * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
13143         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
13144         parameter, use to set async stream around call to gomp_unmap_vars,
13145         call gomp_unmap_vars() with 'do_copyfrom' set to true.
13146         * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
13147         (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
13148         events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
13149         (event_add): Add int parameter, initialize 'val' field when
13150         adding new ptx_event struct.
13151         (nvptx_evec): Adjust event_add() call arguments.
13152         (nvptx_host2dev): Likewise.
13153         (nvptx_dev2host): Likewise.
13154         (nvptx_wait_async): Likewise.
13155         (nvptx_wait_all_async): Likewise.
13156         (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
13157         pass to event_add() call.
13158         * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
13159         parameter.
13160         * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
13161         call openacc.register_async_cleanup_func() hook.
13162         * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
13163         * target.c (gomp_copy_from_async): Delete function.
13164         (gomp_map_vars): Remove async_refcount.
13165         (gomp_unmap_vars): Likewise.
13166         (gomp_load_image_to_device): Likewise.
13167         (omp_target_associate_ptr): Likewise.
13168         * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
13169         (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
13170         (gomp_copy_from_async): Remove.
13172 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
13174         * target.c (gomp_device_copy): New function.
13175         (gomp_copy_host2dev): Likewise.
13176         (gomp_copy_dev2host): Likewise.
13177         (gomp_free_device_memory): Likewise.
13178         (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
13179         (gomp_map_pointer): Likewise.
13180         (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
13181         NULL value from alloc_func plugin hook.
13182         (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
13183         (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
13184         (gomp_unmap_vars): Likewise.
13185         (gomp_update): Adjust to call gomp_copy_dev2host and
13186         gomp_copy_host2dev functions.
13187         (gomp_unload_image_from_device): Handle false value from
13188         unload_image_func plugin hook.
13189         (gomp_init_device): Handle false value from init_device_func
13190         plugin hook.
13191         (gomp_exit_data): Adjust to call gomp_copy_dev2host.
13192         (omp_target_free): Adjust to call gomp_free_device_memory.
13193         (omp_target_memcpy): Handle return values from host2dev_func,
13194         dev2host_func, and dev2dev_func plugin hooks.
13195         (omp_target_memcpy_rect_worker): Likewise.
13196         (gomp_target_fini): Handle false value from fini_device_func
13197         plugin hook.
13198         * libgomp.h (struct gomp_device_descr): Adjust return type of
13199         init_device_func, fini_device_func, unload_image_func, free_func,
13200         dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
13201         * oacc-init.c (acc_shutdown_1): Handle false value from
13202         fini_device_func plugin hook.
13203         * oacc-host.c (host_init_device): Change return type to bool.
13204         (host_fini_device): Likewise.
13205         (host_unload_image): Likewise.
13206         (host_free): Likewise.
13207         (host_dev2host): Likewise.
13208         (host_host2dev): Likewise.
13209         * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
13210         (acc_memcpy_to_device): Likewise.
13211         (acc_memcpy_from_device): Likewise.
13212         (delete_copyout): Add libfnname parameter, handle free_func
13213         hook fatal error case.
13214         (acc_delete): Adjust delete_copyout call.
13215         (acc_copyout): Likewise.
13216         (update_dev_host): Move gomp_mutex_unlock to after
13217         host2dev/dev2host hook calls.
13219         * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
13220         to 'hsa_error_msg', for clarity.
13221         (hsa_fatal): Likewise.
13222         (hsa_error): New function.
13223         (init_hsa_context): Change return type to bool, adjust to return
13224         false on error.
13225         (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
13226         return value.
13227         (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
13228         return false on error.
13229         (get_agent_info): Adjust to return NULL on error.
13230         (destroy_hsa_program): Change return type to bool, adjust to
13231         return false on error.
13232         (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
13233         (destroy_module): Change return type to bool, adjust to
13234         return false on error.
13235         (GOMP_OFFLOAD_unload_image): Likewise.
13236         (GOMP_OFFLOAD_fini_device): Likewise.
13237         (GOMP_OFFLOAD_alloc): Change to return NULL when called.
13238         (GOMP_OFFLOAD_free): Change to return false when called.
13239         (GOMP_OFFLOAD_dev2host): Likewise.
13240         (GOMP_OFFLOAD_host2dev): Likewise.
13241         (GOMP_OFFLOAD_dev2dev): Likewise.
13243         * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
13244         (CUDA_CALL): Likewise.
13245         (CUDA_CALL_ASSERT): Likewise.
13246         (map_init): Change return type to bool, use CUDA_CALL* macros.
13247         (map_fini): Likewise.
13248         (init_streams_for_device): Change return type to bool, adjust
13249         call to map_init.
13250         (fini_streams_for_device): Change return type to bool, adjust
13251         call to map_fini.
13252         (select_stream_for_async): Release stream_lock before calls to
13253         GOMP_PLUGIN_fatal, adjust call to map_init.
13254         (nvptx_init): Use CUDA_CALL* macros.
13255         (nvptx_attach_host_thread_to_device): Change return type to bool,
13256         use CUDA_CALL* macros.
13257         (nvptx_open_device): Use CUDA_CALL* macros.
13258         (nvptx_close_device): Change return type to bool, use CUDA_CALL*
13259         macros.
13260         (nvptx_get_num_devices): Use CUDA_CALL* macros.
13261         (link_ptx): Change return type to bool, use CUDA_CALL* macros.
13262         (nvptx_exec): Use CUDA_CALL* macros.
13263         (nvptx_alloc): Use CUDA_CALL* macros.
13264         (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
13265         (nvptx_host2dev): Likewise.
13266         (nvptx_dev2host): Likewise.
13267         (nvptx_wait): Use CUDA_CALL* macros.
13268         (nvptx_wait_async): Likewise.
13269         (nvptx_wait_all): Likewise.
13270         (nvptx_wait_all_async): Likewise.
13271         (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
13272         use CUDA_CALL* macros, adjust call to map_fini.
13273         (GOMP_OFFLOAD_init_device): Change return type to bool,
13274         adjust code accordingly.
13275         (GOMP_OFFLOAD_fini_device): Likewise.
13276         (GOMP_OFFLOAD_load_image): Adjust calls to
13277         nvptx_attach_host_thread_to_device/link_ptx to handle errors,
13278         use CUDA_CALL* macros.
13279         (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
13280         return code.
13281         (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
13282         (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
13283         handle error return.
13284         (GOMP_OFFLOAD_dev2host): Likewise.
13285         (GOMP_OFFLOAD_host2dev): Likewise.
13286         (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
13287         (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
13289 2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
13291         * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
13292         (acc_free): Likewise.
13293         (acc_memcpy_to_device): Likewise.
13294         (acc_memcpy_from_device): Likewise.
13295         (acc_deviceptr): Likewise.
13296         (acc_hostptr): Likewise.
13297         (acc_is_present): Likewise.
13298         (acc_map_data): Likewise.
13299         (acc_unmap_data): Likewise.
13300         (present_create_copy): Likewise.
13301         (delete_copyout): Likewise.
13302         (update_dev_host): Likewise.
13303         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
13304         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
13305         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
13306         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13307         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
13308         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
13309         it only runs on nvptx targets.
13310         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13311         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13312         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13313         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13314         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13315         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13316         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13317         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13318         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13319         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13320         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13321         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13322         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13323         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13324         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13325         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13326         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13327         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13328         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13329         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13330         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13331         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13332         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13334 2016-05-23  Martin Jambor  <mjambor@suse.cz>
13336         * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
13338 2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
13340         * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
13341         to gomp_init_targets_once.
13342         (acc_set_device_type): Remove !cached_base_dev condition on call to
13343         gomp_init_targets_once, move call to before acc_device_lock acquire,
13344         to avoid deadlock.
13345         (acc_get_device_num): Remove !cached_base_dev condition on call to
13346         gomp_init_targets_once.
13347         (acc_set_device_num): Likewise.
13349 2016-05-16  Martin Jambor  <mjambor@suse.cz>
13351         * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
13353 2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
13355         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
13356         expected partitioning.
13358 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
13360         PR middle-end/70626
13361         * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
13362         * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
13363         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
13365 2016-04-21  Alexander Monakov  <amonakov@ispras.ru>
13367         * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
13368         non-fatal.
13370 2016-04-19  Jakub Jelinek  <jakub@redhat.com>
13372         PR middle-end/70680
13373         * testsuite/libgomp.c/pr70680-1.c: New test.
13374         * testsuite/libgomp.c/pr70680-2.c: New test.
13376 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
13378         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
13379         pass parameter variables to subroutines.
13381 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
13383         PR middle-end/70643
13384         * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
13386 2016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
13388         PR testsuite/68242
13389         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
13390         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13392 2016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
13394         * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
13395         GOACC_parallel_keyed, restore GOACC_parallel prototype, new
13396         GOACC_declare prototype.
13398         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
13399         Merge this file, and...
13400         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
13401         ... this file, and...
13402         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
13403         ... this file, and...
13404         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
13405         ... this file, and...
13406         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
13407         ... this file, and...
13408         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
13409         ... this file, and...
13410         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
13411         ... this file, and...
13412         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
13413         ... this file, and...
13414         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
13415         ... this file, and...
13416         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
13417         ... this file, and...
13418         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
13419         ... this file, and...
13420         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
13421         ... this file, and...
13422         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
13423         ... this file into...
13424         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
13425         file.
13427         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
13428         Make failure observable.
13430 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
13432         * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
13433         field.
13434         * target.c (gomp_target_fallback_firstprivate,
13435         gomp_target_unshare_firstprivate): Removed.
13436         (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
13437         before waiting for dependencies.
13438         (gomp_target_task_fn): Don't copy firstprivate vars here.
13439         * task.c (GOMP_PLUGIN_target_task_completion): Don't free
13440         firstprivate_copies here.
13441         (gomp_create_target_task): Don't initialize firstprivate_copies field.
13442         * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
13443         explicit/implicit firstprivate.
13445 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
13447         PR lto/70289
13448         PR ipa/70348
13449         PR tree-optimization/70373
13450         PR middle-end/70533
13451         PR middle-end/70534
13452         PR middle-end/70535
13453         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
13454         test.
13455         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
13456         test.
13457         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
13458         test.
13459         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
13460         test.
13461         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
13462         test.
13463         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
13464         test.
13465         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
13466         test.
13467         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
13468         test.
13469         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
13470         test.
13471         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
13472         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
13473         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
13474         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
13475         test.
13476         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
13477         test.
13478         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
13479         test.
13480         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
13481         test.
13482         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
13483         coverage.
13484         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13485         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
13486         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
13487         * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
13488         * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
13489         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
13490         coverage.
13491         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13492         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13493         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13494         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13495         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
13496         * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
13497         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
13498         * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
13499         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
13500         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13501         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13502         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13503         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13504         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13505         * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
13507 2016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
13508             James Norris  <jnorris@codesourcery.com>
13509             Nathan Sidwell  <nathan@codesourcery.com>
13510             Julian Brown  <julian@codesourcery.com>
13511             Cesar Philippidis  <cesar@codesourcery.com>
13512             Chung-Lin Tang  <cltang@codesourcery.com>
13513             Tom de Vries  <tom@codesourcery.com>
13515         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
13516         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13517         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13518         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
13519         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13520         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13521         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13522         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
13523         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13524         XFAIL.
13525         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
13526         Incorporate...
13527         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
13528         file.
13529         * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
13530         * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
13531         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
13532         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
13533         Likewise.
13534         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
13535         Likewise.
13536         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13537         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
13538         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
13539         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
13540         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
13541         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
13542         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
13543         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
13544         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
13545         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
13546         Likewise.
13547         * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
13548         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
13549         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
13550         file...
13551         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
13552         file into...
13553         * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
13554         file.  Update.
13555         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
13556         file.
13557         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
13558         Likewise.
13559         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
13560         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
13561         ... this new file.  Update.
13562         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
13563         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
13564         ... this new file.  Update.
13565         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
13566         file.  Incorporate...
13567         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
13568         file, and...
13569         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
13570         file, and...
13571         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
13572         file.
13573         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
13575 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
13577         * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
13578         set-torture-options.
13580 2016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
13582         * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
13583         gcc-dg-runtest.
13584         * testsuite/libgomp.oacc-c/c.exp: Likewise.
13585         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
13586         -fno-builtin-acc_on_device instead of -O0.
13587         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
13588         -O0.
13589         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13590         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
13591         Likewise.
13592         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13593         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13594         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13595         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13596         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13597         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13598         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13599         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13600         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13601         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13602         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13603         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13604         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13605         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13606         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13607         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13608         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13609         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
13610         Don't specify -O2.
13611         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
13612         Likewise.
13613         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
13614         Likewise.
13616 2016-03-24  Martin Liska  <mliska@suse.cz>
13618         * plugin/plugin-hsa.c (packet_store_release): New function
13619         that is taken from the HSA runtime manual.
13620         (GOMP_OFFLOAD_run): Use the function.
13622 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
13624         PR c++/70376
13625         * testsuite/libgomp.c++/pr70376.C: New test.
13627 2016-03-23  Tom de Vries  <tom@codesourcery.com>
13629         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
13630         initialization of lresult and lvresult.
13631         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
13633 2016-03-23  James Norris  <jnorris@codesourcery.com>
13634             Daichi Fukuoka <dc-fukuoka@sgi.com>
13636         PR libgomp/69414
13637         * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
13638         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
13639         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13640         * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
13642 2016-03-23  Martin Liska  <mliska@suse.cz>
13644         PR hsa/70337
13645         * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
13646         argument just in case a dispatched kernel uses that argument.
13648 2016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
13650         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
13651         -ftree-parallelize-loops/-fopenacc changes.
13652         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
13653         Likewise.
13654         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13655         Likewise.
13656         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
13657         Likewise.
13658         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
13659         Likewise.
13660         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
13661         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
13663 2016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
13665         * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
13666         always_ld_library_path the path to libgcc_s.
13668 2016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
13670         PR testsuite/70009
13671         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
13673 2016-03-09  Tom de Vries  <tom@codesourcery.com>
13675         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
13676         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
13677         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13678         Same.
13679         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
13680         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
13681         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
13682         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
13684 2016-03-07  Martin Jambor  <mjambor@suse.cz>
13686         * testsuite/lib/libgomp.exp
13687         (check_effective_target_hsa_offloading_selected_nocache): New.
13688         (check_effective_target_hsa_offloading_selected): Likewise.
13689         * testsuite/libgomp.hsa.c/c.exp: Likewise.
13690         * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
13691         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
13692         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
13693         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
13694         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
13695         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
13696         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
13697         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
13698         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
13699         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
13700         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
13701         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
13702         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
13703         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
13704         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
13705         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
13707 2016-03-07  Martin Jambor  <mjambor@suse.cz>
13709         * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
13710         non-shared memory accelerators.
13711         * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
13712         * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
13713         * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
13714         * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
13715         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
13716         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
13717         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
13718         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
13719         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
13721 2016-03-07  Martin Jambor  <mjambor@suse.cz>
13723         * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
13724         ALWAYS_CFLAGS.
13726 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
13728         PR libgomp/69555
13729         * testsuite/libgomp.c++/pr69555-1.C: New test.
13730         * testsuite/libgomp.c++/pr69555-2.C: New test.
13732 2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
13733             Martin Jambor  <mjambor@suse.cz>
13735         * testsuite/lib/libgomp.exp
13736         (check_effective_target_offload_device_shared_as): New proc.
13737         * testsuite/libgomp.c++/declare_target-1.C: New test.
13739 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
13741         PR driver/68463
13742         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
13744 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
13746         * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
13747         * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
13748         dims.
13749         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
13750         -ftree-parallelize-loops/-fopenacc changes.
13751         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
13752         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
13753         Likewise.
13754         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
13755         Likewise.
13756         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
13757         Likewise.
13758         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
13759         Likewise.
13760         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
13761         Likewise.
13762         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
13763         Likewise.
13764         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
13765         Likewise.
13766         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
13767         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
13768         Likewise.
13769         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
13770         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
13771         Likewise.
13772         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
13773         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
13774         Likewise.
13776 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
13778         * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
13780 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
13782         PR driver/69805
13783         * testsuite/libgomp.c/pr69805.c: New test.
13785 2016-02-16  Tom de Vries  <tom@codesourcery.com>
13787         PR lto/67709
13788         * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
13790 2016-02-09  Tom de Vries  <tom@codesourcery.com>
13792         PR tree-optimization/69599
13793         * testsuite/libgomp.c/omp-nested-3.c: New test.
13794         * testsuite/libgomp.c/pr46032-2.c: New test.
13795         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
13796         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
13798 2016-02-09  Tom de Vries  <tom@codesourcery.com>
13800         PR lto/69707
13801         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
13803 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
13805         * testsuite/libgomp.c/target-31.c: Fix testcase.
13807 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
13809         * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
13810         clause.
13811         * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
13812         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
13813         reduction and map clauses.
13814         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
13816 2016-02-02  James Norris  <jnorris@codesourcery.com>
13818         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
13820 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
13822         * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
13823         * oacc-parallel.c (GOACC_host_data): Remove function definition.
13825         * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
13826         cases.
13828         * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
13829         variables.
13830         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
13831         (hsa_kmt_lib): Set variables.
13832         * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
13833         always_ld_library_path.
13834         * Makefile.in: Regenerate.
13835         * configure: Likewise.
13836         * testsuite/Makefile.in: Likewise.
13838         * plugin/configfrag.ac (offload_additional_options)
13839         (offload_additional_lib_paths): Don't amend for hsa offloading.
13840         * configure: Regenerate.
13842         * plugin/configfrag.ac: Don't configure for offloading target if
13843         we don't build the corresponding plugin.
13844         * configure: Regenerate.
13846 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
13848         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
13849         * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
13851 2016-01-26  Tom de Vries  <tom@codesourcery.com>
13853         PR tree-optimization/69110
13854         * testsuite/libgomp.c/pr69110.c: New test.
13856 2016-01-25  Richard Biener  <rguenther@suse.de>
13858         PR lto/69393
13859         * testsuite/libgomp.c++/pr69393.C: New testcase.
13861 2016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
13863         * target.c (gomp_get_target_fn_addr): Allow host fallback if target
13864         function wasn't mapped to the device with non-shared memory.
13866 2016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
13868         * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
13870 2016-01-19  Martin Jambor  <mjambor@suse.cz>
13871             Martin Liska  <mliska@suse.cz>
13873         * plugin/Makefrag.am: Add HSA plugin requirements.
13874         * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
13875         (HSA_RUNTIME_LIB): Likewise.
13876         (HSA_RUNTIME_CPPFLAGS): Likewise.
13877         (HSA_RUNTIME_INCLUDE): New substitution.
13878         (HSA_RUNTIME_LIB): Likewise.
13879         (HSA_RUNTIME_LDFLAGS): Likewise.
13880         (hsa-runtime): New configure option.
13881         (hsa-runtime-include): Likewise.
13882         (hsa-runtime-lib): Likewise.
13883         (PLUGIN_HSA): New substitution variable.
13884         Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
13885         configure options.
13886         (PLUGIN_HSA_CPPFLAGS): Likewise.
13887         (PLUGIN_HSA_LDFLAGS): Likewise.
13888         (PLUGIN_HSA_LIBS): Likewise.
13889         Check that we have access to HSA run-time.
13890         * libgomp-plugin.h (offload_target_type): New element
13891         OFFLOAD_TARGET_TYPE_HSA.
13892         * libgomp.h (gomp_target_task): New fields firstprivate_copies and
13893         args.
13894         (bool gomp_create_target_task): Updated.
13895         (gomp_device_descr): Extra parameter of run_func and async_run_func,
13896         new field can_run_func.
13897         * libgomp_g.h (GOMP_target_ext): Update prototype.
13898         * oacc-host.c (host_run): Added a new parameter args.
13899         * target.c (calculate_firstprivate_requirements): New function.
13900         (copy_firstprivate_data): Likewise.
13901         (gomp_target_fallback_firstprivate): Use them.
13902         (gomp_target_unshare_firstprivate): New function.
13903         (gomp_get_target_fn_addr): Allow returning NULL for shared memory
13904         devices.
13905         (GOMP_target): Do host fallback for all shared memory devices.  Do not
13906         pass any args to plugins.
13907         (GOMP_target_ext): Introduce device-specific argument parameter args.
13908         Allow host fallback if device shares memory.  Do not remap data if
13909         device has shared memory.
13910         (gomp_target_task_fn): Likewise.  Also treat shared memory devices
13911         like host fallback for mappings.
13912         (GOMP_target_data): Treat shared memory devices like host fallback.
13913         (GOMP_target_data_ext): Likewise.
13914         (GOMP_target_update): Likewise.
13915         (GOMP_target_update_ext): Likewise.  Also pass NULL as args to
13916         gomp_create_target_task.
13917         (GOMP_target_enter_exit_data): Likewise.
13918         (omp_target_alloc): Treat shared memory devices like host fallback.
13919         (omp_target_free): Likewise.
13920         (omp_target_is_present): Likewise.
13921         (omp_target_memcpy): Likewise.
13922         (omp_target_memcpy_rect): Likewise.
13923         (omp_target_associate_ptr): Likewise.
13924         (gomp_load_plugin_for_device): Also load can_run.
13925         * task.c (GOMP_PLUGIN_target_task_completion): Free
13926         firstprivate_copies.
13927         (gomp_create_target_task): Accept new argument args and store it to
13928         ttask.
13929         * plugin/plugin-hsa.c: New file.
13931 2016-01-18  Tom de Vries  <tom@codesourcery.com>
13933         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
13934         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
13935         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
13936         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
13937         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
13938         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
13939         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
13940         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
13941         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
13942         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
13943         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
13944         Same.
13945         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
13946         Same.
13947         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
13948         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
13949         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
13950         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
13951         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
13952         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
13953         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
13954         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
13955         Same.
13956         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
13958 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
13960         * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
13962 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
13964         * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
13966 2016-01-12  James Norris  <jnorris@codesourcery.com>
13968         * libgomp.texi: Updates for OpenACC.
13970 2016-01-11  Alexander Monakov  <amonakov@ispras.ru>
13972         * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
13974 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
13976         PR fortran/66680
13977         * testsuite/libgomp.fortran/pr66680.f90: New test.
13979 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
13981         PR middle-end/68960
13982         * testsuite/libgomp.c/pr68960.c: New test.
13984 2016-01-06  Nathan Sidwell  <nathan@acm.org>
13986         * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
13987         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
13989 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
13991         Update copyright years.
13993         * libgomp.texi: Bump @copying's copyright year.
13995 2015-12-31  Nathan Sidwell  <nathan@acm.org>
13997         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
13998         dg-additional-options syntax.
13999         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
14000         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
14001         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
14002         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
14003         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
14004         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
14005         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
14006         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
14007         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
14008         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
14009         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
14010         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
14011         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
14012         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
14013         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
14014         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
14015         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
14016         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
14018 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
14020         * libgomp.h (REFCOUNT_LINK): Define.
14021         (struct splay_tree_key_s): Add link_key.
14022         * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
14023         Replace target address of the pointer with target address of newly
14024         mapped object in the splay tree.  Set link pointer on target to the
14025         device address of the mapped object.
14026         (gomp_unmap_vars): Restore target address of the pointer in the splay
14027         tree for REFCOUNT_LINK objects after unmapping.
14028         (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
14029         declare target link" objects.
14030         (gomp_unload_image_from_device): Replace j with i.  Force unmap of all
14031         "omp declare target link" objects, which were mapped for the image.
14032         (gomp_exit_data): Restore target address of the pointer in the splay
14033         tree for REFCOUNT_LINK objects after unmapping.
14034         * testsuite/libgomp.c/target-link-1.c: New file.
14036 2015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
14038         * libgomp.h (gomp_device_state): New enum.
14039         (struct gomp_device_descr): Replace is_initialized with state.
14040         (gomp_fini_device): Remove declaration.
14041         * oacc-host.c (host_dispatch): Use state instead of is_initialized.
14042         * oacc-init.c (acc_init_1): Use state instead of is_initialized.
14043         (acc_shutdown_1): Likewise.  Inline gomp_fini_device.
14044         (acc_set_device_type): Use state instead of is_initialized.
14045         (acc_set_device_num): Likewise.
14046         * target.c (resolve_device): Use state instead of is_initialized.
14047         Do not initialize finalized device.
14048         (gomp_map_vars): Do nothing if device is finalized.
14049         (gomp_unmap_vars): Likewise.
14050         (gomp_update): Likewise.
14051         (GOMP_offload_register_ver): Use state instead of is_initialized.
14052         (GOMP_offload_unregister_ver): Likewise.
14053         (gomp_init_device): Likewise.
14054         (gomp_unload_device): Likewise.
14055         (gomp_fini_device): Remove.
14056         (gomp_get_target_fn_addr): Do nothing if device is finalized.
14057         (GOMP_target): Go to host fallback if device is finalized.
14058         (GOMP_target_ext): Likewise.
14059         (gomp_exit_data): Do nothing if device is finalized.
14060         (gomp_target_task_fn): Go to host fallback if device is finalized.
14061         (gomp_target_fini): New static function.
14062         (gomp_target_init): Use state instead of is_initialized.
14063         Call gomp_target_fini at exit.
14065 2015-12-09  Tom de Vries  <tom@codesourcery.com>
14067         PR tree-optimization/68716
14068         * testsuite/libgomp.c/omp-nested-2.c: New test.
14070 2015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
14072         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
14073         target openacc_nvidia_accel_selected.
14074         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
14075         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
14076         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
14077         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
14079 2015-12-01  Julian Brown  <julian@codesourcery.com>
14080             James Norris  <James_Norris@mentor.com>
14082         * oacc-parallel.c (GOACC_host_data): New function.
14083         * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
14084         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
14085         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
14086         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
14087         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
14088         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
14089         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
14091 2015-11-30  James Norris  <jnorris@codesourcery.com>
14092             Cesar Philippidis  <cesar@codesourcery.com>
14094         libgomp/
14095         * libgomp.oacc-fortran/routine-5.f90: New test.
14096         * libgomp.oacc-fortran/routine-7.f90: New test.
14097         * libgomp.oacc-fortran/routine-9.f90: New test.
14099 2015-11-30  Tom de Vries  <tom@codesourcery.com>
14101         PR tree-optimization/46032
14102         * testsuite/libgomp.c/pr46032.c: New test.
14104 2015-11-27  Jakub Jelinek  <jakub@redhat.com>
14106         PR libgomp/68579
14107         * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
14108         (gomp_create_target_task): Call it before freeing
14109         GOMP_TARGET_TASK_DATA tasks.
14111         PR c/63326
14112         * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
14113         in between case label and OpenMP standalone directives.
14114         * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
14116 2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
14118         * configure: Regenerate.
14120 2015-11-26  Jakub Jelinek  <jakub@redhat.com>
14122         * testsuite/libgomp.c/target-35.c: New test.
14124 2015-11-22  James Norris  <jnorris@codesourcery.com>
14125             Cesar Philippidis  <cesar@codesourcery.com>
14127         * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
14128         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
14129         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
14130         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
14131         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
14133 2015-11-20  Jakub Jelinek  <jakub@redhat.com>
14135         PR middle-end/68221
14136         * testsuite/libgomp.c/reduction-11.c: Remove xfail.
14137         * testsuite/libgomp.c/reduction-12.c: Likewise.
14138         * testsuite/libgomp.c++/reduction-11.C: Likewise.
14139         * testsuite/libgomp.c++/reduction-12.C: Likewise.
14141 2015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
14143         * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
14144         * libgomp.oacc-c-c++-common/reduction-flt.c: New.
14145         * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
14146         * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
14147         * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
14148         and fix.
14149         * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14150         * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14152 2015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
14154         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
14155         worker & gang cases.
14156         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
14158 2015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
14160         * config/nvptx/priority_queue.c: New file.
14162 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
14164         * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
14165         sections.
14167 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
14168             Aldy Hernandez  <aldyh@redhat.com>
14169             Ilya Verbin  <ilya.verbin@intel.com>
14171         * ordered.c (gomp_doacross_init, GOMP_doacross_post,
14172         GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
14173         GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
14174         iterators or IV by chunk size.
14175         * parallel.c (gomp_resolve_num_threads): Don't assume that
14176         if thr->ts.team is non-NULL, then pool must be non-NULL.
14177         * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
14178         * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
14179         GOMP_PLUGIN_target_task_completion.
14180         * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
14181         * Makefile.in: Regenerate.
14182         * libgomp.h: Shuffle prototypes and forward definitions around so
14183         priority queues can be defined.
14184         (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
14185         (enum gomp_target_task_state): New enum.
14186         (struct gomp_target_task): Add state, tgt, task and team fields.
14187         (gomp_create_target_task): Change return type to bool, add
14188         state argument.
14189         (gomp_target_task_fn): Change return type to bool.
14190         (struct gomp_device_descr): Add async_run_func.
14191         (struct gomp_task): Remove children, next_child, prev_child,
14192         next_queue, prev_queue, next_taskgroup, prev_taskgroup.
14193         Add pnode field.
14194         (struct gomp_taskgroup): Remove children.
14195         Add taskgroup_queue.
14196         (struct gomp_team): Change task_queue type to a priority queue.
14197         (splay_compare): Define inline.
14198         (priority_queue_offset): New.
14199         (priority_node_to_task): New.
14200         (task_to_priority_node): New.
14201         * oacc-mem.c: Do not include splay-tree.h.
14202         * priority_queue.c: New file.
14203         * priority_queue.h: New file.
14204         * splay-tree.c: Do not include splay-tree.h.
14205         (splay_tree_foreach_internal): New.
14206         (splay_tree_foreach): New.
14207         * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
14208         (splay_tree_callback): Define typedef.
14209         * target.c (splay_compare): Move to libgomp.h.
14210         (GOMP_target): Don't adjust *thr in any way around running offloaded
14211         task.
14212         (GOMP_target_ext): Likewise.  Handle target nowait.
14213         (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
14214         return value from gomp_create_target_task, if false, fallthrough
14215         as if no dependencies exist.
14216         (gomp_target_task_fn): Change return type to bool, return true
14217         if the task should have another part scheduled later.  Handle
14218         target nowait.
14219         (gomp_load_plugin_for_device): Initialize async_run.
14220         * task.c (gomp_init_task): Initialize children_queue.
14221         (gomp_clear_parent_in_list): New.
14222         (gomp_clear_parent_in_tree): New.
14223         (gomp_clear_parent): Handle priorities.
14224         (GOMP_task): Likewise.
14225         (priority_queue_move_task_first,
14226         gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
14227         New functions.
14228         (gomp_create_target_task): Use priority queues.  Change return type
14229         to bool, add state argument, return false if for async
14230         {{enter,exit} data,update} constructs no dependencies need to be
14231         waited for, handle target nowait.  Set task->fn to NULL instead of
14232         gomp_target_task_fn.
14233         (verify_children_queue): Remove.
14234         (priority_list_upgrade_task): New.
14235         (priority_queue_upgrade_task): New.
14236         (verify_task_queue): Remove.
14237         (priority_list_downgrade_task): New.
14238         (priority_queue_downgrade_task): New.
14239         (gomp_task_run_pre): Use priority queues.
14240         Abstract code out to priority_queue_downgrade_task.
14241         (gomp_task_run_post_handle_dependers): Use priority queues.
14242         (gomp_task_run_post_remove_parent): Likewise.
14243         (gomp_task_run_post_remove_taskgroup): Likewise.
14244         (gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
14245         tasks specially.
14246         (GOMP_taskwait): Likewise.
14247         (gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
14248         priority-queue_upgrade_task.
14249         (GOMP_taskgroup_start): Use priority queues.
14250         (GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
14251         specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
14252         barrier.
14253         * taskloop.c (GOMP_taskloop): Handle priorities.
14254         * team.c (gomp_new_team): Call priority_queue_init.
14255         (free_team): Call priority_queue_free.
14256         (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
14257         team created for target nowait in implicit parallel region.
14258         (gomp_team_start): For nested check, test thr->ts.level instead of
14259         thr->ts.team != NULL.
14260         * testsuite/libgomp.c/doacross-3.c: New test.
14261         * testsuite/libgomp.c/ordered-5.c: New test.
14262         * testsuite/libgomp.c/priority.c: New test.
14263         * testsuite/libgomp.c/target-31.c: New test.
14264         * testsuite/libgomp.c/target-32.c: New test.
14265         * testsuite/libgomp.c/target-33.c: New test.
14266         * testsuite/libgomp.c/target-34.c: New test.
14268 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
14270         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
14272         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
14273         loop is sequential.
14275 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
14277         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
14278         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
14280 2015-11-12  James Norris  <jnorris@codesourcery.com>
14281             Joseph Myers  <joseph@codesourcery.com>
14283         * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
14284         * oacc-parallel.c (GOACC_declare): New function.
14285         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
14286         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
14287         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
14288         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
14289         * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
14291 2015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
14293         * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
14295 2015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
14297         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
14298         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
14300 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
14302         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
14303         inadvertent commit.
14305 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
14307         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
14308         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
14309         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
14310         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
14311         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
14313 2015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
14315         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
14316         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14318 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
14319             Ilya Verbin  <ilya.verbin@intel.com>
14321         * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
14322         GOMP_loop_nonmonotonic_dynamic_start,
14323         GOMP_loop_nonmonotonic_guided_next,
14324         GOMP_loop_nonmonotonic_guided_start,
14325         GOMP_loop_ull_nonmonotonic_dynamic_next,
14326         GOMP_loop_ull_nonmonotonic_dynamic_start,
14327         GOMP_loop_ull_nonmonotonic_guided_next,
14328         GOMP_loop_ull_nonmonotonic_guided_start,
14329         GOMP_parallel_loop_nonmonotonic_dynamic,
14330         GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
14331         (GOMP_target_41): Renamed to ...
14332         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
14333         arguments.
14334         (GOMP_target_data_41): Renamed to ...
14335         (GOMP_target_data_ext): ... this.
14336         (GOMP_target_update_41): Renamed to ...
14337         (GOMP_target_update_ext): ... this.
14338         * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
14339         GOMP_target_data_ext and GOMP_target_update_ext instead of
14340         GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
14341         Export GOMP_loop_nonmonotonic_dynamic_next,
14342         GOMP_loop_nonmonotonic_dynamic_start,
14343         GOMP_loop_nonmonotonic_guided_next,
14344         GOMP_loop_nonmonotonic_guided_start,
14345         GOMP_loop_ull_nonmonotonic_dynamic_next,
14346         GOMP_loop_ull_nonmonotonic_dynamic_start,
14347         GOMP_loop_ull_nonmonotonic_guided_next,
14348         GOMP_loop_ull_nonmonotonic_guided_start,
14349         GOMP_parallel_loop_nonmonotonic_dynamic and
14350         GOMP_parallel_loop_nonmonotonic_guided.
14351         * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
14352         GOMP_parallel_loop_nonmonotonic_guided,
14353         GOMP_loop_nonmonotonic_dynamic_start,
14354         GOMP_loop_nonmonotonic_guided_start,
14355         GOMP_loop_nonmonotonic_dynamic_next,
14356         GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
14357         * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
14358         GOMP_loop_ull_nonmonotonic_guided_start,
14359         GOMP_loop_ull_nonmonotonic_dynamic_next,
14360         GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
14361         * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
14362         functions.
14363         (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
14364         GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
14365         Use gomp_map_val function.
14366         (gomp_target_fallback_firstprivate): New static function.
14367         (GOMP_target_41): Renamed to ...
14368         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
14369         arguments.  Move firstprivate fallback handling into a new
14370         function.
14371         (GOMP_target_data_41): Renamed to ...
14372         (GOMP_target_data_ext): ... this.
14373         (GOMP_target_update_41): Renamed to ...
14374         (GOMP_target_update_ext): ... this.
14375         (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
14376         gomp_map_0len_lookup instead of gomp_map_lookup.
14377         (omp_target_is_present): Use gomp_map_0len_lookup instead of
14378         gomp_map_lookup.
14379         * testsuite/libgomp.c/target-28.c: Likewise.
14380         * testsuite/libgomp.c/monotonic-1.c: New test.
14381         * testsuite/libgomp.c/monotonic-2.c: New test.
14382         * testsuite/libgomp.c/nonmonotonic-1.c: New test.
14383         * testsuite/libgomp.c/nonmonotonic-2.c: New test.
14384         * testsuite/libgomp.c/pr66199-5.c: New test.
14385         * testsuite/libgomp.c/pr66199-6.c: New test.
14386         * testsuite/libgomp.c/pr66199-7.c: New test.
14387         * testsuite/libgomp.c/pr66199-8.c: New test.
14388         * testsuite/libgomp.c/pr66199-9.c: New test.
14389         * testsuite/libgomp.c/reduction-11.c: New test.
14390         * testsuite/libgomp.c/reduction-12.c: New test.
14391         * testsuite/libgomp.c/reduction-13.c: New test.
14392         * testsuite/libgomp.c/reduction-14.c: New test.
14393         * testsuite/libgomp.c/reduction-15.c: New test.
14394         * testsuite/libgomp.c/target-12.c (main): Adjust for
14395         omp_target_is_present change for one-past-last element.
14396         * testsuite/libgomp.c/target-17.c (foo): Drop tests where
14397         the same var is both mapped and privatized.
14398         * testsuite/libgomp.c/target-19.c (foo): Adjust for different
14399         handling of zero-length array sections.
14400         * testsuite/libgomp.c/target-28.c: New test.
14401         * testsuite/libgomp.c/target-29.c: New test.
14402         * testsuite/libgomp.c/target-30.c: New test.
14403         * testsuite/libgomp.c/target-teams-1.c: New test.
14404         * testsuite/libgomp.c++/member-6.C: New test.
14405         * testsuite/libgomp.c++/member-7.C: New test.
14406         * testsuite/libgomp.c++/monotonic-1.C: New test.
14407         * testsuite/libgomp.c++/monotonic-2.C: New test.
14408         * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
14409         * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
14410         * testsuite/libgomp.c++/pr66199-3.C: New test.
14411         * testsuite/libgomp.c++/pr66199-4.C: New test.
14412         * testsuite/libgomp.c++/pr66199-5.C: New test.
14413         * testsuite/libgomp.c++/pr66199-6.C: New test.
14414         * testsuite/libgomp.c++/pr66199-7.C: New test.
14415         * testsuite/libgomp.c++/pr66199-8.C: New test.
14416         * testsuite/libgomp.c++/pr66199-9.C: New test.
14417         * testsuite/libgomp.c++/reduction-11.C: New test.
14418         * testsuite/libgomp.c++/reduction-12.C: New test.
14419         * testsuite/libgomp.c++/target-13.C: New test.
14420         * testsuite/libgomp.c++/target-14.C: New test.
14421         * testsuite/libgomp.c++/target-15.C: New test.
14422         * testsuite/libgomp.c++/target-16.C: New test.
14423         * testsuite/libgomp.c++/target-17.C: New test.
14424         * testsuite/libgomp.c++/target-18.C: New test.
14425         * testsuite/libgomp.c++/target-19.C: New test.
14427 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
14429         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
14430         and reduction copy.
14431         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
14432         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
14433         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
14434         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14435         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
14436         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14437         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
14438         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14439         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14440         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
14441         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
14442         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
14443         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
14444         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
14446 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
14448         * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
14449         * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
14450         * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
14451         * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
14452         * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
14453         * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
14454         * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
14455         * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
14457 2015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
14459         * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
14460         * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
14461         (GOMP_OFFLOAD_openacc_parallel): Likewise.
14462         * oacc-host.c (host_openacc_exec): Likewise.
14463         * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
14465 2015-11-03  Julian Brown  <julian@codesourcery.com>
14466             Thomas Schwinge  <thomas@codesourcery.com>
14468         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
14469         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14470         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
14471         Likewise.
14472         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
14473         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
14475 2015-11-03  James Norris  <jnorris@codesourcery.com>
14477         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
14478         file.
14479         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
14480         Likewise.
14481         * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
14482         * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
14483         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
14484         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
14485         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
14487 2015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
14489         * openacc.h (enum acc_device_t): Reformat. Ensure layout
14490         compatibility.
14491         (enum acc_async_t): Reformat.
14492         (acc_on_device): Declare compatible with builtin and provide C++
14493         wrapper.
14494         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
14496 2015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
14497             Cesar Philippidis  <cesar@codesourcery.com>
14499         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
14500         * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
14501         ... this.  Add a description of the test at the top of the file.
14502         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
14503         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
14504         ... this.  Add a description of the test at the top of the file.
14506 2015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
14508         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14509         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
14510         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
14511         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
14512         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
14513         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
14515 2015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
14517         * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
14518         dimensions.
14520 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
14522         PR testsuite/68063
14523         * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
14525 2015-10-27  James Norris  <jnorris@codesourcery.com>
14527         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
14528         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
14530 2015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
14532         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
14533         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14535         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
14536         acc_device_nvidia usage.
14537         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
14538         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14539         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
14541         * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
14542         * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
14544         PR libgomp/66518
14545         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
14547         PR libgomp/65437
14548         PR libgomp/66518
14549         * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
14550         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
14552 2015-10-23  Tom de Vries  <tom@codesourcery.com>
14554         PR testsuite/68063
14555         * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
14557 2015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
14559         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
14560         vector_length.
14561         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14563 2015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
14564             Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
14566         * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
14567         to 0 when mapnum is 0.
14569 2015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14571         * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
14572         Cast to int from int32_t.
14574 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
14575             Aldy Hernandez  <aldyh@redhat.com>
14576             Ilya Verbin  <ilya.verbin@intel.com>
14578         * config/linux/affinity.c (omp_get_place_num_procs,
14579         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14580         * config/linux/doacross.h: New file.
14581         * config/posix/affinity.c (omp_get_place_num_procs,
14582         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14583         * config/posix/doacross.h: New file.
14584         * env.c: Include gomp-constants.h.
14585         (struct gomp_task_icv): Rename run_sched_modifier to
14586         run_sched_chunk_size.
14587         (gomp_max_task_priority_var): New variable.
14588         (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
14589         (handle_omp_display_env): Change _OPENMP value from 201307 to
14590         201511.  Print OMP_MAX_TASK_PRIORITY.
14591         (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
14592         (omp_set_schedule, omp_get_schedule): Rename modifier argument to
14593         chunk_size and run_sched_modifier to run_sched_chunk_size.
14594         (omp_get_max_task_priority, omp_get_initial_device,
14595         omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
14596         omp_get_partition_place_nums): New functions.
14597         * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
14598         omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
14599         to chunk_size.
14600         (omp_get_num_places_, omp_get_place_num_procs_,
14601         omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
14602         omp_get_place_proc_ids_8_, omp_get_place_num_,
14603         omp_get_partition_num_places_, omp_get_partition_place_nums_,
14604         omp_get_partition_place_nums_8_, omp_get_initial_device_,
14605         omp_get_max_task_priority_): New functions.
14606         * libgomp_g.h (GOMP_loop_doacross_static_start,
14607         GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
14608         GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
14609         GOMP_loop_ull_doacross_dynamic_start,
14610         GOMP_loop_ull_doacross_guided_start,
14611         GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
14612         GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
14613         GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
14614         GOMP_target_data_41, GOMP_target_update_41,
14615         GOMP_target_enter_exit_data): New prototypes.
14616         (GOMP_task): Add prototype argument.
14617         * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
14618         (struct gomp_doacross_work_share): New type.
14619         (struct gomp_work_share): Add doacross field.
14620         (struct gomp_task_icv): Rename run_sched_modifier to
14621         run_sched_chunk_size.
14622         (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
14623         GOMP_TASK_UNDEFERRED.  Add comments.
14624         (struct gomp_task_depend_entry): Add comments.
14625         (struct gomp_task): Likewise.
14626         (struct gomp_taskgroup): Likewise.
14627         (struct gomp_target_task): New type.
14628         (struct gomp_team): Add comment.
14629         (gomp_get_place_proc_ids_8, gomp_doacross_init,
14630         gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
14631         gomp_create_target_task, gomp_target_task_fn): New prototypes.
14632         (struct target_var_desc): New type.
14633         (struct target_mem_desc): Adjust comment.  Use struct
14634         target_var_desc instead of splay_tree_key for list.
14635         (REFCOUNT_INFINITY): Define.
14636         (struct splay_tree_key_s): Remove copy_from field.
14637         (struct gomp_device_descr): Add dev2dev_func field.
14638         (enum gomp_map_vars_kind): New enum.
14639         (gomp_map_vars): Add one argument.
14640         * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
14641         omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
14642         omp_get_place_num_procs, omp_get_place_num_procs_,
14643         omp_get_place_num_procs_8_, omp_get_place_proc_ids,
14644         omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
14645         omp_get_place_num_, omp_get_partition_num_places,
14646         omp_get_partition_num_places_, omp_get_partition_place_nums,
14647         omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
14648         omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
14649         omp_target_free, omp_target_is_present, omp_target_memcpy,
14650         omp_target_memcpy_rect, omp_target_associate_ptr and
14651         omp_target_disassociate_ptr.
14652         (GOMP_4.0.2): Renamed to ...
14653         (GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
14654         GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
14655         GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
14656         GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14657         GOMP_loop_doacross_static_start, GOMP_doacross_post,
14658         GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
14659         GOMP_loop_ull_doacross_guided_start,
14660         GOMP_loop_ull_doacross_runtime_start,
14661         GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
14662         GOMP_doacross_ull_wait.
14663         * libgomp.texi: Document omp_get_max_task_priority.
14664         Rename modifier argument to chunk_size for omp_set_schedule and
14665         omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
14666         * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
14667         to run_sched_chunk_size renaming.
14668         (GOMP_loop_ordered_runtime_start): Likewise.
14669         (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
14670         gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14671         GOMP_parallel_loop_runtime_start): New functions.
14672         (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
14673         to run_sched_chunk_size renaming.
14674         (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
14675         GOMP_loop_doacross_guided_start): New functions or aliases.
14676         * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
14677         run_sched_modifier to run_sched_chunk_size renaming.
14678         (GOMP_loop_ull_ordered_runtime_start): Likewise.
14679         (gomp_loop_ull_doacross_static_start,
14680         gomp_loop_ull_doacross_dynamic_start,
14681         gomp_loop_ull_doacross_guided_start,
14682         GOMP_loop_ull_doacross_runtime_start): New functions.
14683         (GOMP_loop_ull_doacross_static_start,
14684         GOMP_loop_ull_doacross_dynamic_start,
14685         GOMP_loop_ull_doacross_guided_start): New functions or aliases.
14686         * oacc-mem.c (acc_map_data, present_create_copy,
14687         gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
14688         to gomp_map_vars.
14689         (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
14690         * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
14691         instead of false to gomp_map_vars.
14692         (GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
14693         * omp.h.in (omp_lock_hint_t): New type.
14694         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14695         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14696         omp_get_place_num, omp_get_partition_num_places,
14697         omp_get_partition_place_nums, omp_get_initial_device,
14698         omp_get_max_task_priority, omp_target_alloc, omp_target_free,
14699         omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
14700         omp_target_associate_ptr, omp_target_disassociate_ptr): New
14701         prototypes.
14702         * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
14703         (omp_lock_hint_none, omp_lock_hint_uncontended,
14704         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14705         omp_lock_hint_speculative): New parameters.
14706         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14707         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14708         omp_get_place_num, omp_get_partition_num_places,
14709         omp_get_partition_place_nums, omp_get_initial_device,
14710         omp_get_max_task_priority): New interfaces.
14711         (omp_set_schedule, omp_get_schedule): Rename modifier argument
14712         to chunk_size.
14713         * omp_lib.h.in (omp_lock_hint_kind): New parameter.
14714         (omp_lock_hint_none, omp_lock_hint_uncontended,
14715         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14716         omp_lock_hint_speculative): New parameters.
14717         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14718         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14719         omp_get_place_num, omp_get_partition_num_places,
14720         omp_get_partition_place_nums, omp_get_initial_device,
14721         omp_get_max_task_priority): New functions and subroutines.
14722         * ordered.c: Include stdarg.h and string.h.
14723         (MAX_COLLAPSED_BITS): Define.
14724         (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
14725         gomp_doacross_ull_init, GOMP_doacross_ull_post,
14726         GOMP_doacross_ull_wait): New functions.
14727         * target.c: Include errno.h.
14728         (resolve_device): If device is not initialized, call
14729         gomp_init_device on it.
14730         (gomp_map_lookup): New function.
14731         (gomp_map_vars_existing): Add tgt_var argument, fill it in.
14732         Don't bump refcount if REFCOUNT_INFINITY.  Handle
14733         GOMP_MAP_ALWAYS_TO_P.
14734         (get_kind): Rename is_openacc argument to short_mapkind.
14735         (gomp_map_pointer): Use gomp_map_lookup.
14736         (gomp_map_fields_existing): New function.
14737         (gomp_map_vars): Rename is_openacc argument to short_mapkind
14738         and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
14739         handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
14740         GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
14741         Adjust for tgt->list changed type and copy_from living in there.
14742         (gomp_copy_from_async): Adjust for tgt->list changed type and
14743         copy_from living in there.
14744         (gomp_unmap_vars): Likewise.
14745         (gomp_update): Likewise.  Rename is_openacc argument to
14746         short_mapkind.  Don't fail if object is not mapped.
14747         (gomp_load_image_to_device): Initialize refcount to
14748         REFCOUNT_INFINITY.
14749         (gomp_target_fallback): New function.
14750         (gomp_get_target_fn_addr): Likewise.
14751         (GOMP_target): Adjust gomp_map_vars caller, use
14752         gomp_get_target_fn_addr and gomp_target_fallback.
14753         (GOMP_target_41): New function.
14754         (gomp_target_data_fallback): New function.
14755         (GOMP_target_data): Use it, adjust gomp_map_vars caller.
14756         (GOMP_target_data_41): New function.
14757         (GOMP_target_update): Adjust gomp_update caller.
14758         (GOMP_target_update_41): New function.
14759         (gomp_exit_data, GOMP_target_enter_exit_data,
14760         gomp_target_task_fn, omp_target_alloc, omp_target_free,
14761         omp_target_is_present, omp_target_memcpy,
14762         omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
14763         omp_target_associate_ptr, omp_target_disassociate_ptr,
14764         gomp_load_plugin_for_device): New functions.
14765         * task.c: Include gomp-constants.h.  Include taskloop.c
14766         twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
14767         (gomp_task_handle_depend): New function.
14768         (GOMP_task): Use it.  Add priority argument.  Use
14769         gomp-constant.h constants instead of hardcoded numbers.
14770         Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
14771         (gomp_create_target_task): New function.
14772         (verify_children_queue, verify_taskgroup_queue,
14773         verify_task_queue): New functions.
14774         (gomp_task_run_pre): Call verify_*_queue functions.
14775         If an upcoming tied task is about to leave the sibling or
14776         taskgroup queues in an invalid state, adjust appropriately.
14777         Remove taskgroup argument.  Add comments.
14778         (gomp_task_run_post_handle_dependers): Add comments.
14779         (gomp_task_run_post_remove_parent): Likewise.
14780         (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
14781         (GOMP_taskwait): Likewise.  Add comments.
14782         (gomp_task_maybe_wait_for_dependencies): Fix scheduling
14783         problem such that the first non parent_depends_on task does not
14784         end up at the end of the children queue.
14785         (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
14786         GOMP_TASK_UNDEFERRED.
14787         (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
14788         * taskloop.c: New file.
14789         * testsuite/lib/libgomp.exp
14790         (check_effective_target_offload_device_nonshared_as): New proc.
14791         * testsuite/libgomp.c/affinity-2.c: New test.
14792         * testsuite/libgomp.c/doacross-1.c: New test.
14793         * testsuite/libgomp.c/doacross-2.c: New test.
14794         * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
14795         Add map clause to target.
14796         * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
14797         * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
14798         * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
14799         * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
14800         * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
14801         Likewise.
14802         * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
14803         * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
14804         * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
14805         * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
14806         not defined.  Use those where needed.
14807         * testsuite/libgomp.c/for-4.c: New test.
14808         * testsuite/libgomp.c/for-5.c: New test.
14809         * testsuite/libgomp.c/for-6.c: New test.
14810         * testsuite/libgomp.c/linear-1.c: New test.
14811         * testsuite/libgomp.c/ordered-4.c: New test.
14812         * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
14813         only allowed on the loop iterator.
14814         * testsuite/libgomp.c/pr66199-3.c: New test.
14815         * testsuite/libgomp.c/pr66199-4.c: New test.
14816         * testsuite/libgomp.c/reduction-7.c: New test.
14817         * testsuite/libgomp.c/reduction-8.c: New test.
14818         * testsuite/libgomp.c/reduction-9.c: New test.
14819         * testsuite/libgomp.c/reduction-10.c: New test.
14820         * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
14821         map(tofrom:s).
14822         * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
14823         * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
14824         * testsuite/libgomp.c/target-11.c: New test.
14825         * testsuite/libgomp.c/target-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.
14833         * testsuite/libgomp.c/target-20.c: New test.
14834         * testsuite/libgomp.c/target-21.c: New test.
14835         * testsuite/libgomp.c/target-22.c: New test.
14836         * testsuite/libgomp.c/target-23.c: New test.
14837         * testsuite/libgomp.c/target-24.c: New test.
14838         * testsuite/libgomp.c/target-25.c: New test.
14839         * testsuite/libgomp.c/target-26.c: New test.
14840         * testsuite/libgomp.c/target-27.c: New test.
14841         * testsuite/libgomp.c/taskloop-1.c: New test.
14842         * testsuite/libgomp.c/taskloop-2.c: New test.
14843         * testsuite/libgomp.c/taskloop-3.c: New test.
14844         * testsuite/libgomp.c/taskloop-4.c: New test.
14845         * testsuite/libgomp.c++/ctor-13.C: New test.
14846         * testsuite/libgomp.c++/doacross-1.C: New test.
14847         * testsuite/libgomp.c++/examples-4/declare_target-2.C:
14848         Replace offload_device with offload_device_nonshared_as.
14849         * testsuite/libgomp.c++/for-12.C: New test.
14850         * testsuite/libgomp.c++/for-13.C: New test.
14851         * testsuite/libgomp.c++/for-14.C: New test.
14852         * testsuite/libgomp.c++/linear-1.C: New test.
14853         * testsuite/libgomp.c++/member-1.C: New test.
14854         * testsuite/libgomp.c++/member-2.C: New test.
14855         * testsuite/libgomp.c++/member-3.C: New test.
14856         * testsuite/libgomp.c++/member-4.C: New test.
14857         * testsuite/libgomp.c++/member-5.C: New test.
14858         * testsuite/libgomp.c++/ordered-1.C: New test.
14859         * testsuite/libgomp.c++/reduction-5.C: New test.
14860         * testsuite/libgomp.c++/reduction-6.C: New test.
14861         * testsuite/libgomp.c++/reduction-7.C: New test.
14862         * testsuite/libgomp.c++/reduction-8.C: New test.
14863         * testsuite/libgomp.c++/reduction-9.C: New test.
14864         * testsuite/libgomp.c++/reduction-10.C: New test.
14865         * testsuite/libgomp.c++/reference-1.C: New test.
14866         * testsuite/libgomp.c++/simd14.C: New test.
14867         * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
14868         * testsuite/libgomp.c++/target-5.C: New test.
14869         * testsuite/libgomp.c++/target-6.C: New test.
14870         * testsuite/libgomp.c++/target-7.C: New test.
14871         * testsuite/libgomp.c++/target-8.C: New test.
14872         * testsuite/libgomp.c++/target-9.C: New test.
14873         * testsuite/libgomp.c++/target-10.C: New test.
14874         * testsuite/libgomp.c++/target-11.C: New test.
14875         * testsuite/libgomp.c++/target-12.C: New test.
14876         * testsuite/libgomp.c++/taskloop-1.C: New test.
14877         * testsuite/libgomp.c++/taskloop-2.C: New test.
14878         * testsuite/libgomp.c++/taskloop-3.C: New test.
14879         * testsuite/libgomp.c++/taskloop-4.C: New test.
14880         * testsuite/libgomp.c++/taskloop-5.C: New test.
14881         * testsuite/libgomp.c++/taskloop-6.C: New test.
14882         * testsuite/libgomp.c++/taskloop-7.C: New test.
14883         * testsuite/libgomp.c++/taskloop-8.C: New test.
14884         * testsuite/libgomp.c++/taskloop-9.C: New test.
14885         * testsuite/libgomp.fortran/affinity1.f90: New test.
14886         * testsuite/libgomp.fortran/affinity2.f90: New test.
14888 2015-10-13  Tom de Vries  <tom@codesourcery.com>
14890         PR tree-optimization/67476
14891         * testsuite/libgomp.c/autopar-3.c: New test.
14892         * testsuite/libgomp.c/autopar-4.c: New test.
14893         * testsuite/libgomp.c/autopar-5.c: New test.
14894         * testsuite/libgomp.c/autopar-6.c: New test.
14895         * testsuite/libgomp.c/autopar-7.c: New test.
14896         * testsuite/libgomp.c/autopar-8.c: New test.
14898 2015-10-12  James Norris  <jnorris@codesourcery.com>
14900         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
14901         initializer.
14903 2015-10-09  David Malcolm  <dmalcolm@redhat.com>
14905         * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
14906         using load_gcc_lib.
14908 2015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
14910         * oacc-ptx.h: Remove file, moving its content into...
14911         * config/nvptx/fortran.c: ... here...
14912         * config/nvptx/oacc-init.c: ..., here...
14913         * config/nvptx/oacc-parallel.c: ..., and here.
14914         * config/nvptx/openacc.f90: New file.
14915         * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
14916         (link_ptx): Don't link in predefined bits of PTX code.
14918 2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
14919             Bernd Schmidt <bernds@codesourcery.com>
14921         * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
14922         (struct targ_ptx_obj): New.
14923         (nvptx_tdata): Move earlier, change data format.
14924         (link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
14925         objects.
14926         (GOMP_OFFLOAD_load_image): Adjust.
14928 2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
14930         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
14931         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14932         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
14933         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
14934         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14935         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
14936         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
14937         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
14938         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
14939         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
14940         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14941         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14942         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14943         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14944         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14945         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14946         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14947         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14948         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14949         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14950         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14951         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14952         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14953         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14954         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14955         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14956         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14957         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14958         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14959         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14960         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14961         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14962         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14963         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14964         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14965         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14966         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14967         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14968         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14969         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14970         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14971         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14972         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14973         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14974         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14975         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14976         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14977         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14978         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14979         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14980         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14981         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14982         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14983         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14984         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
14985         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14986         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14987         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
14988         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
14989         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
14990         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
14991         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
14992         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14994 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
14996         * oacc-init.c (acc_on_device): Force optimization level.
14998 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
15000         * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
15001         (cuda_errlist): Delete.
15002         (cuda_error): Reimplement.
15004 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
15006         * libgomp.h (acc_dispatch_t): Replace separate geometry args with
15007         array.
15008         * libgomp.map (GOACC_parallel_keyed): New.
15009         * oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
15010         all callers.
15011         (GOACC_parallel_keyed): New interface.  Lose geometry arguments
15012         and take keyed varargs list.  Adjust call to exec_func.
15013         (GOACC_parallel): Force host fallback.
15014         * libgomp_g.h (GOACC_parallel): Remove.
15015         (GOACC_parallel_keyed): Declare.
15016         * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
15017         (struct targ_gn_descriptor): Replace name field with launch field.
15018         (nvptx_exec): Lose separate geometry args, take array.  Process
15019         dynamic dimensions and adjust.
15020         (struct nvptx_tdata): Replace fn_names field with fn_descs.
15021         (GOMP_OFFLOAD_load_image): Adjust for change in function table
15022         data.
15023         (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
15024         passing.
15025         * oacc-host.c (host_openacc_exec): Adjust for change in dimension
15026         passing.
15028 2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
15030         PR libgomp/67141
15031         * oacc-int.h (goacc_host_init): Add declaration.
15032         * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
15033         * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
15035 2015-09-08  Aditya Kumar  <hiraditya@msn.com>
15036             Sebastian Pop  <s.pop@samsung.com>
15038         * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
15039         match o/p.
15040         * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
15041         * testsuite/libgomp.graphite/force-parallel-4.c: Same.
15042         * testsuite/libgomp.graphite/force-parallel-5.c: Same.
15043         * testsuite/libgomp.graphite/force-parallel-7.c: Same.
15044         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
15046 2015-09-03  Jakub Jelinek  <jakub@redhat.com>
15048         * configure.tgt: Add missing ;; in between nvptx and rtems
15049         snippets.
15051 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15053         * config/posix/pool.h (gomp_adjust_thread_attr): New.
15054         * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
15055         (gomp_thread_pool_reservoir): Add priority member.
15056         * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
15057         priority.
15058         (parse_thread_pools): Likewise.
15059         * team.c (gomp_team_start): Call configuration provided
15060         gomp_adjust_thread_attr(). Destroy thread attributes if
15061         necessary.
15062         * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
15064 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15066         * config/posix/pool.h: New.
15067         * config/rtems/pool.h: Likewise.
15068         * config/rtems/proc.c: Likewise.
15069         * libgomp.h (gomp_thread_destructor): Declare.
15070         * team.c: Include configuration provided "pool.h".
15071         (gomp_get_thread_pool): Define in configuration.
15072         (gomp_team_end): Call configuration defined
15073         gomp_release_thread_pool().
15075 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15077         * config/rtems/bar.c: New.
15078         * config/rtems/bar.h: Likewise.
15079         * config/rtems/mutex.c: Likewise.
15080         * config/rtems/mutex.h: Likewise.
15081         * config/rtems/sem.c: Likewise.
15082         * config/rtems/sem.h: Likewise.
15083         * configure.ac (*-*-rtems*): Check that Newlib provides a proper
15084         <sys/lock.h> header file.
15085         * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
15086         supported by Newlib.
15087         * configure: Regenerate.
15089 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15091         * team.c (gomp_new_thread_pool): Delete and move content to ...
15092         (gomp_get_thread_pool): ... new function.  Allocate and
15093         initialize thread pool on demand.
15094         (get_last_team): Use gomp_get_thread_pool().
15095         (gomp_team_start): Delete thread pool initialization.
15097 2015-09-03  Tom de Vries  <tom@codesourcery.com>
15099         PR tree-optimization/65637
15100         * testsuite/libgomp.c/autopar-2.c: New test.
15102 2015-08-29  Tom de Vries  <tom@codesourcery.com>
15104         PR tree-optimization/46193
15105         * testsuite/libgomp.c/pr46193.c: New test.
15107 2015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
15109         libgomp/
15110         * libgomp.map: Add 4.0.2 version.
15111         * target.c (offload_image_descr): Add version field.
15112         (gomp_load_image_to_device): Add version argument.  Adjust plugin
15113         call.  Improve load mismatch diagnostic.
15114         (gomp_unload_image_from_device): Add version argument.  Adjust plugin
15115         call.
15116         (GOMP_offload_regster): Make stub function, move bulk to ...
15117         (GOMP_offload_register_ver): ... here.  Process version argument.
15118         (GOMP_offload_unregister): Make stub function, move bulk to ...
15119         (GOMP_offload_unregister_ver): ... here.  Process version argument.
15120         (gomp_init_device): Process version field.
15121         (gomp_unload_device): Process version field.
15122         (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
15123         macros.  Check plugin version.
15124         * libgomp.h (gomp_device_descr): Add version function field.  Adjust
15125         loader and unloader types.
15126         * oacc-host.c: Include gomp-constants.h.
15127         (host_version): New.
15128         (host_load_image, host_unload_image): Adjust.
15129         (host_dispatch): Add host_version.
15130         * plugin/plugin-nvptx.c: Include gomp-constants.h.
15131         (GOMP_OFFLOAD_version): New.
15132         (GOMP_OFFLOAD_load_image): Add version arg and check it.
15133         (GOMP_OFFLOAD_unload_image): Likewise.
15134         * plugin/plugin-host.c: Include gomp-constants.h.
15135         (GOMP_OFFLOAD_version): New.
15136         (GOMP_OFFLOAD_load_image): Add version arg.
15137         (GOMP_OFFLOAD_unload_image): Likewise.
15139 2015-08-24  Tom de Vries  <tom@codesourcery.com>
15141         PR tree-optimization/65468
15142         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
15144 2015-08-24  Tom de Vries  <tom@codesourcery.com>
15146         PR tree-optimization/65468
15147         * testsuite/libgomp.c/static-chunk-size-one.c: New test.
15149 2015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
15151         PR libgomp/66761
15152         PR libgomp/67303
15153         * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
15154         (gomp_iter_guided_next): Idem.
15155         * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
15156         (gomp_iter_ull_guided_next): Idem.
15157         * config/linux/wait.h (do_spin): Idem.
15159 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
15161         * libgomp-plugin.h (enum offload_target_type): Remove
15162         OFFLOAD_TARGET_TYPE_HOST_NONSHM.
15163         * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
15164         * openacc.h (enum acc_device_t): Likewise.
15165         * openacc_lib.h: Likewise.
15166         * oacc-init.c (name_of_acc_device_t): Don't handle it.
15167         (acc_on_device): Just use __builtin_acc_on_device.
15168         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
15169         of acc_on_device builtin.
15170         * plugin/plugin-host.h: Remove file.
15171         * plugin/plugin-host.c: Likewise, but salvage some content into...
15172         * oacc-host.c: ... this file.
15173         * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
15174         * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
15175         * Makefile.in: Regenerate.
15176         * configure: Likewise.
15177         * testsuite/lib/libgomp.exp
15178         (check_effective_target_openacc_host_nonshm_selected): Remove.
15179         * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
15180         ACC_DEVICE_TYPE=host_nonshm.
15181         * testsuite/libgomp.oacc-c/c.exp: Likewise.
15182         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15183         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15184         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15185         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15186         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15188 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
15189             Jakub Jelinek  <jakub@redhat.com>
15191         * config/nvptx/affinity.c: New file.
15192         * config/nvptx/alloc.c: Likewise.
15193         * config/nvptx/bar.c: Likewise.
15194         * config/nvptx/barrier.c: Likewise.
15195         * config/nvptx/critical.c: Likewise.
15196         * config/nvptx/env.c: Likewise.
15197         * config/nvptx/error.c: Likewise.
15198         * config/nvptx/fortran.c: Likewise.
15199         * config/nvptx/iter.c: Likewise.
15200         * config/nvptx/iter_ull.c: Likewise.
15201         * config/nvptx/libgomp-plugin.c: Likewise.
15202         * config/nvptx/lock.c: Likewise.
15203         * config/nvptx/loop.c: Likewise.
15204         * config/nvptx/loop_ull.c: Likewise.
15205         * config/nvptx/mutex.c: Likewise.
15206         * config/nvptx/oacc-async.c: Likewise.
15207         * config/nvptx/oacc-cuda.c: Likewise.
15208         * config/nvptx/oacc-host.c: Likewise.
15209         * config/nvptx/oacc-init.c: Likewise.
15210         * config/nvptx/oacc-mem.c: Likewise.
15211         * config/nvptx/oacc-parallel.c: Likewise.
15212         * config/nvptx/oacc-plugin.c: Likewise.
15213         * config/nvptx/omp-lock.h: Likewise.
15214         * config/nvptx/ordered.c: Likewise.
15215         * config/nvptx/parallel.c: Likewise.
15216         * config/nvptx/proc.c: Likewise.
15217         * config/nvptx/ptrlock.c: Likewise.
15218         * config/nvptx/sections.c: Likewise.
15219         * config/nvptx/sem.c: Likewise.
15220         * config/nvptx/single.c: Likewise.
15221         * config/nvptx/splay-tree.c: Likewise.
15222         * config/nvptx/target.c: Likewise.
15223         * config/nvptx/task.c: Likewise.
15224         * config/nvptx/team.c: Likewise.
15225         * config/nvptx/time.c: Likewise.
15226         * config/nvptx/work.c: Likewise.
15227         * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
15228         * configure: Regenerate.
15229         * configure.tgt (config_path): Set to "nvptx" for target
15230         nvptx*-*-*.
15232 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
15234         * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
15236 2015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
15238         * plugin/plugin-nvptx.c: Don't include dlfcn.h.
15239         (cuda_errlist): Constify.
15240         (errmsg):  Move into ...
15241         (cuda_error): ... here.  Make smaller.
15242         (_XSTR, _STR): Delete.
15243         (cuda_synames): Delete.
15244         (verify_device_library): Delete.
15245         (nvptx_init): Don't call it.
15247 2015-07-28  Tom de Vries  <tom@codesourcery.com>
15249         * testsuite/libgomp.c/uns-outer-4.c: New test.
15251 2015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
15253         * testsuite/libgomp.c/pr66714.c: New test.
15255 2015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
15257         PR libgomp/66950
15258         * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
15259         (fib_ref): New function.
15260         (fib): Correct corner cases in the recursion.
15261         (main): Replace the non-simd loop with fib_ref call.
15262         * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
15263         subroutine.
15264         (fibonacci): Lower the parameter N to 30.  Correct accordingly check
15265         for the last array element value.  Replace the non-simd loop with
15266         fib_ref call.  Remove redundant b_ref array.  Remove the comparison
15267         of the last array element with according Fibonacci sequence element.
15268         (fib): Correct corner cases in the recursion.
15270 2015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
15272         * target.c (gomp_offload_image_to_device): Rename to ...
15273         (gomp_load_image_to_device): ... here.
15274         (GOMP_offload_register): Adjust call.
15275         (gomp_init_device): Likewise.
15276         (gomp_unload_image_from_device): New.  Broken out of ...
15277         (GOMP_offload_unregister): ... here.  Call it.
15278         (gomp_unload_device): New.
15279         * libgomp.h (gomp_unload_device): Declare.
15280         * oacc-init.c (acc_shutdown_1): Unload from device before deleting
15281         mem maps.
15283 2015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
15285         * oacc-parallel.c (GOACC_parallel): Move variadic handling into
15286         wait=-specific if.
15287         (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
15288         !=0 condition.
15289         (goacc_waits): Move !num_waits handling to ...
15290         (GOACC_wait): ... here, the only caller that might have zero waits.
15292         * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
15293         (struct ptx_image_data): Move earlier, add fns field.
15294         (struct ptx_device): Add images and image_lock fields.
15295         (ptx_images, ptx_image_lock): Delete.
15296         (nvptx_open_device): Initialize images and image_lock fields.
15297         (nvptx_close_device): Destroy image_lock.
15298         (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
15299         (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
15300         fields.
15302 2015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
15304         * target.c (GOMP_offload_register): Use int for device type arg.
15305         (GOMP_offload_unregister): Likewise.
15307         * target.c (struct_offload_image_descr): Constify host_table.
15308         (gomp_offload_image_to_device): Likewise.
15309         (GOMP_offload_register, GOMP_offload_unregister): Likewise.
15311         * libgomp.h (gomp_device_descr): Constify target data arguments.
15312         * target.c (struct offload_image_descr): Constify target_data.
15313         (gomp_offload_image_to_device): Likewise.
15314         (GOMP_offload_register): Likewise.
15315         (GOMP_offload_unregister): Likewise.
15316         * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
15317         GOMP_OFFLOAD_unload_image): Constify target data.
15318         * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
15319         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
15321 2015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
15323         * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
15324         Workaround driver library const error.
15325         (struct nvptx_tdata, nvptx_tdata_t): New.
15326         (GOMP_OFFLOAD_load_image): Use struct for target_data's real
15327         type.
15329 2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
15331         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
15332         of EPS parameter from integer to real.
15333         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
15334         type of EPS parameter from integer to real.
15336 2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15338         * team.c (get_last_team): New.
15339         (gomp_new_team): Recycle last non-nested team if possible.
15340         (gomp_team_end): Move team work share list free lock destruction
15341         to ...
15342         (free_team): ... here.
15344 2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
15346         * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
15347         and ref from int to double.  Replaced their comparison with
15348         an inequality of their difference and EPS.
15349         * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
15350         comparison of pri and a reference number with an inequality of their
15351         difference and EPS.
15352         * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
15353         the comparison of sum and sum_ref with an inequality of their
15354         difference and EPS.
15355         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
15356         the comparison of pri and a reference number with an inequality of
15357         their difference and EPS.
15359 2015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
15361         * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
15362         * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
15363         * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
15364         * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
15365         * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
15366         * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
15367         * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
15368         * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
15369         * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
15370         * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
15371         * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
15372         * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
15373         (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
15374         variables.
15375         (vec_mult): Likewise.  Add #pragma omp taskwait.
15376         (main): Adjust caller.
15377         * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
15378         * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
15379         * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
15380         * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
15381         * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
15382         * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
15383         * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
15384         * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
15385         * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
15386         * testsuite/libgomp.c/examples-4/device-1.c: ...this.
15387         * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
15388         * testsuite/libgomp.c/examples-4/device-2.c: ...this.
15389         * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
15390         * testsuite/libgomp.c/examples-4/device-3.c: ...this.
15391         * testsuite/libgomp.c/examples-4/simd-1.c: New file.
15392         * testsuite/libgomp.c/examples-4/simd-2.c: New file.
15393         * testsuite/libgomp.c/examples-4/simd-3.c: New file.
15394         * testsuite/libgomp.c/examples-4/simd-4.c: New file.
15395         * testsuite/libgomp.c/examples-4/simd-5.c: New file.
15396         * testsuite/libgomp.c/examples-4/simd-6.c: New file.
15397         * testsuite/libgomp.c/examples-4/simd-7.c: New file.
15398         * testsuite/libgomp.c/examples-4/simd-8.c: New file.
15399         * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
15400         * testsuite/libgomp.c/examples-4/target-1.c: ...this.
15401         * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
15402         * testsuite/libgomp.c/examples-4/target-2.c: ...this.
15403         * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
15404         * testsuite/libgomp.c/examples-4/target-3.c: ...this.
15405         * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
15406         * testsuite/libgomp.c/examples-4/target-4.c: ...this.
15407         * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
15408         * testsuite/libgomp.c/examples-4/target-5.c: ...this.
15409         * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
15410         * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
15411         * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
15412         * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
15413         * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
15414         * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
15415         * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
15416         * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
15417         * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
15418         * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
15419         * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
15420         * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
15421         * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
15422         * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
15423         * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
15424         * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
15425         * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
15426         * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
15427         * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
15428         * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
15429         * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
15430         * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
15431         * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
15432         * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
15433         * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
15434         * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
15435         * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
15436         * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
15437         * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
15438         * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
15439         * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
15440         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
15441         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
15442         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
15443         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
15444         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
15445         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
15446         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
15447         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
15448         (vec_mult): Add !$omp taskwait.
15449         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
15450         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
15451         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
15452         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
15453         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
15454         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
15455         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
15456         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
15457         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
15458         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
15459         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
15460         * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
15461         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
15462         * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
15463         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
15464         * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
15465         * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
15466         * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
15467         * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
15468         * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
15469         * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
15470         * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
15471         * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
15472         * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
15473         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
15474         * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
15475         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
15476         * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
15477         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
15478         * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
15479         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
15480         * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
15481         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
15482         * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
15483         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
15484         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
15485         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
15486         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
15487         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
15488         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
15489         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
15490         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
15491         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
15492         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
15493         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
15494         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
15495         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
15496         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
15497         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
15498         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
15499         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
15500         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
15501         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
15502         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
15503         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
15504         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
15505         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
15506         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
15507         * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
15508         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
15509         * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
15510         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
15511         * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
15512         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
15513         * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
15514         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
15515         * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
15517 2015-07-10  Tom de Vries  <tom@codesourcery.com>
15519         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
15520         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
15522 2015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
15524         PR libgomp/65099
15525         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
15526         in a 64-bit configuration.
15527         * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
15528         offloading testing if no such device is available.
15529         * testsuite/libgomp.oacc-c/c.exp: Likewise.
15530         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15532 2015-07-08  Tom de Vries  <tom@codesourcery.com>
15534         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
15535         second call to f.
15536         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15538 2015-07-07  Tom de Vries  <tom@codesourcery.com>
15540         PR tree-optimization/66642
15541         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
15542         iteration count case.
15543         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
15544         function, factor out of ...
15545         (main): ... here.  Test low iteration count case.
15547 2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15549         * libgomp.h (gomp_thread_pool): Comment last_team field.
15551 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
15553         * testsuite/libgomp.c++/pr66702-1.C: Require
15554         vect_simd_clones effective target.
15555         * testsuite/libgomp.c++/pr66702-2.C: Ditto.
15557 2015-06-30  Tom de Vries  <tom@codesourcery.com>
15559         * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15560         already set.  Use DEFAULT_CFLAGS in dg-runtest.
15561         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
15562         "-O2".
15564 2015-06-30  Tom de Vries  <tom@codesourcery.com>
15566         * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15567         already set.  Use DEFAULT_CFLAGS in dg-runtest.
15568         * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
15569         * testsuite/libgomp.c++/pr64824.C: Same.
15570         * testsuite/libgomp.c++/pr64868.C: Same.
15571         * testsuite/libgomp.c++/pr66199-1.C: Same.
15572         * testsuite/libgomp.c++/pr66199-2.C: Same.
15573         * testsuite/libgomp.c++/target-2.C: Same.
15574         * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
15575         -std=<standard> option.
15576         * testsuite/libgomp.c++/udr-11.C: Same.
15577         * testsuite/libgomp.c++/udr-12.C: Same.
15578         * testsuite/libgomp.c++/udr-13.C: Same.
15579         * testsuite/libgomp.c++/udr-14.C: Same.
15580         * testsuite/libgomp.c++/udr-15.C: Same.
15581         * testsuite/libgomp.c++/udr-16.C: Same.
15582         * testsuite/libgomp.c++/udr-17.C: Same.
15583         * testsuite/libgomp.c++/udr-18.C: Same.
15584         * testsuite/libgomp.c++/udr-19.C: Same.
15585         * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
15586         * testsuite/libgomp.c++/simd-1.C: Same.
15587         * testsuite/libgomp.c++/simd-2.C: Same.
15588         * testsuite/libgomp.c++/simd-3.C: Same.
15589         * testsuite/libgomp.c++/simd-4.C: Same.
15590         * testsuite/libgomp.c++/simd-5.C: Same.
15591         * testsuite/libgomp.c++/simd-6.C: Same.
15592         * testsuite/libgomp.c++/simd-7.C: Same.
15593         * testsuite/libgomp.c++/simd-8.C: Same.
15594         * testsuite/libgomp.c++/simd-9.C: Same.
15595         * testsuite/libgomp.c++/simd10.C: Same.
15596         * testsuite/libgomp.c++/simd11.C: Same.
15597         * testsuite/libgomp.c++/simd12.C: Same.
15598         * testsuite/libgomp.c++/simd13.C: Same.
15600 2015-06-30  Jakub Jelinek  <jakub@redhat.com>
15602         PR middle-end/66702
15603         * testsuite/libgomp.c++/pr66702-1.C: New test.
15604         * testsuite/libgomp.c++/pr66702-2.C: New test.
15606 2015-06-30  Tom de Vries  <tom@codesourcery.com>
15608         * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
15609         * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
15610         * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
15611         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
15613 2015-06-30  Tom de Vries  <tom@codesourcery.com>
15615         PR tree-optimization/66652
15616         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
15617         using restrict pointers.
15618         (main): Add arguments to calls to f.
15619         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15621 2015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
15623         * configure.ac: Fix check for header <sys/sysctl.h>.
15624         * configure: Regenerate.
15625         * config.h.in: Likewise.
15627 2015-06-23  Tom de Vries  <tom@codesourcery.com>
15629         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
15630         abort.
15631         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
15633 2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
15635         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
15636         acc_device_nvidia.
15638         PR libgomp/66518
15639         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
15640         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15642 2015-06-15  Tom de Vries  <tom@codesourcery.com>
15644         * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
15645         dg-additional-options for any remaining options.
15646         * testsuite/libgomp.c/atomic-2.c: Same.
15647         * testsuite/libgomp.c/atomic-4.c: Same.
15648         * testsuite/libgomp.c/atomic-5.c: Same.
15649         * testsuite/libgomp.c/atomic-6.c: Same.
15650         * testsuite/libgomp.c/autopar-1.c: Same.
15651         * testsuite/libgomp.c/copyin-1.c: Same.
15652         * testsuite/libgomp.c/copyin-2.c: Same.
15653         * testsuite/libgomp.c/copyin-3.c: Same.
15654         * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
15655         * testsuite/libgomp.c/nestedfn-5.c: Same.
15656         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
15657         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
15658         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
15659         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15660         * testsuite/libgomp.c/pr32362-1.c: Same.
15661         * testsuite/libgomp.c/pr32362-2.c: Same.
15662         * testsuite/libgomp.c/pr32362-3.c: Same.
15663         * testsuite/libgomp.c/pr39591-1.c: Same.
15664         * testsuite/libgomp.c/pr39591-2.c: Same.
15665         * testsuite/libgomp.c/pr39591-3.c: Same.
15666         * testsuite/libgomp.c/pr58392.c: Same.
15667         * testsuite/libgomp.c/pr58756.c: Same.
15668         * testsuite/libgomp.c/simd-1.c: Same.
15669         * testsuite/libgomp.c/simd-10.c: Same.
15670         * testsuite/libgomp.c/simd-11.c: Same.
15671         * testsuite/libgomp.c/simd-12.c: Same.
15672         * testsuite/libgomp.c/simd-13.c: Same.
15673         * testsuite/libgomp.c/simd-14.c: Same.
15674         * testsuite/libgomp.c/simd-15.c: Same.
15675         * testsuite/libgomp.c/simd-2.c: Same.
15676         * testsuite/libgomp.c/simd-3.c: Same.
15677         * testsuite/libgomp.c/simd-4.c: Same.
15678         * testsuite/libgomp.c/simd-5.c: Same.
15679         * testsuite/libgomp.c/simd-6.c: Same.
15680         * testsuite/libgomp.c/simd-7.c: Same.
15681         * testsuite/libgomp.c/simd-8.c: Same.
15682         * testsuite/libgomp.c/simd-9.c: Same.
15684 2015-06-15  Tom de Vries  <tom@codesourcery.com>
15686         * testsuite/libgomp.c/pr35625.c: Fix typo.
15688 2015-06-15  Tom de Vries  <tom@codesourcery.com>
15690         * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
15691         in dg-options.
15692         * testsuite/libgomp.c/atomic-3.c: Same.
15693         * testsuite/libgomp.c/debug-1.c: Same.
15694         * testsuite/libgomp.c/nqueens-1.c: Same.
15695         * testsuite/libgomp.c/pr26171.c: Same.
15696         * testsuite/libgomp.c/pr48591.c: Same.
15697         * testsuite/libgomp.c/pr64824.c: Same.
15698         * testsuite/libgomp.c/pr64868.c: Same.
15699         * testsuite/libgomp.c/pr66133.c: Same.
15700         * testsuite/libgomp.c/pr66199-1.c: Same.
15701         * testsuite/libgomp.c/pr66199-2.c: Same.
15702         * testsuite/libgomp.c/target-8.c: Same.
15704 2015-06-15  Tom de Vries  <tom@codesourcery.com>
15706         * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
15707         -std={gnu99,c99}.
15708         * testsuite/libgomp.c/for-1.c: Same.
15709         * testsuite/libgomp.c/for-2.c: Same.
15710         * testsuite/libgomp.c/for-3.c: Same.
15711         * testsuite/libgomp.c/pr35625.c: Same.
15712         * testsuite/libgomp.c/pr39154.c: Same.
15713         * testsuite/libgomp.c/simd-16.c: Same.
15714         * testsuite/libgomp.c/simd-17.c: Same.
15716 2015-06-13  Tom de Vries  <tom@codesourcery.com>
15718         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
15720 2015-06-13  Tom de Vries  <tom@codesourcery.com>
15722         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
15723         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15724         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
15725         (N): Define.
15726         (main): Use N instead of hardcoded constants.
15728 2015-06-05  Tom de Vries  <tom@codesourcery.com>
15730         merge from gomp4 branch:
15731         2015-05-28  Tom de Vries  <tom@codesourcery.com>
15733         PR tree-optimization/65443
15734         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
15735         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
15736         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
15738 2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
15740         * testsuite/libgomp.graphite/bounds.c: Adjust for
15741         cleanup-tree-dump removal.
15742         * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
15743         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15744         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15745         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15746         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15747         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15748         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15749         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15750         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15751         * testsuite/libgomp.graphite/pr41118.c: Likewise.
15753 2015-05-28  Uros Bizjak  <ubizjak@gmail.com>
15755         * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
15756         (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
15757         (futex_wake) [!__x86_64__]: Ditto.
15759 2015-05-28  Julian Brown  <julian@codesourcery.com>
15761         * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
15762         function comment. Only call gomp_fatal if new argument is true.
15763         (acc_dev_num_out_of_range): New function.
15764         (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
15765         acc_dev_num_out_of_range as appropriate.
15766         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15767         (acc_get_device_num, acc_set_device_num): Update calls to
15768         resolve_device.
15769         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
15770         output.
15772 2015-05-28  Julian Brown  <julian@codesourcery.com>
15774         PR libgomp/65742
15775         * oacc-init.c (plugin/plugin-host.h): Include.
15776         (acc_on_device): Check whether we're in an offloaded region for
15777         host_nonshm
15778         plugin. Don't use __builtin_acc_on_device.
15779         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
15780         nonshm_exec flag in thread-local data.
15781         (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
15782         data for host_nonshm plugin.
15783         (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
15784         for host_nonshm plugin.
15785         * plugin/plugin-host.h: New.
15787 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
15789         * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
15791 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
15793         * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
15794         Declare as int.
15795         (FUTEX_PRIVATE_FLAG): Remove L suffix.
15796         * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
15797         Declare as int.
15799 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
15801         * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
15803 2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
15805         * target.c (gomp_map_pointer): New function abstracting out
15806         GOMP_MAP_POINTER handling.
15807         (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
15808         gomp_map_pointer().
15810 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
15812         PR middle-end/66199
15813         * testsuite/libgomp.c/pr66199-1.c: New test.
15814         * testsuite/libgomp.c/pr66199-2.c: New test.
15815         * testsuite/libgomp.c++/pr66199-1.C: New test.
15816         * testsuite/libgomp.c++/pr66199-2.C: New test.
15817         * testsuite/libgomp.fortran/pr66199-1.f90: New test.
15818         * testsuite/libgomp.fortran/pr66199-2.f90: New test.
15820 2015-05-19  Julian Brown  <julian@codesourcery.com>
15822         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
15823         on cuInit failure.
15825 2015-05-13  Jakub Jelinek  <jakub@redhat.com>
15827         PR middle-end/66133
15828         * testsuite/libgomp.c/pr66133.c: New test.
15830 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
15832         * Makefile.in: Regenerated with automake-1.11.6.
15833         * aclocal.m4: Likewise.
15834         * config.h.in: Likewise.
15835         * configure: Likewise.
15836         * testsuite/Makefile.in: Likewise.
15838 2015-05-08  Jason Merrill  <jason@redhat.com>
15840         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
15841         _Complex.
15843         * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
15845 2015-05-06  Julian Brown  <julian@codesourcery.com>
15847         * oacc-init.c (acc_device_lock): Add explanatory comment.
15848         (resolve_device): Add comment about locking requirement.
15849         (acc_init_1, acc_shutdown_1): Likewise. Add locking around
15850         gomp_init_device and gomp_fini_device calls.
15851         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15852         (acc_get_device_num, acc_set_device_num): Add locking around
15853         resolve_device and gomp_init_device calls.
15855 2015-05-06  Julian Brown  <julian@codesourcery.com>
15857         * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
15858         goacc_thread_lock on error paths.
15859         * oacc-mem.c (lookup_host): Remove locking from function. Note
15860         locking requirement for caller in function comment.
15861         (lookup_dev): Likewise.
15862         (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
15863         (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
15864         (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
15865         Add locking.
15867 2015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
15869         PR testsuite/65205
15870         PR libgomp/65993
15871         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
15872         don't expect "0x" prefix for "%p" format specifier, don't expect
15873         "(nil)" for NULL pointer.
15874         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15875         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15876         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15877         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15878         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15879         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15880         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15881         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15882         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15883         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15884         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15885         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15886         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15887         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15888         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15889         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15890         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15891         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15892         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15893         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15894         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15895         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15896         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15897         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15898         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15899         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15900         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15901         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15902         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
15903         accurately specify what we're looking for.
15904         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15905         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15906         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15907         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15908         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15910 2015-04-30  James Norris  <jnorris@codesourcery.com>
15912         PR testsuite/65205
15913         * testsuite/lib/libgomp.exp
15914         (check_effective_target_openacc_host_selected)
15915         (check_effective_target_openacc_host_nonshm_selected): New
15916         procedures.
15917         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
15918         dg-shouldfail.
15919         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15920         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15921         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15922         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15923         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15924         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15925         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15926         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15927         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15928         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15929         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15930         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15931         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15932         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15933         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15934         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15935         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15936         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15937         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15938         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15939         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15940         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15941         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15942         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15943         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15944         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15945         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15946         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15947         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15948         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15949         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15950         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15951         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15952         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15953         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15954         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15955         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15956         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15957         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15958         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15959         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15960         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15961         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15963 2015-04-08  Julian Brown  <julian@codesourcery.com>
15965         * libgomp.h (target_mem_desc: Remove mem_map field.
15966         (acc_dispatch_t): Remove open_device_func, close_device_func,
15967         get_device_num_func, set_device_num_func, target_data members.
15968         Change create_thread_data_func argument to device number instead of
15969         generic pointer.
15970         * oacc-async.c (assert.h): Include.
15971         (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
15972         (acc_wait_all, acc_wait_all_async): Use current host thread's
15973         active device, not base_dev.
15974         * oacc-cuda.c (acc_get_current_cuda_device)
15975         (acc_get_current_cuda_context, acc_get_cuda_stream)
15976         (acc_set_cuda_stream): Likewise.
15977         * oacc-host.c (host_dispatch): Don't set open_device_func,
15978         close_device_func, get_device_num_func or set_device_num_func.
15979         * oacc-init.c (base_dev, init_key): Remove.
15980         (cached_base_dev): New.
15981         (name_of_acc_device_t): New.
15982         (acc_init_1): Initialise default-numbered device, not zeroth.
15983         (acc_shutdown_1): Close all devices of a given type.
15984         (goacc_destroy_thread): Don't use base_dev.
15985         (lazy_open, lazy_init, lazy_init_and_open): Remove.
15986         (goacc_attach_host_thread_to_device): New.
15987         (acc_init): Reimplement with goacc_attach_host_thread_to_device.
15988         (acc_get_num_devices): Don't use base_dev.
15989         (acc_set_device_type): Reimplement.
15990         (acc_get_device_type): Don't use base_dev.
15991         (acc_get_device_num): Tweak logic.
15992         (acc_set_device_num): Likewise.
15993         (acc_on_device): Use acc_get_device_type.
15994         (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
15995         (goacc_lazy_initialize): Reimplement with acc_init and
15996         goacc_attach_host_thread_to_device.
15997         * oacc-int.h (goacc_thread): Add base_dev field.
15998         (base_dev): Remove extern declaration.
15999         (goacc_attach_host_thread_to_device): Add prototype.
16000         * oacc-mem.c (acc_malloc): Use current thread's device instead of
16001         base_dev.
16002         (acc_free): Likewise.
16003         (acc_memcpy_to_device): Likewise.
16004         (acc_memcpy_from_device): Likewise.
16005         * oacc-parallel.c (select_acc_device): Remove. Replace calls with
16006         goacc_lazy_initialize (throughout).
16007         (GOACC_parallel): Use tgt_offset to locate target functions.
16008         * target.c (gomp_map_vars): Don't set tgt->mem_map.
16009         (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
16010         (gomp_load_plugin_for_device): Remove open_device, close_device,
16011         get_device_num, set_device_num openacc hook initialisation. Don't set
16012         openacc.target_data.
16013         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
16014         (GOMP_OFFLOAD_openacc_close_device)
16015         (GOMP_OFFLOAD_openacc_get_device_num)
16016         (GOMP_OFFLOAD_openacc_set_device_num): Remove.
16017         (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
16018         to int.
16019         * plugin/plugin-nvptx.c (ptx_inited): Remove.
16020         (instantiated_devices, ptx_dev_lock): New.
16021         (struct ptx_image_data): New.
16022         (ptx_devices, ptx_images, ptx_image_lock): New.
16023         (fini_streams_for_device): Reorder cuStreamDestroy call.
16024         (nvptx_get_num_devices): Remove forward declaration.
16025         (nvptx_init): Change return type to bool.
16026         (nvptx_fini): Remove.
16027         (nvptx_attach_host_thread_to_device): New.
16028         (nvptx_open_device): Return struct ptx_device* instead of void*.
16029         (nvptx_close_device): Change argument type to struct ptx_device*,
16030         return type to void.
16031         (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
16032         (kernel_target_data, kernel_host_table): Remove static globals.
16033         (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
16034         (GOMP_OFFLOAD_init_device): Reimplement.
16035         (GOMP_OFFLOAD_fini_device): Likewise.
16036         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
16037         (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
16038         (GOMP_OFFLOAD_host2dev): Use ORD argument.
16039         (GOMP_OFFLOAD_openacc_open_device)
16040         (GOMP_OFFLOAD_openacc_close_device)
16041         (GOMP_OFFLOAD_openacc_set_device_num)
16042         (GOMP_OFFLOAD_openacc_get_device_num): Remove.
16043         (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
16044         (device number).
16046         testsuite/
16047         * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
16049 2015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
16051         * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
16052         * libgomp.h (struct gomp_memory_mapping): Remove.
16053         (struct target_mem_desc): Change type of mem_map from
16054         gomp_memory_mapping * to splay_tree_s *.
16055         (struct gomp_device_descr): Remove register_image_func, get_table_func.
16056         Add load_image_func, unload_image_func.
16057         Change type of mem_map from gomp_memory_mapping to splay_tree_s.
16058         Remove offload_regions_registered.
16059         (gomp_init_tables): Remove.
16060         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16061         to splay_tree_s *.
16062         * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
16063         * oacc-host.c (host_dispatch): Do not initialize register_image_func,
16064         get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
16065         offload_regions_registered.
16066         Initialize load_image_func, unload_image_func, mem_map.root.
16067         (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
16068         * oacc-init.c (lazy_open): Don't call gomp_init_tables.
16069         (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
16070         * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
16071         gomp_memory_mapping *.  Use dev's lock and splay_tree.
16072         (lookup_dev): Use dev's lock.
16073         (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
16074         (acc_is_present): Likewise.
16075         (acc_map_data): Likewise.
16076         (acc_unmap_data): Likewise.  Use dev's lock.
16077         (present_create_copy): Likewise.
16078         (delete_copyout): Pass dev to lookup_host instead of mem_map.
16079         (update_dev_host): Likewise.
16080         (gomp_acc_remove_pointer): Likewise.  Use dev's lock.
16081         * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
16082         * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
16083         (GOMP_OFFLOAD_get_table): Remove
16084         (GOMP_OFFLOAD_load_image): New function.
16085         (GOMP_OFFLOAD_unload_image): New function.
16086         * target.c (register_lock): New mutex for offload image registration.
16087         (num_devices): Do not guard with PLUGIN_SUPPORT.
16088         (gomp_realloc_unlock): New static function.
16089         (gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
16090         before gomp_fatal.
16091         (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
16092         Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
16093         (gomp_copy_from_async): Use dev's lock and splay_tree instead of
16094         mem_map's.
16095         (gomp_unmap_vars): Likewise.
16096         (gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
16097         splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
16098         (gomp_offload_image_to_device): New static function.
16099         (GOMP_offload_register): Add mutex lock.
16100         Call gomp_offload_image_to_device for all initialized devices.
16101         Replace gomp_realloc with gomp_realloc_unlock.
16102         (GOMP_offload_unregister): New function.
16103         (gomp_init_tables): Replace with gomp_init_device.  Replace a call to
16104         get_table_func from the plugin with calls to init_device_func and
16105         gomp_offload_image_to_device.
16106         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16107         to splay_tree_s *.
16108         (GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
16109         splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
16110         (GOMP_target_data): Do not call gomp_init_tables.
16111         (GOMP_target_update): Likewise.  Remove argument from gomp_update.
16112         (gomp_load_plugin_for_device): Replace register_image and get_table
16113         with load_image and unload_image in DLSYM ().
16114         (gomp_register_images_for_device): Remove function.
16115         (gomp_target_init): Do not initialize current_device.mem_map.*,
16116         current_device.offload_regions_registered.
16117         Remove call to gomp_register_images_for_device.
16118         Do not free offload_images and num_offload_images.
16120 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
16122         PR fortran/65597
16123         * testsuite/libgomp.fortran/pr65597.f90: New test.
16125 2015-03-27  Tom de Vries  <tom@codesourcery.com>
16127         PR testsuite/65594
16128         * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
16129         (init, check): New function.
16130         (foo): Change return type to void.
16131         (main): Call init and check.
16133 2015-03-27  Tom de Vries  <tom@codesourcery.com>
16135         PR testsuite/65594
16136         * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
16137         (foo): Use M for non-inner loops to scale down test-case.
16139 2015-03-25  Kai Tietz  <ktietz@redhat.com>
16141         PR libgomp/64972
16142         * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
16143         (GOACC_data_start): Likewise.
16144         * target.c (gomp_map_vars): Likewise.
16146 2015-03-21  John David Anglin  <danglin@gcc.gnu.org>
16148         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
16149         hppa*-*-hpux*.
16151 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
16153         * testsuite/libgomp.c/target-10.c: New test.
16154         * testsuite/libgomp.c++/target-4.C: New test.
16156 2015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
16158         * testsuite/libgomp.fortran/declare-target-1.f90: New test.
16159         * testsuite/libgomp.fortran/declare-target-2.f90: New file.
16161 2015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
16163         * configure.tgt (*-*-rtems*): Use local-exec TLS model.
16164         * configure.ac (*-*-rtems*): Assume Pthread is supported.
16165         (pthread.h): Check for this header file.
16166         * configure: Regenerate.
16168 2015-02-25  Tom de Vries  <tom@codesourcery.com>
16170         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
16171         (check_reduction_op, check_reduction_macro, max, min):
16172         Declare.
16173         (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
16174         function.
16175         (main): Use new functions.
16177 2015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
16179         * target.c (gomp_load_plugin_for_device): Use const char * instead of
16180         char * for variables holding dlerror return values.
16181         (DLSYM_OPT): Ditto.
16183 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
16185         * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
16187 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
16188             Cesar Philippidis  <cesar@codesourcery.com>
16190         * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
16191         GOACC_ctaid, and GOACC_nctaid routines.
16193 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
16195         PR c/64824
16196         * testsuite/libgomp.c/atomic-18.c: New test.
16197         * testsuite/libgomp.c++/atomic-16.C: New test.
16199 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
16201         PR c/64824
16202         PR c/64868
16203         * testsuite/libgomp.c/pr64824.c: New test.
16204         * testsuite/libgomp.c/pr64868.c: New test.
16205         * testsuite/libgomp.c++/pr64824.C: New test.
16206         * testsuite/libgomp.c++/pr64868.C: New test.
16208 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
16210         PR libgomp/64635
16211         * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
16212         Link with -lpthread.
16213         * config/aix/plugin-suffix.h: Delete.
16215 2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
16217         PR libgomp/64635
16218         * configure.tgt (*-*-aix*): Use config_path "aix posix".
16219         (*-*-darwin*): Use config_path "bsd darwin posix".
16220         (*-*-hpux*): Use config_path "hpux posix".
16221         * target.c: Add include of plugin-suffix.h and use
16222         SONAME_SUFFIX macro.
16223         * config/aix/plugin-suffix.h: New file.
16224         * config/darwin/plugin-suffix.h: New file.
16225         * config/hpux/plugin-suffix.h: New file.
16226         * config/posix/plugin-suffix.h: New file.
16228 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
16230         PR middle-end/64734
16231         * libgomp.c/pr64734.c: New test.
16233 2015-01-23  Tom de Vries  <tom@codesourcery.com>
16235         PR libgomp/64672
16236         * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
16238 2015-01-23  Tom de Vries  <tom@codesourcery.com>
16240         PR libgomp/64707
16241         * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
16242         dg-options.
16244 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
16246         PR libgomp/64625
16247         * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
16248         (GOACC_parallel, GOACC_update): Remove const_void *offload_table
16249         formal parameter.  Update all users.
16250         * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
16251         Document unused formal parameter.
16253 2015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
16255         * oacc-parallel.c: Don't include <alloca.h>.
16256         (GOACC_parallel): Use gomp_alloca instead of alloca.
16258 2015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
16260         * target.c (num_devices): Guard with PLUGIN_SUPPORT.
16262 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
16263             James Norris  <jnorris@codesourcery.com>
16264             Tom de Vries  <tom@codesourcery.com>
16265             Julian Brown  <julian@codesourcery.com>
16266             Cesar Philippidis  <cesar@codesourcery.com>
16267             Nathan Sidwell  <nathan@codesourcery.com>
16268             Tobias Burnus  <burnus@net-b.de>
16270         * Makefile.am (search_path): Add $(top_srcdir)/../include.
16271         (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
16272         oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
16273         oacc-async.c, oacc-plugin.c, oacc-cuda.c.
16274         [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
16275         Include $(top_srcdir)/plugin/Makefrag.am.
16276         (nodist_libsubinclude_HEADERS): Add openacc.h.
16277         [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
16278         openacc.f90, openacc.mod, openacc_kinds.mod.
16279         (omp_lib.mod): Generalize into...
16280         (%.mod): ... this new rule.
16281         (openacc_kinds.mod, openacc.mod): New rules.
16282         * plugin/configfrag.ac: New file.
16283         * configure.ac: Move plugin/offloading support into it.  Include
16284         it.  Instantiate testsuite/libgomp-test-support.pt.exp.
16285         * plugin/Makefrag.am: New file.
16286         * testsuite/Makefile.am (OFFLOAD_TARGETS)
16287         (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
16288         export.
16289         (libgomp-test-support.exp): New rule.
16290         (all-local): Depend on it.
16291         * Makefile.in: Regenerate.
16292         * testsuite/Makefile.in: Regenerate.
16293         * config.h.in: Likewise.
16294         * configure: Likewise.
16295         * configure.tgt: Harden shell syntax.
16296         * env.c: Include "oacc-int.h".
16297         (parse_acc_device_type): New function.
16298         (gomp_debug_var, goacc_device_type, goacc_device_num): New
16299         variables.
16300         (initialize_env): Initialize those.  Call
16301         goacc_runtime_initialize.
16302         * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
16303         (gomp_fatal): Call gomp_vfatal.
16304         * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
16305         (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
16306         (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
16307         (splay_tree_node, splay_tree, splay_tree_key)
16308         (struct target_mem_desc, struct splay_tree_key_s)
16309         (struct gomp_memory_mapping, struct acc_dispatch_t)
16310         (struct gomp_device_descr, gomp_acc_insert_pointer)
16311         (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
16312         (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
16313         (gomp_free_memmap, gomp_fini_device): New declarations.
16314         (gomp_vdebug, gomp_debug): New macros.
16315         Include "splay-tree.h".
16316         * libgomp.map (OACC_2.0): New symbol version.  Use for
16317         acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
16318         acc_set_device_type_h_, acc_get_device_type,
16319         acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
16320         acc_get_device_num, acc_get_device_num_h_, acc_async_test,
16321         acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
16322         acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
16323         acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
16324         acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
16325         acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
16326         acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
16327         acc_copyin_array_h_, acc_present_or_copyin,
16328         acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
16329         acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
16330         acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
16331         acc_present_or_create_32_h_, acc_present_or_create_64_h_,
16332         acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
16333         acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
16334         acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
16335         acc_update_device, acc_update_device_32_h_,
16336         acc_update_device_64_h_, acc_update_device_array_h_,
16337         acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
16338         acc_update_self_array_h_, acc_map_data, acc_unmap_data,
16339         acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
16340         acc_is_present_64_h_, acc_is_present_array_h_,
16341         acc_memcpy_to_device, acc_memcpy_from_device,
16342         acc_get_current_cuda_device, acc_get_current_cuda_context,
16343         acc_get_cuda_stream, acc_set_cuda_stream.
16344         (GOACC_2.0): New symbol version.  Use for GOACC_data_end,
16345         GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
16346         GOACC_update, GOACC_wait, GOACC_get_thread_num,
16347         GOACC_get_num_threads.
16348         (GOMP_PLUGIN_1.0): New symbol version.  Use for
16349         GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
16350         GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
16351         GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
16352         GOMP_PLUGIN_acc_thread.
16353         * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
16354         environment variable.
16355         * libgomp_g.h (GOACC_data_start, GOACC_data_end)
16356         (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
16357         (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
16358         * splay-tree.h (splay_tree_lookup, splay_tree_insert)
16359         (splay_tree_remove): New declarations.
16360         (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
16361         (splay_tree_remove, splay_tree_lookup): Move into...
16362         * splay-tree.c: ... this new file.
16363         * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
16364         (splay_tree_node, splay_tree, splay_tree_key)
16365         (struct target_mem_desc, struct splay_tree_key_s)
16366         (struct gomp_device_descr): Don't declare.
16367         (num_devices_openmp): New variable.
16368         (gomp_get_num_devices ): Use it.
16369         (gomp_init_targets_once): New function.
16370         (gomp_get_num_devices ): Use it.
16371         (get_kind, gomp_copy_from_async, gomp_free_memmap)
16372         (gomp_fini_device, gomp_register_image_for_device): New functions.
16373         (gomp_map_vars): Add devaddrs parameter.
16374         (gomp_update): Add mm parameter.
16375         (gomp_init_device): Move most of it into...
16376         (gomp_init_tables): ... this new function.
16377         (gomp_register_images_for_device): Remove function.
16378         (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
16379         Make them hidden instead of static.
16380         (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
16381         (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
16382         (GOMP_target_end_data, GOMP_target_update)
16383         (gomp_load_plugin_for_device, gomp_target_init): Update for
16384         OpenACC changes.
16385         * oacc-async.c: New file.
16386         * oacc-cuda.c: Likewise.
16387         * oacc-host.c: Likewise.
16388         * oacc-init.c: Likewise.
16389         * oacc-int.h: Likewise.
16390         * oacc-mem.c: Likewise.
16391         * oacc-parallel.c: Likewise.
16392         * oacc-plugin.c: Likewise.
16393         * oacc-plugin.h: Likewise.
16394         * oacc-ptx.h: Likewise.
16395         * openacc.f90: Likewise.
16396         * openacc.h: Likewise.
16397         * openacc_lib.h: Likewise.
16398         * plugin/plugin-host.c: Likewise.
16399         * plugin/plugin-nvptx.c: Likewise.
16400         * libgomp-plugin.c: Likewise.
16401         * libgomp-plugin.h: Likewise.
16402         * libgomp_target.h: Remove file after merging content into the
16403         former file.  Update all users.
16404         * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
16405         (offload_targets_s, offload_targets_s_openacc): New variables.
16406         (check_effective_target_openacc_nvidia_accel_present)
16407         (check_effective_target_openacc_nvidia_accel_selected): New
16408         procedures.
16409         (libgomp_init): Update for OpenACC changes.
16410         * testsuite/libgomp-test-support.exp.in: New file.
16411         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
16412         * testsuite/libgomp.oacc-c/c.exp: Likewise.
16413         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
16414         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
16415         * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
16416         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
16417         * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
16418         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
16419         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
16420         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
16421         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
16422         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
16423         * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
16424         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
16425         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
16426         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
16427         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
16428         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
16429         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
16430         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
16431         * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
16432         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
16433         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
16434         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
16435         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16436         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
16437         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
16438         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
16439         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
16440         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
16441         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16442         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
16443         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
16444         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
16445         * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
16446         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16447         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
16448         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16449         * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
16450         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
16451         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
16452         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
16453         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16454         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16455         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16456         * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
16457         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16458         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16459         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16460         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16461         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16462         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
16463         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16464         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16465         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16466         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16467         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16468         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16469         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16470         * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
16471         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
16472         * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
16473         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16474         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16475         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16476         * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
16477         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
16478         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16479         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16480         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16481         * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
16482         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16483         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16484         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16485         * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
16486         * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
16487         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16488         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16489         * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
16490         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
16491         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
16492         * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
16493         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16494         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16495         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16496         * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
16497         * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
16498         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16499         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16500         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
16501         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
16502         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
16503         * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
16504         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16505         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16506         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16507         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16508         * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
16509         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16510         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16511         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
16512         * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
16513         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
16514         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16515         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
16516         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
16517         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
16518         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
16519         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
16520         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16521         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
16522         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
16523         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16524         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
16525         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
16526         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
16527         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
16528         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
16529         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
16530         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
16531         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
16532         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
16533         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
16534         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
16535         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
16536         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
16537         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
16538         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
16539         * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
16540         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
16541         * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
16542         * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
16543         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16544         * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
16545         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
16546         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
16547         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
16548         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
16549         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
16550         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
16551         Likewise.
16552         * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
16553         * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
16554         * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
16555         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16556         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
16557         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
16558         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
16559         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
16560         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
16561         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
16562         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
16563         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
16564         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
16565         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
16566         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
16567         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
16568         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
16569         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
16570         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
16571         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
16572         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
16573         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
16574         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
16575         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
16576         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
16577         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
16578         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16579         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16580         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
16581         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
16582         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
16583         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
16584         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
16585         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16586         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
16587         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
16588         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
16589         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
16590         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
16591         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
16592         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
16593         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
16594         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
16595         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
16596         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
16597         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
16598         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
16599         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
16600         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
16601         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
16602         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
16603         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
16604         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
16605         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
16606         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
16607         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
16608         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
16609         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
16610         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
16611         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
16613 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
16614             Julian Brown  <julian@codesourcery.com>
16615             David Malcolm  <dmalcolm@redhat.com>
16617         * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
16618         to "GNU Offloading and Multi Processing Runtime Library".  Change
16619         all users.
16620         * configure: Regenerate.
16621         * libgomp.texi: Update.
16623 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
16625         * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
16626         "$tgt_dir/lib32".
16627         * configure: Regenerate.
16629         * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
16630         "intelmic" in $offload_targets.
16632 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
16634         Update copyright years.
16636         * libgomp.texi: Bump @copying's copyright year.
16638 2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
16640         * testsuite/lib/libgomp.exp: Load target-utils.exp.
16641         Move load of target-supports.exp earlier.
16643 2014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
16645         * testsuite/libgomp.c/target-9.c: New test.
16647 2014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
16649         * config.h.in: Regenerate.
16650         * configure: Regenerate.
16651         * configure.ac: Add GCC_CHECK_EMUTLS.
16652         * libgomp.h: Add check for USE_EMUTLS: this case
16653         is equal to HAVE_TLS.
16654         * team.c: Likewise.
16656 2014-12-03  Uros Bizjak  <ubizjak@gmail.com>
16658         * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
16660 2014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
16661             Ilya Verbin  <ilya.verbin@intel.com>
16663         * testsuite/libgomp.c/target-critical-1.c: New test.
16665 2014-11-26  Jakub Jelinek  <jakub@redhat.com>
16667         * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
16668         to dg-options unless expensive testing is on.
16669         (TESTITERS): Define to N if not defined.
16670         (main): Use TESTITERS instead of N.
16671         * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
16672         dg-additional-options depending on whether expensive testing is on.
16673         * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
16674         Decrease N to 100000 and CHUNKSZ to 10000.
16676 2014-11-24  Jakub Jelinek  <jakub@redhat.com>
16678         PR fortran/63938
16679         * testsuite/libgomp.fortran/pr63938-1.f90: New test.
16680         * testsuite/libgomp.fortran/pr63938-2.f90: New test.
16682 2014-11-21  Steve Ellcey  <sellcey@imgtec.com>
16684         * config/linux/mips/futex.h (SYS_futex): Define if not already done.
16686 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
16688         PR bootstrap/63784
16689         * configure: Regenerated.
16691 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
16693         * testsuite/libgomp.c/examples-4/e.53.5.c: Require
16694         vect_simd_clones effective target.
16695         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16697 2014-11-14  Jakub Jelinek  <jakub@redhat.com>
16699         * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
16700         of 32 as block_size.
16701         * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
16702         instead of 32 as block_size.
16704 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
16705             Ilya Verbin  <ilya.verbin@intel.com>
16707         * Makefile.in: Regenerate.
16708         * configure: Regenerate.
16709         * configure.ac: Set up offload_additional_options,
16710         offload_additional_lib_paths and offload_targets.
16711         * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
16712         OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
16713         * testsuite/Makefile.in: Regenerate.
16714         * testsuite/lib/libgomp.exp (libgomp_init): Append
16715         offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
16716         offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
16717         build directory to LD_LIBRARY_PATH for intelmic offload targets.
16719 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
16720             Ilya Verbin  <ilya.verbin@intel.com>
16721             Kirill Yukhin  <kirill.yukhin@intel.com>
16722             Ilya Tocar  <ilya.tocar@intel.com>
16724         * testsuite/lib/libgomp.exp
16725         (check_effective_target_offload_device): New.
16726         * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
16727         * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
16728         * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
16729         * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
16730         * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
16731         * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
16732         * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
16733         * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
16734         * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
16735         * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
16736         * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
16737         * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
16738         * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
16739         * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
16740         * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
16741         * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
16742         * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
16743         * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
16744         * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
16745         * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
16746         * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
16747         * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
16748         * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
16749         * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
16750         * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
16751         * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
16752         * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
16753         * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
16754         * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
16755         * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
16756         * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
16757         * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
16758         * testsuite/libgomp.c/target-7.c: Fix test.
16759         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
16760         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
16761         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
16762         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
16763         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
16764         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
16765         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
16766         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
16767         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
16768         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
16769         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
16770         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
16771         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
16772         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
16773         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
16774         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
16775         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
16776         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
16777         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16778         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
16779         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
16780         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
16781         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
16782         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
16783         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
16784         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
16785         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
16786         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
16787         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
16788         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
16789         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
16791 2014-11-13  Jakub Jelinek  <jakub@redhat.com>
16792             Ilya Verbin  <ilya.verbin@intel.com>
16793             Thomas Schwinge  <thomas@codesourcery.com>
16794             Andrey Turetskiy  <andrey.turetskiy@intel.com>
16796         * libgomp.map (GOMP_4.0.1): New symbol version.
16797         Add GOMP_offload_register.
16798         * libgomp_target.h: New file.
16799         * splay-tree.h: New file.
16800         * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
16801         (gomp_target_init): New forward declaration.
16802         (gomp_is_initialized): New static variable.
16803         (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
16804         (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
16805         New structures.
16806         (offload_images, num_offload_images, devices, num_devices): New static
16807         variables.
16808         (splay_compare): New static function.
16809         (struct gomp_device_descr): New structure.
16810         (gomp_get_num_devices): Call gomp_target_init.
16811         (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
16812         (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
16813         (GOMP_offload_register): New function.
16814         (GOMP_target): Arrange for host callback to be performed in a separate
16815         initial thread and contention group, inheriting ICVs from
16816         gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
16817         Add device initialization and lookup for target function in splay tree.
16818         (GOMP_target_data): Add device initialization and call gomp_map_vars.
16819         (GOMP_target_end_data): Call gomp_unmap_vars.
16820         (GOMP_target_update): Add device initialization and call gomp_update.
16821         (gomp_load_plugin_for_device, gomp_register_images_for_device)
16822         (gomp_target_init): New static functions.
16824 2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
16825             Thomas Schwinge  <thomas@codesourcery.com>
16826             Ilya Verbin  <ilya.verbin@intel.com>
16827             Andrey Turetskiy  <andrey.turetskiy@intel.com>
16829         * config.h.in: Regenerate.
16830         * configure: Regenerate.
16831         * configure.ac: Check for libdl, required for plugin support.
16832         (PLUGIN_SUPPORT): Define if plugins are supported.
16833         (enable_offload_targets): Support Intel MIC targets.
16834         (OFFLOAD_TARGETS): List of target names suitable for offloading.
16836 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
16838         PR target/63610
16839         * configure: Regenerate.
16841 2014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16843         * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
16845 2014-10-06  Marek Polacek  <polacek@redhat.com>
16847         * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
16848         * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
16849         * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
16850         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16852 2014-10-06  Marek Polacek  <polacek@redhat.com>
16854         * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
16855         * testsuite/libgomp.c/nqueens-1.c: Likewise.
16856         * testsuite/libgomp.c/pr26943-3.c: Likewise.
16857         * testsuite/libgomp.c/pr26943-4.c: Likewise.
16858         * testsuite/libgomp.c/pr36802-2.c: Likewise.
16859         * testsuite/libgomp.c/pr36802-3.c: Likewise.
16860         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
16861         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16862         * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
16863         * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
16864         * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
16865         * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
16866         * testsuite/libgomp.c/omp-single-1.c: Likewise.
16867         * testsuite/libgomp.c/omp-single-2.c: Likewise.
16868         * testsuite/libgomp.c/omp_matvec.c: Likewise.
16869         * testsuite/libgomp.c/omp_workshare3.c: Likewise.
16870         * testsuite/libgomp.c/omp_workshare4.c: Likewise.
16871         * testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
16872         declarations.
16874 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
16876         PR libgomp/61200
16877         * testsuite/libgomp.c/pr61200.c: New test.
16879 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
16881         PR c++/63248
16882         * testsuite/libgomp.c++/pr63248.C: New test.
16884 2014-08-04  Jakub Jelinek  <jakub@redhat.com>
16886         * task.c (GOMP_taskgroup_end): If taskgroup->num_children
16887         is not zero, but taskgroup->children is NULL and there are
16888         any task->children, schedule those instead of waiting.
16889         * testsuite/libgomp.c/depend-6.c: New test.
16890         * testsuite/libgomp.c/depend-7.c: New test.
16891         * testsuite/libgomp.c/depend-8.c: New test.
16892         * testsuite/libgomp.c/depend-9.c: New test.
16893         * testsuite/libgomp.c/depend-10.c: New test.
16895 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
16897         * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
16898         (struct gomp_taskwait): New type.
16899         (struct gomp_task): Add taskwait and parent_depends_on, remove
16900         in_taskwait and taskwait_sem fields.
16901         (gomp_finish_task): Don't destroy taskwait_sem.
16902         * task.c (gomp_init_task): Don't init in_taskwait, instead init
16903         taskwait and parent_depends_on.
16904         (GOMP_task): For if (0) tasks with depend clause that depend on
16905         earlier tasks don't defer them, instead call
16906         gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
16907         Initialize redundant_out field, for redundant out entries just
16908         move them at the end of linked list instead of removing them
16909         completely, and set redundant_out flag instead of redundant.
16910         (gomp_task_run_pre): Update last_parent_depends_on if scheduling
16911         that task.
16912         (gomp_task_run_post_handle_dependers): If parent is in
16913         gomp_task_maybe_wait_for_dependencies and newly runnable task
16914         is not parent_depends_on, queue it in parent->children linked
16915         list after all runnable tasks with parent_depends_on set.
16916         Adjust for addition of taskwait indirection.
16917         (gomp_task_run_post_remove_parent): If parent is in
16918         gomp_task_maybe_wait_for_dependencies and task to be removed
16919         is parent_depends_on, decrement n_depend and if needed awake
16920         parent.  Adjust for addition of taskwait indirection.
16921         (GOMP_taskwait): Adjust for addition of taskwait indirection.
16922         (gomp_task_maybe_wait_for_dependencies): New function.
16923         * testsuite/libgomp.c/depend-5.c: New test.
16925 2014-07-13  Tobias Burnus  <burnus@net-b.de>
16927         * testsuite/libgomp.fortran/pr34020.f90: Make compile
16928         with TS 18508/Fortran 2015.
16930 2014-07-06  Marek Polacek  <polacek@redhat.com>
16932         PR c/6940
16933         * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
16935 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
16937         * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
16938         matches regex $lang_source_re, add $lang_include_flags to options.
16939         * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
16940         * testsuite/libgomp.c++/c++.exp: Likewise.
16941         * testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
16942         and lang_include_flags instead of adding -fintrinsic-modules-path= to
16943         ALWAYS_CFLAGS.
16944         * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
16946 2014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
16948         * testsuite/libgomp.fortran/fortran.exp: Explain
16949         gfortran-dg-runtest usage.
16951 2014-06-25  Jakub Jelinek  <jakub@redhat.com>
16953         * testsuite/libgomp.fortran/simd5.f90: New test.
16954         * testsuite/libgomp.fortran/simd6.f90: New test.
16955         * testsuite/libgomp.fortran/simd7.f90: New test.
16957 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
16959         * testsuite/libgomp.c/for-2.c: Define SC to static for
16960         #pragma omp for simd testing.
16961         * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
16962         (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
16963         SC macro.
16964         * testsuite/libgomp.c/simd-14.c: New test.
16965         * testsuite/libgomp.c/simd-15.c: New test.
16966         * testsuite/libgomp.c/simd-16.c: New test.
16967         * testsuite/libgomp.c/simd-17.c: New test.
16968         * testsuite/libgomp.c++/for-10.C: Define SC to static for
16969         #pragma omp for simd testing.
16970         * testsuite/libgomp.c++/simd10.C: New test.
16971         * testsuite/libgomp.c++/simd11.C: New test.
16972         * testsuite/libgomp.c++/simd12.C: New test.
16973         * testsuite/libgomp.c++/simd13.C: New test.
16975         * testsuite/libgomp.fortran/aligned1.f03: New test.
16976         * testsuite/libgomp.fortran/nestedfn5.f90: New test.
16977         * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
16978         tasks with !$omp parallel !$omp single.
16979         * testsuite/libgomp.fortran/target8.f90: New test.
16980         * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
16981         not to use trim in the combiner, instead call elemental function.
16982         (fn): New elemental function.
16983         * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
16984         Make elemental.
16985         * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
16986         omp_in): Likewise.
16987         * testsuite/libgomp.fortran/udr12.f90: New test.
16988         * testsuite/libgomp.fortran/udr13.f90: New test.
16989         * testsuite/libgomp.fortran/udr14.f90: New test.
16990         * testsuite/libgomp.fortran/udr15.f90: New test.
16992 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
16994         * omp_lib.f90.in (openmp_version): Set to 201307.
16995         * omp_lib.h.in (openmp_version): Likewise.
16996         * testsuite/libgomp.c/target-8.c: New test.
16997         * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
16998         and inbranch clauses.
16999         * testsuite/libgomp.fortran/depend-3.f90: New test.
17000         * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
17001         openmp_version.
17002         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17003         * testsuite/libgomp.fortran/target1.f90: New test.
17004         * testsuite/libgomp.fortran/target2.f90: New test.
17005         * testsuite/libgomp.fortran/target3.f90: New test.
17006         * testsuite/libgomp.fortran/target4.f90: New test.
17007         * testsuite/libgomp.fortran/target5.f90: New test.
17008         * testsuite/libgomp.fortran/target6.f90: New test.
17009         * testsuite/libgomp.fortran/target7.f90: New test.
17011 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
17013         PR fortran/60928
17014         * testsuite/libgomp.fortran/allocatable9.f90: New test.
17015         * testsuite/libgomp.fortran/allocatable10.f90: New test.
17016         * testsuite/libgomp.fortran/allocatable11.f90: New test.
17017         * testsuite/libgomp.fortran/allocatable12.f90: New test.
17018         * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
17019         * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
17020         * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
17021         * testsuite/libgomp.fortran/associate1.f90: New test.
17022         * testsuite/libgomp.fortran/associate2.f90: New test.
17023         * testsuite/libgomp.fortran/procptr1.f90: New test.
17025 2014-06-06  Jakub Jelinek  <jakub@redhat.com>
17027         * testsuite/libgomp.fortran/simd1.f90: New test.
17028         * testsuite/libgomp.fortran/udr1.f90: New test.
17029         * testsuite/libgomp.fortran/udr2.f90: New test.
17030         * testsuite/libgomp.fortran/udr3.f90: New test.
17031         * testsuite/libgomp.fortran/udr4.f90: New test.
17032         * testsuite/libgomp.fortran/udr5.f90: New test.
17033         * testsuite/libgomp.fortran/udr6.f90: New test.
17034         * testsuite/libgomp.fortran/udr7.f90: New test.
17035         * testsuite/libgomp.fortran/udr8.f90: New test.
17036         * testsuite/libgomp.fortran/udr9.f90: New test.
17037         * testsuite/libgomp.fortran/udr10.f90: New test.
17038         * testsuite/libgomp.fortran/udr11.f90: New test.
17040 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
17042         * testsuite/libgomp.fortran/declare-simd-1.f90: Require
17043         vect_simd_clones effective target.
17044         * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
17046 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
17048         PR middle-end/61252
17049         * testsuite/libgomp.c++/simd-9.C: New test.
17051 2014-05-18  Uros Bizjak  <ubizjak@gmail.com>
17053         * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
17054         (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
17055         texts according to their @menu entry positions.
17057 2014-05-11  Jakub Jelinek  <jakub@redhat.com>
17059         * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
17060         * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
17061         * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
17062         * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
17063         * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
17064         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
17065         * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
17066         * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
17067         * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
17068         * testsuite/libgomp.fortran/depend-1.f90: New test.
17069         * testsuite/libgomp.fortran/depend-2.f90: New test.
17070         * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
17071         * testsuite/libgomp.fortran/simd1.f90: New test.
17072         * testsuite/libgomp.fortran/simd2.f90: New test.
17073         * testsuite/libgomp.fortran/simd3.f90: New test.
17074         * testsuite/libgomp.fortran/simd4.f90: New test.
17075         * testsuite/libgomp.fortran/taskgroup1.f90: New test.
17077 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
17079         * testsuite/libgomp.c/simd-10.c: New test.
17080         * testsuite/libgomp.c/simd-11.c: New test.
17081         * testsuite/libgomp.c/simd-12.c: New test.
17082         * testsuite/libgomp.c/simd-13.c: New test.
17084 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
17086         * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
17087         atomic type clauses in any order and optional comma in between.
17088         * testsuite/libgomp.c++/atomic-15.C: Likewise.
17089         * testsuite/libgomp.c/atomic-17.c: Likewise.
17091         * testsuite/libgomp.c/simd-7.c: New test.
17092         * testsuite/libgomp.c/simd-8.c: New test.
17093         * testsuite/libgomp.c/simd-9.c: New test.
17094         * testsuite/libgomp.c/loop-16.c: New test.
17096 2014-04-02  Richard Henderson  <rth@redhat.com>
17098         * config/linux/futex.h (futex_wait): Get error value from errno.
17099         (futex_wake): Likewise.
17101 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
17103         PR c++/60331
17104         * testsuite/libgomp.c++/udr-11.C: New test.
17105         * testsuite/libgomp.c++/udr-12.C: New test.
17106         * testsuite/libgomp.c++/udr-13.C: New test.
17107         * testsuite/libgomp.c++/udr-14.C: New test.
17108         * testsuite/libgomp.c++/udr-15.C: New test.
17109         * testsuite/libgomp.c++/udr-16.C: New test.
17110         * testsuite/libgomp.c++/udr-17.C: New test.
17111         * testsuite/libgomp.c++/udr-18.C: New test.
17112         * testsuite/libgomp.c++/udr-19.C: New test.
17114 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
17116         Update copyright years
17118 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
17120         * hashtab.h: Use the standard form for the copyright notice.
17122 2014-01-02  Tobias Burnus  <burnus@net-b.de>
17124         * libgomp.texi: Bump @copying's copyright year.
17126 2013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
17128         * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
17129         alloca () with __builtin_alloca ().
17130         * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
17131         * testsuite/libgomp.c/lock-3.c: Likewise.
17132         * testsuite/libgomp.c/pr48591.c: Likewise.
17134 2013-12-17  Jakub Jelinek  <jakub@redhat.com>
17136         PR testsuite/59534
17137         * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
17138         comparisons.
17140 2013-12-16  Jakub Jelinek  <jakub@redhat.com>
17142         PR libgomp/58756
17143         * testsuite/libgomp.c/pr58756.c: New test.
17145 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
17147         PR libgomp/59467
17148         * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
17149         !$omp parallel.
17151 2013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
17153         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
17154         ALWAYS_CFLAGS.
17155         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
17156         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
17157         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
17158         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
17159         Likewise.
17161         * libgomp_g.h: Include <stddef.h> for size_t.
17163         * libgomp.spec.in: Update comment about libgomp's dependencies.
17164         * configure.ac: Likewise.
17165         * configure: Regenerate.
17167 2013-10-16  Tobias Burnus  <burnus@net-b.de>
17169         * libgomp.texi: (Runtime Library Routines): Update references for
17170         OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
17171         omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
17172         omp_get_team_num, omp_is_initial_device, omp_set_default_device.
17173         (Environment Variables): Update references for OpenMP 4.0. Add
17174         OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
17175         Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
17176         order.
17178 2013-10-14  Jakub Jelinek  <jakub@redhat.com>
17180         * env.c (parse_bind_var): Initialize value to avoid
17181         (false positive) warning.
17183 2013-10-12  Jakub Jelinek  <jakub@redhat.com>
17185         PR libgomp/58691
17186         * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
17187         to check variable.
17188         (gomp_init_num_threads): Move i variable declaration into
17189         #ifdef CPU_ALLOC_SIZE block.
17190         * config/linux/affinity.c (gomp_affinity_init_level): Test
17191         gomp_places_list_len == 0 rather than gomp_places_list == 0
17192         when checking for topology reading error.
17193         * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
17194         * env.c (parse_affinity): Add ignore argument, if true, don't populate
17195         gomp_places_list, only parse env var and always return false.
17196         (parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
17197         (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
17198         vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
17199         and either of these variables were parsed correctly into a places
17200         list.
17202 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
17203             Jakub Jelinek  <jakub@redhat.com>
17205         * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
17206         of 5 loopfn matches.
17207         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17208         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17209         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
17210         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17211         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17212         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17213         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17214         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17216 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
17218         * Makefile.am (omp_lib.mod): Streamline rule.
17219         * Makefile.in: Regenerate.
17221         * libgomp.texi (Runtime Library Routines): C linkage, don't throw
17222         exceptions.
17224         * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
17225         * testsuite/libgomp.fortran/lib1.f90: Likewise.
17226         * testsuite/libgomp.fortran/lib2.f: Likewise.
17227         * testsuite/libgomp.fortran/lib3.f: Likewise.
17229         * configure.ac: Typo fix.
17230         * configure: Regenerate.
17232         * testsuite/libgomp.fortran/openmp_version-1.f: New file.
17233         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17235         * omp.h.in: Don't touch the user's namespace.
17237 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
17238             Tobias Burnus  <burnus@net-b.de>
17239             Richard Henderson  <rth@redhat.com>
17241         * target.c: New file.
17242         * Makefile.am (libgomp_la_SOURCES): Add target.c.
17243         * Makefile.in: Regenerated.
17244         * libgomp_g.h (GOMP_task): Add depend argument.
17245         (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17246         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17247         GOMP_target_end_data, GOMP_target_update, GOMP_teams,
17248         GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17249         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17250         GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
17251         GOMP_taskgroup_start, GOMP_taskgroup_end,
17252         GOMP_parallel_sections): New prototypes.
17253         * fortran.c (omp_is_initial_device): Add ialias_redirect.
17254         (omp_is_initial_device_): New function.
17255         (ULP, STR1, STR2, ialias_redirect): Removed.
17256         (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
17257         omp_set_default_device_8_, omp_get_default_device_,
17258         omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
17259         functions.
17260         * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17261         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17262         GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
17263         @@GOMP_4.0.
17264         (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
17265         omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
17266         omp_set_default_device, omp_set_default_device_,
17267         omp_set_default_device_8_, omp_get_default_device,
17268         omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
17269         omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
17270         omp_get_team_num_): Export @@OMP_4.0.
17271         * team.c (struct gomp_thread_start_data): Add place field.
17272         (gomp_thread_start): Clear thr->thread_pool and
17273         thr->task before returning.  Use gomp_team_barrier_wait_final
17274         instead of gomp_team_barrier_wait.  Initialize thr->place.
17275         (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
17276         team_cancelled and task_queued_count fields.
17277         (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
17278         before calling pthread_exit.
17279         (gomp_free_thread): No longer static.  Use
17280         gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
17281         (gomp_team_start): Add flags argument.  Set
17282         thr->thread_pool->threads_busy to nthreads immediately after creating
17283         new pool.  Use gomp_managed_threads_lock instead of
17284         gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
17285         (gomp_team_end): Use gomp_managed_threads_lock instead of
17286         gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
17287         of gomp_team_barrier_wait.  If team->team_cancelled, call
17288         gomp_fini_workshare on ws chain starting at team->work_shares_to_free
17289         rather than thr->ts.work_share.
17290         (initialize_team): Don't call gomp_sem_init here.
17291         * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
17292         caller.
17293         (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
17294         * env.c (gomp_global_icv): Add default_device_var, target_data and
17295         bind_var initializers.
17296         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17297         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17298         gomp_places_list_len): New variables.
17299         (parse_bind_var, parse_one_place, parse_places_var): New functions.
17300         (parse_affinity): Rewritten to construct OMP_PLACES list with unit
17301         sized places.
17302         (gomp_cancel_var): New global variable.
17303         (parse_int): New function.
17304         (handle_omp_display_env): New function.
17305         (initialize_env): Use it.  Initialize default_device_var.
17306         Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
17307         OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
17308         OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
17309         been successfully parsed (and call gomp_init_affinity in that case).
17310         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17311         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17312         omp_get_team_num, omp_is_initial_device): New functions.
17313         * libgomp.h: Include stdlib.h.
17314         (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
17315         Define.
17316         (struct target_mem_desc): Forward declare.
17317         (struct gomp_task_icv): Add default_device_var, target_data, bind_var
17318         and thread_limit_var fields.
17319         (gomp_get_num_devices): New prototype.
17320         (gomp_cancel_var): New extern decl.
17321         (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
17322         team_cancelled and task_queued_count fields.  Add comments about
17323         task_{,queued_,running_}count.
17324         (gomp_cancel_kind): New enum.
17325         (gomp_work_share_end_cancel): New prototype.
17326         (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
17327         copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
17328         and depend fields.
17329         (struct gomp_taskgroup): New type.
17330         (struct gomp_task_depend_entry,
17331         struct gomp_dependers_vec): New types.
17332         (gomp_finish_task): Free depend_hash if non-NULL.
17333         (struct gomp_team_state): Add place_partition_off
17334         and place_partition_len fields.
17335         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17336         gomp_places_list_len): New extern decls.
17337         (struct gomp_thread): Add place field.
17338         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17339         (gomp_init_thread_affinity): Add place argument.
17340         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17341         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17342         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17343         gomp_affinity_init_level, gomp_affinity_print_place): New
17344         prototypes.
17345         (gomp_team_start): Add flags argument.
17346         (gomp_thread_limit_var, gomp_remaining_threads_count,
17347         gomp_remaining_threads_lock): Remove.
17348         (gomp_managed_threads_lock): New variable.
17349         (struct gomp_thread_pool): Add threads_busy field.
17350         (gomp_free_thread): New prototype.
17351         * task.c: Include hashtab.h.
17352         (hash_entry_type): New typedef.
17353         (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
17354         (gomp_init_task): Clear dependers, depend_hash, depend_count,
17355         copy_ctors_done and taskgroup fields.
17356         (GOMP_task): Add depend argument, handle depend clauses.  If
17357         gomp_team_barrier_cancelled or if it's taskgroup has been
17358         cancelled, don't queue or start new tasks.  Set copy_ctors_done
17359         field if needed.  Initialize taskgroup field.  If copy_ctors_done
17360         and already cancelled, don't discard the task.  If taskgroup is
17361         non-NULL, enqueue the task into taskgroup queue.  Increment
17362         num_children field in taskgroup.  Increment task_queued_count.
17363         (gomp_task_run_pre, gomp_task_run_post_remove_parent,
17364         gomp_task_run_post_remove_taskgroup): New inline functions.
17365         (gomp_task_run_post_handle_depend_hash,
17366         gomp_task_run_post_handle_dependers,
17367         gomp_task_run_post_handle_depend): New functions.
17368         (GOMP_taskwait): Use them.  If more than one new tasks
17369         have been queued, wake other threads if needed.
17370         (gomp_barrier_handle_tasks): Likewise.  If
17371         gomp_team_barrier_cancelled, don't start any new tasks, just free
17372         all tasks.
17373         (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
17374         * omp_lib.f90.in
17375         (omp_proc_bind_kind, omp_proc_bind_false,
17376         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17377         omp_proc_bind_spread): New params.
17378         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17379         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17380         omp_get_team_num, omp_is_initial_device): New interfaces.
17381         (omp_get_dynamic, omp_get_nested, omp_in_parallel,
17382         omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
17383         omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
17384         omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
17385         omp_get_team_size, omp_get_active_level, omp_in_final): Remove
17386         useless use omp_lib_kinds.
17387         * omp.h.in (omp_proc_bind_t): New typedef.
17388         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17389         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17390         omp_get_team_num, omp_is_initial_device): New prototypes.
17391         * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
17392         through to gomp_team_start.
17393         (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
17394         GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
17395         Adjust gomp_parallel_loop_start callers.
17396         (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17397         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17398         GOMP_loop_end_cancel): New functions.
17399         (GOMP_parallel_end): Add ialias_redirect.
17400         * hashtab.h: New file.
17401         * libgomp.texi (Environment Variables): Minor cleanup,
17402         update section refs to OpenMP 4.0rc2.
17403         (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
17404         environment variables.
17405         * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
17406         team->work_shares_to_free to thr->ts.work_share before calling
17407         free_work_share.
17408         (gomp_work_share_end_cancel): New function.
17409         * config/linux/proc.c: Include errno.h.
17410         (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
17411         (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
17412         sizeof (cpu_set_t) to determine number of iterations.  Fix up check
17413         extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
17414         gomp_cpuset_size is sizeof (cpu_set_t).
17415         (gomp_init_num_threads): Initialize gomp_cpuset_size,
17416         gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
17417         of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
17418         to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
17419         contain any logical CPUs.
17420         (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
17421         is NULL.  Use gomp_cpusetp instead of &cpuset and pass
17422         gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
17423         pthread_getaffinity_np.  Check gomp_places_list instead of
17424         gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
17425         * config/linux/bar.c (gomp_barrier_wait_end,
17426         gomp_barrier_wait_last): Use BAR_* defines.
17427         (gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
17428         from state where needed.  Set work_share_cancelled to 0 on last
17429         thread.
17430         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
17431         gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
17432         functions.
17433         * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
17434         Add cpusetsize argument.
17435         (gomp_cpuset_size, gomp_cpusetp): Declare.
17436         * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
17437         (affinity_counter): Remove.
17438         (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
17439         if CPU_ALLOC_SIZE isn't defined.
17440         (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
17441         silently create OMP_PLACES=threads, if it is non-NULL afterwards,
17442         bind current thread to the first place.
17443         (gomp_init_thread_affinity): Rewritten.  Add place argument, just
17444         pthread_setaffinity_np to gomp_places_list[place].
17445         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17446         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17447         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17448         gomp_affinity_init_level, gomp_affinity_print_place): New functions.
17449         * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17450         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17451         (gomp_barrier_t): Add awaited_final field.
17452         (gomp_barrier_init): Initialize awaited_final field.
17453         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
17454         gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
17455         prototypes.
17456         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
17457         defines.
17458         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
17459         gomp_team_barrier_cancelled): New inline functions.
17460         (gomp_barrier_last_thread,
17461         gomp_team_barrier_set_task_pending,
17462         gomp_team_barrier_clear_task_pending,
17463         gomp_team_barrier_set_waiting_for_tasks,
17464         gomp_team_barrier_waiting_for_tasks,
17465         gomp_team_barrier_done): Use BAR_* defines.
17466         * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
17467         (gomp_barrier_wait_end): Use BAR_* defines.
17468         (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
17469         Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
17470         Use BAR_* defines.
17471         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
17472         gomp_team_barrier_cancel): New functions.
17473         * config/posix/affinity.c (gomp_init_thread_affinity): Add place
17474         argument.
17475         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17476         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17477         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17478         gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
17479         * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17480         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17481         (gomp_barrier_t): Add cancellable field.
17482         (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
17483         gomp_team_barrier_cancel): New prototypes.
17484         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
17485         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
17486         gomp_team_barrier_cancelled): New inline functions.
17487         (gomp_barrier_wait_start, gomp_barrier_last_thread,
17488         gomp_team_barrier_set_task_pending,
17489         gomp_team_barrier_clear_task_pending,
17490         gomp_team_barrier_set_waiting_for_tasks,
17491         gomp_team_barrier_waiting_for_tasks,
17492         gomp_team_barrier_done): Use BAR_* defines.
17493         * barrier.c (GOMP_barrier_cancel): New function.
17494         * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
17495         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17496         omp_proc_bind_spread): New params.
17497         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17498         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17499         omp_get_team_num, omp_is_initial_device): New externals.
17500         * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
17501         New functions.
17502         (gomp_resolve_num_threads): Adjust for thread_limit now being in
17503         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
17504         infinity.  If not nested, just return minimum of max_num_threads
17505         and icv->thread_limit_var and if thr->thread_pool, set threads_busy
17506         to the returned value.  Otherwise, don't update atomically
17507         gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
17508         (GOMP_parallel_end): Adjust for thread_limit now being in
17509         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
17510         infinity.  Adjust threads_busy in the pool rather than
17511         gomp_remaining_threads_count.  Remember team->nthreads and call
17512         gomp_team_end before adjusting threads_busy, if not nested
17513         afterwards, just set it to 1 non-atomically.  Add ialias.
17514         (GOMP_parallel_start): Adjust gomp_team_start caller.
17515         * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
17516         * testsuite/libgomp.c/affinity-1.c: New test.
17517         * testsuite/libgomp.c/atomic-15.c: New test.
17518         * testsuite/libgomp.c/atomic-16.c: New test.
17519         * testsuite/libgomp.c/atomic-17.c: New test.
17520         * testsuite/libgomp.c/cancel-for-1.c: New test.
17521         * testsuite/libgomp.c/cancel-for-2.c: New test.
17522         * testsuite/libgomp.c/cancel-parallel-1.c: New test.
17523         * testsuite/libgomp.c/cancel-parallel-2.c: New test.
17524         * testsuite/libgomp.c/cancel-parallel-3.c: New test.
17525         * testsuite/libgomp.c/cancel-sections-1.c: New test.
17526         * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
17527         * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
17528         * testsuite/libgomp.c/depend-1.c: New test.
17529         * testsuite/libgomp.c/depend-2.c: New test.
17530         * testsuite/libgomp.c/depend-3.c: New test.
17531         * testsuite/libgomp.c/depend-4.c: New test.
17532         * testsuite/libgomp.c/for-1.c: New test.
17533         * testsuite/libgomp.c/for-1.h: New file.
17534         * testsuite/libgomp.c/for-2.c: New test.
17535         * testsuite/libgomp.c/for-2.h: New file.
17536         * testsuite/libgomp.c/for-3.c: New test.
17537         * testsuite/libgomp.c/pr58392.c: New test.
17538         * testsuite/libgomp.c/simd-1.c: New test.
17539         * testsuite/libgomp.c/simd-2.c: New test.
17540         * testsuite/libgomp.c/simd-3.c: New test.
17541         * testsuite/libgomp.c/simd-4.c: New test.
17542         * testsuite/libgomp.c/simd-5.c: New test.
17543         * testsuite/libgomp.c/simd-6.c: New test.
17544         * testsuite/libgomp.c/target-1.c: New test.
17545         * testsuite/libgomp.c/target-2.c: New test.
17546         * testsuite/libgomp.c/target-3.c: New test.
17547         * testsuite/libgomp.c/target-4.c: New test.
17548         * testsuite/libgomp.c/target-5.c: New test.
17549         * testsuite/libgomp.c/target-6.c: New test.
17550         * testsuite/libgomp.c/target-7.c: New test.
17551         * testsuite/libgomp.c/taskgroup-1.c: New test.
17552         * testsuite/libgomp.c/thread-limit-1.c: New test.
17553         * testsuite/libgomp.c/thread-limit-2.c: New test.
17554         * testsuite/libgomp.c/thread-limit-3.c: New test.
17555         * testsuite/libgomp.c/udr-1.c: New test.
17556         * testsuite/libgomp.c/udr-2.c: New test.
17557         * testsuite/libgomp.c/udr-3.c: New test.
17558         * testsuite/libgomp.c++/affinity-1.C: New test.
17559         * testsuite/libgomp.c++/atomic-10.C: New test.
17560         * testsuite/libgomp.c++/atomic-11.C: New test.
17561         * testsuite/libgomp.c++/atomic-12.C: New test.
17562         * testsuite/libgomp.c++/atomic-13.C: New test.
17563         * testsuite/libgomp.c++/atomic-14.C: New test.
17564         * testsuite/libgomp.c++/atomic-15.C: New test.
17565         * testsuite/libgomp.c++/cancel-for-1.C: New test.
17566         * testsuite/libgomp.c++/cancel-for-2.C: New test.
17567         * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
17568         * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
17569         * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
17570         * testsuite/libgomp.c++/cancel-sections-1.C: New test.
17571         * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
17572         * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
17573         * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
17574         * testsuite/libgomp.c++/cancel-test.h: New file.
17575         * testsuite/libgomp.c++/for-9.C: New test.
17576         * testsuite/libgomp.c++/for-10.C: New test.
17577         * testsuite/libgomp.c++/for-11.C: New test.
17578         * testsuite/libgomp.c++/simd-1.C: New test.
17579         * testsuite/libgomp.c++/simd-2.C: New test.
17580         * testsuite/libgomp.c++/simd-3.C: New test.
17581         * testsuite/libgomp.c++/simd-4.C: New test.
17582         * testsuite/libgomp.c++/simd-5.C: New test.
17583         * testsuite/libgomp.c++/simd-6.C: New test.
17584         * testsuite/libgomp.c++/simd-7.C: New test.
17585         * testsuite/libgomp.c++/simd-8.C: New test.
17586         * testsuite/libgomp.c++/target-1.C: New test.
17587         * testsuite/libgomp.c++/target-2.C: New test.
17588         * testsuite/libgomp.c++/target-2-aux.cc: New file.
17589         * testsuite/libgomp.c++/target-3.C: New test.
17590         * testsuite/libgomp.c++/taskgroup-1.C: New test.
17591         * testsuite/libgomp.c++/udr-1.C: New test.
17592         * testsuite/libgomp.c++/udr-2.C: New test.
17593         * testsuite/libgomp.c++/udr-3.C: New test.
17594         * testsuite/libgomp.c++/udr-4.C: New test.
17595         * testsuite/libgomp.c++/udr-5.C: New test.
17596         * testsuite/libgomp.c++/udr-6.C: New test.
17597         * testsuite/libgomp.c++/udr-7.C: New test.
17598         * testsuite/libgomp.c++/udr-8.C: New test.
17599         * testsuite/libgomp.c++/udr-9.C: New test.
17601 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
17603         PR testsuite/57605
17604         * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
17605         ALWAYS_CFLAGS.
17607 2013-09-20  Alan Modra  <amodra@gmail.com>
17609         * configure: Regenerate.
17611 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
17613         * testsuite/libgomp.c/sections-2.c: New test.
17615 2013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
17617         * testsuite/libgomp.fortran/strassen.f90:
17618         Add dg-skip-if aarch64_tiny.
17620 2013-06-20  Iain Sandoe  <iain@codesourcery.com>
17621             Cesar Philippidis  <cesar@codesourcery.com>
17623         * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
17624         Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
17625         * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
17626         * testsuite/libgomp.fortran/fortran.exp: Likewise.
17627         * testsuite/libgomp.graphite/graphite.exp: Likewise.
17628         * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
17629         Use dg-runtest rather than gfortran-dg-runtest.
17631 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
17633         * testsuite/libgomp.c/icv-2.c: Extend current handling of
17634         Linux-based x86 systems to cover all GNU systems.
17635         * testsuite/libgomp.c/lock-3.c: Likewise.
17636         * testsuite/libgomp.c/pr48591.c: Likewise.
17638 2013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
17640         * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
17641         GNU/Hurd, as done for Linux-based systems.
17643         * config/posix/ptrlock.h: Fix comment.
17645 2013-05-27  Tobias Burnus  <burnus@net-b.de>
17647         PR fortran/57423
17648         * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
17649         omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
17650         omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
17651         omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
17652         omp_destroy_nest_lock): Correct arguments to match the one in
17653         the OpenMP spec.
17654         * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
17655         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
17656         omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
17657         omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
17659 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
17661         * testsuite/libgomp.c/loop-13.c: New test.
17662         * testsuite/libgomp.c/loop-14.c: New test.
17663         * testsuite/libgomp.c/loop-15.c: New test.
17664         * testsuite/libgomp.c++/loop-13.C: New test.
17665         * testsuite/libgomp.c++/loop-14.C: New test.
17666         * testsuite/libgomp.c++/loop-15.C: New test.
17668 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
17670         PR middle-end/56217
17671         * testsuite/libgomp.c++/pr56217.C: New test.
17673 2013-02-01  Alan Modra  <amodra@gmail.com>
17675         * task.c (GOMP_task, GOMP_taskwait): Comment.
17677 2013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
17678             Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
17680         PR libgomp/55561
17681         * config/linux/wait.h (do_spin): Use atomic load for addr.
17682         * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
17683         for intptr and ptrlock.
17684         * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
17685         for ptrlock.
17687 2013-01-22  Alan Modra  <amodra@gmail.com>
17689         PR libgomp/51376
17690         PR libgomp/56073
17691         * task.c (GOMP_task): Revert 2011-12-09 change.
17692         (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
17693         barrier to read task->children..
17694         (gomp_barrier_handle_tasks): ..and matching atomic store with
17695         release barrier here when setting parent->children to NULL.
17697 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
17698             Tobias Burnus  <burnus@net-b.de>
17700         PR driver/55884
17701         * testsuite/libgomp.fortran/fortran.exp: Use
17702         -fintrinsic-modules-path= instead of
17703         -fintrinsic-modules-path.
17705 2013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
17707         Update copyright years.
17709 2012-12-19  Tobias Burnus  <burnus@net-b.de>
17711         * testsuite/libgomp.fortran/fortran.exp: Set
17712         -fintrinsic-modules-path.
17714 2012-12-19  Tobias Burnus  <burnus@net-b.de>
17716         * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
17717         from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
17719 2012-11-21  Jakub Jelinek  <jakub@redhat.com>
17721         PR libgomp/55411
17722         * team.c (gomp_free_thread): Decrease gomp_managed_threads
17723         if pool had any threads_used.
17725 2012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
17727         * testsuite/libgomp.c++/pr24455.C: Use
17728         -Wl,-undefined,dynamic_lookup on darwin.
17730 2012-11-07  David Edelsohn  <dje.gcc@gmail.com>
17732         * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
17734 2012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
17736         * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
17738 2012-10-23  Ian Bolton  <ian.bolton@arm.com>
17739             Jim MacArthur  <jim.macarthur@arm.com>
17740             Marcus Shawcroft  <marcus.shawcroft@arm.com>
17741             Nigel Stephens  <nigel.stephens@arm.com>
17742             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
17743             Richard Earnshaw  <rearnsha@arm.com>
17744             Sofiane Naci  <sofiane.naci@arm.com>
17745             Stephen Thomas  <stephen.thomas@arm.com>
17746             Tejas Belagod  <tejas.belagod@arm.com>
17747             Yufeng Zhang  <yufeng.zhang@arm.com>
17749         * configure.tgt: Add AArch64.
17751 2012-10-04  Jason Merrill  <jason@redhat.com>
17753         * testsuite/libgomp.c++/tls-init1.C: New.
17755 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
17757         * configure: Regenerated.
17759 2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
17761         * config/linux/mips/futex.h (sys_futex0): Change to static
17762         function with noinline, nomips16 attributes under MIPS16. Adjust
17763         asm statement to place 'li v0,SYS_futex' immediately before
17764         syscall insn.
17766 2012-07-04  Sandra Loosemore <sandra@codesourcery.com>
17768         * libgomp.texi (Library Index): Renamed from "Index" to prevent
17769         conflict with index.html on case-insensitive file systems.
17771 2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
17773         * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
17774         * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
17776 2012-07-02  Richard Guenther  <rguenther@suse.de>
17777             Michael Matz  <matz@suse.de>
17778             Tobias Grosser <tobias@grosser.es>
17779             Sebastian Pop <sebpop@gmail.com>
17781         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
17782         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17783         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17784         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17786 2012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
17788         * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
17790 2012-06-22  Richard Guenther  <rguenther@suse.de>
17792         Merge from graphite branch
17793         2012-01-13  Tobias Grosser  <tobias@grosser.es>
17795         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17796         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17798 2012-06-07  Jakub Jelinek  <jakub@redhat.com>
17800         PR middle-end/53580
17801         * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
17802         use GOMP_barrier () call instead.
17803         * testsuite/libgomp.c/pr26943-3.c: Likewise.
17804         * testsuite/libgomp.c/pr26943-4.c: Likewise.
17805         * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17806         call GOMP_barrier instead.
17807         * testsuite/libgomp.fortran/vla5.f90: Likewise.
17809 2012-06-06  Jakub Jelinek  <jakub@redhat.com>
17811         PR libgomp/52993
17812         * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
17813         argument to memset call.
17815 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
17817         * configure: Regenerated.
17819 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
17821         * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
17823 2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
17825         PR bootstrap/52812
17826         * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
17828 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
17830         PR middle-end/52547
17831         * testsuite/libgomp.c/pr52547.c: New test.
17833 2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
17835         * testsuite/lib/libgomp.exp: load fortran-modules.exp
17837 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17839         * configure.tgt (mips-sgi-irix6*): Remove.
17841 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17843         * configure.tgt (alpha*-dec-osf*): Remove.
17845         * config/osf/sem.h: Remove.
17846         * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
17848 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
17850         * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
17852 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17854         PR libstdc++/52188
17855         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
17856         Remove ENABLE_SYMVERS_SOL2.
17857         * configure: Regenerate.
17858         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
17859         (PREPROCESS): New variable.
17860         (libgomp.ver): New target.
17861         [LIBGOMP_BUILD_VERSIONED_SHLIB &&
17862         LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
17863         LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
17864         Use libgomp.ver.
17865         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
17866         * Makefile.in: Regenerate.
17868 2012-02-14  Walter Lee  <walt@tilera.com>
17870         * configure.tgt: Handle tilegx and tilepro.
17871         * config/linux/tile/futex.h: New file.
17873 2012-02-08  Richard Guenther  <rguenther@suse.de>
17875         PR tree-optimization/46886
17876         * testsuite/libgomp.c/pr46886.c: New testcase.
17878 2012-01-25  Matthias Klose  <doko@ubuntu.com>
17880         * config/linux/arm: Remove empty directory.
17881         * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
17883 2011-12-09  Alan Modra  <amodra@gmail.com>
17885         PR libgomp/51376
17886         * task.c (GOMP_taskwait): Don't access task->children outside of
17887         task_lock mutex region.
17888         (GOMP_task): Likewise.
17890 2011-12-06  Jakub Jelinek  <jakub@redhat.com>
17892         PR libgomp/51132
17893         * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
17894         to file scope.
17895         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17896         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17897         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17898         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17899         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17901 2011-12-02  Alan Modra  <amodra@gmail.com>
17903         * config/linux/affinity.c: Use atomic rather than sync builtin.
17904         * config/linux/lock.c: Likewise.
17905         * config/linux/ptrlock.h: Likewise.
17906         * config/linux/ptrlock.c: Likewise.
17907         * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
17908         * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
17909         * config/linux/futex.h (atomic_write_barrier): Delete unused function.
17910         * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
17911         * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
17912         * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
17913         * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
17914         * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
17915         * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
17916         * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
17918 2011-11-30  Alan Modra  <amodra@gmail.com>
17920         PR libgomp/51298
17921         * config/linux/bar.h: Use atomic rather than sync builtins.
17922         * config/linux/bar.c: Likewise.  Add missing acquire
17923         synchronisation on generation field.
17924         * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
17925         double unlock.
17927 2011-11-30  Alan Modra  <amodra@gmail.com>
17929         * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
17930         * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
17931         * config/linux/mutex.h: Use atomic rather than sync builtins.
17932         * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
17933         * config/linux/omp-lock.h: Comment fix.
17934         * config/linux/arm/mutex.h: Delete.
17935         * config/linux/powerpc/mutex.h: Delete.
17936         * config/linux/ia64/mutex.h: Delete.
17937         * config/linux/mips/mutex.h: Delete.
17939 2011-11-30  Alan Modra  <amodra@gmail.com>
17941         PR libgomp/51249
17942         * config/linux/sem.h: Rewrite.
17943         * config/linux/sem.c: Rewrite.
17945 2011-11-28  Richard Henderson  <rth@redhat.com>
17947         * libgomp.h (enum memmodel): New.
17949 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
17951         * configure: Regenerate.
17953 2011-10-10  Matthias Klose  <doko@ubuntu.com>
17955         * config/posix95: Remove empty directory.
17957 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
17959         * testsuite/libgomp.fortran/threadprivate4.f90: New test.
17961 2011-08-19  Jakub Jelinek  <jakub@redhat.com>
17963         PR fortran/49792
17964         * testsuite/libgomp.fortran/pr49792-1.f90: New test.
17965         * testsuite/libgomp.fortran/pr49792-2.f90: New test.
17967 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17969         * config/posix95/lock.c, posix95/omp-lock.h: Remove.
17971 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17973         PR libgomp/49965
17974         * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
17976 2011-08-03  Uros Bizjak  <ubizjak@gmail.com>
17978         * config/linux/proc.h: New.
17979         * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
17980         (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
17981         (gomp_init_num_threads): Update call to cpuset_popcount.
17982         (get_num_procs): Ditto.
17983         * config/linux/affinity.c (gomp_init_affinity): Call
17984         gomp_cpuset_popcount.
17986 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
17988         PR fortran/42041
17989         PR fortran/46752
17990         * omp.h.in (omp_in_final): New prototype.
17991         * omp_lib.f90.in (omp_in_final): New interface.
17992         (omp_integer_kind, omp_logical_kind): Remove
17993         and replace all its uses in the module with 4.
17994         (openmp_version): Change to 201107.
17995         * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
17996         omp_sched_guided, omp_sched_auto): Use omp_sched_kind
17997         kind for the parameters.
17998         (omp_in_final): New external.
17999         (openmp_version): Change to 201107.
18000         * task.c (omp_in_final): New function.
18001         (gomp_init_task): Initialize final_task.
18002         (GOMP_task): Remove unused attribute from flags.  Handle final
18003         tasks.
18004         (GOMP_taskyield): New function.
18005         (omp_in_final): Return true if if (false) or final (true) task
18006         or descendant of final (true).
18007         * fortran.c (omp_in_final_): New function.
18008         * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
18009         (GOMP_3.0): Export GOMP_taskyield.
18010         * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
18011         variables.
18012         (parse_unsigned_long_list): New function.
18013         (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
18014         with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
18015         even if parse_affinity returned false.
18016         * config/linux/affinity.c (gomp_init_affinity): Handle
18017         gomp_cpu_affinity_len == 0.
18018         * libgomp_g.h (GOMP_taskyield): New prototype.
18019         * libgomp.h (struct gomp_task): Add final_task field.
18020         (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
18021         * team.c (gomp_team_start): Override new task's nthreads_var icv
18022         if list form OMP_NUM_THREADS has been used and it has value for
18023         the new nesting level.
18025         * testsuite/libgomp.c/atomic-11.c: New test.
18026         * testsuite/libgomp.c/atomic-12.c: New test.
18027         * testsuite/libgomp.c/atomic-13.c: New test.
18028         * testsuite/libgomp.c/atomic-14.c: New test.
18029         * testsuite/libgomp.c/reduction-6.c: New test.
18030         * testsuite/libgomp.c/task-5.c: New test.
18031         * testsuite/libgomp.c++/atomic-2.C: New test.
18032         * testsuite/libgomp.c++/atomic-3.C: New test.
18033         * testsuite/libgomp.c++/atomic-4.C: New test.
18034         * testsuite/libgomp.c++/atomic-5.C: New test.
18035         * testsuite/libgomp.c++/atomic-6.C: New test.
18036         * testsuite/libgomp.c++/atomic-7.C: New test.
18037         * testsuite/libgomp.c++/atomic-8.C: New test.
18038         * testsuite/libgomp.c++/atomic-9.C: New test.
18039         * testsuite/libgomp.c++/task-8.C: New test.
18040         * testsuite/libgomp.c++/reduction-4.C: New test.
18041         * testsuite/libgomp.fortran/allocatable7.f90: New test.
18042         * testsuite/libgomp.fortran/allocatable8.f90: New test.
18043         * testsuite/libgomp.fortran/crayptr3.f90: New test.
18044         * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
18045         * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
18046         * testsuite/libgomp.fortran/pointer1.f90: New test.
18047         * testsuite/libgomp.fortran/pointer2.f90: New test.
18048         * testsuite/libgomp.fortran/task4.f90: New test.
18050 2011-08-02  Tobias Burnus  <burnus@net-b.de>
18052         * libgomp.texi: Update OpenMP spec references to 3.1.
18053         (omp_in_final,OMP_PROC_BIND): New sections.
18054         (OMP_NUM_THREADS): Document that the value can be now a list.
18055         (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
18057 2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
18059         * config/linux/x86/futex.h: Check __x86_64__ instead of
18060         __LP64__.
18062 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
18064         PR middle-end/49897
18065         PR middle-end/49898
18066         * testsuite/libgomp.c/pr49897-1.c: New test.
18067         * testsuite/libgomp.c/pr49897-2.c: New test.
18068         * testsuite/libgomp.c/pr49898-1.c: New test.
18069         * testsuite/libgomp.c/pr49898-2.c: New test.
18071 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
18073         * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
18074         for ia32 instead of ilp32.
18076         * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
18077         * testsuite/libgomp.c/atomic-6.c: Likewise.
18079 2011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
18081         * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
18082         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
18084 2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18086         PR libgomp/45351
18087         * config/osf/sem.h: New file.
18088         * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
18090 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18092         PR target/49541
18093         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
18094         ldflags.
18096 2011-07-15  Jakub Jelinek  <jakub@redhat.com>
18098         * config/linux/wait.h (do_spin): New inline, largely copied
18099         from do_wait, just don't do futex_wait here, instead return true if
18100         it should be done.
18101         (do_wait): Implement using do_spin.
18102         * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
18103         to prototype.
18104         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18105         __sync_bool_compare_and_swap, pass the oldval to
18106         gomp_mutex_lock_slow.
18107         * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
18108         If all mutex contenders are just spinning and not sleeping, don't
18109         change state to 2 unnecessarily.  Optimize the loop when state has
18110         already become 2 to use just one atomic operation per loop instead
18111         of two.
18112         * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
18113         to prototype.
18114         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18115         __sync_bool_compare_and_swap, pass the oldval to
18116         gomp_mutex_lock_slow.
18118 2011-06-22  Jakub Jelinek  <jakub@redhat.com>
18120         PR libgomp/49490
18121         * iter.c (gomp_iter_static_next): For chunk size 0
18122         only use n ceil/ nthreads size for the first
18123         n % nthreads threads in the team instead of
18124         all threads except for the last few ones which
18125         get less work or none at all.
18126         * iter_ull.c (gomp_iter_ull_static_next): Likewise.
18127         * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
18128         chunk argument, set run_sched_modifier to 0 for static
18129         resp. 1 for other kinds.  If chunk argument is 0
18130         and not static, set value to 1.
18132 2011-05-19  Jakub Jelinek  <jakub@redhat.com>
18134         PR c++/49043
18135         * testsuite/libgomp.c++/pr49043.C: New test.
18137         PR c++/48869
18138         * testsuite/libgomp.c++/pr48869.C: New test.
18140 2011-05-06  Jakub Jelinek  <jakub@redhat.com>
18142         PR fortran/48894
18143         * fortran.c: Include limits.h.
18144         (TO_INT): Define.
18145         (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
18146         *set.
18147         (omp_set_num_threads_8_, omp_set_schedule_8_,
18148         omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
18149         omp_get_team_size_8_): Use TO_INT macro.
18150         * testsuite/libgomp.fortran/pr48894.f90: New test.
18152 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
18154         PR middle-end/48591
18155         * testsuite/libgomp.c/pr48591.c: New test.
18157 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18159         PR bootstrap/48135
18160         * acinclude.m4 (enable_symvers): Handle --disable-symvers.
18161         * configure: Regenerate.
18163 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
18165         PR fortran/47886
18166         * testsuite/libgomp.fortran/task3.f90: New test.
18168 2011-02-24  Tobias Burnus  <burnus@net-b.de>
18170         * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
18172 2011-02-23  Jakub Jelinek  <jakub@redhat.com>
18174         PR libgomp/47854
18175         * libgomp.texi (omp_get_wtime): Don't say time in the past
18176         must be Unix Epoch.
18178 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
18180         PR libgomp/47804
18181         * testsuite/libgomp.fortran/fortran.exp: Check for both
18182         libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
18183         but $blddir != "", still append ${blddir}/${lang_library_path}
18184         to ld_library_path.
18186 2011-02-16  Tobias Burnus  <burnus@net-b.de>
18188         PR libgomp/47758
18189         * testsuite/libgomp.fortran/fortran.exp: Check for the existence
18190         of libquadmath.a before adding its libpath to ldflags.
18192 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
18194         PR libgomp/47731
18195         * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
18196         to FUTEX_WAIT futex syscall.
18197         * config/linux/wait.h: Include <futex.h> instead of "futex.h".
18199 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18201         * configure: Regenerate.
18203 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
18205         PR libstdc++/36104
18206         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
18208 2011-01-16  Gerald Pfeifer
18210         * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
18212 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
18214         PR fortran/46874
18215         * libgomp.fortran/allocatable6.f90: New test.
18217 2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18219         * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
18220         * configure: Regenerate.
18222 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
18224         PR target/40125
18225         PR lto/46695
18226         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
18227         * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
18228         * aclocal.m4: Regenerate.
18229         * configure: Regenerate.
18230         * Makefile.in: Regenerate.
18231         * testsuite/Makefile.in: Regenerate.
18233 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
18235         PR fortran/46753
18236         * libgomp.fortran/pr46753.f90: New test.
18238         PR libgomp/43706
18239         * env.c (initialize_env): Default to spin count 300000
18240         instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
18241         is specified.
18243         PR libgomp/45240
18244         * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
18245         at the end if sync builtins aren't supported.
18247 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18249         * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
18251 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18253         * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
18255 2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
18257         * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
18259 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
18260             Tobias Burnus  <burnus@net-b.de>
18262         PR fortran/32049
18263         * configure.ac:
18264         * configure: Regenerate.
18266 2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
18268         * config/linux/futex.h: New.
18269         * config/linux/arm/mutex.h: New.
18270         * configure.tgt (arm*-*-linux*): Add config path.
18272 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
18274         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18276 2010-09-23  Tobias Burnus  <burnus@net-b.de>
18278         * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
18279         Change Fortran datatype to LOGICAL.
18280         (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
18281         omp_unset_nested_lock): Use intent(inout) instead of intent(out).
18283 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18285         * configure: Regenerate.
18287 2010-07-26  Jakub Jelinek  <jakub@redhat.com>
18289         * libgomp.texi: Add function keyword to a couple of Fortran
18290         interfaces, use integer instead of int for Fortran.
18292 2010-07-26  Aldy Hernandez  <aldyh@redhat.com>
18294         * libgomp.texi: Fix spelling and pasto problems throughout.
18295         Adjust prototypes to match code.
18297 2010-07-24  Tobias Burnus  <burnus@net-b.de>
18299         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
18300         silence -fwhole-file warning.
18302 2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18304         * configure.tgt (*-*-solaris2.[56]*): Removed.
18306 2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18308         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
18309         Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
18310         LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
18311         (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
18312         targetting solaris2*.
18313         * configure: Regenerate.
18314         * config.h.in: Regenerate.
18316         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
18317         libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
18318         Add libgomp_version_dep.
18319         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
18320         versioning.
18321         [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
18322         (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
18323         * Makefile.in: Regenerate.
18325         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
18326         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18327         * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
18328         to common block, protected by
18329         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18331 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
18333         * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
18335 2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
18337         PR bootstrap/43170
18338         * configure: Regenerate.
18340 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18342         PR other/43620
18343         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
18344         * configure: Regenerate.
18345         * Makefile.in: Regenerate.
18346         * testsuite/Makefile.in: Regenerate.
18348 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
18350         PR c/43893
18351         * testsuite/libgomp.c/pr43893.c: New test.
18352         * testsuite/libgomp.c++/pr43893.C: New test.
18354 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
18356         PR middle-end/43570
18357         * testsuite/libgomp.fortran/vla8.f90: New test.
18359 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
18361         PR libgomp/43706
18362         * config/linux/affinity.c (gomp_init_affinity): Decrease
18363         gomp_available_cpus if affinity mask confines the process to fewer
18364         CPUs.
18365         * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
18366         non-NULL, just return gomp_available_cpus.
18368         PR libgomp/43569
18369         * sections.c (gomp_sections_init): Initialize ws->mode.
18371 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
18373         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
18374         not unused bar variable.
18375         * configure: Regenerate.
18377 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18379         * Makefile.in: Regenerate.
18380         * aclocal.m4: Regenerate.
18381         * testsuite/Makefile.in: Regenerate.
18383 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
18385         PR libgomp/42942
18386         * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
18387         (initialize_env): Adjust callers.
18388         (omp_set_max_active_levels): Set gomp_max_active_levels_var even
18389         when the argument is 0.
18391         * testsuite/libgomp.c/pr42942.c: New test.
18393 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
18395         PR middle-end/42644
18396         PR middle-end/42130
18397         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18398         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
18400 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18402         * testsuite/libgomp.c++/task-1.C: Renamed err to e.
18403         * testsuite/libgomp.c++/task-6.C: Likewise.
18405 2010-01-28  Steve Ellcey  <sje@cup.hp.com>
18407         * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
18409 2010-01-26  Paolo Bonzini  <bonzini@gnu.org>
18411         * configure.ac: Test for executability of _the first word_ of GFORTRAN.
18412         * configure: Regenerate.
18414 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
18416         PR fortran/42866
18417         * testsuite/libgomp.fortran/allocatable5.f90: New test.
18419 2010-01-20  Paolo Bonzini  <bonzini@gnu.org>
18421         * configure.ac: Test for executability of GFORTRAN.
18422         * configure: Regenerate.
18424 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18426         * configure: Regenerate.
18428 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
18430         PR libgomp/42602
18431         * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
18433 2010-01-03  Richard Guenther  <rguenther@suse.de>
18435         * testsuite/libgomp.fortran/recursion1.f90: New testcase.
18437 2009-12-23  Sebastian Pop  <sebpop@gmail.com>
18439         * testsuite/libgomp.graphite/pr4118.c: New.
18441 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
18443         * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
18444         for darwin, protect the test with require-effective-target tls_runtime.
18445         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
18447 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
18449         PR target/41605
18450         * testsuite/lib/libgomp.exp: Provide -B options to allow for
18451         link spec %s substitutions for static libraries.
18453 2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
18455         PR testsuite/42135
18456         * libgomp.graphite/force-parallel-2.c: Reduce array size.
18458 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18460         * Makefile.in: Regenerate.
18461         * configure: Regenerate.
18462         * testsuite/Makefile.in: Regenerate.
18464 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
18466         * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
18467         settings for LC_ALL and LANG.
18469 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
18471         PR fortran/42162
18472         * testsuite/libgomp.fortran/pr42162.f90: New test.
18474 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
18476         PR middle-end/42029
18477         * testsuite/libgomp.c/pr42029.c: New test.
18479 2009-10-26  Jakub Jelinek  <jakub@redhat.com>
18481         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
18482         *s.  Accept ld version without text in ()s.
18483         * configure: Regenerated.
18485 2009-10-22  Razya Ladelsky  <razya@il.ibm.com>
18487         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
18489 2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18491         PR libgomp/41418
18492         * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
18493         or a hyphen (happens with fortran language disabled).
18494         * configure: Regenerate.
18496 2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18498         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
18499         use sed script portable to Solaris /bin/sed for extracting ld
18500         version.
18501         * configure: Regenerate.
18503 2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
18505         * testsuite/libgomp.graphite/bounds.c: New test.
18507 2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18509         * Makefile.am (libgomp_la_LINK): New.
18510         * Makefile.in: Regenerate.
18512 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18514         * configure.ac (AC_PREREQ): Bump to 2.64.
18516 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18518         * Makefile.am (install-html, install-pdf): Remove.
18519         * Makefile.in: Regenerate.
18521         * Makefile.in: Regenerate.
18522         * aclocal.m4: Regenerate.
18523         * config.h.in: Regenerate.
18524         * configure: Regenerate.
18525         * testsuite/Makefile.in: Regenerate.
18527 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18529         * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
18530         * Makefile.in: Regenerate.
18532 2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
18534         * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
18535         * Makefile.in: Regenerate.
18537 2009-08-19  Tobias Burnus  <burnus@net-b.de>
18539         PR fortran/41102
18540         omp_lib.h.in: Fix -std=f95 errors.
18542 2009-08-14  David Edelsohn  <edelsohn@gnu.org>
18544         * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
18545         * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
18546         * testsuite/libgomp.graphite/graphite.exp: New.
18548 2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
18550         * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
18551         only build.
18553 2009-08-04  David Daney  <ddaney@caviumnetworks.com>
18555         * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
18556         needed memory barrier semantics.
18557         * config/linux/mips/mutex.h: New file.
18559 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18561         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
18563 2009-07-16  Joseph Myers  <joseph@codesourcery.com>
18565         * configure: Regenerate.
18567 2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
18569         PR testsuite/40699
18570         PR testsuite/40707
18571         PR testsuite/40709
18572         * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
18573         * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
18574         testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
18576 2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
18578         * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
18579         options when choosing a multilib.
18581 2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
18583         * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
18584         ld_library_path.  Use add_path.  Add just find_libgcc_s to
18585         ld_library_path, not every libgcc multilib directory.
18586         * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
18587         gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
18588         * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
18589         Use add_path.
18590         * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
18592 2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
18594         * Makefile.am (LTLDFLAGS): Define.
18595         (LINK): Define.
18596         * Makefile.in: Regenerate.
18598 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
18600         PR fortran/39718
18601         * testsuite/libgomp.fortran/fortran.exp: Don't link with
18602         libgfortranbegin, check existence of libgfortran.a instead of
18603         libgfortranbegin.a.
18605 2009-05-20  Jakub Jelinek  <jakub@redhat.com>
18607         PR libgomp/40174
18608         * team.c (gomp_thread_start): Destroy thr->release semaphore.
18609         (gomp_free_pool_helper): Likewise.
18611 2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
18612             Jakub Jelinek  <jakub@redhat.com>
18614         PR fortran/35423
18615         * testsuite/libgomp.fortran/workshare2.f90: New test.
18617 2009-04-09  Nick Clifton  <nickc@redhat.com>
18619         * iter.c: Change copyright header to refer to version 3 of the
18620         GNU General Public License with version 3.1 of the GCC Runtime
18621         Library Exception and to point readers at the COPYING3 and
18622         COPYING3.RUNTIME files and the FSF's license web page.
18623         * alloc.c: Likewise.
18624         * barrier.c: Likewise.
18625         * config/bsd/proc.c: Likewise.
18626         * config/linux/affinity.c: Likewise.
18627         * config/linux/alpha/futex.h: Likewise.
18628         * config/linux/bar.c: Likewise.
18629         * config/linux/bar.h: Likewise.
18630         * config/linux/ia64/futex.h: Likewise.
18631         * config/linux/ia64/mutex.h: Likewise.
18632         * config/linux/lock.c: Likewise.
18633         * config/linux/mips/futex.h: Likewise.
18634         * config/linux/mutex.c: Likewise.
18635         * config/linux/mutex.h: Likewise.
18636         * config/linux/powerpc/futex.h: Likewise.
18637         * config/linux/proc.c: Likewise.
18638         * config/linux/ptrlock.c: Likewise.
18639         * config/linux/ptrlock.h: Likewise.
18640         * config/linux/s390/futex.h: Likewise.
18641         * config/linux/sem.c: Likewise.
18642         * config/linux/sem.h: Likewise.
18643         * config/linux/sparc/futex.h: Likewise.
18644         * config/linux/wait.h: Likewise.
18645         * config/linux/x86/futex.h: Likewise.
18646         * config/mingw32/proc.c: Likewise.
18647         * config/mingw32/time.c: Likewise.
18648         * config/posix/affinity.c: Likewise.
18649         * config/posix/bar.c: Likewise.
18650         * config/posix/bar.h: Likewise.
18651         * config/posix/lock.c: Likewise.
18652         * config/posix/mutex.h: Likewise.
18653         * config/posix/proc.c: Likewise.
18654         * config/posix/ptrlock.h: Likewise.
18655         * config/posix/sem.c: Likewise.
18656         * config/posix/sem.h: Likewise.
18657         * config/posix/time.c: Likewise.
18658         * config/posix95/lock.c: Likewise.
18659         * critical.c: Likewise.
18660         * env.c: Likewise.
18661         * error.c: Likewise.
18662         * fortran.c: Likewise.
18663         * iter_ull.c: Likewise.
18664         * libgomp.h: Likewise.
18665         * libgomp_f.h.in: Likewise.
18666         * libgomp_g.h: Likewise.
18667         * loop.c: Likewise.
18668         * loop_ull.c: Likewise.
18669         * omp.h.in: Likewise.
18670         * omp_lib.f90.in: Likewise.
18671         * omp_lib.h.in: Likewise.
18672         * ordered.c: Likewise.
18673         * parallel.c: Likewise.
18674         * sections.c: Likewise.
18675         * single.c: Likewise.
18676         * task.c: Likewise.
18677         * team.c: Likewise.
18678         * work.c: Likewise.
18680 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
18682         * testsuite/config/default.exp: Change copyright header to refer to
18683         version 3 of the GNU General Public License and to point readers
18684         at the COPYING3 file and the FSF's license web page.
18686 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
18688         PR middle-end/39573
18689         * libgomp.c++/pr39573.C: New test.
18691 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
18693         PR other/39591
18694         * testsuite/libgomp.c/pr39591-1.c: New test.
18695         * testsuite/libgomp.c/pr39591-2.c: New test.
18696         * testsuite/libgomp.c/pr39591-3.c: New test.
18698 2009-03-25  Uros Bizjak  <ubizjak@gmail.com>
18700         * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
18701         * testsuite/libgomp.c/atomic-6.c: Ditto.
18703 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
18705         PR c/39495
18706         * testsuite/libgomp.c/loop-12.c: New test.
18707         * testsuite/libgomp.c/loop-11.c: New test.
18708         * testsuite/libgomp.c++/loop-11.C: New test.
18709         * testsuite/libgomp.c++/loop-12.C: New test.
18710         * testsuite/libgomp.c++/for-8.C: New test.
18712 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18714         * configure: Regenerate.
18716 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
18718         PR middle-end/39154
18719         * testsuite/libgomp.c/pr39154.c: New test.
18721 2009-01-30  Ian Lance Taylor  <iant@google.com>
18723         * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
18724         libgomp_ld_is_gold.  Get gold version number.
18725         (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
18726         * configure: Rebuild.
18728 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
18730         * testsuite/lib/libgomp.exp: Add -B option for targets that
18731         use libgfortran.a%s in their specs.
18733 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
18735         PR libgomp/38086
18736         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
18737         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
18738         HAVE_AS_SYMVER_DIRECTIVE is not defined.
18739         * configure: Regenerated.
18740         * config.h.in: Likewise.
18742 2008-12-28  Jakub Jelinek  <jakub@redhat.com>
18744         PR c++/38650
18745         * testsuite/libgomp.c/pr38650.c: New test.
18746         * testsuite/libgomp.c++/pr38650.C: New test.
18748 2008-12-27  Jakub Jelinek  <jakub@redhat.com>
18750         * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
18752 2008-12-26  Uros Bizjak  <ubizjak@gmail.com>
18754         * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
18756 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18758         * configure: Regenerate.
18760 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
18762         PR middle-end/36802
18763         * testsuite/libgomp.c/pr36802-1.c: New test.
18764         * testsuite/libgomp.c/pr36802-2.c: New test.
18765         * testsuite/libgomp.c/pr36802-3.c: New test.
18767 2008-12-01  Janis Johnson  <janis187@us.ibm.com>
18769         PR libgomp/38270
18770         * config/linux/powerpc/mutex.h: New.
18772 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
18774         PR c++/38257
18775         * testsuite/libgomp.c++/for-7.C: New test.
18777         PR c++/38348
18778         * testsuite/libgomp.c++/for-6.C: New test.
18780 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
18782         PR testsuite/28870
18783         * testsuite/lib/libgomp.exp: Include new timeout library files.
18784         (libgomp_target_compile): Set timeout value from new proc.
18786 2008-11-13  Steve Ellcey  <sje@cup.hp.com>
18788         PR libgomp/37938
18789         * config/linux/ia64/mutex.h: New.
18791 2008-11-04  Tobias Burnus  <burnus@net-b.de>
18793         PR libgomp/37935
18794         * libgomp.texi (Runtime library routines, environment variables):
18795         Update for OpenMP version 3.0.
18797 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
18798             Steve Ellcey  <sje@cup.hp.com>
18800         * configure: Regenerate for new libtool.
18801         * Makefile.in: Ditto.
18802         * testsuite/Makefile.in: Ditto.
18804 2008-09-19  Jakub Jelinek  <jakub@redhat.com>
18805             Andreas Tobler  <a.tobler@schweiz.org>
18807         * config/bsd/proc.c: New file.
18808         * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
18809         * configure.ac: Check for header <sys/sysctl.h>
18810         * configure: Regenerate.
18811         * config.h.in: Likewise.
18813 2008-09-05  Janis Johnson  <janis187@us.ibm.com>
18815         * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
18817 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
18819         * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
18820         * Makefile.in: Regenerated.
18821         * testsuite/Makefile.in: Regenerated.
18823 2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
18825         * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
18826         depend on blddir if blddir exists.
18827         (libgomp_target_compile): Likewise.
18828         * testsuite/libgomp.c++/c++.exp: Likewise.
18829         * testsuite/libgomp.fortran/fortran.exp: Likewise.
18831 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18833         * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
18834         Do not list GPL as Invariant Section.
18836 2008-07-28  Ilie Garbacea  <ilie@mips.com>
18837             Chao-ying Fu  <fu@mips.com>
18839         * configure.tgt: Enable futex for MIPS.
18840         * config/linux/mips/futex.h: New file.
18842 2008-07-16  Jakub Jelinek  <jakub@redhat.com>
18844         * team.c (gomp_team_end): Free team immediately if it has
18845         just one thread.
18847 2008-07-08  David Edelsohn  <edelsohn@gnu.org>
18849         * testsuite/libgomp.c++/c++.exp: Append multilib library path.
18850         * testsuite/libgomp.fortran/fortran.exp: Same.
18851         * testsuite/libgomp.c/c.exp: Same.
18852         * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
18853         directory to library path first.
18855 2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
18857         * env.c (parse_stacksize): Add cast to avoid warning.
18858         (parse_spincount): Likewise.
18860 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
18862         * testsuite/libgomp.c/loop-10.c: New test.
18863         * libgomp.c/loop-3.c (main): Add lastprivate clause.
18864         * libgomp.c++/loop-6.C (main): Likewise.
18866         PR debug/36617
18867         * testsuite/libgomp.c/debug-1.c: New test.
18869 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
18871         * testsuite/libgomp.c/nqueens-1.c: New test.
18873         PR c++/36523
18874         * testsuite/libgomp.c++/task-7.C: New function.
18876 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18878         * configure: Regenerate.
18880 2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
18882         * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
18883         mutex when HAVE_SYNC_BUILTINS isn't defined.
18885 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18887         * libgomp.texi (omp_test_lock): Fix typo.
18889 2008-06-12  Tobias Burnus  <burnus@net-b.de>
18891         * omp_lib.f90.in: Add "implicit none".
18893 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
18895         PR middle-end/36506
18896         * testsuite/libgomp.c/reduction-5.c: New test.
18898 2008-06-11  Jakub Jelinek  <jakub@redhat.com>
18900         * libgomp.h (struct gomp_task): Add in_tied_task field.
18901         * task.c (gomp_init_task): Initialize it.
18902         (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
18903         unconditionally.  Don't call gomp_team_barrier_wake if
18904         current task is implicit or if(0) from implicit and number of
18905         running tasks is equal to nthreads - 1.
18907         PR libgomp/36471
18908         * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
18909         omp_get_team_size_8): Fix pastos.
18911         PR libgomp/36469
18912         * configure.ac: Add AC_CHECK_FUNCS (strtoull).
18913         * configure: Regenerated.
18914         * config.h.in: Regenerated.
18915         * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
18916         defined.
18918 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
18920         PR bootstrap/36452
18921         * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
18922         (GOMP_loop_ull_dynamic_start): Likewise.
18923         (GOMP_loop_ull_guided_start): Likewise.
18924         (GOMP_loop_ull_ordered_static_start): Likewise.
18925         (GOMP_loop_ull_ordered_dynamic_start): Likewise.
18926         (GOMP_loop_ull_ordered_guided_start): Likewise.
18928 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
18929             Richard Henderson  <rth@redhat.com>
18930             Ulrich Drepper  <drepper@redhat.com>
18931             Jakob Blomer  <jakob.blomer@ira.uka.de>
18933         * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
18934         Substitute also OMP_*LOCK_25*.
18935         * configure: Regenerated.
18936         * config.h.in: Regenerated.
18937         * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
18938         ptrlock.c and task.c.
18939         * Makefile.in: Regenerated.
18940         * testsuite/Makefile.in: Regenerated.
18941         * task.c: New file.
18942         * loop_ull.c: New file.
18943         * iter_ull.c: New file.
18944         * libgomp.h: Include ptrlock.h.
18945         (enum gomp_task_kind): New type.
18946         (struct gomp_team): Add task_lock, task_queue, task_count,
18947         task_running_count, single_count fields.  Add
18948         work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
18949         Remove work_share_lock, generation_mask,
18950         oldest_live_gen, num_live_gen and init_work_shares fields, add
18951         work work_share_list_alloc, work_share_list_free and work_share_chunk
18952         fields.  Change work_shares from pointer to pointers into an array.
18953         Change ordered_release field into gomp_sem_t ** from flexible array
18954         member.  Add implicit_task and initial_work_shares fields.
18955         Move close to the end of the struct.
18956         (struct gomp_team_state): Add single_count, last_work_share,
18957         active_level and level fields, remove work_share_generation.
18958         (gomp_barrier_handle_tasks): New prototype.
18959         (gomp_finish_task): New inline function.
18960         (struct gomp_work_share): Move chunk_size, end, incr into
18961         transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
18962         next_ll fields.  Reshuffle fields.  Add next_alloc,
18963         next_ws, next_free and inline_ordered_team_ids fields, change
18964         ordered_team_ids into pointer from flexible array member.
18965         Add mode field.  Put lock and next into a different cache line
18966         from most of the write-once fields.
18967         (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
18968         gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
18969         gomp_iter_ull_guided_next): New prototypes.
18970         (gomp_new_icv): New prototype.
18971         (struct gomp_thread): Add thread_pool and task fields.
18972         (struct gomp_thread_pool): New type.
18973         (gomp_new_team): New prototype.
18974         (gomp_team_start): Change type of last argument.
18975         (gomp_new_work_share): Removed.
18976         (gomp_init_work_share, gomp_fini_work_share): New prototypes.
18977         (gomp_work_share_init_done): New static inline.
18978         (gomp_throttled_spin_count_var, gomp_available_cpus,
18979         gomp_managed_threads): New extern decls.
18980         (gomp_init_task): New prototype.
18981         (gomp_spin_count_var): New extern var decl.
18982         (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
18983         or no alias support, or if not PIC.
18984         (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
18985         gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
18986         gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
18987         gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
18988         gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
18989         gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
18990         gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
18991         gomp_test_nest_lock_25): New prototypes.
18992         (omp_lock_symver, strong_alias): Define.
18993         (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
18994         decls.
18995         (gomp_end_task): New.
18996         (struct gomp_task_icv, gomp_global_icv): New.
18997         (gomp_thread_limit_var, gomp_max_active_levels_var): New.
18998         (struct gomp_task): New.
18999         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19000         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19001         (gomp_icv): New.
19002         (gomp_schedule_type): Reorder enum to match
19003         omp_sched_t.
19004         * team.c (struct gomp_thread_start_data): Add thread_pool and task
19005         fields.
19006         (gomp_thread_start): Add gomp_team_barrier_wait call.
19007         For non-nested case remove clearing of docked thread thr fields.
19008         Use pool fields instead of global gomp_* variables.  Use
19009         gomp_barrier_wait_last when needed.  Initialize ts.active_level.
19010         Create tasks for each member thread.
19011         (free_team): Only destroy team barrier, task_lock here and free it.
19012         (gomp_free_thread): Free last_team if non-NULL.
19013         (gomp_team_end): Call gomp_team_barrier_wait instead of
19014         gomp_barrier_wait.  For nested case call one extra
19015         gomp_barrier_wait.  Move here some destruction from free_team.
19016         Call free_team on pool->last_team if any, rather than freeing
19017         current team.  Destroy work_share_list_free_lock ifndef
19018         HAVE_SYNC_BUILTINS.
19019         (gomp_new_icv): New function.
19020         (gomp_threads, gomp_threads_size, gomp_threads_used,
19021         gomp_threads_dock): Removed.
19022         (gomp_thread_destructor): New variable.
19023         (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
19024         functions.
19025         (gomp_team_start): Create new pool if current thread doesn't have
19026         one.  Use pool fields instead of global gomp_* variables.
19027         Initialize thread_pool field for new threads.  Clear single_count.
19028         Change last argument from ws to team, don't create
19029         new team, set ts.work_share to &team->work_shares[0] and clear
19030         ts.last_work_share.  Don't clear ts.work_share_generation.
19031         If number of threads changed, adjust atomically gomp_managed_threads.
19032         Use gomp_init_task instead of gomp_new_task,
19033         set thr->task to the corresponding implicit_task array entry.
19034         Create tasks for each member thread.  Initialize ts.level.
19035         (initialize_team): Call pthread_key_create on
19036         gomp_thread_destructor.
19037         (team_destructor): New function.
19038         (new_team): Removed.
19039         (gomp_new_team): New function.
19040         (free_team): Free gomp_work_share blocks chained through next_alloc,
19041         instead of freeing work_shares and destroying work_share_lock.
19042         (gomp_team_end): Call gomp_fini_work_share.  If number of threads
19043         changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
19044         * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
19045         of gomp_barrier_wait.
19046         * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
19047         instead of gomp_barrier_wait.  Call gomp_work_share_init_done
19048         if gomp_work_share_start returned true.  Don't unlock ws->lock.
19049         (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
19050         of gomp_barrier_wait.
19051         (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
19052         gomp_work_share_init_done if gomp_work_share_start returned true.
19053         Don't unlock ws->lock.
19054         * work.c: Include stddef.h.
19055         (free_work_share): Use work_share_list_free_lock instead
19056         of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
19057         Call gomp_fini_work_share and then either free ws if orphaned, or
19058         put it into work_share_list_free list of the current team.
19059         (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
19060         functions.
19061         (gomp_work_share_start, gomp_work_share_end,
19062         gomp_work_share_end_nowait): Rewritten.
19063         * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
19064         (openmp_version): Set to 200805.
19065         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
19066         omp_sched_guided, omp_sched_auto): New parameters.
19067         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19068         omp_set_max_active_levels, omp_get_max_active_levels,
19069         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19070         omp_get_active_level): New interfaces.
19071         * omp_lib.h.in (openmp_version): Set to 200805.
19072         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
19073         omp_sched_guided, omp_sched_auto): New parameters.
19074         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19075         omp_set_max_active_levels, omp_get_max_active_levels,
19076         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19077         omp_get_active_level): New externals.
19078         * loop.c: Include limits.h.
19079         (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
19080         GFS_AUTO.
19081         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
19082         Likewise.  Use gomp_icv.
19083         (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
19084         ts.static_trip here.
19085         (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
19086         gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
19087         (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
19088         gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
19089         don't unlock ws->lock, otherwise lock it.
19090         (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
19091         gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
19092         (gomp_parallel_loop_start): Call gomp_new_team instead of
19093         gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
19094         Adjust gomp_team_start caller.  Pass 0 as second argument to
19095         gomp_resolve_num_threads.
19096         (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
19097         If adding ws->chunk_size nthreads + 1 times after end won't
19098         overflow, set ws->mode to 1.
19099         * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
19100         GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
19101         GOMP_loop_ull_ordered_static_start,
19102         GOMP_loop_ull_ordered_dynamic_start,
19103         GOMP_loop_ull_ordered_guided_start,
19104         GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
19105         GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
19106         GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
19107         GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
19108         GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
19109         prototypes.
19110         * libgomp.map: Export lock routines also @@OMP_2.0.
19111         (GOMP_loop_ordered_dynamic_first,
19112         GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
19113         GOMP_loop_ordered_static_first): Remove.
19114         (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
19115         GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
19116         GOMP_loop_ull_ordered_dynamic_next,
19117         GOMP_loop_ull_ordered_dynamic_start,
19118         GOMP_loop_ull_ordered_guided_next,
19119         GOMP_loop_ull_ordered_guided_start,
19120         GOMP_loop_ull_ordered_runtime_next,
19121         GOMP_loop_ull_ordered_runtime_start,
19122         GOMP_loop_ull_ordered_static_next,
19123         GOMP_loop_ull_ordered_static_start,
19124         GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
19125         GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
19126         GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
19127         (omp_set_schedule, omp_get_schedule,
19128         omp_get_thread_limit, omp_set_max_active_levels,
19129         omp_get_max_active_levels, omp_get_level,
19130         omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
19131         omp_set_schedule_, omp_set_schedule_8_,
19132         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19133         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19134         omp_get_max_active_levels_, omp_get_level_,
19135         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19136         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19137         New exports @@OMP_3.0.
19138         * omp.h.in (omp_sched_t): New type.
19139         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19140         omp_set_max_active_levels, omp_get_max_active_levels,
19141         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19142         omp_get_active_level): New prototypes.
19143         * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
19144         gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
19145         gomp_thread_limit_var, gomp_remaining_threads_count,
19146         gomp_remaining_threads_lock): New variables.
19147         (parse_spincount): New function.
19148         (initialize_env): Call gomp_init_num_threads unconditionally.
19149         Initialize gomp_available_cpus.  Call parse_spincount,
19150         initialize gomp_{,throttled_}spin_count_var
19151         depending on presence and value of OMP_WAIT_POLICY and
19152         GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
19153         Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
19154         OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
19155         for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
19156         gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
19157         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19158         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19159         (gomp_global_icv): New.
19160         (parse_schedule): Use it.  Parse "auto".
19161         (omp_set_num_threads): Use gomp_icv.
19162         (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
19163         Likewise.
19164         (omp_get_max_threads): Move from parallel.c.
19165         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19166         omp_set_max_active_levels, omp_get_max_active_levels): New functions,
19167         add ialias.
19168         (parse_stacksize, parse_wait_policy): New functions.
19169         * fortran.c: Rewrite lock wrappers, if symbol versioning provide
19170         both wrappers for compatibility and new locks.
19171         (omp_set_schedule, omp_get_schedule,
19172         omp_get_thread_limit, omp_set_max_active_levels,
19173         omp_get_max_active_levels, omp_get_level,
19174         omp_get_ancestor_thread_num, omp_get_team_size,
19175         omp_get_active_level): New ialias_redirect.
19176         (omp_set_schedule_, omp_set_schedule_8_,
19177         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19178         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19179         omp_get_max_active_levels_, omp_get_level_,
19180         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19181         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19182         New functions.
19183         * parallel.c: Include limits.h.
19184         (gomp_resolve_num_threads): Add count argument.  Rewritten.
19185         (GOMP_parallel_start): Call gomp_new_team and pass that as last
19186         argument to gomp_team_start.  Pass 0 as second argument to
19187         gomp_resolve_num_threads.
19188         (GOMP_parallel_end): Decrease gomp_remaining_threads_count
19189         if gomp_thread_limit_var != ULONG_MAX.
19190         (omp_in_parallel): Implement using ts.active_level.
19191         (omp_get_max_threads): Move to env.c.
19192         (omp_get_level, omp_get_ancestor_thread_num,
19193         omp_get_team_size, omp_get_active_level): New functions,
19194         add ialias.
19195         * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
19196         after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
19197         gomp_iter_dynamic_next instead of the _locked variant and don't take
19198         lock around it, otherwise acquire it before calling
19199         gomp_iter_dynamic_next_locked.
19200         (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
19201         gomp_iter_dynamic_next instead of the _locked variant and don't take
19202         lock around it.
19203         (GOMP_parallel_sections_start): Call gomp_new_team instead of
19204         gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
19205         Adjust gomp_team_start caller.  Pass count as second argument to
19206         gomp_resolve_num_threads, don't adjust num_threads after the call.
19207         Use gomp_icv.
19208         * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
19209         ws->chunk_size by incr.
19210         (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
19211         code.
19212         * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
19213         types.
19214         (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
19215         (omp_check_defines): Check even the compat defines.
19216         * config/linux/ptrlock.c: New file.
19217         * config/linux/ptrlock.h: New file.
19218         * config/linux/wait.h: New file.
19219         * config/posix/ptrlock.c: New file.
19220         * config/posix/ptrlock.h: New file.
19221         * config/linux/bar.h (gomp_team_barrier_wait,
19222         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19223         (gomp_team_barrier_set_task_pending,
19224         gomp_team_barrier_clear_task_pending,
19225         gomp_team_barrier_set_waiting_for_tasks,
19226         gomp_team_barrier_waiting_for_tasks,
19227         gomp_team_barrier_done): New inlines.
19228         (gomp_barrier_t): Rewritten.
19229         (gomp_barrier_state_t): New typedef.
19230         (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
19231         gomp_barrier_wait_start): Rewritten.
19232         (gomp_barrier_wait_end): Change second argument to
19233         gomp_barrier_state_t.
19234         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19235         inlines.
19236         * config/linux/bar.c: Include wait.h instead of libgomp.h and
19237         futex.h.
19238         (gomp_barrier_wait_end): Rewritten.
19239         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19240         gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
19241         * config/posix/bar.h (gomp_barrier_t): Add generation field.
19242         (gomp_barrier_state_t): New typedef.
19243         (gomp_team_barrier_wait,
19244         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19245         (gomp_barrier_wait_start): Or all but low 2 bits from generation
19246         into the return value.  Return gomp_barrier_state_t.
19247         (gomp_team_barrier_set_task_pending,
19248         gomp_team_barrier_clear_task_pending,
19249         gomp_team_barrier_set_waiting_for_tasks,
19250         gomp_team_barrier_waiting_for_tasks,
19251         gomp_team_barrier_done): New inlines.
19252         (gomp_barrier_wait_end): Change second argument to
19253         gomp_barrier_state_t.
19254         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19255         inlines.
19256         * config/posix/bar.c (gomp_barrier_init): Clear generation field.
19257         (gomp_barrier_wait_end): Change second argument to
19258         gomp_barrier_state_t.
19259         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19260         gomp_team_barrier_wake): New functions.
19261         * config/linux/mutex.c: Include wait.h instead of libgomp.h and
19262         futex.h.
19263         (gomp_futex_wake, gomp_futex_wait): New variables.
19264         (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
19265         * config/linux/lock.c: Rewrite to make locks task owned,
19266         for backwards compatibility provide the old entrypoints
19267         if symbol versioning.  Include wait.h instead of libgomp.h and
19268         futex.h.
19269         (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
19270         * config/posix95/lock.c: Rewrite to make locks task owned,
19271         for backwards compatibility provide the old entrypoints
19272         if symbol versioning.
19273         * config/posix/lock.c: Rewrite to make locks task owned,
19274         for backwards compatibility provide the old entrypoints
19275         if symbol versioning.
19276         * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
19277         (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
19278         * config/posix/proc.c, config/mingw32/proc.c: Similarly.
19279         * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19280         (sys_futex0): Return error code.
19281         (futex_wake, futex_wait): If ENOSYS was returned, clear
19282         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19283         (cpu_relax, atomic_write_barrier): New static inlines.
19284         * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19285         (futex_wake, futex_wait): If ENOSYS was returned, clear
19286         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19287         (cpu_relax, atomic_write_barrier): New static inlines.
19288         * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19289         (sys_futex0): Return error code.
19290         (futex_wake, futex_wait): If ENOSYS was returned, clear
19291         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19292         (cpu_relax, atomic_write_barrier): New static inlines.
19293         * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19294         (sys_futex0): Return error code.
19295         (futex_wake, futex_wait): If ENOSYS was returned, clear
19296         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19297         (cpu_relax, atomic_write_barrier): New static inlines.
19298         * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19299         (sys_futex0): Return error code.
19300         (futex_wake, futex_wait): If ENOSYS was returned, clear
19301         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19302         (cpu_relax, atomic_write_barrier): New static inlines.
19303         * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19304         (sys_futex0): Return error code.
19305         (futex_wake, futex_wait): If ENOSYS was returned, clear
19306         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19307         (cpu_relax, atomic_write_barrier): New static inlines.
19308         * config/linux/sem.c: Include wait.h instead of libgomp.h and
19309         futex.h.
19310         (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
19311         * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
19312         * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
19313         types.
19314         (omp_nest_lock_t): Change owner into void *, add lock field.
19315         * config/posix95/omp-lock.h: Include semaphore.h.
19316         (omp_lock_25_t, omp_nest_lock_25_t): New types.
19317         (omp_lock_t): Use sem_t instead of mutex if semaphores
19318         aren't broken.
19319         (omp_nest_lock_t): Likewise.  Change owner to void *.
19320         * config/posix/omp-lock.h: Include semaphore.h.
19321         (omp_lock_25_t, omp_nest_lock_25_t): New types.
19322         (omp_lock_t): Use sem_t instead of mutex if semaphores
19323         aren't broken.
19324         (omp_nest_lock_t): Likewise.  Add owner field.
19326 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
19328         * testsuite/libgomp.c/collapse-1.c: New test.
19329         * testsuite/libgomp.c/collapse-2.c: New test.
19330         * testsuite/libgomp.c/collapse-3.c: New test.
19331         * testsuite/libgomp.c/icv-1.c: New test.
19332         * testsuite/libgomp.c/icv-2.c: New test.
19333         * testsuite/libgomp.c/lib-2.c: New test.
19334         * testsuite/libgomp.c/lock-1.c: New test.
19335         * testsuite/libgomp.c/lock-2.c: New test.
19336         * testsuite/libgomp.c/lock-3.c: New test.
19337         * testsuite/libgomp.c/loop-4.c: New test.
19338         * testsuite/libgomp.c/loop-5.c: New test.
19339         * testsuite/libgomp.c/loop-6.c: New test.
19340         * testsuite/libgomp.c/loop-7.c: New test.
19341         * testsuite/libgomp.c/loop-8.c: New test.
19342         * testsuite/libgomp.c/loop-9.c: New test.
19343         * testsuite/libgomp.c/nested-3.c: New test.
19344         * testsuite/libgomp.c/nestedfn-6.c: New test.
19345         * testsuite/libgomp.c/sort-1.c: New test.
19346         * testsuite/libgomp.c/task-1.c: New test.
19347         * testsuite/libgomp.c/task-2.c: New test.
19348         * testsuite/libgomp.c/task-3.c: New test.
19349         * testsuite/libgomp.c/task-4.c: New test.
19350         * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
19351         to C++ testsuite default compiler options.
19352         * testsuite/libgomp.c++/collapse-1.C: New test.
19353         * testsuite/libgomp.c++/collapse-2.C: New test.
19354         * testsuite/libgomp.c++/ctor-10.C: New test.
19355         * testsuite/libgomp.c++/for-1.C: New test.
19356         * testsuite/libgomp.c++/for-2.C: New test.
19357         * testsuite/libgomp.c++/for-3.C: New test.
19358         * testsuite/libgomp.c++/for-4.C: New test.
19359         * testsuite/libgomp.c++/for-5.C: New test.
19360         * testsuite/libgomp.c++/loop-8.C: New test.
19361         * testsuite/libgomp.c++/loop-9.C: New test.
19362         * testsuite/libgomp.c++/loop-10.C: New test.
19363         * testsuite/libgomp.c++/task-1.C: New test.
19364         * testsuite/libgomp.c++/task-2.C: New test.
19365         * testsuite/libgomp.c++/task-3.C: New test.
19366         * testsuite/libgomp.c++/task-4.C: New test.
19367         * testsuite/libgomp.c++/task-5.C: New test.
19368         * testsuite/libgomp.c++/task-6.C: New test.
19369         * testsuite/libgomp.fortran/allocatable1.f90: New test.
19370         * testsuite/libgomp.fortran/allocatable2.f90: New test.
19371         * testsuite/libgomp.fortran/allocatable3.f90: New test.
19372         * testsuite/libgomp.fortran/allocatable4.f90: New test.
19373         * testsuite/libgomp.fortran/collapse1.f90: New test.
19374         * testsuite/libgomp.fortran/collapse2.f90: New test.
19375         * testsuite/libgomp.fortran/collapse3.f90: New test.
19376         * testsuite/libgomp.fortran/collapse4.f90: New test.
19377         * testsuite/libgomp.fortran/lastprivate1.f90: New test.
19378         * testsuite/libgomp.fortran/lastprivate2.f90: New test.
19379         * testsuite/libgomp.fortran/lib4.f90: New test.
19380         * testsuite/libgomp.fortran/lock-1.f90: New test.
19381         * testsuite/libgomp.fortran/lock-2.f90: New test.
19382         * testsuite/libgomp.fortran/nested1.f90: New test.
19383         * testsuite/libgomp.fortran/nestedfn4.f90: New test.
19384         * testsuite/libgomp.fortran/strassen.f90: New test.
19385         * testsuite/libgomp.fortran/tabs1.f90: New test.
19386         * testsuite/libgomp.fortran/tabs2.f: New test.
19387         * testsuite/libgomp.fortran/task1.f90: New test.
19388         * testsuite/libgomp.fortran/task2.f90: New test.
19389         * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
19390         * testsuite/libgomp.fortran/vla5.f90: Likewise.
19391         * testsuite/libgomp.c/pr26943-2.c: Likewise.
19392         * testsuite/libgomp.c/pr26943-3.c: Likewise.
19393         * testsuite/libgomp.c/pr26943-4.c: Likewise.
19395 2008-05-23  Jakub Jelinek  <jakub@redhat.com>
19397         PR c++/36308
19398         * testsuite/libgomp.c++/ctor-11.C: New test.
19399         * testsuite/libgomp.c++/ctor-12.C: New test.
19401 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
19403         * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
19405 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
19407         PR middle-end/36106
19408         * testsuite/libgomp.c/atomic-5.c: New test.
19409         * testsuite/libgomp.c/atomic-6.c: New test.
19410         * testsuite/libgomp.c/autopar-1.c: New test.
19412 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19414         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
19415         (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
19416         (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
19417         (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
19418         * configure: Regenerate.
19419         * Makefile.in, testsuite/Makefile.in: Likewise.
19421 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
19423         PR bootstrap/35457
19424         * aclocal.m4: Regenerate.
19425         * configure: Regenerate.
19427 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
19429         PR middle-end/35611
19430         * testsuite/libgomp.c/atomic-4.c: New test.
19432         PR libgomp/35625
19433         * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
19434         (gomp_iter_guided_next): Likewise.
19435         * testsuite/libgomp.c/pr35625.c: New test.
19437 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19439         * aclocal.m4: Regenerate.
19440         * configure: Likewise.
19441         * Makefile.in: Likewise.
19442         * testsuite/Makefile.in: Likewise.
19444 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
19446         PR middle-end/35185
19447         * testsuite/libgomp.c++/pr35185.C: New test.
19449 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
19451         PR middle-end/35549
19452         * testsuite/libgomp.c/pr35549.c: New test.
19454 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
19456         * testsuite/libgomp.c/atomic-3.c: New test.
19458 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
19460         PR fortran/33197
19461         * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
19462         .F08 file suffixes.
19464 2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
19466         PR libgomp/33131
19467         * configure.ac: Add ACX_HEADER_STRING.
19468         * env.c: Include strings.h.
19469         * aclocal.m4: Regenerate.
19470         * config.h.in: Regenerate.
19471         * configure: Regenerate.
19472         * Makefile.in: Regenerate.
19473         * testsuite/Makefile.in: Regenerate.
19475 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
19477         PR middle-end/35196
19478         * testsuite/libgomp.c/pr35196.c: New test.
19480         PR middle-end/35130
19481         * testsuite/libgomp.fortran/pr35130.f90: New test.
19482         * testsuite/libgomp.c/pr35130.c: New test.
19484 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
19486         PR middle-end/33880
19487         * testsuite/libgomp.c/pr33880.c: New test.
19488         * testsuite/libgomp.fortran/pr33880.f90: New test.
19490 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
19492         * configure: Regenerate.
19494 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
19496         * configure.ac: Move futex checking into ../config/futex.m4.
19497         * configure: Rebuilt.
19498         * aclocal.m4: Rebuilt.
19499         * Makefile.in: Rebuilt.
19501         * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
19502         2007-10-15 ../config/tls.m4 change.
19504 2007-12-19  Jakub Jelinek  <jakub@redhat.com>
19506         PR c++/34513
19507         * testsuite/libgomp.c/pr34513.c: New test.
19508         * testsuite/libgomp.c++/pr34513.C: New test.
19510 2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
19512         PR target/32765
19513         * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
19515 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
19517         * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
19519 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
19521         * testsuite/libgomp.c/private-1.c: New test.
19523 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
19524             Paolo Bonzini  <bonzini@gnu.org>
19526         * Makefile.am: Use space as vpath separator.  Use 'vpath %'
19527         instead of 'VPATH ='.
19528         * Makefile.in: Regenerate.
19530 2007-11-23  Matthias Klose  <doko@ubuntu.com>
19532         * configure.ac: Adjust makeinfo version check.
19533         * configure: Regenerate.
19535 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
19537         PR fortran/34020
19538         * testsuite/libgomp.fortran/pr34020.f90: New test.
19540 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
19542         PR c++/33894
19543         * testsuite/libgomp.c++/atomic-1.C: New test.
19545 2007-10-25  Jakub Jelinek  <jakub@redhat.com>
19547         PR libgomp/33275
19548         * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
19549         Make x and y integers rather than (implicit) reals.  Add private (j)
19550         clause to the last omp parallel.
19552 2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
19554         * configure: Regenerate following changes to ../config/tls.m4.
19556 2007-09-28  Jakub Jelinek  <jakub@redhat.com>
19558         * testsuite/libgomp.fortran/stack.f90: New test.
19560 2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
19562         * config/mingw32/proc.c: New file.
19564 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
19566         * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
19567         (main): Use __get_cpuid to get i386 target fetaures.
19568         * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
19569         (main): Use __get_cpuid to get x86_64 target fetaures.
19571 2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
19573         PR target/32765
19574         * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
19575         * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
19577 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
19579         PR fortran/32550
19580         * testsuite/libgomp.fortran/pr32550.f90: New test.
19581         * testsuite/libgomp.fortran/crayptr2.f90: New test.
19583 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
19585         * aclocal.m4: Regenerated.
19587 2007-07-05  Tobias Burnus  <burnus@net-b.de>
19589         PR fortran/32359
19590         * testsuite/libgomp.fortran/pr32359.f90: New.
19592 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
19594         PR libgomp/32468
19595         * sections.c (GOMP_parallel_sections_start): Only decrease
19596         number of threads to COUNT if dyn_var is true.
19597         * testsuite/libgomp.c/pr32468.c: New test.
19599 2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19601         PR libgomp/26308
19602         * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
19604 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
19606         PR middle-end/32362
19607         * testsuite/libgomp.c/pr32362-1.c: New test.
19608         * testsuite/libgomp.c/pr32362-2.c: New test.
19609         * testsuite/libgomp.c/pr32362-3.c: New test.
19611 2007-06-07  Jakub Jelinek  <jakub@redhat.com>
19613         * team.c (gomp_team_start): Fix setting up thread_attr
19614         stack size.
19616 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
19618         * configure: Regenerate.
19620 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
19622         * Makefile.in: Regenerate.
19623         * configure: Regenerate.
19624         * aclocal.m4: Regenerate.
19625         * testsuite/Makefile.in: Regenerate.
19627 2007-05-04  Jakub Jelinek  <jakub@redhat.com>
19629         * config/linux/proc.c: New file.
19631         PR libgomp/28482
19632         * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
19634 2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
19636         * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
19638 2007-04-16  Matthias Klose  <doko@debian.org>
19640         * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
19641         flags if not building with -m64.
19642         * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
19643         flag for i?86-*-* targets, if current target matches -m64.
19645 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
19647         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
19648         * Makefile.in: Regenerate.
19650 2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
19652         PR testsuite/31369
19653         * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
19654         ld_library_path.
19655         * testsuite/libgomp.fortran/fortran.exp: Likewise.
19657 2007-04-04  Jakub Jelinek  <jakub@redhat.com>
19659         * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
19660         decls.
19661         (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
19662         * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
19663         (parse_affinity): New function.
19664         (initialize_env): Call it and gomp_init_affinity.
19665         * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
19666         create new pthread_attr_t and call gomp_init_thread_affinity
19667         on it for each thread before passing the attribute to pthread_create.
19668         * config/linux/affinity.c: New file.
19669         * config/posix/affinity.c: New file.
19670         * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
19671         * configure: Rebuilt.
19672         * config.h.in: Rebuilt.
19673         * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
19674         * Makefile.in: Rebuilt.
19676 2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
19678         * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
19679         *-*-darwin*.
19680         * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
19681         and use it if found.
19683 2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
19685         * testsuite/config/default.exp: New file.
19686         * testsuite/lib/libgomp.exp: New file.
19687         * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
19688         libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
19689         load_lib *, load_gcc_lib *): Move to libgomp.exp.
19690         (libgomp_load): Remove.
19691         * testsuite/lib/libgomp.exp (libgomp_init): Compute
19692         always_ld_library_path, not ld_library_path.  Set additional_flags
19693         to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
19694         (target_compile): Do not call libgomp_init.  Append lang_library_path
19695         and lang_link_flags to options.
19696         * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
19697         ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
19698         here.
19699         * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
19700         always_ld_library_path.  Set LD_LIBRARY_PATH here.
19701         * testsuite/libgomp.fortran/fortran.exp: Ditto.
19702         * testsuite/libgomp.c/atomic-1.c: Set dg-options to
19703         "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
19704         CX8 flag.
19705         * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
19706         lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
19707         * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
19708         * testsuite/libgomp.c/pr29947-1.c: Ditto.
19709         * testsuite/libgomp.c/atomic-10.c: Ditto.
19711 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
19713         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
19714         dg-final cleanup-modules line.
19715         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
19716         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
19717         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
19718         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
19719         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
19720         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
19721         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
19723 2007-03-18  Andreas Schwab  <schwab@suse.de>
19725         * acinclude.m4: Adjust regular expression for ld version
19726         extraction.
19727         * configure: Regenerate.
19729 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
19731         * Makefile.am: Add install-pdf target as copied from
19732         automake v1.10 rules.
19733         * Makefile.in: Regenerate
19735 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
19737         PR libgomp/28486
19738         * configure: Regenerate.
19740         PR c++/30703
19741         * testsuite/libgomp.c++/pr30703.C: New test.
19743 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
19745         Revert:
19746         2006-07-05  Eric Christopher  <echristo@apple.com>
19747         * configure.ac: Depend addition of -pthread on host OS.
19748         * configure: Regenerate.
19750 2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19752         * libgomp.texi: Fix spacing after abbreviations.
19754 2007-01-31  Daniel Franke <franke.daniel@gmail.com>
19756         PR libgomp/30546
19757         * configure.ac: Add check for makeinfo
19758         * Makefile.am: Redefined target libgomp.info, build libgomp.info only
19759         if an appropriate version of makeinfo is found.
19760         * aclocal.m4: Regenerated.
19761         * configure: Regenerated.
19762         * Makefile.in: Regenerated.
19763         * testsuite/Makefile.in: Regenerated.
19765 2007-01-29  Daniel Franke <franke.daniel@gmail.com>
19767         PR libgomp/30540
19768         * libgomp.texi: More about implementation-dependent settings.
19770 2007-01-26  Tobias Burnus  <burnus@net-b.de>
19772         * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
19774 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
19776         PR middle-end/30494
19777         * testsuite/libgomp.c/pr30494.c: New test.
19779 2007-01-15  Tom Tromey  <tromey@redhat.com>
19781         * configure: Rebuilt.
19782         * configure.ac: Fixed comment.
19784 2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
19786         * libgomp.texi: Document implementation specific default values of
19787         environment variables.
19789 2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
19791         PR libgomp/28209
19792         * libgomp.texi: New file.
19793         * configure.ac: Add --enable-generated-files-in-srcdir option.
19794         * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
19795         files to srcdir.
19796         * Makefile.in: Regenerated.
19797         * config.h.in: Regenerated.
19798         * testsuite/Makefile.in: Regenerated.
19799         * NOTES: Removed.
19801 2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
19803         PR libgomp/29949
19804         * env.c (omp_set_num_threads): Set illegal thread count to 1.
19806 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
19808         * configure: Regenerate.
19810 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
19812         PR libgomp/29947
19813         * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
19814         start if there shouldn't be any loop iterations.
19815         (gomp_loop_ordered_static_start): Remove start == end test.
19816         * testsuite/libgomp.c/pr29947-1.c: New test.
19817         * testsuite/libgomp.c/pr29947-2.c: New test.
19819 2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
19821         * configure.tgt: Force initial-exec TLS model on Linux only.
19823 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
19825         * configure: Regenerated.
19827 2006-11-09  Uros Bizjak  <ubizjak@gmail.com>
19829         * env.c (parse_schedule): Reject out of range values.
19830         (parse_unsigned_long): Reject out of range, negative or zero values.
19832 2006-10-29  Jakub Jelinek  <jakub@redhat.com>
19834         PR fortran/29629
19835         * testsuite/libgomp.fortran/pr29629.f90: New test.
19837 2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
19839         PR libgomp/29494
19840         * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
19841         * config/posix95: New directory.
19842         * config/posix95/omp-lock.h: New file.
19843         * config/posix95/lock.c: Likewise.
19845 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
19847         * aclocal.m4: Regenerate.
19848         * configure: Regenerate.
19850 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
19852         * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
19853         '<' to '<='.
19855 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
19857         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
19858         test.
19859         * configure: Regenerate.
19860         * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
19862 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
19864         PR middle-end/25261
19865         PR middle-end/28790
19866         * testsuite/libgomp.c/nestedfn-4.c: New test.
19867         * testsuite/libgomp.c/nestedfn-5.c: New test.
19868         * testsuite/libgomp.fortran/nestedfn3.f90: New test.
19870         PR fortran/29097
19871         * testsuite/libgomp.fortran/condinc1.f: New test.
19872         * testsuite/libgomp.fortran/condinc2.f: New test.
19873         * testsuite/libgomp.fortran/condinc3.f90: New test.
19874         * testsuite/libgomp.fortran/condinc4.f90: New test.
19875         * testsuite/libgomp.fortran/condinc1.inc: New file.
19877 2006-09-18  Tom Tromey  <tromey@redhat.com>
19879         * configure: Rebuilt.
19881 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
19883         PR c/28768
19884         PR preprocessor/14634
19885         * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
19886         to AC_DEFINE.
19887         * configure: Regenerate.
19889 2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
19891         * testsuite/libgomp.fortran/reduction3.f90: Change
19892         -2147483648 to -huge(i)-1 to avoid overflow.
19893         * testsuite/libgomp.fortran/reduction4.f90: Change
19894         Z'ffffffff' to not(0) to avoid overflow.
19896 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
19898         PR libgomp/25938
19899         * Makefile.am (libsubincludedir): New.
19900         (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
19901         * Makefile.in: Regenerate.
19903 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
19905         PR libgomp/28725
19906         * env.c: Include ctype.h.
19907         (parse_schedule, parse_unsigned_long, parse_boolean): Allow
19908         leading and/or trailing whitespace and compare strings case
19909         insensitively.
19911 2006-07-16  Jakub Jelinek  <jakub@redhat.com>
19913         PR fortran/28390
19914         * testsuite/libgomp.fortran/pr28390.f: New test.
19916 2006-07-05  Eric Christopher  <echristo@apple.com>
19918         * configure.ac: Depend addition of -pthread on host OS.
19919         * configure: Regenerate.
19921 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
19923         * critical.c (GOMP_critical_name_start): Fix *pptr initialization
19924         when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
19925         defined.
19927 2006-06-20  Jakub Jelinek  <jakub@redhat.com>
19929         PR libgomp/26175
19930         PR libgomp/26477
19931         * configure.ac: If neither --enable-linux-futex nor
19932         --disable-linux-futex is passed, determine the default by checking
19933         for compiling and/or running against NPTL.  With --enable-linux-futex,
19934         check if SYS_gettid and SYS_futex are defined.
19935         * configure: Rebuilt.
19937 2006-06-14  Richard Henderson  <rth@redhat.com>
19939         PR libgomp/28008
19940         * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
19941         undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
19943 2006-06-09  Richard Henderson  <rth@redhat.com>
19945         * env.c (gomp_nthreads_var): Change to unsigned long.
19946         (gomp_run_sched_chunk): Likewise.
19947         (parse_unsigned_long): Rename from parse_num_threads and generalize.
19948         (initialize_env): Initialize gomp_thread_attr.
19949         * libgomp.h (gomp_nthreads_var): Update decl.
19950         (gomp_run_sched_chunk): Likewise.
19951         (gomp_thread_attr): Declare.
19952         * team.c (gomp_thread_attr): Export.
19953         (initialize_team): Don't initialize it.
19955 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
19957         PR fortran/27916
19958         * testsuite/libgomp.fortran/pr27916-1.f90: New test.
19959         * testsuite/libgomp.fortran/pr27916-2.f90: New test.
19961 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
19963         * config/mingw32/time.c: New file.
19964         * configure.tgt: Use it.
19966 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
19968         * Makefile.am: Add install-html target. Add install-html to .PHONY
19969         * Makefile.in: Regenerate.
19971 2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
19973         PR libgomp/27612
19974         * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
19975         * testsuite/libgomp.c/critical-1.c: Likewise.
19976         * testsuite/libgomp.c/loop-1.c: Likewise.
19977         * testsuite/libgomp.c/loop-2.c: Likewise.
19978         * testsuite/libgomp.c/single-1.c: Likewise.
19979         * testsuite/libgomp.c/ordered-1.c: Likewise.
19980         * testsuite/libgomp.c/ordered-2.c: Likewise.
19982 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
19984         PR middle-end/27416
19985         * libgomp.fortran/pr27416-1.f90: New test.
19987 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
19989         PR fortran/27395
19990         * testsuite/libgomp.fortran/pr27395-1.f90: New test.
19991         * testsuite/libgomp.fortran/pr27395-2.f90: New test.
19993 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
19995         PR c++/26943
19996         * testsuite/libgomp.c/pr26943-1.c: New test.
19997         * testsuite/libgomp.c/pr26943-2.c: New test.
19998         * testsuite/libgomp.c/pr26943-3.c: New test.
19999         * testsuite/libgomp.c/pr26943-4.c: New test.
20000         * testsuite/libgomp.c++/pr27337.C: Remove barrier.
20001         * testsuite/libgomp.c++/pr26943.C: New test.
20003 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
20005         PR middle-end/27337
20006         * testsuite/libgomp.c++/pr27337.C: New test.
20008 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
20010         PR c/26171
20011         * testsuite/libgomp.c/pr26171.c: New test.
20013 2006-04-25  Richard Henderson  <rth@redhat.com>
20015         PR libgomp/25865
20016         * configure.ac: Use GCC_CHECK_TLS.
20017         * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
20018         * Makefile.in, aclocal.m4, configure: Regenerate.
20020 2006-04-10  Matthias Klose  <doko@debian.org>
20022         * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
20023         directory names containing underscores.
20025 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
20027         PR c++/26691
20028         * testsuite/libgomp.c++/pr26691.C: New test.
20030 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
20032         * testsuite/libgomp.fortran/retval2.f90: New test.
20034 2006-03-09  Diego Novillo  <dnovillo@redhat.com>
20036         * testsuite/libgomp.c++: New directory.
20038 2006-02-25  Shantonu Sen  <ssen@opendarwin.org>
20040         * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
20041         * config/posix/sem.c: Implement the above.
20043 2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
20045         * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
20046         define HAVE_BROKEN_POSIX_SEMAPHORES.
20047         * configure: Rebuilt.
20048         * config.h.in: Rebuilt.
20050 2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
20052         PR bootstrap/26161
20053         * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
20054         for the other pthread check.
20055         * configure: Regenerate.
20056         * config.h.in: Regenerate.
20058 2006-02-15  Jakub Jelinek  <jakub@redhat.com>
20060         PR libgomp/25938
20061         PR libgomp/25984
20062         * Makefile.am (fincludedir): New variable.
20063         (nodist_include_HEADERS): Remove Fortran files.
20064         (nodist_finclude_HEADERS): New variable.
20065         * Makefile.in: Regenerated.
20067 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
20069         * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
20070         Remove tests for returning assumed character length arrays.
20072 2006-02-12  Roger Sayle  <roger@eyesopen.com>
20073             John David Anglin  <dave@hiauly1.hia.nrc.ca>
20075         PR libgomp/25936
20076         * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
20078 2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
20080         * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
20082 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
20084         * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
20085         part of LD_LIBRARY_PATH manually.
20087 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
20089         PR libgomp/25852
20090         * testsuite/lib/libgomp-dg.exp (blddir): Set it in
20091         libgomp_init.
20093 2005-01-25  Paolo Bonzini  <bonzini@gnu.org>
20095         PR libgomp/25884
20096         * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
20097         * configure.ac (PERL): Don't set.
20098         (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
20099         (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
20100         OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
20101         * omp.h.in: Wrap the new configure substitutions with @ characters.
20102         * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
20103         * aclocal.m4, configure, Makefile.in: Regenerate.
20104         * mkomp_h.pl: Delete.
20106 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
20108         PR libgomp/25259
20109         * configure.ac: Use GCC_HEADER_STDINT.
20110         * libgomp.h: Include gstdint.h.
20111         * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
20112         * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
20114 2006-01-24  Richard Henderson  <rth@redhat.com>
20116         PR libgomp/25942
20117         * configure.ac: Add AM_MAINTAINER_MODE.
20118         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
20120 2006-01-24  Diego Novillo  <dnovillo@redhat.com>
20122         * Makefile.in: Regenerate.
20123         * testsuite/Makefile.in: Regenerate.
20124         * aclocal.m4: Regenerate.
20126 2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
20128         * config/posix/proc.c: Conditional include of sys/loadavg.h for
20129         Solaris.
20130         * configure.ac: Add check for loadavg.h.
20131         (link_gomp): Adjust comment.
20132         * configure: Regenerate.
20133         * config.h.in: Regenerate.
20135 2006-01-21  Steve Ellcey  <sje@cup.hp.com>
20137         PR libgomp/25877
20138         * configure.ac: Remove check for alloca.h.
20139         * configure: Regenerate.
20140         * config.h.in: Regenerate.
20141         * libgomp.h: define gomp_alloca to be __builtin_alloca.
20142         * team.c: Remove use of alloca.h.
20143         Call gomp_alloca instead of alloca.
20145 2006-01-20  Steve Ellcey  <sje@cup.hp.com>
20147         PR libgomp/25877
20148         * team.c: Add include of alloca.h.
20149         * configure.ac: Add check for alloca.h.
20150         * configure: Regenerate.
20151         * config.h.in: Regenerate.
20153 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
20155         PR fortran/25219
20156         * testsuite/libgomp.fortran/pr25219.f90: New test.
20158 2005-12-05  Uros Bizjak  <uros@kss-loka.si>
20160         * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
20161         testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
20162         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20163         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20164         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
20165         testsuite/libgomp.fortran/threadprivate1.f90,
20166         testsuite/libgomp.fortran/threadprivate2.f90,
20167         testsuite/libgomp.fortran/threadprivate3.f90,
20168         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20169         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20170         testsuite/libgomp.fortran/omp_parse3.f90: Change required
20171         effective-target to TLS runtime.
20173         * testsuite/libgomp.fortran/pr25162.f: Require
20174         effective-target TLS runtime.
20176 2005-12-01  Jakub Jelinek  <jakub@redhat.com>
20178         * testsuite/libgomp.fortran/nestedfn2.f90: New test.
20179         * testsuite/libgomp.c/nestedfn-3.c: New test.
20181 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
20183         PR fortran/25162
20184         * testsuite/libgomp.fortran/pr25162.f: New test.
20186 2005-11-28  Jakub Jelinek  <jakub@redhat.com>
20188         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
20189         CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
20191 2005-11-25  Jakub Jelinek  <jakub@redhat.com>
20193         * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
20194         libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
20195         omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
20196         single.c, team.c, work.c, config/linux/alpha/futex.h,
20197         config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
20198         config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
20199         config/linux/powerpc/futex.h, config/linux/s390/futex.h,
20200         config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
20201         config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
20202         config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
20203         config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
20204         FSF address.
20206 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
20208         * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
20209         to nodist_noinst_HEADERS.
20210         * Makefile.in: Rebuilt.
20212         * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
20213         add integer count field.
20214         * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
20215         omp_nest_lock_t type change.
20216         (omp_init_nest_lock): Likewise.  Initialize count to 0.
20217         (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
20218         Increment count.
20219         (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
20220         Decrement count.
20221         (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
20222         Increment count if successful and return the new nesting level.
20223         * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
20224         * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
20225         * testsuite/libgomp.c/lib-1.c: New test.
20226         * testsuite/libgomp.fortran/lib1.f90: New test.
20227         * testsuite/libgomp.fortran/lib2.f: New test.
20228         * testsuite/libgomp.fortran/lib3.f: New test.
20230 2005-11-17  Richard Henderson  <rth@redhat.com>
20232         PR 24845
20233         * Makefile.am (nodist_toolexeclib_HEADERS): New.
20234         * configure.ac (link_gomp): New.  Substitute it.
20235         (AC_CONFIG_FILES): Add libgomp.spec.
20236         * libgomp.spec.in: New file.
20237         * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
20238         * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
20240 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
20242         * testsuite/libgomp.fortran/reduction1.f90: Adjust for
20243         reduction(-:var) behaving the same as reduction(+:var).
20244         * testsuite/libgomp.c/reduction-4.c: New test.
20246 2005-11-15  Uros Bizjak  <uros@kss-loka.si>
20248         * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
20249         testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
20250         testsuite/libgomp.c/copyin-3.c,
20251         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20252         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20253         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
20254         testsuite/libgomp.c++/pr24455.C,
20255         testsuite/libgomp.fortran/threadprivate1.f90,
20256         testsuite/libgomp.fortran/threadprivate2.f90,
20257         testsuite/libgomp.fortran/threadprivate3.f90,
20258         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20259         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20260         testsuite/libgomp.fortran/omp_parse3.f90: Require
20261         effective-target TLS.
20263 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
20265         * HEADER: Remove.
20267 2005-11-13  Jakub Jelinek  <jakub@redhat.com>
20269         PR libgomp/24797
20270         * team.c (initialize_team): Pass NULL rather than free as
20271         pthread_key_create destructor.  Initialize thread specific data
20272         pointer in initial thread to a static local variable rather than
20273         malloced memory.
20275 2005-11-11  Uros Bizjak  <uros@kss-loka.si>
20277         * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
20278         its location to ld_library_path.
20280 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
20282         * testsuite/libgomp.c/c.exp: Rename from dg.exp.
20284 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
20286         * testsuite/libgomp.c: Rename from libgomp.dg.
20288 2005-11-09  Diego Novillo  <dnovillo@redhat.com>
20290         * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
20291         threadprivate variable 'i'.
20293 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
20295         * config/linux/s390/futex.h: New file.
20296         * configure.tgt: Use it.
20298         * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
20299         before the parallel.
20301 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
20303         PR c++/24734
20304         * testsuite/libgomp.c++/master-1.C: New test.
20306 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
20308         * testsuite/libgomp.dg/copyin-3.c: New test.
20310 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
20312         * testsuite/libgomp.fortran/retval1.f90: New test.
20313         * testsuite/libgomp.fortran/vla7.f90: New test.
20315 2005-11-06  Jakub Jelinek  <jakub@redhat.com>
20317         * testsuite/libgomp.fortran/vla2.f90: New test.
20318         * testsuite/libgomp.fortran/vla3.f90: New test.
20319         * testsuite/libgomp.fortran/vla4.f90: New test.
20320         * testsuite/libgomp.fortran/vla5.f90: New test.
20321         * testsuite/libgomp.fortran/vla6.f90: New test.
20323 2005-11-01  Jakub Jelinek  <jakub@redhat.com>
20325         * config/linux/sparc/futex.h: New file.
20326         * configure.tgt: Use it.
20327         * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
20329         * critical.c: Include stdlib.h.
20330         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
20331         ignoring return value.
20332         * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
20333         LIBGOMP_CHECK_SYNC_BUILTINS check.
20334         * configure: Rebuilt.
20336 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
20338         * testsuite/libgomp.fortran/vla1.f90: New test.
20340 2005-10-31  Richard Henderson  <rth@redhat.com>
20342         * testsuite/libgomp.fortran/character2.f90: Fix race condition
20343         setting 's' in different threads.
20345 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
20347         * libgomp.h (attribute_hidden, ialias): Define.
20348         * config/posix/proc.c (omp_get_num_procs): Add ialias.
20349         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
20350         * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
20351         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20352         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20353         omp_test_lock, omp_test_nest_lock): Likewise.
20354         * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
20355         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20356         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20357         omp_test_lock, omp_test_nest_lock): Likewise.
20358         * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
20359         omp_get_dynamic, omp_get_nested): Likewise.
20360         * parallel.c (omp_get_num_threads, omp_get_max_threads,
20361         omp_get_thread_num, omp_in_parallel): Likewise.
20362         * fortran.c (ialias_redirect): Define.
20363         (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
20364         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
20365         omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
20366         omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
20367         omp_set_num_threads, omp_get_dynamic, omp_get_nested,
20368         omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
20369         omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
20370         omp_get_wtime): Add ialias_redirect.
20372 2005-10-30  Jakub Jelinek  <jakub@redhat.com>
20374         * fortran.c: Include stdlib.h.
20376 2005-10-29  Jakub Jelinek  <jakub@redhat.com>
20378         * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
20379         * Makefile.in: Regenerated.
20381 2005-10-28  Jakub Jelinek  <jakub@redhat.com>
20383         * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
20384         * libgomp_f.h.in (omp_check_defines): New function.
20385         * env.c: Include libgomp_f.h.
20386         (initialize_env): Call omp_check_defines.
20388         * testsuite/libgomp.dg/copyin-2.c: New test.
20389         * testsuite/libgomp.c++/copyin-2.C: New test.
20390         * testsuite/libgomp.fortran/threadprivate3.f90: New test.
20392         * testsuite/libgomp.fortran/threadprivate2.f90: New test.
20393         * testsuite/libgomp.fortran/sharing2.f90: New test.
20395         * testsuite/libgomp.dg/copyin-1.c: New test.
20396         * testsuite/libgomp.c++/copyin-1.C: New test.
20398 2005-10-26  Jakub Jelinek  <jakub@redhat.com>
20400         * testsuite/libgomp.fortran/crayptr1.f90: New test.
20402         * testsuite/libgomp.fortran/workshare1.f90: New test.
20404         * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
20405         only test.
20406         * libgomp.fortran/sharing1.f90: New test.
20408 2005-10-24  Jakub Jelinek  <jakub@redhat.com>
20410         PR c++/24502
20411         * testsuite/libgomp.c++/loop-7.C: New test.
20413         * testsuite/libgomp.dg/nestedfn-2.c: New test.
20415         * testsuite/libgomp.dg/nestedfn-1.c: New test.
20416         * testsuite/libgomp.fortran/reduction6.f90: New test.
20417         * testsuite/libgomp.fortran/nestedfn1.f90: New test.
20419 2005-10-23  Richard Henderson  <rth@redhat.com>
20421         * testsuite/libgomp.c++/ctor-1.C: New.
20422         * testsuite/libgomp.c++/ctor-2.C: New.
20423         * testsuite/libgomp.c++/ctor-3.C: New.
20424         * testsuite/libgomp.c++/ctor-4.C: New.
20425         * testsuite/libgomp.c++/ctor-5.C: New.
20426         * testsuite/libgomp.c++/ctor-6.C: New.
20427         * testsuite/libgomp.c++/ctor-7.C: New.
20428         * testsuite/libgomp.c++/ctor-8.C: New.
20429         * testsuite/libgomp.c++/ctor-9.C: New.
20431 2005-10-21  Diego Novillo  <dnovillo@redhat.com>
20433         PR 24455
20434         * testsuite/libgomp.c++/pr24455-1.C: New test.
20435         * testsuite/libgomp.c++/pr24455.C: New test.
20436         * testsuite/libgomp.dg/pr24455-1.c: New test.
20437         * testsuite/libgomp.dg/pr24455.c: New test.
20439 2005-10-20  Richard Henderson  <rth@redhat.com>
20441         * testsuite/libgomp.c++/loop-6.C: New.
20442         * testsuite/libgomp.dg/loop-3.c: New.
20444 2005-10-20  Jakub Jelinek  <jakub@redhat.com>
20446         * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
20447         explicitly private.
20448         * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
20449         explicitly shared.
20451 2005-10-19  Diego Novillo  <dnovillo@redhat.com>
20453         * testsuite/libgomp.fortran/jacobi.f: New test.
20455 2005-10-19  Richard Henderson  <rth@redhat.com>
20457         * configure.tgt (i?86-linux): Default to with_arch instead of
20458         CFLAGS.  Add -mtune to match target_cpu.
20459         (x86_64-linux): Tune to i686.
20461         * fortran.c (omp_test_nest_lock_): Fix typo.
20463 2005-10-19  Jakub Jelinek  <jakub@redhat.com>
20465         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20466         gomp_ordered_sync): Do nothing if team->nthreads == 1.
20467         * testsuite/libgomp.dg/ordered-3.c: New test.
20469         * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
20470         Remove volatile keyword.
20472         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
20473         in COMMON block to avoid warnings on 64-bit targets.
20475 2005-10-18  Diego Novillo  <dnovillo@redhat.com>
20477         * testsuite/libgomp.dg/shared-3.c: New test.
20479 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
20481         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
20482         * testsuite/libgomp.fortran/reduction5.f90: New test.
20484 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
20486         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
20487         dg-options.
20488         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
20489         flush loop now that __sync_synchronize has proper memory barrier.
20490         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
20491         Add -ffixed-form to dg-options.
20493 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
20495         * testsuite/libgomp.fortran/fortran.exp: Also gather tests
20496         from subdirectories.
20497         * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
20498         * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
20499         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
20500         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
20501         * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
20502         * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
20503         * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
20504         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
20505         * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
20506         * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
20507         * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
20508         * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
20509         * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
20510         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
20511         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
20512         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
20513         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
20514         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
20515         * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
20516         * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
20517         * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
20518         * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
20519         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
20520         * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
20521         * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
20523 2005-10-17  Jakub Jelinek  <jakub@redhat.com>
20525         * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
20526         lang_library_path exists.  Use find instead of glob to gather tests.
20527         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
20529 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
20531         * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
20532         * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
20533         * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
20534         * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
20535         * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
20536         * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
20537         * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
20538         * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
20539         * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
20540         * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
20541         * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
20542         * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
20543         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
20545 2005-10-15  Jakub Jelinek  <jakub@redhat.com>
20547         * testsuite/libgomp.dg/vla-1.c: New test.
20549         * testsuite/libgomp.fortran/reference2.f90: New test.
20551         * testsuite/libgomp.fortran/character2.f90: Remove explicit
20552         declaration of omp_get_thread_num.
20553         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
20554         use omp_lib.
20556         * testsuite/libgomp.fortran/reduction1.f90: New test.
20557         * testsuite/libgomp.fortran/reduction2.f90: New test.
20558         * testsuite/libgomp.fortran/reduction3.f90: New test.
20559         * testsuite/libgomp.fortran/reduction4.f90: New test.
20561 2005-10-13  Richard Henderson  <rth@redhat.com>
20563         * Makefile.am (libgomp_la_SOURCES): Add bar.c.
20564         * Makefile.in: Regenerate.
20565         * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
20566         * libgomp.h: Include bar.h.
20567         (struct gomp_barrier): Remove.
20568         (struct gomp_team): Add barrier.  Replace master_barrier with
20569         master_release.  Replace threads with ordered_release.
20570         (struct gomp_thread): Replace barrier with release.
20571         * ordered.c (gomp_ordered_first): Update for ordered_release change.
20572         (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
20573         gomp_ordered_static_next, gomp_ordered_sync): Likewise.
20574         * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
20575         (GOMP_single_copy_end): Likewise.
20576         * team.c (gomp_threads_dock): New.
20577         (gomp_barrier_init, gomp_barrier_destroy): Remove.
20578         (gomp_thread_start): Use gomp_barrier_wait.
20579         (new_team, free_team): Update for gomp_team changes.
20580         (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
20581         (gomp_team_end): Use gomp_barrier_wait.
20582         (initialize_team): Update for gomp_thread changes.
20583         * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
20584         (gomp_work_share_end_nowait): Use atomic ops when available.
20585         * config/linux/bar.c, config/linux/bar.h: New files.
20586         * config/posix/bar.c, config/posix/bar.h: New files.
20588 2005-10-13  Jakub Jelinek  <jakub@redhat.com>
20590         * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
20591         * testsuite/libgomp.dg/single-2.c: New test.
20593         * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
20594         lang_link_flags): Unset, so that they aren't inherited from previously
20595         sourced *.exp.
20597         * testsuite/libgomp.fortran/threadprivate1.f90: New test.
20599 2005-10-12  Richard Henderson  <rth@redhat.com>
20601         * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
20602         (libgomp_init): Use lang_test_file, lang_library_path, and
20603         lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
20605         * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
20606         (lang_test_file, lang_link_flags): New.
20607         (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
20609         * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
20610         testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
20611         testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
20612         testsuite/libgomp.c++/parallel-1.C,
20613         testsuite/libgomp.c++/reduction-1.C,
20614         testsuite/libgomp.c++/reduction-2.C,
20615         testsuite/libgomp.c++/reduction-3.C,
20616         testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
20617         testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
20618         testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
20619         New files, largely cribbed from the C testsuite.
20621 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
20623         * testsuite/libgomp.fortran/character1.f90: New test.
20624         * testsuite/libgomp.fortran/character2.f90: New test.
20626         * testsuite/libgomp.dg/nested-1.c: New test.
20627         * testsuite/libgomp.dg/nested-2.c: New test.
20628         * testsuite/libgomp.fortran/do1.f90: New test.
20629         * testsuite/libgomp.fortran/do2.f90: New test.
20631         * testsuite/libgomp.fortran/reference1.f90: New test.
20633 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
20635         * testsuite/libgomp.dg/reduction-1.c: New test.
20636         * testsuite/libgomp.dg/reduction-2.c: New test.
20637         * testsuite/libgomp.dg/reduction-3.c: New test.
20639 2005-10-10  Jakub Jelinek  <jakub@redhat.com>
20641         * testsuite/libgomp.dg/atomic-1.c: New test.
20642         * testsuite/libgomp.dg/atomic-2.c: New test.
20644 2005-10-09  Richard Henderson  <rth@redhat.com>
20646         * critical.c (atomic_lock): New.
20647         (initialize_critical): Initialize it.
20648         (GOMP_atomic_start, GOMP_atomic_end): New.
20649         * libgomp.map: Export them.
20650         * libgomp_g.h: Declare them.
20652         * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
20654 2005-10-02  Richard Henderson  <rth@redhat.com>
20656         * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
20657         to XCFLAGS instead of CFLAGS.
20659 2005-09-30  Richard Henderson  <rth@redhat.com>
20661         * configure.ac: Determine whether -pthread or -lpthread is needed.
20662         * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
20663         * Makefile.in, configure: Rebuild.
20665 2005-09-28  Richard Henderson  <rth@redhat.com>
20667         * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
20668         * testsuite/libgomp.dg/omp-single-3.c: New test.
20670 2005-09-28  Diego Novillo  <dnovillo@redhat.com>
20672         * testsuite/libgomp.dg/omp-single-2.c: New test.
20673         * testsuite/libgomp.dg/shared-2.c: Fix return code.
20675 2005-09-27  Richard Henderson  <rth@redhat.com>
20677         * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
20678         * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
20680 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
20682         * testsuite/libgomp.dg/omp-loop03.c: New test.
20684 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
20686         * testsuite/libgomp.dg/omp-parallel-for.c: New test.
20688 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
20690         * testsuite/libgomp.dg/omp-single-1.c: New test.
20691         * testsuite/libgomp.dg/shared-1.c: Return 0.
20692         Add prototype for abort.
20693         * testsuite/libgomp.dg/shared-2.c: Likewise.
20695 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
20697         * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
20698         constructs.
20700 2005-09-26  Diego Novillo  <dnovillo@redhat.com>
20702         * testsuite/libgomp.dg/shared-1.c: New test.
20703         * testsuite/libgomp.dg/shared-2.c: New test.
20705 2005-09-24  Richard Henderson  <rth@redhat.com>
20707         * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
20709 2005-09-24  Richard Henderson  <rth@redhat.com>
20711         * iter.c (gomp_iter_static_next): Round up when computing number
20712         of iterations.  Don't bother distributing a remainder equally.
20714         * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
20715         Don't call srand.  Zero b before testing.
20716         (main): New.
20718 2005-09-24  Jakub Jelinek  <jakub@redhat.com>
20720         * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
20721         * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
20723 2005-09-23  Jakub Jelinek  <jakub@redhat.com>
20725         * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
20726         without !$omp end do, followed immediately by subroutine end.
20728 2005-09-23  Diego Novillo  <dnovillo@redhat.com>
20730         * testsuite/libgomp.dg/omp-parallel-if.c: New test.
20732 2005-09-22  Richard Henderson  <rth@redhat.com>
20734         * critical.c (GOMP_critical_name_start): Change argument to void**.
20735         Reuse the pointer space if the mutex fits.
20736         (GOMP_critical_name_end): Likewise.
20737         (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
20738         * libgomp_g.h (GOMP_critical_name_start): Update decl.
20739         (GOMP_critical_name_end): Likewise.
20740         * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
20741         * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
20743 2005-09-20  Richard Henderson  <rth@redhat.com>
20745         * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
20746         (create_lock_lock): New.
20747         (initialize_critical): Initialize it.
20748         * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
20749         * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
20751 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
20753         * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
20755 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
20757         * testsuite/libgomp.dg/omp-loop01.c: New test.
20758         * testsuite/libgomp.dg/omp-loop02.c: New test.
20760 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
20762         * configure.ac (AC_PROG_FC): Add.
20763         (USE_FORTRAN): New automake conditional.
20764         * configure: Rebuilt.
20765         * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
20766         (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
20767         If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
20768         Add rules to build them.
20769         * Makefile.in: Rebuilt.
20770         * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
20771         OMP_NEST_LOCK_KIND.
20772         * libgomp.map: Add Fortran wrappers.
20773         * libgomp_f.h.in: New file.
20774         * omp_lib.h.in: New file.
20775         * omp_lib.f90.in: New file.
20776         * fortran.c: New file.
20777         * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
20778         Append libgfortran directory to LD_LIBRARY_PATH if it exists.
20779         Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
20780         libgfortran has been built.
20781         * testsuite/libgomp.fortran/fortran.exp: New file.
20782         * testsuite/libgomp.fortran/omp_cond1.f: New test.
20783         * testsuite/libgomp.fortran/omp_cond2.f: New test.
20784         * testsuite/libgomp.fortran/omp_cond3.F90: New test.
20785         * testsuite/libgomp.fortran/omp_cond4.F90: New test.
20786         * testsuite/libgomp.fortran/omp_hello.f: New test.
20787         * testsuite/libgomp.fortran/omp_orphan.f: New test.
20788         * testsuite/libgomp.fortran/omp_parse1.f90: New test.
20789         * testsuite/libgomp.fortran/omp_parse2.f90: New test.
20790         * testsuite/libgomp.fortran/omp_parse3.f90: New test.
20791         * testsuite/libgomp.fortran/omp_parse4.f90: New test.
20792         * testsuite/libgomp.fortran/omp_reduction.f: New test.
20793         * testsuite/libgomp.fortran/omp_workshare1.f: New test.
20794         * testsuite/libgomp.fortran/omp_workshare2.f: New test.
20796 2005-08-30  Richard Henderson  <rth@redhat.com>
20798         * loop.c (GOMP_loop_static_start): Provide fallback wrapper
20799         function for when aliases are not usable.
20800         (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
20801         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20802         GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
20803         GOMP_loop_dynamic_next, GOMP_loop_guided_next,
20804         GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
20805         GOMP_loop_ordered_guided_next): Likewise.
20806         * ordered.c (GOMP_ordered_start): Likewise.
20808 2005-08-01  Diego Novillo  <dnovillo@redhat.com>
20810         * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
20811         * testsuite/libgomp.dg/omp_hello.c: Fix return code
20812         * testsuite/libgomp.dg/omp_matvec.c: Likewise.
20813         * testsuite/libgomp.dg/omp_orphan.c: Likewise
20814         * testsuite/libgomp.dg/omp_reduction.c: Likewise
20815         * testsuite/libgomp.dg/omp_workshare1.c: Likewise
20816         * testsuite/libgomp.dg/omp_workshare2.c: Likewise
20817         * testsuite/libgomp.dg/omp_workshare3.c: Likewise
20818         * testsuite/libgomp.dg/omp_workshare4.c: Likewise
20820 2005-07-07  Eric Christopher  <echristo@redhat.com>
20821             Diego Novillo  <dnovillo@redhat.com>
20823         * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
20824         * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
20825         up code.
20826         * testsuite/libgomp.dg/omp_matvec.c: Ditto.
20827         * testsuite/libgomp.dg/omp_orphan.c: Ditto.
20828         * testsuite/libgomp.dg/omp_reduction.c: Ditto.
20829         * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
20830         * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
20831         * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
20832         * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
20834 2005-06-13  Diego Novillo  <dnovillo@redhat.com>
20836         * TOPLEVEL.patch: Remove.
20838 2005-05-16  Richard Henderson  <rth@redhat.com>
20840         * configure.ac: Test for clock_gettime.
20841         * config.h.in, configure: Rebuild.
20842         * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
20843         (omp_get_wtime): Use clock_gettime if available.
20844         (omp_get_wtick): Use clock_getres if available.
20846 2005-05-11  Richard Henderson  <rth@redhat.com>
20848         * config/linux/ia64/futex.h: New file.
20849         * configure.tgt: Use it.
20851         * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
20853 2005-05-07  Richard Henderson  <rth@redhat.com>
20855         * config/linux/powerpc/futex.h: New file.
20856         * configure.tgt: Use it.
20858         * config/linux/i486/futex.h: Merge ...
20859         * config/linux/x86_64/futex.h: ... into ...
20860         * config/linux/x86/futex.h: ... here.
20861         * configure.tgt: Update to match.
20863 2005-05-06  Richard Henderson  <rth@redhat.com>
20865         * config/linux/alpha/futex.h: Conditionally define SYS_futex.
20866         * config/linux/i486/futex.h: Likewise.
20867         * config/linux/x86_64/futex.h: Likewise.
20869         * config/linux/lock.c: New file.
20870         * config/linux/omp-lock.h: New file.
20872         * critical.c, env.h: Don't include omp.h
20873         * config/posix/lock.c: Include libgomp.h instead of omp.h.
20874         * config/posix/time.c: Likewise.
20875         * config/posix/omp-lock.h: New file.
20876         * libgomp.h: Include omp-lock.h and omp.h.
20877         * Makefile.am (nodist_include_HEADERS): New.
20878         (omp.h): New rule.
20879         * configure.ac (PERL): New.
20880         * mkomp_h.pl: New file.
20881         * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
20882         with templates.
20883         * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
20885         * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
20886         build directory.  Re-add -march=i486 hack.
20888         * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
20889         (libgomp_link_flags): Remove.
20890         (libgomp_initialized): Remove.
20891         (libgomp_init): Don't protect from reinitialization.  Copy code
20892         from libstdc++ for getting the multilib set correctly.
20894 2005-05-05  Richard Henderson  <rth@redhat.com>
20896         * config/linux/alpha/futex.h: New file.
20897         * configure.tgt (alpha*-*-linux*): Use it.
20899         * config/posix/mutex.c: New file.
20900         * config/posix/sem.c: Use libgomp.h.
20902         * configure.tgt (x86_64-linux): Also test CC for -m32.
20903         * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
20905         * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
20906         after $gccpath.
20908         * Makefile.am (SUBDIRS): New.
20909         (libgomp_la_LDFLAGS): Add -lpthread.
20910         * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
20911         * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
20913         * libgomp_g.h: New file.
20914         * libgomp.h: Split out all public declarations to libgomp_g.h.
20915         Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
20916         * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
20917         * config/linux/sem.h: Likewise.
20918         * config/posix/sem.h: Likewise.
20920         * Makefile.am (AM_LDFLAGS): New.
20921         (libgomp_version_script): Split out from ...
20922         (libgomp_la_LDFLAGS): ... here.
20923         (libgomp_version_info): New.
20924         * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
20925         (LIBGOMP_ENABLE): New.
20926         (LIBGOMP_CHECK_LINKER_FEATURES): New.
20927         (LIBGOMP_ENABLE_SYMVERS): New.
20928         * configure.ac (AC_INIT): Version 1.0.
20929         (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
20930         (enable-linux-futex): Likewise.  Rename from enable-futex.
20931         (libtool_VERSION): New.
20932         (LIBGOMP_ENABLE_SYMVERS): Use it.
20933         * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
20934         * Makefile.in, aclocal.m4, configure: Rebuild.
20936         * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
20937         (gomp_mutex_unlock_slow): Fix typo.
20938         * config/linux/sem.c: Similarly.
20939         (gomp_sem_post_slow): Fix typo.
20940         * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
20941         * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
20942         [__PIC__] (sys_futex0): Don't use tmp output in asm.
20944         * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
20945         (libgomp_la_LDFLAGS): Add top_srcdir to path.
20946         * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
20947         * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
20948         XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
20949         * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
20950         LDFLAGS.  Pull enable_futex check to top-level.
20951         * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
20952         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
20954         First attempt at real configury.
20955         * Makefile, config.h: Remove file.
20956         * Makefile.am, Makefile.in: New file.
20957         * acinclude.m4 aclocal.m4: New file.
20958         * configure.ac, configure.tgt, configure: New file.
20960         * config/posix/lock.c: Rename from sys-lock.c.
20961         * config/posix/mutex.h: Rename from sys-mutex.h.
20962         * config/posix/sem.c: Rename from sys-sem.c.
20963         * config/posix/sem.h: Rename from sys-sem.h.
20964         * config/posix/proc.c: Rename from sys-proc.c.
20965         * config/posix/time.c: Rename from sys-proc.c.
20967         * config/linux/mutex.c: New file.
20968         * config/linux/mutex.h: New file.
20969         * config/linux/sem.c: New file.
20970         * config/linux/sem.h: New file.
20971         * config/linux/i486/futex.h: New file.
20972         * config/linux/x86_64/futex.h: New file.
20974 2005-05-04  Richard Henderson  <rth@redhat.com>
20976         * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
20977         * libgomp.h: Declare them.
20978         * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
20979         gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
20981 2005-05-04  Richard Henderson  <rth@redhat.com>
20983         * libgomp-1 code drop
20985 2005-05-04  Richard Henderson  <rth@redhat.com>
20987         * iter.c (gomp_iter_static_next): Return tri-state on 0.
20988         * ordered.c (gomp_ordered_static_next): Remove not_last argument.
20989         * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
20990         (gomp_iter_static_next): Update.
20991         (gomp_ordered_static_next): Update.
20992         * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
20993         (gomp_loop_ordered_static_start): Likewise.  Exit early for a
20994         totally empty range.
20995         (gomp_loop_ordered_static_next): Refine test for calling
20996         gomp_ordered_static_next.
20997         * testsuite/ordered-1.c: Add case for more threads than iterations.
20999         * iter.c (gomp_iter_runtime_next_locked): Remove.
21000         * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
21001         gomp_loop_guided_start, gomp_loop_ordered_static_start,
21002         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
21003         gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
21004         gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
21005         gomp_loop_ordered_guided_next): Downcase name, make static, add
21006         an external alias with the old name.
21007         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
21008         GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
21009         switch and call one of the above static functions.
21010         * libgomp.h: Update.
21012         * work.c (gomp_work_share_start): Lock the mutex for !first too.
21013         * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
21014         GOMP_loop_guided_start, GOMP_loop_runtime_start,
21015         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
21016         GOMP_loop_ordered_guided_start): Update to match.
21017         * sections.c (GOMP_sections_start): Likewise.
21018         * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
21020         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
21021         gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
21022         Use bounds check instead of modulus.
21023         (gomp_ordered_sync): Split out of GOMP_ordered_start.
21024         (gomp_ordered_last): Don't sync with ordered_owner here.
21025         (gomp_ordered_next): Likewise.
21026         (gomp_ordered_static_loop_next): Likewise.
21027         * loop.c, libgomp.h: Update to match.
21029         * libgomp.h (GOMP_barrier): Declare.
21031         * testsuite/barrier-1.c: New file.
21032         * testsuite/critical-1.c: New file.
21033         * testsuite/ordered-2.c: New file.
21034         * testsuite/ordered-1.c: New file.
21035         * testsuite/sections-1.c: New file.
21036         * testsuite/single-1.c: New file.
21037         * testsuite/Makefile (TESTS): Add them.
21039 2005-05-04  Richard Henderson  <rth@redhat.com>
21041         * libgomp.h (struct gomp_work_share): Add ordered_owner.
21042         * loop.c (GOMP_loop_static_start): If not the startup thread,
21043         acquire the mutex to wait for initialization complete.
21044         (GOMP_loop_ordered_static_start): Likewise.
21045         (GOMP_loop_ordered_runtime_start): Likewise.
21046         (GOMP_loop_ordered_static_first): Remove.
21047         (GOMP_loop_ordered_dynamic_first): Remove.
21048         (GOMP_loop_ordered_guided_first): Remove.
21049         (GOMP_loop_ordered_runtime_first): Remove.
21050         * ordered.c (gomp_ordered_loop_first): Post to own release when
21051         we're the first thread.
21052         (gomp_ordered_loop_last): Wait on release if not owner.
21053         (gomp_ordered_loop_next): Likewise.
21054         (gomp_ordered_static_loop_init): New.
21055         (gomp_ordered_static_loop_next): Use ordered_owner.
21056         (GOMP_ordered_start): Likewise.
21057         * work.c (gomp_new_work_share): Initialize ordered_owner.
21059 2005-05-03  Richard Henderson  <rth@redhat.com>
21061         * Makefile (OPT): New.
21062         (CFLAGS): Use it.
21064         * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
21065         * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
21066         * libgomp.h, libgomp.map, NOTES: Update to match.
21068         * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
21069         Add initialized and thr members.
21070         (gomp_thread_start): Pause when initially spawned to wait for
21071         the whole team to be created.
21072         (gomp_team_start): Release team members at the end.
21074         * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
21075         (f_foo_1): Use GOMP_loop_end.
21076         (f_foo_2): Use GOMP_loop_end_nowait.
21078         * testsuite/loop-2.c: New file.
21079         * testsuite/Makefile (TESTS): Add it.
21081 2005-05-03  Richard Henderson  <rth@redhat.com>
21083         * iter.c (gomp_iter_static_next): Fix overflow check typo.
21084         (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
21085         * team.c (new_team): Initialize oldest_live_gen to 1 if no
21086         initial work_share.
21088         * testsuite/Makefile: New file.
21089         * testsuite/loop-1.c: New file.
21091 2005-05-03  Richard Henderson  <rth@redhat.com>
21093         Initial implementation and checkin.
21095 Copyright (C) 2005-2024 Free Software Foundation, Inc.
21097 Copying and distribution of this file, with or without modification,
21098 are permitted in any medium without royalty provided the copyright
21099 notice and this notice are preserved.