d: Merge upstream dmd, druntime f8bae04558, phobos ba2ade9dec
[official-gcc.git] / libgomp / ChangeLog
blob4c61f82f4c4360cb5ac84ce81aefe76cc29fefb9
1 2024-03-01  Jakub Jelinek  <jakub@redhat.com>
2             Tobias Burnus  <tburnus@baylibre.com>
4         PR c++/110347
5         * testsuite/libgomp.c++/target-lambda-3.C: Moved from
6         gcc/testsuite/g++.dg/gomp/ and fixed is-mapped handling.
7         * testsuite/libgomp.c++/target-lambda-1.C: Modify to also
8         also work without offloading.
9         * testsuite/libgomp.c++/firstprivate-1.C: New test.
10         * testsuite/libgomp.c++/firstprivate-2.C: New test.
11         * testsuite/libgomp.c++/private-1.C: New test.
12         * testsuite/libgomp.c++/private-2.C: New test.
13         * testsuite/libgomp.c++/target-lambda-4.C: New test.
14         * testsuite/libgomp.c++/use_device_ptr-1.C: New test.
16 2024-02-27  Tobias Burnus  <tburnus@baylibre.com>
18         * libgomp.texi (OpenACC Runtime Library Routines): Document new 3.3
19         routines that simply map to their C counterpart.
20         * openacc.f90 (openacc): Add them.
21         * openacc_lib.h: Likewise.
22         * testsuite/libgomp.oacc-fortran/acc_host_device_ptr.f90: New test.
23         * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: New test.
24         * testsuite/libgomp.oacc-fortran/acc-memcpy-2.f90: New test.
25         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Crossref to f90 test.
26         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
27         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
29 2024-02-21  Tobias Burnus  <tburnus@baylibre.com>
31         * libgomp.texi (OpenMP Context Selectors): Add 'nvptx64' as additional
32         'arch' value for nvptx.
34 2024-02-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
36         * libgomp.texi (OpenMP 5.1): Mark indirect call support as fully
37         implemented.
39 2024-02-15  Kwok Cheung Yeung  <kcyeung@baylibre.com>
41         * testsuite/libgomp.fortran/declare-target-indirect-1.f90: New.
42         * testsuite/libgomp.fortran/declare-target-indirect-2.f90: New.
43         * testsuite/libgomp.fortran/declare-target-indirect-3.f90: New.
45 2024-02-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
47         PR testsuite/113448
48         * testsuite/libgomp.c/alloc-pinned-1.c [!__linux__] (CHECK_SIZE):
49         Call abort.
50         * testsuite/libgomp.c/alloc-pinned-2.c [!__linux__] (CHECK_SIZE):
51         Likewise.
53 2024-02-11  John David Anglin  <danglin@gcc.gnu.org>
55         PR libgomp/113843
56         * configure.tgt (hppa*-*-linux*): Define config_path.
58 2024-02-01  John David Anglin  <danglin@gcc.gnu.org>
60         * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50
61         on 32-bit hppa.
62         * testsuite/libgomp.c/omp-loop03.c: Likewise.
64 2024-01-29  Tobias Burnus  <tburnus@baylibre.com>
66         * testsuite/libgomp.c/declare-variant-4.h: Use gfx1100/gfx1030
67         function not gfx90a for gfx1100/gfx1030 context selector.
69 2024-01-26  Richard Biener  <rguenther@suse.de>
71         * plugin/plugin-gcn.c (suitable_hsa_agent_p): Filter out
72         agents with unsupported ISA.
74 2024-01-26  Richard Biener  <rguenther@suse.de>
76         * plugin/plugin-gcn.c
77         (EF_AMDGPU_MACH::EF_AMDGPU_MACH_UNSUPPORTED): Add.
78         (isa_code): Return that instead of -1.
79         (GOMP_OFFLOAD_init_device): Adjust.
81 2024-01-26  Tobias Burnus  <tburnus@baylibre.com>
83         * testsuite/libgomp.c/declare-variant-4.h: Add variant functions
84         for gfx1030 and gfx1100.
85         * testsuite/libgomp.c/declare-variant-4-gfx1030.c: New test.
86         * testsuite/libgomp.c/declare-variant-4-gfx1100.c: New test.
88 2024-01-26  Andrew Stubbs  <ams@baylibre.com>
90         * config/gcn/time.c (RTC_TICKS): Configure RDNA3.
91         (omp_get_wtime): Add RDNA3-compatible variant.
92         * plugin/plugin-gcn.c (max_isa_vgprs): Tune for gfx1030 and gfx1100.
94 2024-01-24  Tobias Burnus  <tburnus@baylibre.com>
95             Sandra Loosemore  <sandra@codesourcery.com>
97         * libgomp.texi (Runtime Library Routines): Document
98         omp_pause_resource, omp_pause_resource_all and
99         omp_target_memcpy{,_rect}{,_async}.
101 2024-01-22  Tobias Burnus  <tburnus@baylibre.com>
103         * testsuite/libgomp.c/declare-variant-4-fiji.c: Xfail as fiji
104         support is no longer enabled by default.
105         * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
107 2024-01-20  John David Anglin  <danglin@gcc.gnu.org>
109         * testsuite/libgomp.fortran/alloc-comp-3.f90: Increase
110         timeout by 2 on hppa*-*-*.
112 2024-01-20  John David Anglin  <danglin@gcc.gnu.org>
114         * testsuite/libgomp.c/simd-math-1.c: Don't run on
115         hppa*-*-hpux*.
117 2024-01-17  Jakub Jelinek  <jakub@redhat.com>
119         PR middle-end/113409
120         * testsuite/libgomp.c/bitint-1.c: New test.
122 2024-01-11  Julian Brown  <julian@codesourcery.com>
124         * libgomp.texi: C/C++ lvalues are supported now for map/to/from.
125         * testsuite/libgomp.c-c++-common/ind-base-4.c: New test.
126         * testsuite/libgomp.c-c++-common/unary-ptr-1.c: New test.
128 2024-01-10  Jakub Jelinek  <jakub@redhat.com>
130         PR libgomp/113192
131         * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
132         instead of \$(abs_top_srcdir)/testsuite/flock.
133         * configure: Regenerated.
135 2024-01-09  Julian Brown  <julian@codesourcery.com>
137         * testsuite/libgomp.c++/baseptrs-4.C: Remove commented-out cases that
138         now work.
139         * testsuite/libgomp.c++/baseptrs-6.C: New test.
140         * testsuite/libgomp.c++/ind-base-1.C: New test.
141         * testsuite/libgomp.c++/ind-base-2.C: New test.
142         * testsuite/libgomp.c++/lvalue-tofrom-1.C: New test.
143         * testsuite/libgomp.c++/lvalue-tofrom-2.C: New test.
144         * testsuite/libgomp.c++/map-comma-1.C: New test.
145         * testsuite/libgomp.c++/map-rvalue-ref-1.C: New test.
146         * testsuite/libgomp.c++/struct-ref-1.C: New test.
147         * testsuite/libgomp.c-c++-common/array-field-1.c: New test.
148         * testsuite/libgomp.c-c++-common/array-of-struct-1.c: New test.
149         * testsuite/libgomp.c-c++-common/array-of-struct-2.c: New test.
151 2024-01-09  Jakub Jelinek  <jakub@redhat.com>
153         PR libgomp/113192
154         * configure.ac (FLOCK): Use \$(abs_top_srcdir)/testsuite/flock
155         rather than $srcdir/testsuite/flock.
156         * configure: Regenerated.
158 2024-01-08  Thomas Schwinge  <thomas@codesourcery.com>
160         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
161         'EF_AMDGPU_MACH_AMDGCN_GFX1100'.
163 2024-01-08  Julian Brown  <julian@codesourcery.com>
165         * plugin/plugin-gcn.c (hsa_runtime_fn_info): Add
166         hsa_amd_memory_lock_fn, hsa_amd_memory_unlock_fn,
167         hsa_amd_memory_async_copy_rect_fn function pointers.
168         (init_hsa_runtime_functions): Add above functions, with
169         DLSYM_OPT_FN.
170         (GOMP_OFFLOAD_memcpy2d, GOMP_OFFLOAD_memcpy3d): New functions.
172 2024-01-08  Tobias Burnus  <tobias@codesourcery.com>
174         * plugin/plugin-gcn.c (gcn_gfx1100_s): New const string.
175         (gcn_isa_name_len): Fix length.
176         (isa_hsa_name, isa_code, max_isa_vgprs): Handle gfx1100.
178 2024-01-06  Tobias Burnus  <tobias@codesourcery.com>
180         * libgomp.texi (OpenMP Technical Report 12): Fix a typo.
181         (Device Memory Routines): Fix OpenMP 5.1 spec refs; add
182         omp_target_is_accessible.
183         (Environment Display Routine): Uncomment and add
184         omp_display_env description.
185         (OMP_DISPLAY_ENV): Update wording, add 'see also'.
187 2024-01-06  Mark Wielaard  <mark@klomp.org>
189         * configure: Regenerate.
191 2024-01-03  Jakub Jelinek  <jakub@redhat.com>
193         * libgomp.texi: Bump @copying's copyright year.
195 2023-12-21  Julian Brown  <julian@codesourcery.com>
197         * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL.
199 2023-12-20  Julian Brown  <julian@codesourcery.com>
201         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to
202         avoid out-of-bounds array checks in CUDA runtime.
203         (GOMP_OFFLOAD_memcpy3d): Likewise.
204         * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test.
206 2023-12-18  Jakub Jelinek  <jakub@redhat.com>
208         * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86,
209         drop because of that unneeded target selector from other directives
210         and remove the aarch64 specific ones.
212 2023-12-15  Andre Vieira  <andre.simoesdiasvieira@arm.com>
214         * testsuite/libgomp.c/declare-variant-1.c: Fixed test.
215         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
217 2023-12-15  Thomas Schwinge  <thomas@codesourcery.com>
219         * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict
220         'dg-output's to 'target offload_device_nonshared_as'.
222 2023-12-15  Julian Brown  <julian@codesourcery.com>
224         * oacc-mem.c (find_group_last, goacc_enter_data_internal,
225         goacc_exit_data_internal, GOACC_enter_exit_data): Add
226         GOMP_MAP_STRUCT_UNORD support.
227         * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support.
228         Detect incorrect use of variable indexing of arrays of structs.
229         (GOMP_target_enter_exit_data, gomp_target_task_fn): Add
230         GOMP_MAP_STRUCT_UNORD support.
231         * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test.
232         * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test.
233         * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test.
234         * testsuite/libgomp.fortran/map-subarray-5.f90: New test.
236 2023-12-13  Julian Brown  <julian@codesourcery.com>
238         * testsuite/libgomp.fortran/map-subarray.f90: New test.
239         * testsuite/libgomp.fortran/map-subarray-2.f90: New test.
240         * testsuite/libgomp.fortran/map-subarray-3.f90: New test.
241         * testsuite/libgomp.fortran/map-subarray-4.f90: New test.
242         * testsuite/libgomp.fortran/map-subarray-6.f90: New test.
243         * testsuite/libgomp.fortran/map-subarray-7.f90: New test.
244         * testsuite/libgomp.fortran/map-subarray-8.f90: New test.
245         * testsuite/libgomp.fortran/map-subcomponents.f90: New test.
246         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for
247         descriptor-mapping changes.  Remove XFAIL.
249 2023-12-13  Julian Brown  <julian@codesourcery.com>
251         * target.c (gomp_map_pointer): Modify zero-length array section
252         pointer handling.
253         (gomp_attach_pointer): Likewise.
254         (gomp_map_fields_existing): Use gomp_map_0len_lookup.
255         (gomp_attach_pointer): Allow attaching null pointers (or Fortran
256         "unassociated" pointers).
257         (gomp_map_vars_internal): Handle zero-sized struct members.  Add
258         diagnostic for unmapped struct pointer members.
259         * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test.
260         * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test.
261         * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test.
262         * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test.
263         * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
264         * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing
265         "free".
266         * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test.
267         * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test.
268         * testsuite/libgomp.c++/class-array-1.C: New test.
269         * testsuite/libgomp.c++/baseptrs-3.C: New test.
270         * testsuite/libgomp.c++/baseptrs-4.C: New test.
271         * testsuite/libgomp.c++/baseptrs-5.C: New test.
272         * testsuite/libgomp.c++/baseptrs-8.C: New test.
273         * testsuite/libgomp.c++/baseptrs-9.C: New test.
274         * testsuite/libgomp.c++/ref-mapping-1.C: New test.
275         * testsuite/libgomp.c++/target-48.C: New test.
276         * testsuite/libgomp.c++/target-49.C: New test.
277         * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test.
278         * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2
279         semantics.
280         * testsuite/libgomp.c++/target-this-3.C: Likewise.
281         * testsuite/libgomp.c++/target-this-4.C: Likewise.
282         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL.
283         * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise.
285 2023-12-13  Thomas Schwinge  <thomas@codesourcery.com>
287         * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t'
288         vs. '%ld' format string mismatch.
290 2023-12-13  Andrew Stubbs  <ams@codesourcery.com>
291             Thomas Schwinge  <thomas@codesourcery.com>
293         * allocator.c (MEMSPACE_ALLOC): Add PIN.
294         (MEMSPACE_CALLOC): Add PIN.
295         (MEMSPACE_REALLOC): Add PIN.
296         (MEMSPACE_FREE): Add PIN.
297         (MEMSPACE_VALIDATE): Add PIN.
298         (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning.
299         (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
300         (omp_aligned_calloc): Likewise.
301         (omp_realloc): Likewise.
302         (omp_free): Likewise.
303         * config/linux/allocator.c: New file.
304         * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
305         (MEMSPACE_CALLOC): Add PIN.
306         (MEMSPACE_REALLOC): Add PIN.
307         (MEMSPACE_FREE): Add PIN.
308         (MEMSPACE_VALIDATE): Add PIN.
309         * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN.
310         (MEMSPACE_CALLOC): Add PIN.
311         (MEMSPACE_REALLOC): Add PIN.
312         (MEMSPACE_FREE): Add PIN.
313         * libgomp.texi: Switch pinned trait to supported.
314         (MEMSPACE_VALIDATE): Add PIN.
315         * testsuite/libgomp.c/alloc-pinned-1.c: New test.
316         * testsuite/libgomp.c/alloc-pinned-2.c: New test.
317         * testsuite/libgomp.c/alloc-pinned-3.c: New test.
318         * testsuite/libgomp.c/alloc-pinned-4.c: New test.
320 2023-12-11  Lipeng Zhu  <lipeng.zhu@intel.com>
322         * testsuite/libgomp.fortran/rwlock_1.f90: New file.
323         * testsuite/libgomp.fortran/rwlock_2.f90: New file.
324         * testsuite/libgomp.fortran/rwlock_3.f90: New file.
326 2023-12-11  Andre Vieira  <andre.simoesdiasvieira@arm.com>
328         * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64.
329         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
331 2023-12-11  Tobias Burnus  <tobias@codesourcery.com>
333         * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add.
335 2023-12-08  Tobias Burnus  <tobias@codesourcery.com>
337         * allocator.c (struct fort_alloc_splay_tree_key_s,
338         fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New.
339         * libgomp.h: Define splay_tree_static for 'reverse' splay tree.
340         * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and
341         GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ...
342         (GOMP_5.1.1): ... here.
343         * libgomp.texi (Impl. Status, Memory management): Update for
344         allocators/allocate directives.
345         * splay-tree.c: Handle splay_tree_static define to declare all
346         functions as static.
347         (splay_tree_lookup_node): New.
348         * splay-tree.h: Handle splay_tree_decl_only define.
349         (splay_tree_lookup_node): New prototype.
350         * target.c: Define splay_tree_static for 'reverse'.
351         * testsuite/libgomp.fortran/allocators-1.f90: New test.
352         * testsuite/libgomp.fortran/allocators-2.f90: New test.
353         * testsuite/libgomp.fortran/allocators-3.f90: New test.
354         * testsuite/libgomp.fortran/allocators-4.f90: New test.
355         * testsuite/libgomp.fortran/allocators-5.f90: New test.
357 2023-12-06  Andrew Stubbs  <ams@codesourcery.com>
359         * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here.
360         (TEAM_ARENA_FREE): Likewise.
361         (TEAM_ARENA_END): Likewise.
362         (GCN_LOWLAT_HEAP): New.
363         * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h.
364         (__gcn_lowlat_init): New prototype.
365         (gomp_gcn_enter_kernel): Initialize the low-latency heap.
366         * libgomp.h (TEAM_ARENA_START): Move to libgomp.h.
367         (TEAM_ARENA_FREE): Likewise.
368         (TEAM_ARENA_END): Likewise.
369         * plugin/plugin-gcn.c (lowlat_size): New variable.
370         (print_kernel_dispatch): Label the group_segment_size purpose.
371         (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL.
372         (create_kernel_dispatch): Pass low-latency head allocation to kernel.
373         (run_kernel): Use shadow; don't assume values.
374         * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn.
375         * config/gcn/allocator.c: New file.
376         * libgomp.texi: Document low-latency implementation details.
378 2023-12-06  Andrew Stubbs  <ams@codesourcery.com>
380         * allocator.c (MEMSPACE_VALIDATE): New macro.
381         (omp_init_allocator): Use MEMSPACE_VALIDATE.
382         (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID.
383         (omp_aligned_calloc): Likewise.
384         (omp_realloc): Likewise.
385         * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
386         (MEMSPACE_VALIDATE): New macro.
387         (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define.
388         * libgomp.texi: Document low-latency implementation details.
389         * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat.
390         * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat.
391         * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat.
392         * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait.
393         * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat.
394         * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait.
395         * testsuite/libgomp.c/omp_alloc-traits.c: New test.
397 2023-12-06  Andrew Stubbs  <ams@codesourcery.com>
398             Kwok Cheung Yeung   <kcy@codesourcery.com>
399             Thomas Schwinge  <thomas@codesourcery.com>
401         * allocator.c (MEMSPACE_ALLOC): New macro.
402         (MEMSPACE_CALLOC): New macro.
403         (MEMSPACE_REALLOC): New macro.
404         (MEMSPACE_FREE): New macro.
405         (predefined_alloc_mapping): New array.  Add _Static_assert to match.
406         (ARRAY_SIZE): New macro.
407         (omp_aligned_alloc): Use MEMSPACE_ALLOC.
408         Implement fall-backs for predefined allocators.  Simplify existing
409         fall-backs.
410         (omp_free): Use MEMSPACE_FREE.
411         (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for
412         predefined allocators.  Simplify existing fall-backs.
413         (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE.
414         Implement fall-backs for predefined allocators.  Simplify existing
415         fall-backs.
416         * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable.
417         (__nvptx_lowlat_init): New prototype.
418         (gomp_nvptx_main): Call __nvptx_lowlat_init.
419         * libgomp.texi: Update memory space table.
420         * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
421         (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
422         (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
423         * basic-allocator.c: New file.
424         * config/nvptx/allocator.c: New file.
425         * testsuite/libgomp.c/omp_alloc-1.c: New test.
426         * testsuite/libgomp.c/omp_alloc-2.c: New test.
427         * testsuite/libgomp.c/omp_alloc-3.c: New test.
428         * testsuite/libgomp.c/omp_alloc-4.c: New test.
429         * testsuite/libgomp.c/omp_alloc-5.c: New test.
430         * testsuite/libgomp.c/omp_alloc-6.c: New test.
432 2023-11-30  Thomas Schwinge  <thomas@codesourcery.com>
434         * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust.
435         * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
436         * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
437         * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
438         * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
439         * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
440         * testsuite/libgomp.c/declare-variant-4.h: Likewise.
441         * testsuite/libgomp.c/declare-variant-4.c: New.
443 2023-11-30  Thomas Schwinge  <thomas@codesourcery.com>
445         * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run'
446         into 'dg-do link'.
447         * testsuite/libgomp.c/declare-variant-3.c: New.
448         * testsuite/libgomp.c/declare-variant-3.h: Extend.
450 2023-11-30  Thomas Schwinge  <thomas@codesourcery.com>
452         * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict
453         'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'.
454         * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
455         * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
456         * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
457         * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
458         * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
459         * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict
460         'scan-offload-tree-dump' to
461         'only_for_offload_target amdgcn-amdhsa'.
462         * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
463         * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
464         * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
465         * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
466         * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
468 2023-11-30  Thomas Schwinge  <thomas@codesourcery.com>
470         * testsuite/libgomp.c/declare-variant-3-sm30.c:
471         'dg-additional-options -foffload=nvptx-none'.
472         * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
473         * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
474         * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
475         * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
476         * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
478 2023-11-29  Thomas Schwinge  <thomas@codesourcery.com>
480         * testsuite/libgomp.c/target-simd-clone-1.c: Restrict
481         'scan-offload-ipa-dump's to
482         'only_for_offload_target amdgcn-amdhsa'.
483         * testsuite/libgomp.c/target-simd-clone-2.c: Likewise.
484         * testsuite/libgomp.c/target-simd-clone-3.c: Likewise.
486 2023-11-24  Tobias Burnus  <tobias@codesourcery.com>
488         * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause
489         is now supported.
491 2023-11-22  Thomas Schwinge  <thomas@codesourcery.com>
493         * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70)
494         (f75, f80, f): Add '__attribute__ ((noipa))'.
495         * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906)
496         (gfx908, gfx90a, f): Likewise.
498 2023-11-15  Andrew Stubbs  <ams@codesourcery.com>
499             Andrew Jenner   <andrew@codesourcery.com>
501         * plugin/plugin-gcn.c (max_isa_vgprs): New.
502         (run_kernel): CDNA2 devices have more VGPRs.
504 2023-11-10  Tobias Burnus  <tobias@codesourcery.com>
506         * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
507         renamed section from TR11.
509 2023-11-07  Kwok Cheung Yeung  <kcy@codesourcery.com>
511         * config/linux/target-indirect.c: Move to...
512         * target-indirect.c: ...here.
514 2023-11-07  Kwok Cheung Yeung  <kcy@codesourcery.com>
516         * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c.
517         * Makefile.in: Regenerate.
518         * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define.
519         (GOMP_OFFLOAD_load_image): Add extra argument.
520         * libgomp.h (struct indirect_splay_tree_key_s): New.
521         (indirect_splay_tree_node, indirect_splay_tree,
522         indirect_splay_tree_key): New.
523         (indirect_splay_compare): New.
524         * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr.
525         * libgomp.texi (OpenMP 5.1): Update documentation on indirect
526         calls in target region and on indirect clause.
527         (Other new OpenMP 5.2 features): Add entry for virtual function calls.
528         * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype.
529         * oacc-host.c (host_load_image): Add extra argument.
530         * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high
531         enough, read host indirect functions table and pass to
532         load_image_func.
533         * config/accel/target-indirect.c: New.
534         * config/linux/target-indirect.c: New.
535         * config/gcn/team.c (build_indirect_map): Add prototype.
536         (gomp_gcn_enter_kernel): Initialize support for indirect
537         function calls on GCN target.
538         * config/nvptx/team.c (build_indirect_map): Add prototype.
539         (gomp_nvptx_main): Initialize support for indirect function
540         calls on NVPTX target.
541         * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for
542         indirect functions count.
543         (GOMP_OFFLOAD_load_image): Add extra argument.  If the GOMP_VERSION
544         is high enough, build address translation table and copy it to target
545         memory.
546         * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect
547         functions count.
548         (GOMP_OFFLOAD_load_image): Add extra argument.  If the GOMP_VERSION
549         is high enough, Build address translation table and copy it to target
550         memory.
551         * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New.
552         * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New.
553         * testsuite/libgomp.c++/declare-target-indirect-1.C: New.
555 2023-11-05  Jakub Jelinek  <jakub@redhat.com>
557         * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
558         supported also in C.
560 2023-10-31  Thomas Schwinge  <thomas@codesourcery.com>
562         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
563         'acc_map_data' variant.
565 2023-10-25  Thomas Schwinge  <thomas@codesourcery.com>
567         * oacc-parallel.c (GOACC_data_start): Handle
568         'GOACC_FLAG_LOCAL_DEVICE'.
569         (GOACC_parallel_keyed): Simplify accordingly.
570         * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
572 2023-10-25  Thomas Schwinge  <thomas@codesourcery.com>
574         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
575         * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
576         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
577         * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
578         * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
580 2023-10-25  Chung-Lin Tang  <cltang@codesourcery.com>
582         * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
583         GOACC_FLAG_LOCAL_DEVICE case.
584         * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
586 2023-10-22  Iain Sandoe  <iain@sandoe.co.uk>
588         * Makefile.am: Handle Darwin rpaths.
589         * Makefile.in: Regenerate.
590         * configure: Regenerate.
591         * configure.ac: Handle Darwin rpaths
593 2023-10-20  Andrew Stubbs  <ams@codesourcery.com>
595         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
596         (isa_hsa_name): Recognise gfx1030.
597         (isa_code): Likewise.
598         * team.c (defined): Remove s_endpgm.
600 2023-10-20  Tobias Burnus  <tobias@codesourcery.com>
602         * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
603         _OPENMP >= 201811.
605 2023-10-15  Tobias Burnus  <tobias@codesourcery.com>
607         * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
608         improve wording especially for Fortran; mention -fopenmp-simd.
609         (Enabling OpenACC): Minor cleanup; remove conditional compilation
610         sentinel.
612 2023-10-15  Tobias Burnus  <tobias@codesourcery.com>
614         * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
615         Actually document what the function does.
616         (GCC_ACC_NOTIFY): Remove unused env var.
618 2023-10-15  Tobias Burnus  <tobias@codesourcery.com>
620         * libgomp.texi: Replace most future tense by present tense.
622 2023-10-14  Tobias Burnus  <tobias@codesourcery.com>
624         * testsuite/libgomp.fortran/allocate-6.f90: Add missing
625         dg-additional-options "-fdump-tree-gimple"; fix scan.
627 2023-10-14  Tobias Burnus  <tobias@codesourcery.com>
629         * libgomp.texi: Fix some typos.
630         (Memory Management Routines): Document remaining 5.x routines.
631         (Memory allocation): Make clear when the section applies.
633 2023-10-14  Tobias Burnus  <tobias@codesourcery.com>
635         * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
636         supports the allocate directive for stack variables.
637         * testsuite/libgomp.fortran/allocate-5.f90: New test.
638         * testsuite/libgomp.fortran/allocate-6.f90: New test.
639         * testsuite/libgomp.fortran/allocate-7.f90: New test.
640         * testsuite/libgomp.fortran/allocate-8.f90: New test.
642 2023-10-12  Tobias Burnus  <tobias@codesourcery.com>
644         * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
645         OMP_TARGET_OFFLOAD.
646         (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
647         clarify MANDATORY behavior.
649 2023-10-12  Zhang, Jun  <jun.zhang@intel.com>
651         * env.c (initialize_env): Use do_adjust_default_spincount.
652         * config/linux/x86/spincount.h: New file.
654 2023-10-08  Tobias Burnus  <tobias@codesourcery.com>
656         * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
658 2023-10-06  Tobias Burnus  <tobias@codesourcery.com>
660         * libgomp.texi (Device Memory Routines): New.
662 2023-10-04  Tobias Burnus  <tobias@codesourcery.com>
664         * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
665         and that other target archs have no 'arch'/'isa' traits implemented.
667 2023-09-20  Tobias Burnus  <tobias@codesourcery.com>
669         * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
670         implemented for C only.
671         * testsuite/libgomp.c/allocate-4.c: New test.
672         * testsuite/libgomp.c/allocate-5.c: New test.
673         * testsuite/libgomp.c/allocate-6.c: New test.
675 2023-09-20  Jakub Jelinek  <jakub@redhat.com>
677         PR c++/111392
678         * libgomp.texi: Mark decl attribute was added to the C++ attribute
679         syntax as implemented.
681 2023-09-19  Jakub Jelinek  <jakub@redhat.com>
683         PR libgomp/111413
684         * env.c (initialize_env): Don't dereference environ if it is NULL.
685         Reindent.
687 2023-09-18  Richard Biener  <rguenther@suse.de>
689         PR tree-optimization/111294
690         * team.c (gomp_team_start): Assert alloca size to avoid false
691         positive alloc-size diagnostic.
693 2023-09-12  Thomas Schwinge  <thomas@codesourcery.com>
694             Chung-Lin Tang  <cltang@codesourcery.com>
696         PR testsuite/91884
697         PR testsuite/109951
698         * configure.ac: Revert earlier changes, instead
699         'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
700         * Makefile.in: Regenerate.
701         * configure: Likewise.
702         * testsuite/Makefile.in: Likewise.
703         * testsuite/lib/libgomp.exp (libgomp_init): Remove
704         "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
705         If '--with-build-sysroot=[...]' was specified, use it for
706         build-tree testing.
707         * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
708         (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
709         (SYSROOT_CFLAGS_FOR_TARGET): Set.
710         * testsuite/libgomp.c++/c++.exp (lang_source_re)
711         (lang_include_flags): Set for build-tree testing.
712         * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
713         (lang_include_flags): Likewise.
715 2023-09-07  Tobias Burnus  <tobias@codesourcery.com>
717         * libgomp.texi (Memory Management Routines): New; add documentation for
718         omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
719         omp_get_default_allocator.
720         (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
722 2023-09-07  Tobias Burnus  <tobias@codesourcery.com>
724         * target.c (gomp_unload_device): Remove tailing whitespace.
726 2023-09-04  Tobias Burnus  <tobias@codesourcery.com>
727             Thomas Schwinge  <thomas@codesourcery.com>
729         * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
731 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
733         * libgomp.texi (OpenMP 5.0):  Imperfectly-nested loops are done.
735 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
737         * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
738         * testsuite/libgomp.fortran/imperfect1.f90: New.
739         * testsuite/libgomp.fortran/imperfect2.f90: New.
740         * testsuite/libgomp.fortran/imperfect3.f90: New.
741         * testsuite/libgomp.fortran/imperfect4.f90: New.
742         * testsuite/libgomp.fortran/target-imperfect1.f90: New.
743         * testsuite/libgomp.fortran/target-imperfect2.f90: New.
744         * testsuite/libgomp.fortran/target-imperfect3.f90: New.
745         * testsuite/libgomp.fortran/target-imperfect4.f90: New.
747 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
749         * testsuite/libgomp.c-c++-common/imperfect1.c: New.
750         * testsuite/libgomp.c-c++-common/imperfect2.c: New.
751         * testsuite/libgomp.c-c++-common/imperfect3.c: New.
752         * testsuite/libgomp.c-c++-common/imperfect4.c: New.
753         * testsuite/libgomp.c-c++-common/imperfect5.c: New.
754         * testsuite/libgomp.c-c++-common/imperfect6.c: New.
755         * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
756         * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
757         * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
758         * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
760 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
762         * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
763         * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
764         * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
765         * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
766         * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
767         * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
768         * testsuite/libgomp.c++/imperfect-class-1.C: New test.
769         * testsuite/libgomp.c++/imperfect-class-2.C: New test.
770         * testsuite/libgomp.c++/imperfect-class-3.C: New test.
771         * testsuite/libgomp.c++/imperfect-destructor.C: New test.
772         * testsuite/libgomp.c++/imperfect-template-1.C: New test.
773         * testsuite/libgomp.c++/imperfect-template-2.C: New test.
774         * testsuite/libgomp.c++/imperfect-template-3.C: New test.
776 2023-08-22  Francois-Xavier Coudert  <fxcoudert@gmail.com>
778         * testsuite/lib/libgomp.exp: Add effective target.
779         * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
780         functions.
782 2023-08-22  Tobias Burnus  <tobias@codesourcery.com>
784         * libgomp.texi (OpenMP 5.2 status): Add depobj with
785         destroy-var argument as 'N'. Mark defaultmap with
786         'all' category as 'Y'.
788 2023-08-19  Tobias Burnus  <tobias@codesourcery.com>
790         PR middle-end/111017
791         * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
793 2023-08-17  Tobias Burnus  <tobias@codesourcery.com>
795         PR libgomp/111024
796         * allocator.c (gomp_init_libnuma): Call numa_available; if
797         not available or not returning 0, disable libnuma usage.
799 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
801         * configure: Regenerate.
803 2023-08-07  Alexander von Gluck IV  <kallisti5@unixzen.com>
805         * configure: Regenerate.
807 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
809         * configure: Regenerate.
811 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
813         * configure: Regenerate.
815 2023-08-07  H.J. Lu  <hjl.tools@gmail.com>
817         * configure: Regenerate.
819 2023-08-07  H.J. Lu  <hjl.tools@gmail.com>
821         * configure: Regenerate.
823 2023-07-29  Tobias Burnus  <tobias@codesourcery.com>
825         * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
826         GOMP_OFFLOAD_CAP_SHARED_MEM.
827         (omp_target_memcpy_rect_copy): Likewise for lock condition.
828         (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
829         memcpy3d/memcpy2d.
830         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
831         GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
832         unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
834 2023-07-26  Tobias Burnus  <tobias@codesourcery.com>
836         * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
837         GOMP_OFFLOAD_memcpy3d): New prototypes.
838         * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
839         and memcpy3d_func.
840         * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
841         * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
842         * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
843         cuMemcpy3D): Invoke via CUDA_ONE_CALL.
844         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
845         GOMP_OFFLOAD_memcpy3d): New.
846         * target.c (omp_target_memcpy_rect_worker):
847         (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
848         Permit all device-to-device copyies; invoke new plugins for
849         2D and 3D copying when available.
850         (gomp_load_plugin_for_device): DLSYM the new plugin functions.
851         * testsuite/libgomp.c/target-12.c: Fix dimension bug.
852         * testsuite/libgomp.fortran/target-12.f90: Likewise.
853         * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
855 2023-07-26  Tobias Burnus  <tobias@codesourcery.com>
857         * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
858         (Tasking Routines): Document omp_in_explicit_task.
859         (Implementation-defined ICV Initialization): Use @ref not @code.
861 2023-07-20  Tobias Burnus  <tobias@codesourcery.com>
863         * libgomp.texi (OpenMP Runtime Library Routines):
864         Split long list by adding sections and moving routines there.
865         (OMP_ALLOCATORS): Fix typo.
867 2023-07-19  Tobias Burnus  <tobias@codesourcery.com>
869         PR fortran/107424
870         * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
871         * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
872         commented tests.
873         * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
874         test file; tests are in non-rectangular-loop-1.f90.
875         * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
876         testcase to use a non-constant step to retain the 'sorry' test.
877         * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
879 2023-07-17  Tobias Burnus  <tobias@codesoucery.com>
880             Chung-Lin Tang  <cltang@codesourcery.com>
882         * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
883         * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
885 2023-07-14  Tobias Burnus  <tobias@codesourcery.com>
887         * libgomp.texi (OMP_ALLOCATOR): Document the default values for
888         the traits. Add crossref to 'Memory allocation'.
889         (Memory allocation): Refer to OMP_ALLOCATOR for the available
890         traits and allocators/mem spaces; document the default value
891         for the pool_size trait.
893 2023-07-14  Tobias Burnus  <tobias@codesourcery.com>
895         * allocator.c (omp_init_allocator): Check whether symbol from
896         dlopened libnuma is available before using libnuma for
897         allocations.
899 2023-07-13  David Edelsohn  <dje.gcc@gmail.com>
901         * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
902         * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
903         * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
905 2023-07-12  Tobias Burnus  <tobias@codesourcery.com>
907         * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
908         'Memory allocation' section which contains the full status.
909         (TR11): Remove differently worded duplicated entry.
911 2023-07-12  Tobias Burnus  <tobias@codesourcery.com>
913         * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
914         (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
915         add GOMP_MEMKIND_LIBNUMA.
916         (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
917         (omp_init_allocator): Handle partition=nearest with libnuma if avail.
918         (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
919         numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
920         needed.
921         * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
922         * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
923         (Memory allocation): Renamed from 'Memory allocation with libmemkind';
924         updated for libnuma usage.
925         * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
926         * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
928 2023-07-11  Tobias Burnus  <tobias@codesourcery.com>
930         * allocator.c (omp_init_allocator): Use malloc for
931         omp_high_bw_mem_space when the memkind lib is unavailable
932         instead of returning omp_null_allocator.
933         * libgomp.texi (OpenMP 5.0): Fix typo.
934         (Memory allocation with libmemkind): Document implementation
935         in more detail.
937 2023-06-22  Tobias Burnus  <tobias@codesourcery.com>
939         * libgomp.texi: Use @var for ICV vars.
940         (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
941         document which ICV is set and which scope the ICV has; extend/cleanup
942         some @ref.
943         (Implementation-defined ICV Initialization): New.
944         (nvptx): Document the implementation-defined used per-warp stack size.
946 2023-06-19  Thomas Schwinge  <thomas@codesourcery.com>
948         * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
949         error.
951 2023-06-19  Tobias Burnus  <tobias@codesourcery.com>
953         * testsuite/libgomp.c/target-51.c: Accept more error msg variants
954         as expected dg-output.
956 2023-06-19  Tobias Burnus  <tobias@codesourcery.com>
958         PR middle-end/110270
959         * target.c (gomp_map_vars_internal): Copy host value instead of NULL
960         for  GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
961         * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
962         * testsuite/libgomp.c/target-19.c: Update expected value.
963         * testsuite/libgomp.c++/target-18.C: Likewise.
964         * testsuite/libgomp.c++/target-19.C: Likewise.
965         * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
966         * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
967         * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
969 2023-06-16  Tobias Burnus  <tobias@codesourcery.com>
971         * target.c (resolve_device): Call gomp_get_num_devices early to ensure
972         gomp_init_targets_once was called before using default-device-var.
973         * testsuite/libgomp.c/target-55.c: New test.
974         * testsuite/libgomp.c/target-55a.c: New test.
976 2023-06-15  Tobias Burnus  <tobias@codesourcery.com>
978         * env.c (gomp_def_allocator_envvar): New var.
979         (parse_allocator): Handle OpenMP 5.1 syntax.
980         (cleanup_env): New.
981         (omp_display_env): Output gomp_def_allocator_envvar
982         for an allocator with traits.
983         * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
984         OMP_DISPLAY_AFFINITY): New.
985         * testsuite/libgomp.c/allocator-1.c: New test.
986         * testsuite/libgomp.c/allocator-2.c: New test.
987         * testsuite/libgomp.c/allocator-3.c: New test.
988         * testsuite/libgomp.c/allocator-4.c: New test.
989         * testsuite/libgomp.c/allocator-5.c: New test.
990         * testsuite/libgomp.c/allocator-6.c: New test.
992 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
994         * target.c (resolve_device): Align a
995         'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
996         * testsuite/libgomp.c/target-51.c: Adjust.
998 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
1000         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
1001         set.
1002         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
1003         Likewise.
1004         * testsuite/libgomp.c/simd-math-1.c: Remove
1005         '-foffload-options=-lm'.
1006         * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
1007         Likewise.
1008         * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
1009         Likewise.
1011 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
1013         * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
1014         * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
1015         Likewise.
1017 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
1019         * testsuite/libgomp.c/target-51.c: Fix typo.
1021 2023-06-14  Tobias Burnus  <tobias@codesourcery.com>
1023         * env.c (gomp_default_icv_values): Init default_device_var to
1024         an nonconforming value - INT_MIN.
1025         (initialize_env): After env-var parsing, set default_device_var to
1026         device 0 unless OMP_TARGET_OFFLOAD=mandatory.
1027         (omp_display_env): If default_device_var is INT_MIN, call
1028         gomp_init_targets_once.
1029         * icv-device.c (omp_get_default_device): Likewise.
1030         * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
1031         (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
1032         * target.c (resolve_device): Improve error message device-num < 0
1033         with 'mandatory' and no no-host devices available.
1034         (gomp_target_init): Set default-device-var if INT_MIN.
1035         * testsuite/libgomp.c/target-48.c: New test.
1036         * testsuite/libgomp.c/target-49.c: New test.
1037         * testsuite/libgomp.c/target-50.c: New test.
1038         * testsuite/libgomp.c/target-50a.c: New test.
1039         * testsuite/libgomp.c/target-51.c: New test.
1040         * testsuite/libgomp.c/target-52.c: New test.
1041         * testsuite/libgomp.c/target-53.c: New test.
1042         * testsuite/libgomp.c/target-54.c: New test.
1044 2023-06-13  Tobias Burnus  <tobias@codesourcery.com>
1046         PR libgomp/109837
1047         * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
1048         * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
1050 2023-06-12  Tobias Burnus  <tobias@codesourcery.com>
1052         * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
1053         GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
1054         (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
1055         error message.
1056         * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
1057         changed error message.
1058         * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1059         * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
1060         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1061         * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
1062         extend testcase to check that data is copied when needed.
1063         * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1064         * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1066 2023-06-07  Thomas Schwinge  <thomas@codesourcery.com>
1067             Tobias Burnus  <tobias@codesourcery.com>
1069         * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
1070         also for non-offload_device targets; check that it runs
1071         successfully for those and for all until a checkpoint for all
1072         * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
1073         * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1074         * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1075         * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1076         * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
1077         add missing vars to map clause.
1079 2023-06-06  Tobias Burnus  <tobias@codesourcery.com>
1081         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
1082         unified_address requirement as supported.
1083         * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
1084         'unified_address' from the not-supported requirements.
1086 2023-06-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
1087             Tobias Burnus  <tobias@codesourcery.com>
1089         * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
1090         defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
1091         * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
1092         modifier.
1093         (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
1094         (gomp_map_vars_internal, gomp_update, gomp_target_rev):
1095         Emit runtime error if memory region not present.
1096         * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
1097         * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
1098         * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
1099         * testsuite/libgomp.fortran/target-present-1.f90: New test.
1100         * testsuite/libgomp.fortran/target-present-2.f90: New test.
1101         * testsuite/libgomp.fortran/target-present-3.f90: New test.
1103 2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
1105         PR testsuite/66005
1106         * testsuite/lib/libgomp.exp: 'flock' through stdout.
1107         * testsuite/flock: New.
1108         * configure.ac (FLOCK): Point to that if no 'flock' available, but
1109         'perl' is.
1110         * configure: Regenerate.
1112 2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
1114         * configure.ac (PERL): Remove.
1115         * configure: Regenerate.
1116         * Makefile.in: Likewise.
1117         * testsuite/Makefile.in: Likewise.
1119 2023-06-01  Tobias Burnus  <tobias@codesourcery.com>
1121         * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
1123 2023-05-26  Tobias Burnus  <tobias@codesourcery.com>
1125         * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
1127 2023-05-21  Tobias Burnus  <tobias@codesourcery.com>
1129         PR libgomp/109875
1130         * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
1131         * config/nvptx/target.c (GOMP_teams4): Likewise.
1132         * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
1133         * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
1134         * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
1135         * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
1137 2023-05-19  Jakub Jelinek  <jakub@redhat.com>
1139         PR libgomp/109904
1140         * configure.ac (link_gomp): Include also $DL_LIBS.
1141         * configure: Regenerated.
1143 2023-05-17  Tobias Burnus  <tobias@codesourcery.com>
1145         * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
1146         'target exit data'.
1147         * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
1148         * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
1149         * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
1150         * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
1152 2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
1154         PR testsuite/66005
1155         * configure.ac: Look for 'flock'.
1156         * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
1157         * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
1158         * testsuite/lib/libgomp.exp: ... but here, instead.
1159         (libgomp_load): Override for parallel testing.
1160         * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
1161         * configure: Regenerate.
1162         * Makefile.in: Regenerate.
1163         * testsuite/Makefile.in: Regenerate.
1165 2023-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1166             Thomas Schwinge  <thomas@codesourcery.com>
1168         PR testsuite/66005
1169         * testsuite/Makefile.am (PWD_COMMAND): New variable.
1170         (%/site.exp): New target.
1171         (check_p_numbers0, check_p_numbers1, check_p_numbers2)
1172         (check_p_numbers3, check_p_numbers4, check_p_numbers5)
1173         (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
1174         (check_p_subdirs)
1175         (check_DEJAGNU_libgomp_targets): New variables.
1176         ($(check_DEJAGNU_libgomp_targets)): New target.
1177         ($(check_DEJAGNU_libgomp_targets)): New dependency.
1178         (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
1179         * testsuite/Makefile.in: Regenerate.
1180         * testsuite/lib/libgomp.exp: For parallel testing,
1181         'load_file ../libgomp-test-support.exp'.
1183 2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
1185         PR testsuite/91884
1186         * configure.ac: 'AC_SUBST(CXX)'.
1187         * configure: Regenerate.
1188         * Makefile.in: Likewise.
1189         * testsuite/Makefile.in: Likewise.
1190         * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
1191         (GFORTRAN_UNDER_TEST): Set.
1192         * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
1193         * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
1194         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1195         * testsuite/libgomp.fortran/fortran.exp: Use
1196         'GFORTRAN_UNDER_TEST'.
1197         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1199 2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
1201         PR testsuite/91884
1202         * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
1203         specify compiler.
1204         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
1205         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1206         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1207         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1208         Likewise.
1209         * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
1210         * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
1211         * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
1212         Likewise.
1214 2023-05-12  Tobias Burnus  <tobias@codesourcery.com>
1216         PR libstdc++/109816
1217         * testsuite/libgomp.c++/target-map-class-1.C: New test.
1218         * testsuite/libgomp.c++/target-map-class-2.C: New test.
1220 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
1222         * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
1223         'lang_library_path' into a list of 'lang_library_paths'.
1224         * testsuite/libgomp.c++/c++.exp: Adjust.
1225         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1226         * testsuite/libgomp.fortran/fortran.exp: Adjust.  Use that for
1227         libquadmath, too.
1228         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1230 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
1232         * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
1233         at 'lang_test_file_found'.
1234         * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
1235         'return' early if not able to test.  Simplify 'ld_library_path' setup.
1236         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1237         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1238         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1240 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
1242         * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
1243         first.
1244         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1245         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1246         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1248 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
1250         * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
1251         * testsuite/libgomp.c/c.exp: Likewise.
1252         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1253         * testsuite/libgomp.graphite/graphite.exp: Likewise.
1254         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1255         * testsuite/libgomp.oacc-c/c.exp: Likewise.
1256         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1258 2023-05-09  Thomas Schwinge  <thomas@codesourcery.com>
1260         * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
1261         * testsuite/libgomp.fortran/fortran.exp: Likewise.
1262         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1263         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1264         * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
1265         'lang_test_file'.
1266         * testsuite/libgomp.oacc-c/c.exp: Likewise.
1267         * testsuite/libgomp.graphite/graphite.exp: Likewise.
1268         * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
1269         'lang_test_file_found' instead of 'lang_test_file'.
1271 2023-05-09  Thomas Schwinge  <thomas@codesourcery.com>
1273         * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
1274         set.
1275         * testsuite/libgomp.c++/c++.exp: Likewise.
1276         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1278 2023-05-09  Thomas Schwinge  <thomas@codesourcery.com>
1280         * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
1281         * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
1283 2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
1285         * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
1286         of 'libstdcxx_includes'.
1287         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1289 2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
1291         * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
1292         'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
1293         * libgomp.h (gomp_target_rev): Adjust.
1294         * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
1295         * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
1296         * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
1297         * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
1298         (rev_off_host_to_dev_cpy): Remove.
1299         (GOMP_OFFLOAD_run): Adjust.
1301 2023-05-04  Julian Brown  <julian@codesourcery.com>
1303         PR fortran/109622
1304         * testsuite/libgomp.fortran/pr109622.f90: Move test...
1305         * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
1306         vector length warning.
1307         * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
1308         * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here.  Add
1309         missing copyin/copyout variable. Ignore vector length warnings.
1310         * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
1311         * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here.  Ignore
1312         vector length warnings.
1313         * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
1315 2023-04-28  Julian Brown  <julian@codesourcery.com>
1317         PR fortran/109622
1318         * testsuite/libgomp.fortran/pr109622.f90: New test.
1319         * testsuite/libgomp.fortran/pr109622-2.f90: New test.
1320         * testsuite/libgomp.fortran/pr109622-3.f90: New test.
1322 2023-04-25  Tobias Burnus  <tobias@codesourcery.com>
1324         * testsuite/libgomp.c-c++-common/scan-1.c: New test.
1325         * testsuite/libgomp.c/scan-23.c: New test.
1326         * testsuite/libgomp.fortran/scan-2.f90: New test.
1328 2023-03-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1330         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
1331         weak_undefined options.
1333 2023-03-24  Tobias Burnus  <tobias@codesourcery.com>
1335         * libgomp.texi (Offload-Target Specifics): Grammar fix.
1337 2023-03-24  Thomas Schwinge  <thomas@codesourcery.com>
1339         PR fortran/104949
1340         * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
1341         caveat/safeguard.
1343 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1345         PR libgomp/90596
1346         * target.c (gomp_map_vars_internal): Allow for
1347         'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
1348         * oacc-parallel.c (GOACC_parallel_keyed): Pass
1349         'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
1350         * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
1351         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1352         Adjust, simplify.
1353         (gomp_offload_free): Remove.
1354         * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1355         (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
1356         (cuda_free_argmem): Remove.
1357         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1358         Adjust.
1360 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1362         * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
1363         libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
1364         data.
1366 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1368         * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
1369         'GOMP_MAP_IF_PRESENT'.
1370         * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
1371         (GOMP_OFFLOAD_openacc_async_exec): Adjust.
1372         * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1373         (GOMP_OFFLOAD_openacc_async_exec): Likewise.
1374         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
1375         testing.
1376         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
1378 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1380         * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
1381         shortcut.
1383 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1385         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
1386         another aspect of OpenACC 'async' semantics.
1388 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
1390         * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
1391         position.
1392         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1393         Verify 'acc_ev_alloc', 'acc_ev_free'.
1395 2023-03-09  Hongyu Wang  <hongyu.wang@intel.com>
1397         PR libgomp/109062
1398         * env.c (wait_policy): Initialize to -1.
1399         (initialize_icvs): Initialize icvs->wait_policy to -1.
1400         * testsuite/libgomp.c-c++-common/pr109062.c: New test.
1402 2023-03-08  Tobias Burnus  <tobias@codesourcery.com>
1404         * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
1406 2023-03-02  Kwok Cheung Yeung  <kcy@codesourcery.com>
1407             Paul-Antoine Arras  <pa@codesourcery.com>
1409         * testsuite/libgomp.c/simd-math-1.c: New testcase.
1411 2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
1413         PR middle-end/108546
1414         * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
1415         * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
1417 2023-02-22  Thomas Schwinge  <thomas@codesourcery.com>
1419         * testsuite/libgomp.fortran/alloc-10.f90: Use
1420         '-Wno-complain-wrong-lang'.
1421         * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1422         * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
1423         * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1424         * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
1425         * testsuite/libgomp.fortran/depend-4.f90: Likewise.
1426         * testsuite/libgomp.fortran/depend-5.f90: Likewise.
1427         * testsuite/libgomp.fortran/depend-6.f90: Likewise.
1428         * testsuite/libgomp.fortran/depend-7.f90: Likewise.
1429         * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
1430         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
1431         Likewise.
1432         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
1433         Likewise.
1434         * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
1435         * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1436         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1437         * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
1438         'dg-prune-output'.
1440 2023-02-16  Jakub Jelinek  <jakub@redhat.com>
1442         * libgomp.texi: Fix typos - theads -> threads.
1444 2023-02-16  Jakub Jelinek  <jakub@redhat.com>
1446         * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
1447         comment typo and improve its wording.
1449 2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
1451         * target.c (gomp_target_rev): Dereference ptr
1452         to get device address.
1453         * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
1454         for unallocated allocatable.
1456 2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
1458         * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
1459         kind check.
1460         (GOMP_target_enter_exit_data): If the next map item is
1461         GOMP_MAP_ALWAYS_POINTER map it together with the current item.
1462         * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
1464 2023-02-09  Tobias Burnus  <tobias@codesourcery.com>
1466         PR fortran/107424
1467         * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
1468         * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
1469         * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
1470         * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
1471         * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
1472         * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
1474 2023-02-07  Thomas Schwinge  <thomas@codesourcery.com>
1476         * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
1477         offloading compilation.
1479 2023-02-03  Tobias Burnus  <tobias@codesourcery.com>
1481         * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
1482         freeing not allocated memory.
1483         * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
1485 2023-02-03  Tobias Burnus  <tobias@codesourcery.com>
1487         * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
1488         reverse offload.
1489         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
1490         reverse-offload requirement.
1492 2023-02-02  Andrew Stubbs  <ams@codesourcery.com>
1494         * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
1495         (DEFAULT_TEAM_ARENA_SIZE): New define.
1496         (struct heap): Move to this file.
1497         (struct kernargs_abi): Likewise.
1498         * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
1499         the kernargs.
1500         * libgomp.h: Include libgomp-gcn.h.
1501         (TEAM_ARENA_SIZE): Remove.
1502         (team_malloc): Update the error message.
1503         * plugin/plugin-gcn.c (struct kernargs): Move common content to
1504         struct kernargs_abi.
1505         (struct agent_info): Rename team arenas to ephemeral memories.
1506         (struct team_arena_list): Rename ....
1507         (struct ephemeral_memories_list): to this.
1508         (struct heap): Delete.
1509         (team_arena_size): New variable.
1510         (stack_size): New variable.
1511         (print_kernel_dispatch): Update debug messages.
1512         (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
1513         Read GCN_STACK_SIZE.
1514         (get_team_arena): Rename ...
1515         (configure_ephemeral_memories): ... to this, and set up stacks.
1516         (release_team_arena): Rename ...
1517         (release_ephemeral_memories): ... to this.
1518         (destroy_team_arenas): Rename ...
1519         (destroy_ephemeral_memories): ... to this.
1520         (create_kernel_dispatch): Add num_threads parameter.
1521         Adjust for kernargs_abi refactor and ephemeral memories.
1522         (release_kernel_dispatch): Adjust for ephemeral memories.
1523         (run_kernel): Pass thread-count to create_kernel_dispatch.
1524         (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
1525         (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
1527 2023-02-02  Tobias Burnus  <tobias@codesourcery.com>
1529         * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
1531 2023-02-01  Tobias Burnus  <tobias@codesourcery.com>
1533         * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
1534         usage, remove unused -fdump-tree-original.
1535         * testsuite/libgomp.fortran/allocate-4.f90: New.
1537 2023-02-01  Tobias Burnus  <tobias@codesourcery.com>
1539         * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
1540         (GCN): Add item about 'omp requires'.
1541         (nvptx): Likewise; add item about reverse offload.
1543 2023-01-27  Tobias Burnus  <tobias@codesourcery.com>
1545         PR fortran/108558
1546         * testsuite/libgomp.fortran/has_device_addr.f90: New test.
1548 2023-01-23  Tobias Burnus  <tobias@codesourcery.com>
1550         * libgomp.texi (OpenMP 5.0): Set non-rectangular
1551         loop nest back to 'P' as Fortran support is incomplete.
1553 2023-01-19  Jakub Jelinek  <jakub@redhat.com>
1555         PR middle-end/108459
1556         * testsuite/libgomp.c/pr108459.c: New test.
1558 2023-01-17  Martin Liska  <mliska@suse.cz>
1560         * Makefile.in: Regenerate.
1561         * configure: Regenerate.
1563 2023-01-07  LIU Hao  <lh_mouse@126.com>
1565         PR middle-end/108300
1566         * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
1567         <windows.h>.
1569 2023-01-05  Jakub Jelinek  <jakub@redhat.com>
1571         PR c++/108286
1572         * testsuite/libgomp.c++/pr108286.C: New test.
1574 2023-01-02  Jakub Jelinek  <jakub@redhat.com>
1576         * libgomp.texi: Bump @copying's copyright year.
1578 2022-12-21  Chung-Lin Tang  <cltang@codesourcery.com>
1580         PR target/99555
1581         * config/nvptx/bar.c (generation_to_barrier): Remove.
1582         (futex_wait,futex_wake,do_spin,do_wait): Remove.
1583         (GOMP_WAIT_H): Remove.
1584         (#include "../linux/bar.c"): Remove.
1585         (gomp_barrier_wait_end): New function.
1586         (gomp_barrier_wait): Likewise.
1587         (gomp_barrier_wait_last): Likewise.
1588         (gomp_team_barrier_wait_end): Likewise.
1589         (gomp_team_barrier_wait): Likewise.
1590         (gomp_team_barrier_wait_final): Likewise.
1591         (gomp_team_barrier_wait_cancel_end): Likewise.
1592         (gomp_team_barrier_wait_cancel): Likewise.
1593         (gomp_team_barrier_cancel): Likewise.
1594         * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
1595         (gomp_barrier_init): Remove init of waiters, lock fields.
1596         (gomp_team_barrier_wake): Remove prototype, add new static inline
1597         function.
1599 2022-12-21  Jakub Jelinek  <jakub@redhat.com>
1601         PR c++/108180
1602         * testsuite/libgomp.c++/pr108180.C: New test.
1604 2022-12-16  Tobias Burnus  <tobias@codesourcery.com>
1606         PR libfortran/108056
1607         * testsuite/libgomp.fortran/allocate-4.f90: Remove
1608         accidentally added file.
1610 2022-12-15  Tobias Burnus  <tobias@codesourcery.com>
1612         PR libfortran/108056
1613         * testsuite/libgomp.fortran/allocate-4.f90: New file.
1615 2022-12-14  Julian Brown  <julian@codesourcery.com>
1617         * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
1618         test.
1620 2022-12-10  Tobias Burnus  <tobias@codesourcery.com>
1622         * libgomp.h (struct target_mem_desc): Predeclare; move
1623         below after 'reverse_splay_tree_node' and add rev_array
1624         member.
1625         (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
1626         (reverse_splay_tree_node, reverse_splay_tree,
1627         reverse_splay_tree_key): New typedef.
1628         (struct gomp_device_descr): Add mem_map_rev member.
1629         * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
1630         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
1631         support for GOMP_REQUIRES_REVERSE_OFFLOAD.
1632         * splay-tree.h (splay_tree_callback_stop): New typedef; like
1633         splay_tree_callback but returning int not void.
1634         (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
1635         taking splay_tree_callback_stop as argument.
1636         * splay-tree.c (splay_tree_foreach_internal_lazy,
1637         splay_tree_foreach_lazy): New; but early exit if callback returns
1638         nonzero.
1639         * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
1640         (gomp_map_lookup_rev): New.
1641         (gomp_load_image_to_device): Handle reverse-offload function
1642         lookup table.
1643         (gomp_unload_image_from_device): Free devicep->mem_map_rev.
1644         (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
1645         gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
1646         gomp_map_cdata_lookup): New auxiliary structs and functions for
1647         gomp_target_rev.
1648         (gomp_target_rev): Implement reverse offloading and its mapping.
1649         (gomp_target_init): Init current_device.mem_map_rev.root.
1650         * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
1651         * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
1652         * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
1653         * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
1654         * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
1655         mapping of on-device allocated variables.
1657 2022-12-09  Tobias Burnus  <tobias@codesourcery.com>
1659         * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
1660         item about 'align'; mark clause as 'Y' and directive as 'N'.
1661         * testsuite/libgomp.fortran/allocate-2.f90: New test.
1662         * testsuite/libgomp.fortran/allocate-3.f90: New test.
1664 2022-12-06  Marcel Vollweiler  <marcel@codesourcery.com>
1666         * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
1667         allow processing of device-specific values.
1668         (omp_set_teams_thread_limit): Likewise.
1669         (ialias): Likewise.
1670         * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
1671         (omp_set_teams_thread_limit): Likewise.
1672         (ialias): Likewise.
1673         * icv-device.c (omp_get_teams_thread_limit): Likewise.
1674         (ialias): Likewise.
1675         (omp_set_teams_thread_limit): Likewise.
1676         * icv.c (omp_set_teams_thread_limit): Removed.
1677         (omp_get_teams_thread_limit): Likewise.
1678         (ialias): Likewise.
1679         * libgomp.texi: Updated documentation for nvptx and gcn corresponding
1680         to the limitation of the number of teams.
1681         * plugin/plugin-gcn.c (limit_teams): New helper function that limits
1682         the number of teams by twice the number of compute units.
1683         (parse_target_attributes): Limit the number of teams on gcn offload
1684         devices.
1685         * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
1686         handling.
1687         (gomp_load_image_to_device): Added a size check for the ICVs struct
1688         variable.
1689         (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
1690         copy back the ICV values from device to host.
1691         (GOMP_target_ext): Update the number of teams and threads in the kernel
1692         args also considering device-specific values.
1693         * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
1694         of OMP_TEAMS_THREAD_LIMIT from the environment.
1695         * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
1696         * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
1697         * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
1698         * testsuite/libgomp.c-c++-common/icv-9.c: New test.
1699         * testsuite/libgomp.fortran/icv-5.f90: New test.
1700         * testsuite/libgomp.fortran/icv-6.f90: New test.
1702 2022-12-06  Tobias Burnus  <tobias@codesourcery.com>
1704         * libgomp.texi (OpenMP 5.2): Add missing 'the'.
1705         (TR11): Add missing '@tab N @tab'.
1707 2022-11-30  Tobias Burnus  <tobias@codesourcery.com>
1709         * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
1711 2022-11-30  Paul-Antoine Arras  <pa@codesourcery.com>
1713         * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
1714         * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
1715         * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
1716         * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
1717         * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
1718         * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
1719         * testsuite/libgomp.c/declare-variant-4.h: New header file.
1721 2022-11-28  Tobias Burnus  <tobias@codesourcery.com>
1723         * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
1725 2022-11-25  Sandra Loosemore  <sandra@codesourcery.com>
1727         * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
1728         * testsuite/libgomp.c/target-simd-clone-1.c: New.
1729         * testsuite/libgomp.c/target-simd-clone-2.c: New.
1730         * testsuite/libgomp.c/target-simd-clone-3.c: New.
1732 2022-11-25  Tobias Burnus  <tobias@codesourcery.com>
1734         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
1735         for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
1736         as valid and the code having no reverse-offload code.
1737         * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
1739 2022-11-25  Tobias Burnus  <tobias@codesourcery.com>
1741         * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
1742         and status for Technical Report (TR) 11.
1744 2022-11-21  Tobias Burnus  <tobias@codesourcery.com>
1746         * config/gcn/libgomp-gcn.h (struct output):
1747         Remove 'msg_u64' from the union, change
1748         value_u64[2] to value_u64[6].
1749         * config/gcn/target.c (GOMP_target_ext): Update accordingly.
1750         * plugin/plugin-gcn.c (process_reverse_offload, console_output):
1751         Likewise.
1753 2022-11-19  Tobias Burnus  <tobias@codesourcery.com>
1755         * config/gcn/libgomp-gcn.h: New file; contains
1756         struct output, declared previously in plugin-gcn.c.
1757         * config/gcn/target.c: Include it.
1758         (GOMP_ADDITIONAL_ICVS): Declare as extern var.
1759         (GOMP_target_ext): Handle reverse offload.
1760         * plugin/plugin-gcn.c: Include libgomp-gcn.h.
1761         (struct kernargs): Replace struct def by the one
1762         from libgomp-gcn.h for output_data.
1763         (process_reverse_offload): New.
1764         (console_output): Call it.
1766 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
1767             Andrew Stubbs  <ams@codesourcery.com>
1769         * config/gcn/team.c (gomp_gcn_enter_kernel): Use
1770         __builtin_gcn_kernarg_ptr instead of asm ("s8").
1772 2022-11-14  Martin Liska  <mliska@suse.cz>
1774         Revert:
1775         2022-11-14  Martin Liska  <mliska@suse.cz>
1777         * doc/amd-radeon-gcn.rst: New file.
1778         * doc/conf.py: New file.
1779         * doc/copyright.rst: New file.
1780         * doc/cuda-streams-usage.rst: New file.
1781         * doc/enabling-openacc.rst: New file.
1782         * doc/enabling-openmp.rst: New file.
1783         * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1784         * doc/first-invocation-openacc-library-api.rst: New file.
1785         * doc/funding.rst: New file.
1786         * doc/general-public-license-3.rst: New file.
1787         * doc/gnu-free-documentation-license.rst: New file.
1788         * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1789         * doc/index.rst: New file.
1790         * doc/indices-and-tables.rst: New file.
1791         * doc/introduction.rst: New file.
1792         * doc/memory-allocation-with-libmemkind.rst: New file.
1793         * doc/nvptx.rst: New file.
1794         * doc/offload-target-specifics.rst: New file.
1795         * doc/openacc-environment-variables.rst: New file.
1796         * doc/openacc-environment-variables/accdevicenum.rst: New file.
1797         * doc/openacc-environment-variables/accdevicetype.rst: New file.
1798         * doc/openacc-environment-variables/accproflib.rst: New file.
1799         * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1800         * doc/openacc-introduction.rst: New file.
1801         * doc/openacc-library-and-environment-variables.rst: New file.
1802         * doc/openacc-library-interoperability.rst: New file.
1803         * doc/openacc-profiling-interface.rst: New file.
1804         * doc/openacc-runtime-library-routines.rst: New file.
1805         * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1806         * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1807         * doc/openacc-runtime-library-routines/accattach.rst: New file.
1808         * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1809         * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1810         * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1811         * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1812         * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1813         * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1814         * doc/openacc-runtime-library-routines/accfree.rst: New file.
1815         * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1816         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1817         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1818         * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1819         * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1820         * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1821         * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1822         * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1823         * doc/openacc-runtime-library-routines/accinit.rst: New file.
1824         * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1825         * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1826         * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1827         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1828         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1829         * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1830         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1831         * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1832         * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1833         * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1834         * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1835         * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1836         * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1837         * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1838         * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1839         * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1840         * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1841         * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1842         * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1843         * doc/openacc-runtime-library-routines/accwait.rst: New file.
1844         * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1845         * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1846         * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1847         * doc/openmp-context-selectors.rst: New file.
1848         * doc/openmp-environment-variables.rst: New file.
1849         * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1850         * doc/openmp-environment-variables/gompdebug.rst: New file.
1851         * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1852         * doc/openmp-environment-variables/gompspincount.rst: New file.
1853         * doc/openmp-environment-variables/gompstacksize.rst: New file.
1854         * doc/openmp-environment-variables/ompcancellation.rst: New file.
1855         * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1856         * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1857         * doc/openmp-environment-variables/ompdynamic.rst: New file.
1858         * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1859         * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1860         * doc/openmp-environment-variables/ompnested.rst: New file.
1861         * doc/openmp-environment-variables/ompnumteams.rst: New file.
1862         * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1863         * doc/openmp-environment-variables/ompplaces.rst: New file.
1864         * doc/openmp-environment-variables/ompprocbind.rst: New file.
1865         * doc/openmp-environment-variables/ompschedule.rst: New file.
1866         * doc/openmp-environment-variables/ompstacksize.rst: New file.
1867         * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1868         * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1869         * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1870         * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1871         * doc/openmp-implementation-specifics.rst: New file.
1872         * doc/openmp-implementation-status.rst: New file.
1873         * doc/openmp-implementation-status/openmp-45.rst: New file.
1874         * doc/openmp-implementation-status/openmp-50.rst: New file.
1875         * doc/openmp-implementation-status/openmp-51.rst: New file.
1876         * doc/openmp-implementation-status/openmp-52.rst: New file.
1877         * doc/openmp-runtime-library-routines.rst: New file.
1878         * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1879         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1880         * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1881         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1882         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1883         * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1884         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1885         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1886         * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1887         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1888         * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1889         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1890         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1891         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1892         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1893         * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1894         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1895         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1896         * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1897         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1898         * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1899         * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1900         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1901         * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1902         * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1903         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1904         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1905         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1906         * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1907         * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1908         * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1909         * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1910         * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1911         * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1912         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1913         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1914         * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1915         * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1916         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1917         * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1918         * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1919         * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1920         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1921         * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1922         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1923         * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1924         * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1925         * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1926         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1927         * doc/reporting-bugs.rst: New file.
1928         * doc/the-libgomp-abi.rst: New file.
1929         * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1930         * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1931         * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1932         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1933         New file.
1934         * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1935         * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1936         * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1937         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1938         * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1939         * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1940         * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1941         * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1942         * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1943         * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1944         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1946 2022-11-14  Martin Liska  <mliska@suse.cz>
1948         Revert:
1949         2022-11-14  Martin Liska  <mliska@suse.cz>
1951         * Makefile.in: Support Sphinx based documentation.
1953 2022-11-14  Martin Liska  <mliska@suse.cz>
1955         Revert:
1956         2022-11-14  Martin Liska  <mliska@suse.cz>
1958         * libgomp.texi: Removed.
1960 2022-11-14  Martin Liska  <mliska@suse.cz>
1962         Revert:
1963         2022-11-14  Martin Liska  <mliska@suse.cz>
1965         * Makefile.in: Support --with-sphinx-build.
1966         * configure.ac: Likewise..
1967         * configure: Regenerate.
1969 2022-11-14  Martin Liska  <mliska@suse.cz>
1971         Revert:
1972         2022-11-09  Martin Liska  <mliska@suse.cz>
1974         * Makefile.in: Build info pages conditionally.
1976 2022-11-14  Martin Liska  <mliska@suse.cz>
1978         Revert:
1979         2022-11-14  Martin Liska  <mliska@suse.cz>
1981         * doc/amd-radeon-gcn.rst:
1982         Add trailing newline.
1983         * doc/copyright.rst:
1984         Add trailing newline.
1985         * doc/cuda-streams-usage.rst:
1986         Add trailing newline.
1987         * doc/enabling-openacc.rst:
1988         Add trailing newline.
1989         * doc/enabling-openmp.rst:
1990         Add trailing newline.
1991         * doc/first-invocation-nvidia-cublas-library-api.rst:
1992         Add trailing newline.
1993         * doc/first-invocation-openacc-library-api.rst:
1994         Add trailing newline.
1995         * doc/funding.rst:
1996         Add trailing newline.
1997         * doc/general-public-license-3.rst:
1998         Add trailing newline.
1999         * doc/gnu-free-documentation-license.rst:
2000         Add trailing newline.
2001         * doc/implementation-status-and-implementation-defined-behavior.rst:
2002         Add trailing newline.
2003         * doc/index.rst:
2004         Add trailing newline.
2005         * doc/indices-and-tables.rst:
2006         Add trailing newline.
2007         * doc/introduction.rst:
2008         Add trailing newline.
2009         * doc/memory-allocation-with-libmemkind.rst:
2010         Add trailing newline.
2011         * doc/nvptx.rst:
2012         Add trailing newline.
2013         * doc/offload-target-specifics.rst:
2014         Add trailing newline.
2015         * doc/openacc-environment-variables.rst:
2016         Add trailing newline.
2017         * doc/openacc-environment-variables/accdevicenum.rst:
2018         Add trailing newline.
2019         * doc/openacc-environment-variables/accdevicetype.rst:
2020         Add trailing newline.
2021         * doc/openacc-environment-variables/accproflib.rst:
2022         Add trailing newline.
2023         * doc/openacc-environment-variables/gccaccnotify.rst:
2024         Add trailing newline.
2025         * doc/openacc-introduction.rst:
2026         Add trailing newline.
2027         * doc/openacc-library-and-environment-variables.rst:
2028         Add trailing newline.
2029         * doc/openacc-library-interoperability.rst:
2030         Add trailing newline.
2031         * doc/openacc-profiling-interface.rst:
2032         Add trailing newline.
2033         * doc/openacc-runtime-library-routines.rst:
2034         Add trailing newline.
2035         * doc/openacc-runtime-library-routines/accasynctest.rst:
2036         Add trailing newline.
2037         * doc/openacc-runtime-library-routines/accasynctestall.rst:
2038         Add trailing newline.
2039         * doc/openacc-runtime-library-routines/accattach.rst:
2040         Add trailing newline.
2041         * doc/openacc-runtime-library-routines/acccopyin.rst:
2042         Add trailing newline.
2043         * doc/openacc-runtime-library-routines/acccopyout.rst:
2044         Add trailing newline.
2045         * doc/openacc-runtime-library-routines/acccreate.rst:
2046         Add trailing newline.
2047         * doc/openacc-runtime-library-routines/accdelete.rst:
2048         Add trailing newline.
2049         * doc/openacc-runtime-library-routines/accdetach.rst:
2050         Add trailing newline.
2051         * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2052         Add trailing newline.
2053         * doc/openacc-runtime-library-routines/accfree.rst:
2054         Add trailing newline.
2055         * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2056         Add trailing newline.
2057         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2058         Add trailing newline.
2059         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2060         Add trailing newline.
2061         * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2062         Add trailing newline.
2063         * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2064         Add trailing newline.
2065         * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2066         Add trailing newline.
2067         * doc/openacc-runtime-library-routines/accgetproperty.rst:
2068         Add trailing newline.
2069         * doc/openacc-runtime-library-routines/acchostptr.rst:
2070         Add trailing newline.
2071         * doc/openacc-runtime-library-routines/accinit.rst:
2072         Add trailing newline.
2073         * doc/openacc-runtime-library-routines/accispresent.rst:
2074         Add trailing newline.
2075         * doc/openacc-runtime-library-routines/accmalloc.rst:
2076         Add trailing newline.
2077         * doc/openacc-runtime-library-routines/accmapdata.rst:
2078         Add trailing newline.
2079         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2080         Add trailing newline.
2081         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2082         Add trailing newline.
2083         * doc/openacc-runtime-library-routines/accondevice.rst:
2084         Add trailing newline.
2085         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2086         Add trailing newline.
2087         * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2088         Add trailing newline.
2089         * doc/openacc-runtime-library-routines/accproflookup.rst:
2090         Add trailing newline.
2091         * doc/openacc-runtime-library-routines/accprofregister.rst:
2092         Add trailing newline.
2093         * doc/openacc-runtime-library-routines/accprofunregister.rst:
2094         Add trailing newline.
2095         * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2096         Add trailing newline.
2097         * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2098         Add trailing newline.
2099         * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2100         Add trailing newline.
2101         * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2102         Add trailing newline.
2103         * doc/openacc-runtime-library-routines/accshutdown.rst:
2104         Add trailing newline.
2105         * doc/openacc-runtime-library-routines/accunmapdata.rst:
2106         Add trailing newline.
2107         * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2108         Add trailing newline.
2109         * doc/openacc-runtime-library-routines/accupdateself.rst:
2110         Add trailing newline.
2111         * doc/openacc-runtime-library-routines/accwait.rst:
2112         Add trailing newline.
2113         * doc/openacc-runtime-library-routines/accwaitall.rst:
2114         Add trailing newline.
2115         * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2116         Add trailing newline.
2117         * doc/openacc-runtime-library-routines/accwaitasync.rst:
2118         Add trailing newline.
2119         * doc/openmp-context-selectors.rst:
2120         Add trailing newline.
2121         * doc/openmp-environment-variables.rst:
2122         Add trailing newline.
2123         * doc/openmp-environment-variables/gompcpuaffinity.rst:
2124         Add trailing newline.
2125         * doc/openmp-environment-variables/gompdebug.rst:
2126         Add trailing newline.
2127         * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2128         Add trailing newline.
2129         * doc/openmp-environment-variables/gompspincount.rst:
2130         Add trailing newline.
2131         * doc/openmp-environment-variables/gompstacksize.rst:
2132         Add trailing newline.
2133         * doc/openmp-environment-variables/ompcancellation.rst:
2134         Add trailing newline.
2135         * doc/openmp-environment-variables/ompdefaultdevice.rst:
2136         Add trailing newline.
2137         * doc/openmp-environment-variables/ompdisplayenv.rst:
2138         Add trailing newline.
2139         * doc/openmp-environment-variables/ompdynamic.rst:
2140         Add trailing newline.
2141         * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2142         Add trailing newline.
2143         * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2144         Add trailing newline.
2145         * doc/openmp-environment-variables/ompnested.rst:
2146         Add trailing newline.
2147         * doc/openmp-environment-variables/ompnumteams.rst:
2148         Add trailing newline.
2149         * doc/openmp-environment-variables/ompnumthreads.rst:
2150         Add trailing newline.
2151         * doc/openmp-environment-variables/ompplaces.rst:
2152         Add trailing newline.
2153         * doc/openmp-environment-variables/ompprocbind.rst:
2154         Add trailing newline.
2155         * doc/openmp-environment-variables/ompschedule.rst:
2156         Add trailing newline.
2157         * doc/openmp-environment-variables/ompstacksize.rst:
2158         Add trailing newline.
2159         * doc/openmp-environment-variables/omptargetoffload.rst:
2160         Add trailing newline.
2161         * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2162         Add trailing newline.
2163         * doc/openmp-environment-variables/ompthreadlimit.rst:
2164         Add trailing newline.
2165         * doc/openmp-environment-variables/ompwaitpolicy.rst:
2166         Add trailing newline.
2167         * doc/openmp-implementation-specifics.rst:
2168         Add trailing newline.
2169         * doc/openmp-implementation-status.rst:
2170         Add trailing newline.
2171         * doc/openmp-implementation-status/openmp-45.rst:
2172         Add trailing newline.
2173         * doc/openmp-implementation-status/openmp-50.rst:
2174         Add trailing newline.
2175         * doc/openmp-implementation-status/openmp-51.rst:
2176         Add trailing newline.
2177         * doc/openmp-implementation-status/openmp-52.rst:
2178         Add trailing newline.
2179         * doc/openmp-runtime-library-routines.rst:
2180         Add trailing newline.
2181         * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2182         Add trailing newline.
2183         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2184         Add trailing newline.
2185         * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2186         Add trailing newline.
2187         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2188         Add trailing newline.
2189         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2190         Add trailing newline.
2191         * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2192         Add trailing newline.
2193         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2194         Add trailing newline.
2195         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2196         Add trailing newline.
2197         * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2198         Add trailing newline.
2199         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2200         Add trailing newline.
2201         * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2202         Add trailing newline.
2203         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2204         Add trailing newline.
2205         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2206         Add trailing newline.
2207         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2208         Add trailing newline.
2209         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2210         Add trailing newline.
2211         * doc/openmp-runtime-library-routines/ompgetnested.rst:
2212         Add trailing newline.
2213         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2214         Add trailing newline.
2215         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2216         Add trailing newline.
2217         * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2218         Add trailing newline.
2219         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2220         Add trailing newline.
2221         * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2222         Add trailing newline.
2223         * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2224         Add trailing newline.
2225         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2226         Add trailing newline.
2227         * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2228         Add trailing newline.
2229         * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2230         Add trailing newline.
2231         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2232         Add trailing newline.
2233         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2234         Add trailing newline.
2235         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2236         Add trailing newline.
2237         * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2238         Add trailing newline.
2239         * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2240         Add trailing newline.
2241         * doc/openmp-runtime-library-routines/ompinfinal.rst:
2242         Add trailing newline.
2243         * doc/openmp-runtime-library-routines/ompinitlock.rst:
2244         Add trailing newline.
2245         * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2246         Add trailing newline.
2247         * doc/openmp-runtime-library-routines/ompinparallel.rst:
2248         Add trailing newline.
2249         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2250         Add trailing newline.
2251         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2252         Add trailing newline.
2253         * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2254         Add trailing newline.
2255         * doc/openmp-runtime-library-routines/ompsetlock.rst:
2256         Add trailing newline.
2257         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2258         Add trailing newline.
2259         * doc/openmp-runtime-library-routines/ompsetnested.rst:
2260         Add trailing newline.
2261         * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2262         Add trailing newline.
2263         * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2264         Add trailing newline.
2265         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2266         Add trailing newline.
2267         * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2268         Add trailing newline.
2269         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2270         Add trailing newline.
2271         * doc/openmp-runtime-library-routines/omptestlock.rst:
2272         Add trailing newline.
2273         * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2274         Add trailing newline.
2275         * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2276         Add trailing newline.
2277         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2278         Add trailing newline.
2279         * doc/reporting-bugs.rst:
2280         Add trailing newline.
2281         * doc/the-libgomp-abi.rst:
2282         Add trailing newline.
2283         * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2284         Add trailing newline.
2285         * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2286         Add trailing newline.
2287         * doc/the-libgomp-abi/implementing-critical-construct.rst:
2288         Add trailing newline.
2289         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2290         Add trailing newline.
2291         * doc/the-libgomp-abi/implementing-flush-construct.rst:
2292         Add trailing newline.
2293         * doc/the-libgomp-abi/implementing-for-construct.rst:
2294         Add trailing newline.
2295         * doc/the-libgomp-abi/implementing-master-construct.rst:
2296         Add trailing newline.
2297         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2298         Add trailing newline.
2299         * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2300         Add trailing newline.
2301         * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2302         Add trailing newline.
2303         * doc/the-libgomp-abi/implementing-private-clause.rst:
2304         Add trailing newline.
2305         * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2306         Add trailing newline.
2307         * doc/the-libgomp-abi/implementing-sections-construct.rst:
2308         Add trailing newline.
2309         * doc/the-libgomp-abi/implementing-single-construct.rst:
2310         Add trailing newline.
2311         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2312         Add trailing newline.
2314 2022-11-14  Martin Liska  <mliska@suse.cz>
2316         Revert:
2317         2022-11-09  Martin Liska  <mliska@suse.cz>
2319         * Makefile.in: Add missing HAS_SPHINX_BUILD.
2321 2022-11-14  Martin Liska  <mliska@suse.cz>
2323         Revert:
2324         2022-11-14  Martin Liska  <mliska@suse.cz>
2326         * doc/conf.py: Add newline at last line.
2328 2022-11-14  Martin Liska  <mliska@suse.cz>
2330         Revert:
2331         2022-11-14  Martin Liska  <mliska@suse.cz>
2333         PR other/107620
2334         * configure: Regenerate.
2335         * configure.ac: Always set sphinx-build.
2337 2022-11-13  Martin Liska  <mliska@suse.cz>
2339         PR other/107620
2340         * configure: Regenerate.
2341         * configure.ac: Always set sphinx-build.
2343 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
2345         PR libgomp/107641
2346         * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
2347         unsigned long.  Change type of upper from unsigned to unsigned long.
2349 2022-11-10  Martin Liska  <mliska@suse.cz>
2351         * doc/conf.py: Add newline at last line.
2353 2022-11-09  Martin Liska  <mliska@suse.cz>
2355         * Makefile.in: Add missing HAS_SPHINX_BUILD.
2357 2022-11-09  Martin Liska  <mliska@suse.cz>
2359         * doc/amd-radeon-gcn.rst:
2360         Add trailing newline.
2361         * doc/copyright.rst:
2362         Add trailing newline.
2363         * doc/cuda-streams-usage.rst:
2364         Add trailing newline.
2365         * doc/enabling-openacc.rst:
2366         Add trailing newline.
2367         * doc/enabling-openmp.rst:
2368         Add trailing newline.
2369         * doc/first-invocation-nvidia-cublas-library-api.rst:
2370         Add trailing newline.
2371         * doc/first-invocation-openacc-library-api.rst:
2372         Add trailing newline.
2373         * doc/funding.rst:
2374         Add trailing newline.
2375         * doc/general-public-license-3.rst:
2376         Add trailing newline.
2377         * doc/gnu-free-documentation-license.rst:
2378         Add trailing newline.
2379         * doc/implementation-status-and-implementation-defined-behavior.rst:
2380         Add trailing newline.
2381         * doc/index.rst:
2382         Add trailing newline.
2383         * doc/indices-and-tables.rst:
2384         Add trailing newline.
2385         * doc/introduction.rst:
2386         Add trailing newline.
2387         * doc/memory-allocation-with-libmemkind.rst:
2388         Add trailing newline.
2389         * doc/nvptx.rst:
2390         Add trailing newline.
2391         * doc/offload-target-specifics.rst:
2392         Add trailing newline.
2393         * doc/openacc-environment-variables.rst:
2394         Add trailing newline.
2395         * doc/openacc-environment-variables/accdevicenum.rst:
2396         Add trailing newline.
2397         * doc/openacc-environment-variables/accdevicetype.rst:
2398         Add trailing newline.
2399         * doc/openacc-environment-variables/accproflib.rst:
2400         Add trailing newline.
2401         * doc/openacc-environment-variables/gccaccnotify.rst:
2402         Add trailing newline.
2403         * doc/openacc-introduction.rst:
2404         Add trailing newline.
2405         * doc/openacc-library-and-environment-variables.rst:
2406         Add trailing newline.
2407         * doc/openacc-library-interoperability.rst:
2408         Add trailing newline.
2409         * doc/openacc-profiling-interface.rst:
2410         Add trailing newline.
2411         * doc/openacc-runtime-library-routines.rst:
2412         Add trailing newline.
2413         * doc/openacc-runtime-library-routines/accasynctest.rst:
2414         Add trailing newline.
2415         * doc/openacc-runtime-library-routines/accasynctestall.rst:
2416         Add trailing newline.
2417         * doc/openacc-runtime-library-routines/accattach.rst:
2418         Add trailing newline.
2419         * doc/openacc-runtime-library-routines/acccopyin.rst:
2420         Add trailing newline.
2421         * doc/openacc-runtime-library-routines/acccopyout.rst:
2422         Add trailing newline.
2423         * doc/openacc-runtime-library-routines/acccreate.rst:
2424         Add trailing newline.
2425         * doc/openacc-runtime-library-routines/accdelete.rst:
2426         Add trailing newline.
2427         * doc/openacc-runtime-library-routines/accdetach.rst:
2428         Add trailing newline.
2429         * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2430         Add trailing newline.
2431         * doc/openacc-runtime-library-routines/accfree.rst:
2432         Add trailing newline.
2433         * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2434         Add trailing newline.
2435         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2436         Add trailing newline.
2437         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2438         Add trailing newline.
2439         * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2440         Add trailing newline.
2441         * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2442         Add trailing newline.
2443         * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2444         Add trailing newline.
2445         * doc/openacc-runtime-library-routines/accgetproperty.rst:
2446         Add trailing newline.
2447         * doc/openacc-runtime-library-routines/acchostptr.rst:
2448         Add trailing newline.
2449         * doc/openacc-runtime-library-routines/accinit.rst:
2450         Add trailing newline.
2451         * doc/openacc-runtime-library-routines/accispresent.rst:
2452         Add trailing newline.
2453         * doc/openacc-runtime-library-routines/accmalloc.rst:
2454         Add trailing newline.
2455         * doc/openacc-runtime-library-routines/accmapdata.rst:
2456         Add trailing newline.
2457         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2458         Add trailing newline.
2459         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2460         Add trailing newline.
2461         * doc/openacc-runtime-library-routines/accondevice.rst:
2462         Add trailing newline.
2463         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2464         Add trailing newline.
2465         * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2466         Add trailing newline.
2467         * doc/openacc-runtime-library-routines/accproflookup.rst:
2468         Add trailing newline.
2469         * doc/openacc-runtime-library-routines/accprofregister.rst:
2470         Add trailing newline.
2471         * doc/openacc-runtime-library-routines/accprofunregister.rst:
2472         Add trailing newline.
2473         * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2474         Add trailing newline.
2475         * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2476         Add trailing newline.
2477         * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2478         Add trailing newline.
2479         * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2480         Add trailing newline.
2481         * doc/openacc-runtime-library-routines/accshutdown.rst:
2482         Add trailing newline.
2483         * doc/openacc-runtime-library-routines/accunmapdata.rst:
2484         Add trailing newline.
2485         * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2486         Add trailing newline.
2487         * doc/openacc-runtime-library-routines/accupdateself.rst:
2488         Add trailing newline.
2489         * doc/openacc-runtime-library-routines/accwait.rst:
2490         Add trailing newline.
2491         * doc/openacc-runtime-library-routines/accwaitall.rst:
2492         Add trailing newline.
2493         * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2494         Add trailing newline.
2495         * doc/openacc-runtime-library-routines/accwaitasync.rst:
2496         Add trailing newline.
2497         * doc/openmp-context-selectors.rst:
2498         Add trailing newline.
2499         * doc/openmp-environment-variables.rst:
2500         Add trailing newline.
2501         * doc/openmp-environment-variables/gompcpuaffinity.rst:
2502         Add trailing newline.
2503         * doc/openmp-environment-variables/gompdebug.rst:
2504         Add trailing newline.
2505         * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2506         Add trailing newline.
2507         * doc/openmp-environment-variables/gompspincount.rst:
2508         Add trailing newline.
2509         * doc/openmp-environment-variables/gompstacksize.rst:
2510         Add trailing newline.
2511         * doc/openmp-environment-variables/ompcancellation.rst:
2512         Add trailing newline.
2513         * doc/openmp-environment-variables/ompdefaultdevice.rst:
2514         Add trailing newline.
2515         * doc/openmp-environment-variables/ompdisplayenv.rst:
2516         Add trailing newline.
2517         * doc/openmp-environment-variables/ompdynamic.rst:
2518         Add trailing newline.
2519         * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2520         Add trailing newline.
2521         * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2522         Add trailing newline.
2523         * doc/openmp-environment-variables/ompnested.rst:
2524         Add trailing newline.
2525         * doc/openmp-environment-variables/ompnumteams.rst:
2526         Add trailing newline.
2527         * doc/openmp-environment-variables/ompnumthreads.rst:
2528         Add trailing newline.
2529         * doc/openmp-environment-variables/ompplaces.rst:
2530         Add trailing newline.
2531         * doc/openmp-environment-variables/ompprocbind.rst:
2532         Add trailing newline.
2533         * doc/openmp-environment-variables/ompschedule.rst:
2534         Add trailing newline.
2535         * doc/openmp-environment-variables/ompstacksize.rst:
2536         Add trailing newline.
2537         * doc/openmp-environment-variables/omptargetoffload.rst:
2538         Add trailing newline.
2539         * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2540         Add trailing newline.
2541         * doc/openmp-environment-variables/ompthreadlimit.rst:
2542         Add trailing newline.
2543         * doc/openmp-environment-variables/ompwaitpolicy.rst:
2544         Add trailing newline.
2545         * doc/openmp-implementation-specifics.rst:
2546         Add trailing newline.
2547         * doc/openmp-implementation-status.rst:
2548         Add trailing newline.
2549         * doc/openmp-implementation-status/openmp-45.rst:
2550         Add trailing newline.
2551         * doc/openmp-implementation-status/openmp-50.rst:
2552         Add trailing newline.
2553         * doc/openmp-implementation-status/openmp-51.rst:
2554         Add trailing newline.
2555         * doc/openmp-implementation-status/openmp-52.rst:
2556         Add trailing newline.
2557         * doc/openmp-runtime-library-routines.rst:
2558         Add trailing newline.
2559         * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2560         Add trailing newline.
2561         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2562         Add trailing newline.
2563         * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2564         Add trailing newline.
2565         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2566         Add trailing newline.
2567         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2568         Add trailing newline.
2569         * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2570         Add trailing newline.
2571         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2572         Add trailing newline.
2573         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2574         Add trailing newline.
2575         * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2576         Add trailing newline.
2577         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2578         Add trailing newline.
2579         * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2580         Add trailing newline.
2581         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2582         Add trailing newline.
2583         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2584         Add trailing newline.
2585         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2586         Add trailing newline.
2587         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2588         Add trailing newline.
2589         * doc/openmp-runtime-library-routines/ompgetnested.rst:
2590         Add trailing newline.
2591         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2592         Add trailing newline.
2593         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2594         Add trailing newline.
2595         * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2596         Add trailing newline.
2597         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2598         Add trailing newline.
2599         * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2600         Add trailing newline.
2601         * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2602         Add trailing newline.
2603         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2604         Add trailing newline.
2605         * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2606         Add trailing newline.
2607         * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2608         Add trailing newline.
2609         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2610         Add trailing newline.
2611         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2612         Add trailing newline.
2613         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2614         Add trailing newline.
2615         * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2616         Add trailing newline.
2617         * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2618         Add trailing newline.
2619         * doc/openmp-runtime-library-routines/ompinfinal.rst:
2620         Add trailing newline.
2621         * doc/openmp-runtime-library-routines/ompinitlock.rst:
2622         Add trailing newline.
2623         * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2624         Add trailing newline.
2625         * doc/openmp-runtime-library-routines/ompinparallel.rst:
2626         Add trailing newline.
2627         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2628         Add trailing newline.
2629         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2630         Add trailing newline.
2631         * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2632         Add trailing newline.
2633         * doc/openmp-runtime-library-routines/ompsetlock.rst:
2634         Add trailing newline.
2635         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2636         Add trailing newline.
2637         * doc/openmp-runtime-library-routines/ompsetnested.rst:
2638         Add trailing newline.
2639         * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2640         Add trailing newline.
2641         * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2642         Add trailing newline.
2643         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2644         Add trailing newline.
2645         * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2646         Add trailing newline.
2647         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2648         Add trailing newline.
2649         * doc/openmp-runtime-library-routines/omptestlock.rst:
2650         Add trailing newline.
2651         * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2652         Add trailing newline.
2653         * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2654         Add trailing newline.
2655         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2656         Add trailing newline.
2657         * doc/reporting-bugs.rst:
2658         Add trailing newline.
2659         * doc/the-libgomp-abi.rst:
2660         Add trailing newline.
2661         * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2662         Add trailing newline.
2663         * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2664         Add trailing newline.
2665         * doc/the-libgomp-abi/implementing-critical-construct.rst:
2666         Add trailing newline.
2667         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2668         Add trailing newline.
2669         * doc/the-libgomp-abi/implementing-flush-construct.rst:
2670         Add trailing newline.
2671         * doc/the-libgomp-abi/implementing-for-construct.rst:
2672         Add trailing newline.
2673         * doc/the-libgomp-abi/implementing-master-construct.rst:
2674         Add trailing newline.
2675         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2676         Add trailing newline.
2677         * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2678         Add trailing newline.
2679         * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2680         Add trailing newline.
2681         * doc/the-libgomp-abi/implementing-private-clause.rst:
2682         Add trailing newline.
2683         * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2684         Add trailing newline.
2685         * doc/the-libgomp-abi/implementing-sections-construct.rst:
2686         Add trailing newline.
2687         * doc/the-libgomp-abi/implementing-single-construct.rst:
2688         Add trailing newline.
2689         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2690         Add trailing newline.
2692 2022-11-09  Martin Liska  <mliska@suse.cz>
2694         * Makefile.in: Build info pages conditionally.
2696 2022-11-09  Martin Liska  <mliska@suse.cz>
2698         * Makefile.in: Support --with-sphinx-build.
2699         * configure.ac: Likewise..
2700         * configure: Regenerate.
2702 2022-11-09  Martin Liska  <mliska@suse.cz>
2704         * libgomp.texi: Removed.
2706 2022-11-09  Martin Liska  <mliska@suse.cz>
2708         * Makefile.in: Support Sphinx based documentation.
2710 2022-11-09  Martin Liska  <mliska@suse.cz>
2712         * doc/amd-radeon-gcn.rst: New file.
2713         * doc/conf.py: New file.
2714         * doc/copyright.rst: New file.
2715         * doc/cuda-streams-usage.rst: New file.
2716         * doc/enabling-openacc.rst: New file.
2717         * doc/enabling-openmp.rst: New file.
2718         * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2719         * doc/first-invocation-openacc-library-api.rst: New file.
2720         * doc/funding.rst: New file.
2721         * doc/general-public-license-3.rst: New file.
2722         * doc/gnu-free-documentation-license.rst: New file.
2723         * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2724         * doc/index.rst: New file.
2725         * doc/indices-and-tables.rst: New file.
2726         * doc/introduction.rst: New file.
2727         * doc/memory-allocation-with-libmemkind.rst: New file.
2728         * doc/nvptx.rst: New file.
2729         * doc/offload-target-specifics.rst: New file.
2730         * doc/openacc-environment-variables.rst: New file.
2731         * doc/openacc-environment-variables/accdevicenum.rst: New file.
2732         * doc/openacc-environment-variables/accdevicetype.rst: New file.
2733         * doc/openacc-environment-variables/accproflib.rst: New file.
2734         * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2735         * doc/openacc-introduction.rst: New file.
2736         * doc/openacc-library-and-environment-variables.rst: New file.
2737         * doc/openacc-library-interoperability.rst: New file.
2738         * doc/openacc-profiling-interface.rst: New file.
2739         * doc/openacc-runtime-library-routines.rst: New file.
2740         * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2741         * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2742         * doc/openacc-runtime-library-routines/accattach.rst: New file.
2743         * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2744         * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2745         * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2746         * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2747         * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2748         * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2749         * doc/openacc-runtime-library-routines/accfree.rst: New file.
2750         * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2751         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2752         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2753         * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2754         * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2755         * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2756         * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2757         * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2758         * doc/openacc-runtime-library-routines/accinit.rst: New file.
2759         * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2760         * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2761         * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2762         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2763         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2764         * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2765         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2766         * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2767         * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2768         * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2769         * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2770         * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2771         * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2772         * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2773         * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2774         * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2775         * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2776         * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2777         * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2778         * doc/openacc-runtime-library-routines/accwait.rst: New file.
2779         * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2780         * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2781         * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2782         * doc/openmp-context-selectors.rst: New file.
2783         * doc/openmp-environment-variables.rst: New file.
2784         * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2785         * doc/openmp-environment-variables/gompdebug.rst: New file.
2786         * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2787         * doc/openmp-environment-variables/gompspincount.rst: New file.
2788         * doc/openmp-environment-variables/gompstacksize.rst: New file.
2789         * doc/openmp-environment-variables/ompcancellation.rst: New file.
2790         * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2791         * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2792         * doc/openmp-environment-variables/ompdynamic.rst: New file.
2793         * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2794         * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2795         * doc/openmp-environment-variables/ompnested.rst: New file.
2796         * doc/openmp-environment-variables/ompnumteams.rst: New file.
2797         * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2798         * doc/openmp-environment-variables/ompplaces.rst: New file.
2799         * doc/openmp-environment-variables/ompprocbind.rst: New file.
2800         * doc/openmp-environment-variables/ompschedule.rst: New file.
2801         * doc/openmp-environment-variables/ompstacksize.rst: New file.
2802         * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2803         * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2804         * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2805         * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2806         * doc/openmp-implementation-specifics.rst: New file.
2807         * doc/openmp-implementation-status.rst: New file.
2808         * doc/openmp-implementation-status/openmp-45.rst: New file.
2809         * doc/openmp-implementation-status/openmp-50.rst: New file.
2810         * doc/openmp-implementation-status/openmp-51.rst: New file.
2811         * doc/openmp-implementation-status/openmp-52.rst: New file.
2812         * doc/openmp-runtime-library-routines.rst: New file.
2813         * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2814         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2815         * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2816         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2817         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2818         * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2819         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2820         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2821         * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2822         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2823         * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2824         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2825         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2826         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2827         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2828         * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2829         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2830         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2831         * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2832         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2833         * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2834         * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2835         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2836         * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2837         * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2838         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2839         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2840         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2841         * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2842         * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2843         * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2844         * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2845         * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2846         * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2847         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2848         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2849         * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2850         * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2851         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2852         * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2853         * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2854         * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2855         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2856         * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2857         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2858         * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2859         * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2860         * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2861         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2862         * doc/reporting-bugs.rst: New file.
2863         * doc/the-libgomp-abi.rst: New file.
2864         * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2865         * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2866         * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2867         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2868         New file.
2869         * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2870         * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2871         * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2872         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2873         * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2874         * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2875         * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2876         * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2877         * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2878         * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2879         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2881 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
2883         * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
2884         * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
2885         documentation.
2886         * plugin/configfrag.ac <enable_offload_targets>
2887         [*-intelmic-* | *-intelmicemul-*]: Remove.
2888         * configure: Regenerate.
2889         * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
2890         handling.
2891         (offload_target_to_openacc_device_type)
2892         [$offload_target = *-intelmic*]: Remove.
2893         (check_effective_target_offload_device_intel_mic)
2894         (check_effective_target_offload_device_any_intel_mic): Remove.
2895         * testsuite/libgomp.c-c++-common/on_device_arch.h
2896         (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
2897         (any_device_arch_intel_mic): Remove.
2898         * testsuite/libgomp.c-c++-common/target-45.c: Remove
2899         'offload_device_any_intel_mic' XFAIL.
2900         * testsuite/libgomp.fortran/target10.f90: Likewise.
2902 2022-11-03  Tobias Burnus  <tobias@codesourcery.com>
2904         * testsuite/libgomp.fortran/target-11.f90: New test.
2905         * testsuite/libgomp.fortran/target-13.f90: New test.
2907 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2909         PR libgomp/106643
2910         PR fortran/96668
2911         * oacc-mem.c (goacc_enter_data_internal): Support
2912         OpenACC 'declare create' with Fortran allocatable arrays, part II.
2913         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2914         Adjust.
2915         * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
2917 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2919         PR libgomp/106643
2920         * oacc-mem.c (goacc_enter_data_internal): Support
2921         OpenACC 'declare create' with Fortran allocatable arrays, part I.
2922         * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
2923         New.
2924         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2925         New.
2927 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2929         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
2930         New.
2932 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2934         * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
2935         New.
2937 2022-11-02  Cesar Philippidis  <cesar@codesourcery.com>
2938             Thomas Schwinge  <thomas@codesourcery.com>
2940         * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
2942 2022-10-28  Julian Brown  <julian@codesourcery.com>
2943             Thomas Schwinge  <thomas@codesourcery.com>
2945         PR middle-end/90115
2946         * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
2947         * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2948         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2949         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2950         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2952 2022-10-24  Thomas Schwinge  <thomas@codesourcery.com>
2954         * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
2955         'ptx_dev->rev_data'.
2957 2022-10-24  Tobias Burnus  <tobias@codesourcery.com>
2959         * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
2960         'static' for this variable.
2961         * config/nvptx/libgomp-nvptx.h: New file.
2962         * config/nvptx/target.c: Include it.
2963         (GOMP_ADDITIONAL_ICVS): Declare extern var.
2964         (GOMP_REV_OFFLOAD_VAR): Declare var.
2965         (GOMP_target_ext): Handle reverse offload.
2966         * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
2967         * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
2968         * target.c (gomp_target_rev): ... this new stub function.
2969         * libgomp.h (gomp_target_rev): Declare.
2970         * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
2971         * plugin/cuda-lib.def (cuMemHostAlloc): Add.
2972         * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
2973         (struct ptx_device): Add rev_data member.
2974         (nvptx_open_device): Remove async_engines query, last used in
2975         r10-304-g1f4c5b9b; add unified-address assert check.
2976         (GOMP_OFFLOAD_get_num_devices): Claim unified address
2977         support.
2978         (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
2979         offload functions exist. Make offload var available
2980         on host and device.
2981         (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
2982         (GOMP_OFFLOAD_run): Handle reverse offload.
2984 2022-10-21  Thomas Schwinge  <thomas@codesourcery.com>
2986         PR tree-optimization/107195
2987         PR target/107344
2988         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
2989         regions checking.
2991 2022-10-20  Tobias Burnus  <tobias@codesourcery.com>
2993         * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
2994         New.
2995         * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
2996         on_device_arch_gcn): New.
2997         * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
2998         requires-4.c but using heap-allocated memory.
3000 2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
3002         PR target/105421
3003         * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
3005 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
3007         * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
3008         '-foffload-options' syntax.
3010 2022-10-13  Tobias Burnus  <tobias@codesourcery.com>
3012         * testsuite/libgomp.fortran/task-7.f90: New test.
3013         * testsuite/libgomp.fortran/task-8.f90: New test.
3014         * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
3015         * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
3016         * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
3017         * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
3018         * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
3020 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
3022         * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
3023         in deprecation bullet.
3025 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
3027         * omp.h.in (omp_in_explicit_task): Declare.
3028         * omp_lib.h.in (omp_in_explicit_task): Likewise.
3029         * omp_lib.f90.in (omp_in_explicit_task): New interface.
3030         * libgomp.map (OMP_5.2): New symbol version, export
3031         omp_in_explicit_task and omp_in_explicit_task_.
3032         * task.c (omp_in_explicit_task): New function.
3033         * fortran.c (omp_in_explicit_task): Add ialias_redirect.
3034         (omp_in_explicit_task_): New function.
3035         * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
3036         * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
3037         * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
3038         * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
3040 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
3042         * task.c (gomp_create_artificial_team): Fix up handling of invocations
3043         from within explicit task.
3044         * target.c (GOMP_target_ext): Likewise.
3045         * testsuite/libgomp.c/task-7.c: New test.
3046         * testsuite/libgomp.c/task-8.c: New test.
3047         * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
3048         * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
3050 2022-10-12  Martin Liska  <mliska@suse.cz>
3052         * configure: Regenerate.
3054 2022-10-11  Olivier Hainque  <hainque@adacore.com>
3055             Olivier Hainque  <hainque@adacore.com>
3057         * configure: Regenerate.
3059 2022-10-05  Tobias Burnus  <tobias@codesourcery.com>
3061         * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
3063 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
3065         * libgomp.texi (Support begin/end declare target syntax in C/C++):
3066         Mark as implemented.
3068 2022-09-30  Tobias Burnus  <tobias@codesourcery.com>
3070         PR fortran/105318
3071         * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
3073 2022-09-28  Tobias Burnus  <tobias@codesourcery.com>
3075         * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
3076         for C/C++. Remove duplicated 'begin declare target' entry.
3078 2022-09-24  Jakub Jelinek  <jakub@redhat.com>
3080         PR c/106981
3081         * testsuite/libgomp.c-c++-common/pr106981.c: New test.
3083 2022-09-14  Julian Brown  <julian@codesourcery.com>
3085         * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
3086         * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
3087         * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
3088         * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
3089         test to here, make "run" test.
3091 2022-09-13  Jakub Jelinek  <jakub@redhat.com>
3093         PR libgomp/106906
3094         * env.c (get_icv_member_addr): Cast false to void * before assigning
3095         it to icv_addr[1], and comment the whole assignment out.
3097 2022-09-13  Tobias Burnus  <tobias@codesourcery.com>
3099         * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
3100         (nvptx): ... here.
3102 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
3104         * libgomp.texi (Offload-Target Specifics: nvptx): Document
3105         that reverse offload requires >= -march=sm_35.
3106         * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
3107         with -misa=sm_35.
3108         * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3109         * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
3110         * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
3111         * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
3112         * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
3114 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
3116         * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
3117         (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
3119 2022-09-12  Jakub Jelinek  <jakub@redhat.com>
3121         PR libgomp/106894
3122         * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
3123         (main): Avoid tests for which corresponding non-_ALL suffixed variable
3124         is in the environment, or for OMP_NUM_TEAMS on the device
3125         OMP_NUM_TEAMS_DEV_?.
3127 2022-09-10  Iain Sandoe  <iain@sandoe.co.uk>
3129         * env.c (initialize_env): Include libiberty environ.h.
3131 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
3133         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
3134         function address table '$offload_func_table' if rev_fn_table
3135         is not NULL.
3137 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
3139         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
3140         .offload_func_table to populate rev_fn_table when requested.
3142 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
3144         * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
3145         'uint64_t **rev_fn_table' argument.
3146         * oacc-host.c (host_load_image): Likewise.
3147         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
3148         currently unused.
3149         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3150         * target.c (gomp_load_image_to_device): Update call but pass
3151         NULL for now.
3153 2022-09-09  Jakub Jelinek  <jakub@redhat.com>
3155         PR libgomp/106894
3156         * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
3157         char * for dest[1] initialization from params[1].  Formatting fixes.
3159 2022-09-08  Tobias Burnus  <tobias@codesourcery.com>
3161         PR fortran/106670
3162         * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
3164 2022-09-08  Tobias Burnus  <tobias@codesourcery.com>
3166         * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
3167         section; move OpenMP Context Selectors from ...
3168         (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
3169         'nvptx' sections.
3171 2022-09-08  Marcel Vollweiler  <marcel@codesourcery.com>
3173         * config/gcn/icv-device.c (omp_get_default_device): Return device-
3174         specific ICV.
3175         (omp_get_max_teams): Added for GCN devices.
3176         (omp_set_num_teams): Likewise.
3177         (ialias): Likewise.
3178         * config/nvptx/icv-device.c (omp_get_default_device): Return device-
3179         specific ICV.
3180         (omp_get_max_teams): Added for NVPTX devices.
3181         (omp_set_num_teams): Likewise.
3182         (ialias): Likewise.
3183         * env.c (struct gomp_icv_list): New struct to store entries of initial
3184         ICV values.
3185         (struct gomp_offload_icv_list): New struct to store entries of device-
3186         specific ICV values that are copied to the device and back.
3187         (struct gomp_default_icv_values): New struct to store default values of
3188         ICVs according to the OpenMP standard.
3189         (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
3190         (print_env_var_error): Function that prints an error for invalid values
3191         for ICVs.
3192         (parse_unsigned_long_1): Removed getenv.  Generalized.
3193         (parse_unsigned_long): Likewise.
3194         (parse_int_1): Likewise.
3195         (parse_int): Likewise.
3196         (parse_int_secure): Likewise.
3197         (parse_unsigned_long_list): Likewise.
3198         (parse_target_offload): Likewise.
3199         (parse_bind_var): Likewise.
3200         (parse_stacksize): Likewise.
3201         (parse_boolean): Likewise.
3202         (parse_wait_policy): Likewise.
3203         (parse_allocator): Likewise.
3204         (omp_display_env): Extended to output different variants of environment
3205         variables.
3206         (print_schedule): New helper function for omp_display_env which prints
3207         the values of run_sched_var.
3208         (print_proc_bind): New helper function for omp_display_env which prints
3209         the values of proc_bind_var.
3210         (enum gomp_parse_type): Collection of types used for parsing environment
3211         variables.
3212         (ENTRY): Preprocess string lengths of environment variables.
3213         (OMP_VAR_CNT): Preprocess table size.
3214         (OMP_HOST_VAR_CNT): Likewise.
3215         (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
3216         number.
3217         (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3218         (gomp_set_icv_flag): Sets a flag for a particular ICV.
3219         (print_device_specific_icvs): New helper function for omp_display_env to
3220         print device specific ICV values.
3221         (get_device_num): New helper function for parse_device_specific.
3222         Extracts the device number from an environment variable name.
3223         (get_icv_member_addr): Gets the memory address for a particular member
3224         of an ICV struct.
3225         (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3226         (initialize_icvs): New function to initialize a gomp_initial_icvs
3227         struct.
3228         (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
3229         (startswith): Checks if a string starts with a given prefix.
3230         (initialize_env): Extended to parse the new syntax of environment
3231         variables.
3232         * icv-device.c (omp_get_max_teams): Added.
3233         (ialias): Likewise.
3234         (omp_set_num_teams): Likewise.
3235         * icv.c (omp_set_num_teams): Moved to icv-device.c.
3236         (omp_get_max_teams): Likewise.
3237         (ialias): Likewise.
3238         * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
3239         (GOMP_ADDITIONAL_ICVS): New target-side struct that
3240         holds the designated ICVs of the target device.
3241         * libgomp.h (enum gomp_icvs): Collection of ICVs.
3242         (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
3243         no suffix.
3244         (enum gomp_env_suffix): Collection of possible suffixes of environment
3245         variables.
3246         (struct gomp_initial_icvs): Contains all ICVs for which we need to store
3247         initial values.
3248         (struct gomp_default_icv):New struct to hold ICVs for which we need
3249         to store initial values.
3250         (struct gomp_icv_list): Definition of a linked list that is used for
3251         storing ICVs for the devices and also for _DEV, _ALL, and without
3252         suffix.
3253         (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
3254         a device.
3255         (struct gomp_offload_icv_list): Definition of a linked list that holds
3256         device-specific ICVs that are copied to devices.
3257         (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3258         (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3259         * libgomp.texi: Updated.
3260         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
3261         further ICVs from the offload image.
3262         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3263         * target.c (gomp_get_offload_icv_item): Get a list item of
3264         gomp_offload_icv_list.
3265         (get_gomp_offload_icvs): New. Returns the ICV values
3266         depending on the device num and the variable hierarchy.
3267         (gomp_load_image_to_device): Extended to copy further ICVs to a device.
3268         * testsuite/libgomp.c-c++-common/icv-5.c: New test.
3269         * testsuite/libgomp.c-c++-common/icv-6.c: New test.
3270         * testsuite/libgomp.c-c++-common/icv-7.c: New test.
3271         * testsuite/libgomp.c-c++-common/icv-8.c: New test.
3272         * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
3273         * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
3275 2022-09-08  Jakub Jelinek  <jakub@redhat.com>
3277         * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
3278         fully supported.
3279         * testsuite/libgomp.c/doacross-4.c: New test.
3280         * testsuite/libgomp.c/doacross-5.c: New test.
3281         * testsuite/libgomp.c/doacross-6.c: New test.
3282         * testsuite/libgomp.c/doacross-7.c: New test.
3284 2022-09-05  Tobias Burnus  <tobias@codesourcery.com>
3286         * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
3288 2022-08-26  Tobias Burnus  <tobias@codesourcery.com>
3290         * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
3291         refer to 'requires'.
3292         * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
3293         * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
3294         * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
3295         * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
3297 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
3299         PR middle-end/106548
3300         * testsuite/libgomp.c/linear-2.c: New test.
3302 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
3304         * splay-tree.h: Fix splay_* macro unsetting if
3305         splay_tree_prefix is defined.
3307 2022-07-29  Tobias Burnus  <tobias@codesourcery.com>
3309         * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
3311 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
3313         PR middle-end/106449
3314         * testsuite/libgomp.c-c++-common/pr106449.c: New test.
3316 2022-07-12  Tobias Burnus  <tobias@codesourcery.com>
3318         * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
3320 2022-07-12  Thomas Schwinge  <thomas@codesourcery.com>
3322         PR middle-end/101551
3323         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
3324         'offloading_enabled' diagnostics issue.
3326 2022-07-11  Thomas Schwinge  <thomas@codesourcery.com>
3328         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
3329         '_Pragma' diagnostics verification.
3331 2022-07-10  Lewis Hyatt  <lhyatt@gmail.com>
3333         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
3334         improved warning locations.
3335         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
3337 2022-07-08  Thomas Schwinge  <thomas@codesourcery.com>
3339         * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
3340         * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
3341         * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3342         * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3343         * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3345 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
3347         * target.c (GOMP_offload_register, GOMP_offload_unregister):
3348         Denote as legacy entry points.
3349         * testsuite/lib/libgomp.exp
3350         (check_effective_target_offload_target_any): New proc.
3351         * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
3352         'offload_target_any'.
3353         * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3354         * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3355         * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3357 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
3359         * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
3360         * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3362 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
3364         * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
3366 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
3368         * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
3369         'data'.
3370         (GOMP_offload_unregister_ver): Likewise.  Fix up 'target_data'.
3372 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
3373             Jakub Jelinek  <jakub@redhat.com>
3375         * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
3377 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
3378             Chung-Lin Tang  <cltang@codesourcery.com>
3379             Thomas Schwinge  <thomas@codesourcery.com>
3381         * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
3382         omp_requires_mask arg.
3383         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
3384         return -1 when device available but omp_requires_mask != 0.
3385         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
3386         * oacc-host.c (host_get_num_devices, host_openacc_get_property):
3387         Update call.
3388         * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
3389         goacc_attach_host_thread_to_device, acc_get_num_devices,
3390         acc_set_device_num, get_property_any): Likewise.
3391         * target.c (omp_requires_mask): New global var.
3392         (gomp_requires_to_name): New.
3393         (GOMP_offload_register_ver): Handle passed omp_requires_mask.
3394         (gomp_target_init): Handle omp_requires_mask.
3395         * libgomp.texi (OpenMP 5.0): Update requires impl. status.
3396         (OpenMP 5.1): Add a missed item.
3397         (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
3398         * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
3399         * testsuite/libgomp.c-c++-common/requires-1.c: New test.
3400         * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
3401         * testsuite/libgomp.c-c++-common/requires-2.c: New test.
3402         * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
3403         * testsuite/libgomp.c-c++-common/requires-3.c: New test.
3404         * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
3405         * testsuite/libgomp.c-c++-common/requires-4.c: New test.
3406         * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
3407         * testsuite/libgomp.c-c++-common/requires-5.c: New test.
3408         * testsuite/libgomp.c-c++-common/requires-6.c: New test.
3409         * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
3410         * testsuite/libgomp.c-c++-common/requires-7.c: New test.
3411         * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
3412         * testsuite/libgomp.fortran/requires-1.f90: New test.
3414 2022-07-01  Tobias Burnus  <tobias@codesourcery.com>
3416         * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
3417         with fromto as implemented.
3419 2022-06-28  Martin Liska  <mliska@suse.cz>
3421         * acinclude.m4: Fix typo in mold linker detection.
3422         * Makefile.in: Regenerate.
3423         * configure: Regenerate.
3425 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
3426             Paul Iannetta  <piannetta@kalrayinc.com>
3428         PR libgomp/106045
3429         * testsuite/libgomp.c/target-31.c: Add private (i) clause.
3431 2022-06-17  Martin Liska  <mliska@suse.cz>
3433         * libgomp.texi: Add table header for new features of
3434         OpenMP 5.2.
3436 2022-06-15  Jakub Jelinek  <jakub@redhat.com>
3438         * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
3439         q to ddress of an automatic variable.  Use -5 instead of -1 in
3440         omp_get_mapped_ptr call.  Add test with omp_initial_device.
3441         * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
3442         of -1 in omp_get_mapped_ptr call.  Add test with omp_initial_device.
3443         Renumber stop arguments afterwards.
3445 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
3447         * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
3448         * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
3449         parameters.
3450         * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
3451         * target.c (resolve_device): Add remapped argument, handle
3452         GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
3453         for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
3454         if remapped, otherwise treat omp_initial_device that way.  For
3455         omp_invalid_device, always emit gomp_fatal, even when
3456         OMP_TARGET_OFFLOAD isn't mandatory.
3457         (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
3458         GOMP_target_update, GOMP_target_update_ext,
3459         GOMP_target_enter_exit_data): Pass true as remapped argument to
3460         resolve_device.
3461         (omp_target_alloc, omp_target_free, omp_target_is_present,
3462         omp_target_memcpy_check, omp_target_associate_ptr,
3463         omp_target_disassociate_ptr, omp_get_mapped_ptr,
3464         omp_target_is_accessible): Pass false as remapped argument to
3465         resolve_device.  Treat omp_initial_device the same as
3466         gomp_get_num_devices ().  Don't bypass resolve_device calls if
3467         device_num is negative.
3468         (omp_pause_resource): Treat omp_initial_device the same as
3469         gomp_get_num_devices ().  Call resolve_device.
3470         * icv-device.c (omp_set_default_device): Always set to device_num
3471         even when it is negative.
3472         * libgomp.texi: Document that Conforming device numbers,
3473         omp_initial_device and omp_invalid_device is implemented.
3474         * testsuite/libgomp.c/target-41.c (main): Add test with
3475         omp_initial_device.
3476         * testsuite/libgomp.c/target-45.c: New test.
3477         * testsuite/libgomp.c/target-46.c: New test.
3478         * testsuite/libgomp.c/target-47.c: New test.
3479         * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
3480         test with omp_initial_device.  Use -5 instead of -1 for negative value
3481         test.
3482         * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
3483         Likewise.  Reorder stop numbers.
3485 2022-06-10  Jakub Jelinek  <jakub@redhat.com>
3487         * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
3488         rather than "libmemkind.so".
3490 2022-06-10  Thomas Schwinge  <thomas@codesourcery.com>
3492         * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
3493         * plugin/configfrag.ac (--with-cuda-driver)
3494         (--with-cuda-driver-include, --with-cuda-driver-lib)
3495         (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
3496         (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
3497         Remove.
3498         * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
3499         (cuda_driver_lib): Remove.
3500         * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
3501         * Makefile.in: Regenerate.
3502         * configure: Likewise.
3503         * testsuite/Makefile.in: Likewise.
3505 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
3507         * config/linux/allocator.c: Fix up #include directive.
3509 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
3511         * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
3512         (enum gomp_memkind_kind): New type.
3513         (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
3514         is defined.
3515         (struct gomp_memkind_data): New type.
3516         (memkind_data, memkind_data_once): New variables.
3517         (gomp_init_memkind, gomp_get_memkind): New functions.
3518         (omp_init_allocator): Initialize data.memkind, don't fail for
3519         omp_high_bw_mem_space if libmemkind supports it.
3520         (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
3521         memkind support of LIBGOMP_USE_MEMKIND is defined.
3522         * config/linux/allocator.c: New file.
3524 2022-06-03  Tobias Burnus  <tobias@codesourcery.com>
3526         * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
3527         * testsuite/libgomp.fortran/scope-2.f90: New test.
3529 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
3531         * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
3533 2022-05-31  Jakub Jelinek  <jakub@redhat.com>
3535         * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
3536         scope construct with allocate clause.
3537         * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
3538         * testsuite/libgomp.c-c++-common/scope-2.c: New test.
3540 2022-05-28  Tobias Burnus  <tobias@codesourcery.com>
3542         * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
3543         * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
3544         explicit 'to' and 'enter' clause.
3545         * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
3547 2022-05-28  Jakub Jelinek  <jakub@redhat.com>
3549         PR libgomp/105745
3550         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
3551         defined(HAVE__ALIGNED_MALLOC) case.
3552         * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
3553         handling as last option before fallback instead of first.
3554         (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
3555         _aligned_free.
3557 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
3559         * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
3560         clauses to enter.
3561         * testsuite/libgomp.c/target-41.c: Likewise.
3563 2022-05-27  Tobias Burnus  <tobias@codesourcery.com>
3565         * libgomp.texi (Other new OpenMP 5.1 features): Add
3566         'begin declare target'.
3567         (Other new OpenMP 5.2 features): New.
3569 2022-05-25  Jakub Jelinek  <jakub@redhat.com>
3571         * task.c (gomp_task_run_post_handle_dependers): If empty_task
3572         is the last task taskwait depend depends on, wake it up.
3573         Similarly if it is the last child of a taskgroup, use atomic
3574         store instead of decrement and awak taskgroup wait if any.
3575         * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
3577 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
3579         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3580         EF_AMDGPU_MACH_AMDGCN_GFX90a.
3581         (gcn_gfx90a_s): New.
3582         (isa_hsa_name): Support gfx90a.
3583         (isa_code): Likewise.
3585 2022-05-24  Tobias Burnus  <tobias@codesourcery.com>
3587         PR c/105378
3588         * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
3589         * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
3591 2022-05-24  Jakub Jelinek  <jakub@redhat.com>
3593         PR c/105378
3594         * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
3595         * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
3596         * task.c (empty_task): New function.
3597         (gomp_task_run_post_handle_depend_hash): Declare earlier.
3598         (gomp_task_run_post_handle_depend): Declare.
3599         (GOMP_task): Optimize fn == empty_task if there is nothing to wait
3600         for.
3601         (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
3602         (GOMP_taskwait_depend_nowait): New function.
3603         * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
3605 2022-05-23  Tobias Burnus  <tobias@codesourcery.com>
3607         PR fortran/104949
3608         * target.c (gomp_map_vars_internal, copy_firstprivate_data):
3609         Support attach for GOMP_MAP_FIRSTPRIVATE.
3610         * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
3611         * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
3612         * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
3614 2022-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
3616         * libgomp.map: Added omp_target_memcpy_async and
3617         omp_target_memcpy_rect_async.
3618         * libgomp.texi: Both functions are now supported.
3619         * omp.h.in: Added omp_target_memcpy_async and
3620         omp_target_memcpy_rect_async.
3621         * omp_lib.f90.in: Added interfaces for both new functions.
3622         * omp_lib.h.in: Likewise.
3623         * target.c (ialias_redirect): Added for GOMP_task.
3624         (omp_target_memcpy): Restructured into check and copy part.
3625         (omp_target_memcpy_check): New helper function for omp_target_memcpy and
3626         omp_target_memcpy_async that checks requirements.
3627         (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
3628         omp_target_memcpy_async that performs the memcpy.
3629         (omp_target_memcpy_async_helper): New helper function that is used in
3630         omp_target_memcpy_async for the asynchronous task.
3631         (omp_target_memcpy_async): Added.
3632         (omp_target_memcpy_rect): Restructured into check and copy part.
3633         (omp_target_memcpy_rect_check): New helper function for
3634         omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
3635         requirements.
3636         (omp_target_memcpy_rect_copy): New helper function for
3637         omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
3638         the memcpy.
3639         (omp_target_memcpy_rect_async_helper): New helper function that is used
3640         in omp_target_memcpy_rect_async for the asynchronous task.
3641         (omp_target_memcpy_rect_async): Added.
3642         * task.c (ialias): Added for GOMP_task.
3643         * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
3644         * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
3645         * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
3646         * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
3647         * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
3648         * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
3649         * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
3650         * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
3652 2022-05-18  Tobias Burnus  <tobias@codesourcery.com>
3654         * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
3655         (OpenMP Context Selectors): Add missing comma.
3656         * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
3657         * testsuite/libgomp.fortran/depend-6.f90: Likewise.
3658         * testsuite/libgomp.fortran/depend-7.f90: Likewise.
3659         * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
3661 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
3663         * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
3664         comment for omp_display_env feature.
3666 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3668         * libgomp.texi (Offload-Target Specifics): New chapter; add section
3669         to document OpenMP context selectors.
3671 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
3673         * libgomp.h (struct gomp_task_depend_entry): Change is_in type
3674         from bool to unsigned char.
3675         * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
3676         Ignore dependencies where
3677         task->depend[i].is_in && task->depend[i].is_in == ent->is_in
3678         rather than just task->depend[i].is_in && ent->is_in.  Remember
3679         whether GOMP_DEPEND_IN loop is needed and guard the loop with that
3680         conditional.
3681         (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
3682         Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
3683         rather than just elem.is_in && ent->is_in.
3684         * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
3685         inoutset depend-kind.
3686         * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
3687         * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
3688         * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
3690 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3692         * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
3694 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3696         * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
3697         * testsuite/libgomp.fortran/depend-5.f90: New test.
3698         * testsuite/libgomp.fortran/depend-6.f90: New test.
3699         * testsuite/libgomp.fortran/depend-7.f90: New test.
3701 2022-05-16  Marcel Vollweiler  <marcel@codesourcery.com>
3703         * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
3704         * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
3705         * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
3707 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
3709         * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3711 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
3713         * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3715 2022-05-13  Thomas Schwinge  <thomas@codesourcery.com>
3717         * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
3718         [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
3719         (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
3720         append '$(PLUGIN_NVPTX_LDFLAGS)'.
3721         * Makefile.in: Regenerate.
3723 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
3725         * Makefile.am (libgomp_la_LIBADD): Initialize.
3726         * plugin/configfrag.ac (DL_LIBS): New.
3727         (PLUGIN_GCN_LIBS): Remove.
3728         (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
3729         * plugin/Makefrag.am (libgomp_la_LIBADD)
3730         (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
3731         (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
3732         * Makefile.in: Regenerate.
3733         * config.h.in: Likewise.
3734         * configure: Likewise.
3735         * testsuite/Makefile.in: Likewise.
3737 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
3739         * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
3740         * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
3741         'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
3742         * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
3743         'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
3744         'PLUGIN_NVPTX_LINK_LIBCUDA'.
3745         * Makefile.in: Regenerate.
3746         * config.h.in: Likewise.
3747         * configure: Likewise.
3749 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
3751         * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
3752         for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
3753         * Makefile.in: Regenerate.
3754         * config.h.in: Likewise.
3755         * configure: Likewise.
3756         * testsuite/Makefile.in: Likewise.
3758 2022-05-12  Jakub Jelinek  <jakub@redhat.com>
3760         * libgomp.h (struct gomp_task): Add depend_all_memory member.
3761         * task.c (gomp_init_task): Initialize depend_all_memory.
3762         (gomp_task_handle_depend): Handle omp_all_memory.
3763         (gomp_task_run_post_handle_depend_hash): Clear
3764         parent->depend_all_memory if equal to current task.
3765         (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
3766         * testsuite/libgomp.c-c++-common/depend-1.c: New test.
3767         * testsuite/libgomp.c-c++-common/depend-2.c: New test.
3768         * testsuite/libgomp.c-c++-common/depend-3.c: New test.
3770 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3772         * plugin/configfrag.ac: Remove '--with-hsa-runtime',
3773         '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
3774         * Makefile.in: Regenerate.
3775         * configure: Likewise.
3776         * testsuite/Makefile.in: Likewise.
3778 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3780         * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
3781         consider 'PLUGIN_GCN_CPPFLAGS'.
3782         (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
3783         'PLUGIN_GCN_LDFLAGS'.
3784         * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
3785         Remove.
3786         * Makefile.in: Regenerate.
3787         * configure: Likewise.
3788         * testsuite/Makefile.in: Likewise.
3790 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3792         * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
3793         (HSA_RUNTIME_LDFLAGS): Remove.
3794         * configure: Regenerate.
3796 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3798         * testsuite/lib/libgomp.exp (libgomp_init): Don't
3799         'append always_ld_library_path ":$hsa_runtime_lib"'.
3800         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
3802 2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
3804         * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
3805         multi-device testing.
3807 2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
3809         * libgomp.map: Added omp_target_is_accessible.
3810         * libgomp.texi: Tagged omp_target_is_accessible as supported.
3811         * omp.h.in: Added omp_target_is_accessible.
3812         * omp_lib.f90.in: Added interface for omp_target_is_accessible.
3813         * omp_lib.h.in: Likewise.
3814         * target.c (omp_target_is_accessible): Added implementation of
3815         omp_target_is_accessible.
3816         * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
3817         * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
3819 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
3821         * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
3823 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
3825         * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
3827 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
3829         * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
3831 2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
3833         * libgomp.map: Added omp_get_mapped_ptr.
3834         * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
3835         * omp.h.in: Added omp_get_mapped_ptr.
3836         * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
3837         * omp_lib.h.in: Likewise.
3838         * target.c (omp_get_mapped_ptr): Added implementation of
3839         omp_get_mapped_ptr.
3840         * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
3841         * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
3842         * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
3843         * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
3844         * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
3845         * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
3846         * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
3847         * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
3849 2022-04-28  Thomas Schwinge  <thomas@codesourcery.com>
3851         PR fortran/104717
3852         * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
3853         privatization scanning.  For GCN offloading compilation, raise
3854         '-mgang-private-size'.
3856 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
3858         PR libgomp/105358
3859         * work.c (gomp_init_work_share): Don't mask of adjustment for
3860         dynamic long long realignment if struct gomp_work_share has smaller
3861         alignof than long long.
3862         * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
3863         struct gomp_work_share has smaller alignof than long long or if
3864         sizeof (struct gomp_work_share) is smaller than
3865         INLINE_ORDERED_TEAM_IDS_OFF.
3866         * loop_ull.c (GOMP_loop_ull_start): Likewise.
3867         * sections.c (GOMP_sections2_start): Likewise.
3869 2022-04-25  Jakub Jelinek  <jakub@redhat.com>
3870             Thomas Schwinge  <thomas@codesourcery.com>
3872         PR fortran/104717
3873         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
3875 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
3877         * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
3879 2022-04-06  Thomas Schwinge  <thomas@codesourcery.com>
3881         * plugin/cuda/cuda.h: Remove file.
3882         * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
3883         "cuda/cuda.h" instead of <cuda.h>.
3884         * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
3885         'PLUGIN_NVPTX_CPPFLAGS'.
3886         * configure: Regenerate.
3888 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
3890         * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
3892 2022-04-04  Tom de Vries  <tdevries@suse.de>
3894         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
3895         on_device_arch_nvptx instead of offload_target_nvptx.
3896         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3898 2022-04-01  Tom de Vries  <tdevries@suse.de>
3900         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
3901         and use REC_DEPTH.
3902         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3904 2022-04-01  Tom de Vries  <tdevries@suse.de>
3906         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
3907         num_workers check.
3909 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
3910             Lulu Cheng  <chenglulu@loongson.cn>
3912         * configure.tgt: Add LoongArch triplet.
3914 2022-03-28  Tom de Vries  <tdevries@suse.de>
3916         * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
3917         instead of /libexec/.
3918         * configure: Regenerate.
3920 2022-03-25  Tom de Vries  <tdevries@suse.de>
3922         PR libgomp/105042
3923         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
3924         execution time.
3925         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
3926         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
3928 2022-03-23  Tobias Burnus  <tobias@codesourcery.com>
3930         PR middle-end/104285
3931         * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
3932         * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
3933         * testsuite/libgomp.c++/target-same-name-2.C: New test.
3934         * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
3935         * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
3936         * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
3938 2022-03-22  Tom de Vries  <tdevries@suse.de>
3940         PR target/104916
3941         PR target/104783
3942         * testsuite/libgomp.c/pr104783-2.c: New test.
3944 2022-03-18  Tobias Burnus  <tobias@codesourcery.com>
3946         PR fortran/103039
3947         * testsuite/libgomp.fortran/associate4.f90: New test.
3949 2022-03-18  Tom de Vries  <tdevries@suse.de>
3951         PR target/104952
3952         * testsuite/libgomp.c/pr104952-1.c: New test.
3953         * testsuite/libgomp.c/pr104952-2.c: New test.
3955 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
3957         * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
3958         variable next to pl variable.
3960 2022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
3962         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3963         Enhance.
3964         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3965         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3967 2022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
3969         PR middle-end/90115
3970         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
3971         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3973 2022-03-16  Marcel Vollweiler  <marcel@codesourcery.com>
3975         * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
3976         omp_set_max_active_levels.
3977         * testsuite/libgomp.fortran/icv-8.f90: New test.
3979 2022-03-16  Thomas Schwinge  <thomas@codesourcery.com>
3981         PR testsuite/102841
3982         * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
3984 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
3986         * libgomp.texi: Fix typo.
3988 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
3990         PR middle-end/100280
3991         PR middle-end/104892
3992         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3993         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
3994         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3995         Likewise.
3996         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3997         Likewise.
3998         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3999         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4000         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4001         Likewise.
4003 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
4005         PR middle-end/104892
4006         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
4007         to PR104892.
4008         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
4009         enable '--param=openacc-kernels=decompose' and adjust.
4010         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4011         Likewise.
4012         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4013         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4014         Likewise.
4016 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
4018         PR middle-end/90115
4019         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
4020         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
4021         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4022         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
4024 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
4026         PR middle-end/100280
4027         PR middle-end/104086
4028         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4029         Merge this...
4030         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4031         ..., and this...
4032         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
4033         this, and adjust.
4034         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4035         Extend.
4037 2022-03-10  Hafiz Abid Qadeer  <abidh@codesourcery.com>
4039         * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
4040         trait.  Test last index in w and v array.  Remove redundant
4041         assignment to V(1).  Move alignment checks at the end of
4042         parallel region.
4044 2022-03-10  Tom de Vries  <tdevries@suse.de>
4046         * testsuite/libgomp.c/pr104783.c: New test.
4048 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
4050         PR middle-end/90115
4051         PR middle-end/102330
4052         PR middle-end/104774
4053         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4054         Enhance.
4055         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4056         Adjust.
4057         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4058         Likewise.
4059         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4060         Likewise.
4061         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4062         Likewise.
4063         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4064         Likewise.
4065         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4066         Likewise.
4067         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4068         Likewise.
4069         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4070         Likewise.
4071         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4072         Likewise.
4073         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4074         Likewise.
4075         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4076         Likewise.
4077         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4078         Likewise.
4079         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4080         Likewise.
4081         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
4082         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4083         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4085 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
4087         PR middle-end/90115
4088         * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
4089         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4090         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4091         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4093 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4095         PR testsuite/104791
4096         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
4097         expected diagnostics.
4099 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4101         PR middle-end/104784
4102         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4103         Test with '--param=openacc-kernels=decompose'.
4104         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4105         Likewise.
4106         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4107         Likewise.
4108         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4109         Likewise.
4110         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4111         Likewise.
4112         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4113         Likewise.
4114         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4115         Likewise.
4116         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4117         Likewise.
4118         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4119         Likewise.
4120         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4121         Likewise.
4122         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4123         Likewise.
4124         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4125         Likewise.
4126         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4127         Likewise.
4128         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4129         Likewise.
4130         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4131         Likewise.
4132         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4133         Likewise.
4134         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4135         Likewise.
4136         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4137         Likewise.
4138         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4139         Likewise.
4140         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4141         Likewise.
4142         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4143         Likewise.
4144         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4145         Likewise.
4146         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4147         Likewise.
4148         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4149         Likewise.
4150         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4151         Likewise.
4152         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4153         Likewise.
4154         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4155         Likewise.
4156         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4157         Likewise.
4158         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4159         Likewise.
4160         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4161         Likewise.
4162         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4163         Likewise.
4164         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4165         Likewise.
4166         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4167         Likewise.
4169 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4171         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4172         Test '-fopt-info-omp-all'.
4173         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4174         Likewise.
4175         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4176         Likewise.
4177         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4178         Likewise.
4179         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4180         Likewise.
4181         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4182         Likewise.
4183         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4184         Likewise.
4185         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4186         Likewise.
4187         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4188         Likewise.
4189         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4190         Likewise.
4191         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4192         Likewise.
4193         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4194         Likewise.
4195         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4196         Likewise.
4197         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4198         Likewise.
4199         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4200         Likewise.
4201         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4202         Likewise.
4203         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4204         Likewise.
4205         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4206         Likewise.
4207         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4208         Likewise.
4209         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4210         Likewise.
4211         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4212         Likewise.
4213         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4214         Likewise.
4215         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4216         Likewise.
4217         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4218         Likewise.
4219         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4220         Likewise.
4221         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4222         Likewise.
4223         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4224         Likewise.
4225         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4226         Likewise.
4227         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4228         Likewise.
4229         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4230         Likewise.
4231         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4232         Likewise.
4233         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4234         Likewise.
4235         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4236         Likewise.
4238 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4240         PR middle-end/100280
4241         PR middle-end/104132
4242         PR middle-end/104133
4243         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4244         Extend.
4246 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4248         PR middle-end/100280
4249         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4250         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4251         Likewise.
4253 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
4255         PR middle-end/100280
4256         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4257         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4258         Likewise.
4260 2022-02-28  Tom de Vries  <tdevries@suse.de>
4262         * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
4263         * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
4264         * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
4265         * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
4266         * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
4267         * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
4269 2022-02-24  Tom de Vries  <tdevries@suse.de>
4271         * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
4272         * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
4273         * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
4274         * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
4275         * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
4276         * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
4277         * testsuite/libgomp.c/declare-variant-3.h: New header file.
4279 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
4281         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
4282         gang-redundant execution.
4284 2022-02-22  Tom de Vries  <tdevries@suse.de>
4286         PR target/99555
4287         * config/nvptx/bar.c (generation_to_barrier): New function, copied
4288         from config/rtems/bar.c.
4289         (futex_wait, futex_wake): New function.
4290         (do_spin, do_wait): New function, copied from config/linux/wait.h.
4291         (gomp_barrier_wait_end, gomp_barrier_wait_last)
4292         (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
4293         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
4294         and replace with include of config/linux/bar.c.
4295         * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
4296         (gomp_barrier_init): Init new fields.
4297         * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
4298         workarounds.
4299         * testsuite/libgomp.c/pr99555-1.c: Same.
4300         * testsuite/libgomp.fortran/task-detach-6.f90: Same.
4302 2022-02-22  Tom de Vries  <tdevries@suse.de>
4304         PR testsuite/104146
4305         * testsuite/libgomp.c++/pr96390.C: Add additional-option
4306         -foffload=-Wa,--verify for nvptx.
4307         * testsuite/libgomp.c-c++-common/pr96390.c: Same.
4309 2022-02-15  Tobias Burnus  <tobias@codesourcery.com>
4311         * testsuite/libgomp.fortran/depend-4.f90: New test.
4313 2022-02-10  Tobias Burnus  <tobias@codesourcery.com>
4315         PR c++/102204
4316         * testsuite/libgomp.c++/target-virtual-1.C: New test.
4318 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
4320         * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
4321         * target.c (copy_firstprivate_data): Copy only if host address is not
4322         NULL.
4323         * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
4324         * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
4325         * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
4326         * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
4327         * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
4328         * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
4329         * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
4330         * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
4331         * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
4332         * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
4334 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
4336         PR libgomp/104385
4337         * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
4338         clear task->parent.
4339         * testsuite/libgomp.c/pr104385.c: New test.
4341 2022-02-04  Tobias Burnus  <tobias@codesourcery.com>
4343         * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
4344         STOP of previous commit.
4346 2022-02-04  Tobias Burnus  <tobias@codesourcery.com>
4348         * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
4349         from is_64bit_aligned_.
4350         * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
4351         and use it, more implicit none, remove unused argument.
4353 2022-02-03  David Seifert  <soap@gentoo.org>
4354             Jakub Jelinek  <jakub@redhat.com>
4356         * configure.ac: Support --disable-werror.
4357         * configure: Regenerate.
4359 2022-02-01  Tom de Vries  <tdevries@suse.de>
4361         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
4362         PR83812 workaround.
4363         * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
4364         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
4366 2022-02-01  Tom de Vries  <tdevries@suse.de>
4368         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
4369         num_workers for nvidia accelerator to fix libgomp error 'insufficient
4370         resources'.
4371         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4372         Same.
4373         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
4375 2022-02-01  Tom de Vries  <tdevries@suse.de>
4377         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4378         recursion depth.
4379         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4381 2022-01-31  Martin Liska  <mliska@suse.cz>
4383         * acinclude.m4: Detect *_ld_is_mold and use it.
4384         * configure: Regenerate.
4386 2022-01-27  Tobias Burnus  <tobias@codesourcery.com>
4388         * libgomp.texi (OpenMP 5.0): Update implementation status.
4390 2022-01-21  Thomas Schwinge  <thomas@codesourcery.com>
4392         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
4393         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4394         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4395         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4396         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4397         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4398         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4399         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4400         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4401         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4402         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4403         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4404         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4405         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4406         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4408 2022-01-19  Marcel Vollweiler  <marcel@codesourcery.com>
4410         * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
4411         "static") to make the device num available in the offload image.
4413 2022-01-19  Martin Liska  <mliska@suse.cz>
4414             Thomas Schwinge  <thomas@codesourcery.com>
4416         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
4417         patterns.
4418         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4419         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4420         Likewise.
4421         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4422         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4423         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4424         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4425         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4426         Likewise.
4427         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
4428         Likewise.
4429         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
4430         Likewise.
4431         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
4432         Likewise.
4433         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
4434         Likewise.
4435         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
4436         Likewise.
4437         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4438         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4439         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4441 2022-01-18  Martin Liska  <mliska@suse.cz>
4443         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
4444         in dg-warning.
4445         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4446         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4447         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4448         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4449         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4450         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4451         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
4452         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
4453         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
4454         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
4455         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
4456         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
4457         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4458         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4459         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4461 2022-01-17  Thomas Schwinge  <thomas@codesourcery.com>
4463         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
4464         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4465         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4467 2022-01-17  Julian Brown  <julian@codesourcery.com>
4468             Thomas Schwinge  <thomas@codesourcery.com>
4470         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
4471         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
4472         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
4474 2022-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
4475             Andrew Stubbs   <ams@codesourcery.com>
4477         * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
4478         the number of teams and threads if necessary.
4479         (gcn_exec): Automatically set the number of gangs and workers if
4480         necessary.
4482 2022-01-13  Hafiz Abid Qadeer  <abidh@codesourcery.com>
4484         * testsuite/libgomp.fortran/allocate-1.c: New test.
4485         * testsuite/libgomp.fortran/allocate-1.f90: New test.
4486         * libgomp.texi: Remove string that says that allocate clause
4487         support is for C/C++ only.
4489 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4491         * testsuite/libgomp.c-c++-common/on_device_arch.h
4492         (any_device_arch, any_device_arch_intel_mic): New.
4493         * testsuite/lib/libgomp.exp
4494         (check_effective_target_offload_device_any_intel_mic): New.
4495         * testsuite/libgomp.c-c++-common/target-45.c: Use it.
4496         * testsuite/libgomp.fortran/target10.f90: Likewise.
4498 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4500         PR tree-optimization/102192
4501         * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
4502         '-Wuninitialized' diagnostics.
4504 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4506         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
4507         current '-Wuninitialized' diagnostics.
4508         * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
4509         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
4510         * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
4511         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
4512         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4513         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4514         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
4515         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4516         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4517         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4518         * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
4519         Likewise.
4521 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4523         * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
4524         for 'offload_device_intel_mic'.
4526 2022-01-13  Julian Brown  <julian@codesourcery.com>
4527             Thomas Schwinge  <thomas@codesourcery.com>
4529         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
4530         offloading execution XFAIL.
4532 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4534         PR middle-end/100280
4535         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4536         Update.
4537         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4538         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4539         Likewise.
4541 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
4543         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4544         Enhance.
4545         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4546         Likewise.
4547         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
4548         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4549         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
4550         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
4551         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4552         Likewise.
4553         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4554         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4555         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4556         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4558 2022-01-04  Tobias Burnus  <tobias@codesourcery.com>
4560         * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
4561         * testsuite/libgomp.fortran/target10.f90: Likewise.
4563 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
4565         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
4566         into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
4567         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
4569 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
4571         * libgomp.texi: Bump @copying's copyright year.
4573 2021-12-13  Tobias Burnus  <tobias@codesourcery.com>
4575         * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
4576         * testsuite/libgomp.fortran/atomic-19.f90: New test.
4578 2021-12-10  Andrew Stubbs  <ams@codesourcery.com>
4580         * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4581         (GOMP_OFFLOAD_load_image): Locate the offload variables via the
4582         table, not individual symbols.
4584 2021-12-09  Chung-Lin Tang  <cltang@codesourcery.com>
4586         * testsuite/libgomp.c++/target-lambda-1.C: Only run under
4587         "target offload_device_nonshared_as"
4588         * testsuite/libgomp.c++/target-this-3.C: Likewise.
4589         * testsuite/libgomp.c++/target-this-4.C: Likewise.
4591 2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
4593         * target.c (gomp_map_vars_existing): Make sure attached pointer is
4594         not overwritten during cross-host/device copying.
4595         (gomp_update): Likewise.
4596         (gomp_exit_data): Likewise.
4597         * testsuite/libgomp.c++/target-11.C: Adjust testcase.
4598         * testsuite/libgomp.c++/target-12.C: Likewise.
4599         * testsuite/libgomp.c++/target-15.C: Likewise.
4600         * testsuite/libgomp.c++/target-16.C: Likewise.
4601         * testsuite/libgomp.c++/target-17.C: Likewise.
4602         * testsuite/libgomp.c++/target-21.C: Likewise.
4603         * testsuite/libgomp.c++/target-23.C: Likewise.
4604         * testsuite/libgomp.c/target-23.c: Likewise.
4605         * testsuite/libgomp.c/target-29.c: Likewise.
4606         * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
4608 2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
4610         PR middle-end/92120
4611         * libgomp.h (gomp_attach_pointer): Add bool parameter.
4612         * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
4613         (goacc_enter_data_internal): Likewise.
4614         * target.c (gomp_map_vars_existing): Update assert condition to
4615         include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
4616         (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
4617         parameter, add support for mapping a pointer with NULL target.
4618         (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
4619         parameter, add support for attaching a pointer with NULL target.
4620         (gomp_map_vars_internal): Update calls to gomp_map_pointer and
4621         gomp_attach_pointer, add handling for
4622         GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
4623         GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
4624         * testsuite/libgomp.c++/target-23.C: New testcase.
4625         * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
4626         * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
4627         * testsuite/libgomp.c++/target-this-1.C: New testcase.
4628         * testsuite/libgomp.c++/target-this-2.C: New testcase.
4629         * testsuite/libgomp.c++/target-this-3.C: New testcase.
4630         * testsuite/libgomp.c++/target-this-4.C: New testcase.
4631         * testsuite/libgomp.c++/target-this-5.C: New testcase.
4633 2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
4635         * libgomp.texi (OpenMP 5.1): Update status.
4637 2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
4639         * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
4641 2021-12-02  Chung-Lin Tang  <cltang@codesourcery.com>
4643         PR fortran/90030
4644         * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
4645         * testsuite/libgomp.fortran/pr90030.f90: New test.
4647 2021-11-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
4648             Thomas Schwinge  <thomas@codesourcery.com>
4650         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
4651         temporary skip.
4653 2021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
4654             Thomas Schwinge  <thomas@codesourcery.com>
4656         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
4657         skip.
4659 2021-11-29  Richard Biener  <rguenther@suse.de>
4661         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
4662         return.
4664 2021-11-24  Jakub Jelinek  <jakub@redhat.com>
4666         PR middle-end/103384
4667         * testsuite/libgomp.c/declare-variant-2.c: New test.
4669 2021-11-18  David Edelsohn  <dje.gcc@gmail.com>
4671         * alloc.c (gomp_aligned_alloc): Fix typo.
4673 2021-11-18  Jakub Jelinek  <jakub@redhat.com>
4675         PR libgomp/102838
4676         * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
4677         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
4678         (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
4679         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4680         * work.c (alloc_work_share, gomp_work_share_start): Likewise.
4681         * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
4682         gomp_aligned_alloc instead of team_malloc.
4684 2021-11-18  Jakub Jelinek  <jakub@redhat.com>
4686         PR libgomp/102838
4687         * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
4688         memalign over posix_memalign over aligned_alloc over fallback
4689         with malloc instead of aligned_alloc over _aligned_alloc over
4690         posix_memalign over memalign over fallback with malloc.  For
4691         aligned_alloc, round up size up to multiple of al.
4693 2021-11-16  Jakub Jelinek  <jakub@redhat.com>
4695         * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
4696         construct as implemented.
4698 2021-11-15  Tobias Burnus  <tobias@codesourcery.com>
4700         * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
4702 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
4704         * task.c (gomp_create_target_task): Copy args array as well.
4705         * target.c (gomp_target_fallback): Add args argument.
4706         Set gomp_icv (true)->thread_limit_var if thread_limit is present.
4707         (GOMP_target): Adjust gomp_target_fallback caller.
4708         (GOMP_target_ext): Likewise.
4709         (gomp_target_task_fn): Likewise.
4710         * config/nvptx/team.c (gomp_nvptx_main): Set
4711         gomp_global_icv.thread_limit_var.
4712         * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
4714 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
4716         * config/nvptx/team.c (__gomp_team_num): Define as
4717         __attribute__((shared)) var.
4718         (gomp_nvptx_main): Initialize __gomp_team_num to 0.
4719         * config/nvptx/target.c (__gomp_team_num): Declare as
4720         extern __attribute__((shared)) var.
4721         (GOMP_teams4): Use __gomp_team_num as the team number instead of
4722         %ctaid.x.  If first, initialize it to %ctaid.x.  If num_teams_lower
4723         is bigger than num_blocks, use num_teams_lower teams and arrange for
4724         bumping of __gomp_team_num if !first and returning false once we run
4725         out of teams.
4726         * config/nvptx/teams.c (__gomp_team_num): Declare as
4727         extern __attribute__((shared)) var.
4728         (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
4730 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
4732         * testsuite/libgomp.c/teams-5.c: New test.
4734 2021-11-12  Jakub Jelinek  <jakub@redhat.com>
4736         PR target/103201
4737         * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
4738         to ...
4739         * config/gcn/teams.c: ... here.  New file.
4741 2021-11-12  Chung-Lin Tang  <cltang@codesourcery.com>
4743         * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
4744         implicit map handling to allow a "superset" existing map as valid case.
4745         (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
4746         (get_implicit): New function to extract implicit status.
4747         (gomp_map_fields_existing): Adjust arguments in calls to
4748         gomp_map_vars_existing, and add uses of get_implicit.
4749         (gomp_map_vars_internal): Likewise.
4750         * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
4752 2021-11-12  Jakub Jelinek  <jakub@redhat.com>
4754         * libgomp_g.h (GOMP_teams4): Declare.
4755         * libgomp.map (GOMP_5.1): Export GOMP_teams4.
4756         * target.c (GOMP_teams4): New function.
4757         * config/nvptx/target.c (GOMP_teams): Remove.
4758         (GOMP_teams4): New function.
4759         * config/gcn/target.c (GOMP_teams): Remove.
4760         (GOMP_teams4): New function.
4761         * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
4762         teams instead of <= 2.
4763         * testsuite/libgomp.c-c++-common/teams-2.c: New test.
4765 2021-11-11  Tobias Burnus  <tobias@codesourcery.com>
4767         * testsuite/libgomp.fortran/teams-1.f90: New test.
4769 2021-11-11  Jakub Jelinek  <jakub@redhat.com>
4771         * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
4772         * team.c (struct gomp_thread_start_data): Likewise.
4773         (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
4774         (gomp_team_start): Initialize start_data->num_teams and
4775         start_data->team_num.  Update nthr->num_teams and nthr->team_num.
4776         * teams.c (gomp_num_teams, gomp_team_num): Remove.
4777         (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
4778         instead of gomp_num_teams and gomp_team_num.
4779         (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
4780         (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
4781         * testsuite/libgomp.c/teams-4.c: New test.
4783 2021-11-11  Jakub Jelinek  <jakub@redhat.com>
4785         * testsuite/libgomp.c-c++-common/teams-1.c: New test.
4787 2021-11-09  Thomas Schwinge  <thomas@codesourcery.com>
4789         * env.c (parse_gomp_openacc_dim): Restore parsing.
4791 2021-10-30  Tobias Burnus  <tobias@codesourcery.com>
4793         PR middle-end/102972
4794         * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
4795         parallel construct.
4796         * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
4797         * testsuite/libgomp.c/target-3.c: Likewise.
4798         * testsuite/libgomp.c/target-5.c: Likewise.
4799         * testsuite/libgomp.c/target-6.c: Likewise.
4800         * testsuite/libgomp.c/target-teams-1.c: Likewise.
4801         * testsuite/libgomp.c/teams-1.c: Likewise.
4802         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4803         * testsuite/libgomp.c/thread-limit-3.c: Likewise.
4804         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
4805         * testsuite/libgomp.c/thread-limit-5.c: Likewise.
4806         * testsuite/libgomp.fortran/icv-3.f90: Likewise.
4807         * testsuite/libgomp.fortran/icv-4.f90: Likewise.
4808         * testsuite/libgomp.fortran/teams1.f90: Likewise.
4810 2021-10-29  Aldy Hernandez  <aldyh@redhat.com>
4812         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
4813         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4815 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
4817         * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
4818         aren't implemented for Fortran yet.
4820 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
4822         * testsuite/libgomp.c/loop-26.c: New test.
4823         * testsuite/libgomp.c/loop-27.c: New test.
4825 2021-10-25  Tobias Burnus  <tobias@codesourcery.com>
4827         PR testsuite/102910
4828         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
4829         instead of #include <alloca.h> + alloca.
4831 2021-10-21  Chung-Lin Tang  <cltang@codesourcery.com>
4833         * libgomp.texi (Support of strictly structured blocks in Fortran):
4834         Adjust to 'Y'.
4835         * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
4837 2021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
4839         * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
4840         * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
4842 2021-10-20  Jakub Jelinek  <jakub@redhat.com>
4844         PR libgomp/102838
4845         * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
4846         (struct gomp_work_share): Only use aligned(64) attribute if
4847         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
4848         add padding before lock to ensure lock is at offset 64 bytes
4849         into the structure.
4850         (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
4851         New poor man's static assertions.
4852         * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
4853         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4855 2021-10-20  Aldy Hernandez  <aldyh@redhat.com>
4856             Richard Biener  <rguenther@suse.de>
4858         * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
4860 2021-10-18  Jakub Jelinek  <jakub@redhat.com>
4862         * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
4863         && gomp_places_list_len < count after nfirst <= nlast loop condition.
4865 2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
4867         PR fortran/102086
4868         PR fortran/92189
4869         PR fortran/92621
4870         PR fortran/101308
4871         PR fortran/101309
4872         PR fortran/101635
4873         PR fortran/92482
4874         * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
4876 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4878         * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
4879         type from char [50] to const char *.
4880         (places_array): Add a testcase for simplified syntax place followed
4881         by length or length and stride.
4883 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4885         * env.c (parse_one_place): Handle non-negative-number the same
4886         as { non-negative-number }.  Reject even !number:1 and
4887         !number:1:stride or !place:1 or !place:1:stride instead of just
4888         length other than 1.
4889         * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
4890         and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
4891         omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
4892         as implemented.
4893         * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
4894         simplified syntax.
4896 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4898         * env.c (parse_schedule): For strtoul or strtoull calls which don't
4899         clearly reject return value 0 as invalid handle the case where end
4900         pointer is the same as first argument as invalid.
4901         (parse_unsigned_long_1): Likewise.
4902         (parse_one_place): Likewise.
4903         (parse_places_var): Likewise.
4904         (parse_stacksize): Likewise.
4905         (parse_spincount): Likewise.
4906         (parse_affinity): Likewise.
4907         (parse_gomp_openacc_dim): Likewise.  Avoid strict aliasing violation.
4908         Make code valid C89.
4909         * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
4910         For strtoul calls which don't clearly reject return value 0 as
4911         invalid handle the case where end pointer is the same as first
4912         argument as invalid.
4913         (gomp_affinity_init_level_1): Likewise.
4914         (gomp_affinity_init_numa_domains): Likewise.
4915         * config/rtems/proc.c (parse_thread_pools): Likewise.
4917 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4919         * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
4920         after creating count places clean up and return immediately.
4921         * testsuite/libgomp.c/places-6.c: New test.
4922         * testsuite/libgomp.c/places-7.c: New test.
4923         * testsuite/libgomp.c/places-8.c: New test.
4924         * testsuite/libgomp.c/places-9.c: New test.
4925         * testsuite/libgomp.c/places-10.c: New test.
4927 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4929         * env.c (parse_places_var): Handle numa_domains as level 5.
4930         * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
4931         function.
4932         (gomp_affinity_init_level): Use it instead of
4933         gomp_affinity_init_level_1 for level == 5.
4934         * testsuite/libgomp.c/places-5.c: New test.
4936 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4938         * env.c (parse_places_var): Handle ll_caches as level 4.
4939         * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
4940         function.
4941         (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
4942         last level cache.
4943         (gomp_affinity_init_level): Likewise.
4944         * testsuite/libgomp.c/places-1.c: New test.
4945         * testsuite/libgomp.c/places-2.c: New test.
4946         * testsuite/libgomp.c/places-3.c: New test.
4947         * testsuite/libgomp.c/places-4.c: New test.
4949 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
4951         * libgomp.texi (OpenMP 5.0): Update entry for declare variant
4952         directive.
4954 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
4956         * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
4958 2021-10-12  Julian Brown  <julian@codesourcery.com>
4960         * target.c (gomp_copy_host2dev): Release device lock on cbuf
4961         error path.
4963 2021-10-12  Tobias Burnus  <tobias@codesourcery.com>
4965         * testsuite/libgomp.fortran/icv-3.f90: New.
4966         * testsuite/libgomp.fortran/icv-4.f90: New.
4968 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
4970         * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
4971         omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
4972         OMP_TEAMS_THREAD_LIMIT): Document.
4974 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
4976         * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
4977         to avoid makeinfo warnings.
4979 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
4981         * testsuite/libgomp.c-c++-common/icv-3.c: New test.
4982         * testsuite/libgomp.c-c++-common/icv-4.c: New test.
4984 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
4986         PR libgomp/102628
4987         PR libgomp/102668
4988         * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
4989         allocation sizes from 420 to 320 and from 768 to 568.
4990         * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
4991         * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
4992         for cr from 16 to 4.
4994 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
4996         * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
4997         * testsuite/libgomp.c/scan-12.c: Likewise.
4998         * testsuite/libgomp.c/scan-13.c: Likewise.
4999         * testsuite/libgomp.c/scan-14.c: Likewise.
5000         * testsuite/libgomp.c/scan-15.c: Likewise.
5001         * testsuite/libgomp.c/scan-16.c: Likewise.
5002         * testsuite/libgomp.c/scan-17.c: Likewise.
5003         * testsuite/libgomp.c/scan-18.c: Likewise.
5004         * testsuite/libgomp.c/scan-19.c: Likewise.
5005         * testsuite/libgomp.c/scan-20.c: Likewise.
5006         * testsuite/libgomp.c/scan-21.c: Likewise.
5007         * testsuite/libgomp.c/scan-22.c: Likewise.
5008         * testsuite/libgomp.c++/scan-9.C: Likewise.
5009         * testsuite/libgomp.c++/scan-10.C: Likewise.
5010         * testsuite/libgomp.c++/scan-11.C: Likewise.
5011         * testsuite/libgomp.c++/scan-12.C: Likewise.
5012         * testsuite/libgomp.c++/scan-13.C: Likewise.
5013         * testsuite/libgomp.c++/scan-14.C: Likewise.
5014         * testsuite/libgomp.c++/scan-15.C: Likewise.
5015         * testsuite/libgomp.c++/scan-16.C: Likewise.
5017 2021-10-12  Kewen Lin  <linkw@linux.ibm.com>
5019         * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
5021 2021-10-11  Marcel Vollweiler  <marcel@codesourcery.com>
5023         * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
5024         omp_atv_serialized.
5025         * omp.h.in: Add deprecated flag for omp_atv_sequential.
5026         * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
5027         * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
5028         * testsuite/libgomp.fortran/alloc-12.f90: New test.
5030 2021-10-11  Jakub Jelinek  <jakub@redhat.com>
5032         * omp.h.in (omp_set_num_teams, omp_get_max_teams,
5033         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5034         * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
5035         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5036         * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
5037         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5038         * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
5039         * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
5040         omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
5041         omp_set_teams_thread_limit{,_,_8_}.
5042         * icv.c (omp_set_num_teams, omp_get_max_teams,
5043         omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
5044         functions.
5045         * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
5046         (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
5047         (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
5048         vars.
5049         * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
5050         gomp_teams_thread_limit_var as fallback if not zero.  If num_teams
5051         is not specified, use gomp_nteams_var.
5052         * fortran.c (omp_set_num_teams, omp_get_max_teams,
5053         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
5054         ialias_redirect.
5055         (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
5056         omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
5057         omp_get_teams_thread_limit_): New functions.
5059 2021-10-09  liuhongt  <hongtao.liu@intel.com>
5061         * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
5062         * testsuite/libgomp.c++/scan-11.C: Ditto.
5063         * testsuite/libgomp.c++/scan-12.C: Ditto.
5064         * testsuite/libgomp.c++/scan-13.C: Ditto.
5065         * testsuite/libgomp.c++/scan-14.C: Ditto.
5066         * testsuite/libgomp.c++/scan-15.C: Ditto.
5067         * testsuite/libgomp.c++/scan-16.C: Ditto.
5068         * testsuite/libgomp.c++/scan-9.C: Ditto.
5069         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
5070         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
5071         * testsuite/libgomp.c/scan-11.c: Ditto.
5072         * testsuite/libgomp.c/scan-12.c: Ditto.
5073         * testsuite/libgomp.c/scan-13.c: Ditto.
5074         * testsuite/libgomp.c/scan-14.c: Ditto.
5075         * testsuite/libgomp.c/scan-15.c: Ditto.
5076         * testsuite/libgomp.c/scan-16.c: Ditto.
5077         * testsuite/libgomp.c/scan-17.c: Ditto.
5078         * testsuite/libgomp.c/scan-18.c: Ditto.
5079         * testsuite/libgomp.c/scan-19.c: Ditto.
5080         * testsuite/libgomp.c/scan-20.c: Ditto.
5081         * testsuite/libgomp.c/scan-21.c: Ditto.
5082         * testsuite/libgomp.c/scan-22.c: Ditto.
5084 2021-10-09  Jakub Jelinek  <jakub@redhat.com>
5086         * libgomp.texi (OpenMP 5.1): Mention implemented support for
5087         structured block sequences in C/C++.  Mention support for
5088         unconstrained/reproducible modifiers on order clause.
5089         Mention partial (C/C++ only) support of extentensions to atomics
5090         construct.  Mention partial (C/C++ on clause only) support of
5091         align/allocator modifiers on allocate clause.
5093 2021-10-02  Tobias Burnus  <tobias@codesourcery.com>
5095         * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
5096         based on libgomp.c-c++-common/order-reproducible-1.c.
5097         * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
5098         * testsuite/libgomp.fortran/my-usleep.c: New test.
5100 2021-10-01  Tobias Burnus  <tobias@codesourcery.com>
5102         * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
5103         * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
5104         * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
5105         * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
5106         based on libgomp.c-c++-common/alloc-9.c.
5108 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
5110         * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
5111         * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
5113 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
5115         * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
5116         ialias_redirect.
5117         * env.c (handle_omp_display_env): Use ialias_call.
5118         * icv-device.c: Move ialias right below each function.
5119         (omp_get_device_num): Use ialias_call.
5120         * fortran.c (omp_fulfill_event): Add ialias_redirect.
5121         * icv.c (omp_get_active_level): Add ialias_redirect.
5123 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
5125         * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
5126         __alloc_align__ (1) attribute.
5127         * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
5129 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
5131         * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
5132         for -fintrinsic-modules-path= warning of the C compiler.
5133         * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
5134         * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
5136 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
5138         * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
5139         omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
5140         * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5141         omp_realloc): Add.
5142         * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5143         omp_realloc): Add.
5144         * testsuite/libgomp.fortran/alloc-10.f90: New test.
5145         * testsuite/libgomp.fortran/alloc-6.f90: New test.
5146         * testsuite/libgomp.fortran/alloc-7.c: New test.
5147         * testsuite/libgomp.fortran/alloc-7.f90: New test.
5148         * testsuite/libgomp.fortran/alloc-8.f90: New test.
5149         * testsuite/libgomp.fortran/alloc-9.f90: New test.
5151 2021-09-30  Jakub Jelinek  <jakub@redhat.com>
5153         * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
5154         omp_realloc): New prototypes.
5155         (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
5156         attribute.
5157         * allocator.c: Include string.h.
5158         (omp_aligned_alloc): No longer static, add ialias.  Add new_alignment
5159         variable and use it instead of alignment so that when retrying the old
5160         alignment is used again.  Don't retry if new alignment is the same
5161         as old alignment, unless allocator had pool size.
5162         (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
5163         (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
5164         * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
5165         omp_aligned_calloc and omp_realloc.
5166         * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
5167         omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
5168         * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
5169         * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
5170         * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
5171         * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
5173 2021-09-28  Tobias Burnus  <tobias@codesourcery.com>
5175         PR libgomp/96661
5176         * configure.ac: Only check for int-type = 2*size_t support when
5177         building with Fortran support.
5178         * configure: Regenerate.
5180 2021-09-28  Thomas Schwinge  <thomas@codesourcery.com>
5182         * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
5183         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5185 2021-09-27  Aldy Hernandez  <aldyh@redhat.com>
5187         * team.c: Initialize start_data.
5188         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5189         * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
5191 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
5193         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
5194         dg-message back to dg-note.
5196 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
5198         PR fortran/94070
5199         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
5200         expected dg-note output.
5202 2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
5204         PR fortran/55534
5205         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
5206         r12-3722 by removing -Wno-missing-include-dirs.
5207         * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5209 2021-09-22  Jakub Jelinek  <jakub@redhat.com>
5211         * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
5212         * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
5214 2021-09-21  Tobias Burnus  <tobias@codesourcery.com>
5216         PR fortran/55534
5217         * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
5218         to ALWAYS_CFLAGS.
5219         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5221 2021-09-18  Jakub Jelinek  <jakub@redhat.com>
5223         * testsuite/libgomp.c++/default-1.C: New test.
5224         * testsuite/libgomp.c-c++-common/default-1.c: New test.
5225         * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
5226         to default clause in C and C++" as implemented.
5228 2021-09-17  Julian Brown  <julian@codesourcery.com>
5230         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
5232 2021-09-17  Julian Brown  <julian@codesourcery.com>
5234         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
5236 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
5238         * libgomp.texi (OpenMP 5.1): Spelling fix,
5239         declare variante -> declare variant.
5241 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
5243         * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
5244         Use /* */ comments instead of //.
5245         * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
5246         * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
5247         * testsuite/libgomp.c++/atomic-16.C: New test.
5248         * testsuite/libgomp.c++/atomic-17.C: New test.
5250 2021-09-10  Jakub Jelinek  <jakub@redhat.com>
5252         * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
5253         * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
5254         * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
5256 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
5258         * libgomp.texi (OpenMP Implementation Status): Extend
5259         OpenMP 5.0 section.
5260         (OpenACC Profiling Interface): Fix typo.
5262 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
5264         * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
5265         not to 4.5; link to new section.
5266         (OpenMP Implementation Status): New.
5268 2021-09-06  Thomas Schwinge  <thomas@codesourcery.com>
5270         * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
5272 2021-09-03  Tobias Burnus  <tobias@codesourcery.com>
5274         * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
5275         dg-output.
5276         * testsuite/libgomp.fortran/error-1.f90: Likewise.
5278 2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
5279             Jakub Jelinek  <jakub@redhat.com>
5281         * testsuite/libgomp.c/address-space-1.c: New file.
5283 2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
5285         * testsuite/lib/libgomp.exp
5286         (check_effective_target_offload_target_intelmic): Remove 'proc'.
5287         (check_effective_target_offload_device_intel_mic): New 'proc'.
5288         * testsuite/libgomp.c-c++-common/on_device_arch.h
5289         (device_arch_intel_mic, on_device_arch_intel_mic): New.
5290         * testsuite/libgomp.c-c++-common/target-45.c: Use that for
5291         'dg-xfail-run-if'.
5292         * testsuite/libgomp.fortran/target10.f90: Likewise.
5294 2021-08-23  Tobias Burnus  <tobias@codesourcery.com>
5296         * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
5297         * testsuite/libgomp.fortran/taskloop-4.f90: New test.
5298         * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
5299         * testsuite/libgomp.fortran/taskloop-5.f90: New test.
5301 2021-08-23  Jakub Jelinek  <jakub@redhat.com>
5303         * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
5304         * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
5305         * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
5307 2021-08-22  Thomas Schwinge  <thomas@codesourcery.com>
5309         * config/nvptx/error.c (fwrite, exit): Override, too.
5310         * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
5311         of offloading testing.
5312         * testsuite/libgomp.fortran/error-1.f90: Likewise.
5314 2021-08-20  Tobias Burnus  <tobias@codesourcery.com>
5316         * testsuite/libgomp.fortran/error-1.f90: New test.
5318 2021-08-20  Jakub Jelinek  <jakub@redhat.com>
5320         * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
5321         * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
5322         * error.c (GOMP_warning, GOMP_error): New functions.
5323         * testsuite/libgomp.c-c++-common/error-1.c: New test.
5325 2021-08-18  Tobias Burnus  <tobias@codesourcery.com>
5327         * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
5328         omp_target_free. omp_target_is_present, omp_target_memcpy,
5329         omp_target_memcpy_rect, omp_target_associate_ptr,
5330         omp_target_disassociate_ptr): Add interface.
5331         * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
5332         omp_target_free. omp_target_is_present, omp_target_memcpy,
5333         omp_target_memcpy_rect, omp_target_associate_ptr,
5334         omp_target_disassociate_ptr): Add interface.
5335         * testsuite/libgomp.fortran/alloc-1.F90: Remove local
5336         interface block for omp_alloc + omp_free.
5337         * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
5338         * testsuite/libgomp.fortran/refcount-1.f90: New test.
5339         * testsuite/libgomp.fortran/target-12.f90: New test.
5341 2021-08-18  Jakub Jelinek  <jakub@redhat.com>
5343         * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
5345 2021-08-17  Tobias Burnus  <tobias@codesourcery.com>
5347         * testsuite/libgomp.fortran/scope-1.f90: New test.
5348         * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
5350 2021-08-17  Jakub Jelinek  <jakub@redhat.com>
5352         * Makefile.am (libgomp_la_SOURCES): Add scope.c
5353         * Makefile.in: Regenerated.
5354         * libgomp_g.h (GOMP_scope_start): Declare.
5355         * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
5356         * scope.c: New file.
5357         * testsuite/libgomp.c-c++-common/scope-1.c: New test.
5358         * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
5360 2021-08-16  Thomas Schwinge  <thomas@codesourcery.com>
5362         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
5363         '?:' issues.
5365 2021-08-16  Tobias Burnus  <tobias@codesourcery.com>
5367         * testsuite/libgomp.fortran/masked-1.f90: New test.
5369 2021-08-13  Thomas Schwinge  <thomas@codesourcery.com>
5371         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
5373 2021-08-12  Jakub Jelinek  <jakub@redhat.com>
5375         * testsuite/libgomp.c-c++-common/masked-1.c: New test.
5377 2021-08-12  Tobias Burnus  <tobias@codesourcery.com>
5379         * env.c (parse_bind_var): Accept 'primary' as alias for
5380         'master'.
5381         (omp_display_env): Add TODO comment to
5382         change 'master' to 'primary' in proc_bind for OpenMP 5.1.
5383         * libgomp.texi: Change 'master thread' to 'primary thread'
5384         in line with OpenMP 5.1.
5385         (omp_get_proc_bind): Add omp_proc_bind_primary and note that
5386         omp_proc_bind_master is an alias of it.
5387         (OMP_PROC_BIND): Mention 'PRIMARY'.
5388         * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
5389         (omp_proc_bind_primary): Add.
5390         (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5391         * omp_lib.f90.in (omp_proc_bind_primary): Add.
5392         (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5393         * omp_lib.h.in (omp_proc_bind_primary): Add.
5394         * testsuite/libgomp.c/affinity-1.c: Check that
5395         'primary' works and is identical to 'master'.
5397 2021-08-09  Julian Brown  <julian@codesourcery.com>
5398             Kwok Cheung Yeung  <kcy@codesourcery.com>
5399             Thomas Schwinge  <thomas@codesourcery.com>
5401         * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
5402         16.
5403         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5404         [acc_device_radeon]: Update.
5405         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
5406         [ACC_DEVICE_TYPE_radeon]: Likewise.
5407         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5408         [acc_device_radeon]: Likewise.
5409         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
5410         [ACC_DEVICE_TYPE_radeon]: Likewise.
5411         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
5412         'openacc_radeon_accel_selected' and '-O0'.
5413         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5415 2021-08-05  Chung-Lin Tang  <cltang@codesourcery.com>
5417         * icv-device.c (omp_get_device_num): New API function, host side.
5418         * fortran.c (omp_get_device_num_): New interface function.
5419         * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
5420         * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
5421         omp_get_device_num_.
5422         * libgomp.texi (omp_get_device_num): Add documentation for new API
5423         function.
5424         * omp.h.in (omp_get_device_num): Add declaration.
5425         * omp_lib.f90.in (omp_get_device_num): Likewise.
5426         * omp_lib.h.in (omp_get_device_num): Likewise.
5427         * target.c (gomp_load_image_to_device): If additional entry for device
5428         number exists at end of returned entries from 'load_image_func' hook,
5429         copy the assigned device number over to the device variable.
5430         * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5431         (omp_get_device_num): New API function, device side.
5432         * plugin/plugin-gcn.c ("symcat.h"): Add include.
5433         (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5434         at end of returned 'target_table' entries.
5435         * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5436         (omp_get_device_num): New API function, device side.
5437         * plugin/plugin-nvptx.c ("symcat.h"): Add include.
5438         (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5439         at end of returned 'target_table' entries.
5440         * testsuite/lib/libgomp.exp
5441         (check_effective_target_offload_target_intelmic): New function for
5442         testing for intelmic offloading.
5443         * testsuite/libgomp.c-c++-common/target-45.c: New test.
5444         * testsuite/libgomp.fortran/target10.f90: New test.
5446 2021-07-30  Thomas Schwinge  <thomas@codesourcery.com>
5447             Ulrich Drepper  <drepper@redhat.com>
5449         * fortran.c (omp_display_env_, omp_display_env_8_): Only
5450         '#ifndef LIBGOMP_OFFLOADED_ONLY'.
5452 2021-07-29  Thomas Schwinge  <thomas@codesourcery.com>
5453             Julian Brown  <julian@codesourcery.com>
5454             Kwok Cheung Yeung  <kcy@codesourcery.com>
5456         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
5457         's%oaccdevlow%oaccloops%g'.
5458         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5459         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5460         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
5461         Likewise.
5462         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
5463         Likewise.
5464         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
5465         Likewise.
5466         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
5467         Likewise.
5468         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
5469         Likewise.
5470         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
5471         Likewise.
5472         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
5473         Likewise.
5474         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
5475         Likewise.
5476         * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5478 2021-07-29  Aldy Hernandez  <aldyh@redhat.com>
5480         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
5481         threader.
5482         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5484 2021-07-27  Ulrich Drepper  <drepper@gmail.com>
5486         * env.c (wait_policy, stacksize): New static variables,
5487         move out of handle_omp_display_env.
5488         (omp_display_env): New function.  The meat of the old
5489         handle_omp_display_env function.
5490         (handle_omp_display_env): Change to not take parameters
5491         and instead use the global variables.  Only perform
5492         parsing, defer to omp_display_env for the implementation.
5493         (initialize_env): Remove local variables wait_policy and
5494         stacksize.  Don't pass parameters to handle_omp_display_env.
5495         * fortran.c: Add ialias_redirect for omp_display_env.
5496         (omp_display_env_, omp_display_env_8_): New functions.
5497         * libgomp.map (OMP_5.1): New version.  Add omp_display_env,
5498         omp_display_env_, and omp_display_env_8_.
5499         * omp.h.in: Declare omp_display_env.
5500         * omp_lib.f90.in: Likewise.
5501         * omp_lib.h.in: Likewise.
5503 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
5504             Julian Brown  <julian@codesourcery.com>
5506         * target.c (gomp_coalesce_buf_add): Update comment.
5507         (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
5508         'aq && cbuf'.
5509         (gomp_map_vars_internal): Only 'if (!aq)', do
5510         'gomp_coalesce_buf_add'.
5511         * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
5512         XFAIL.
5514 2021-07-27  Julian Brown  <julian@codesourcery.com>
5515             Thomas Schwinge  <thomas@codesourcery.com>
5517         * libgomp.h (gomp_copy_host2dev): Update prototype.
5518         * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
5519         argument to gomp_copy_host2dev (false).
5520         * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
5521         (copy_data): Don't free src.
5522         (queue_push_copy): Remove free_src handling.
5523         (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
5524         (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
5525         snapshotting.
5526         (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
5527         queue_push_copy.
5528         * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
5529         (gomp_copy_host2dev): Add EPHEMERAL parameter.  Snapshot source
5530         data when true, and set up deferred freeing of temporary buffer.
5531         (gomp_copy_dev2host): Update call to goacc_device_copy_async.
5532         (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
5533         (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
5534         calls to gomp_copy_host2dev with appropriate ephemeral argument.
5535         * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
5536         XFAIL.
5538 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
5539             Tom de Vries  <tom@codesourcery.com>
5541         * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
5542         * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
5544 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
5546         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
5547         sequencing of 'async' data copying vs. profiling events.
5548         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5549         Likewise.
5551 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
5552             Julian Brown  <julian@codesourcery.com>
5554         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
5555         'async'/'wait' issue.
5556         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
5557         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
5558         * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
5560 2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
5561             Joseph Myers  <joseph@codesourcery.com>
5562             Cesar Philippidis  <cesar@codesourcery.com>
5564         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
5565         file.
5566         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
5567         Likewise.
5568         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
5569         Likewise.
5570         * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5572 2021-07-20  Thomas Schwinge  <thomas@codesourcery.com>
5574         PR target/101484
5575         * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
5576         '-Wno-error=array-bounds'.
5577         * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
5578         * libgomp.h [__AMDGCN__]: Likewise.
5580 2021-07-19  Thomas Schwinge  <thomas@codesourcery.com>
5582         PR target/101484
5583         * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
5584         * libgomp.h [__AMDGCN__]: Likewise.
5586 2021-07-13  Jakub Jelinek  <jakub@redhat.com>
5587             Florian Weimer  <fweimer@redhat.com>
5589         * config/linux/sem.h: Don't include limits.h.
5590         (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
5591         * config/linux/affinity.c: Include limits.h.
5593 2021-07-01  Jakub Jelinek  <jakub@redhat.com>
5595         PR middle-end/94366
5596         * testsuite/libgomp.c-c++-common/pr94366.c: New test.
5598 2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
5600         PR other/67300
5601         * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
5602         -foffload=nvptx-none= by -foffload-options=nvptx-none= to
5603         avoid disabling other offload targets.
5604         * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
5605         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5606         * testsuite/libgomp.c/target-44.c: Likewise.
5608 2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
5610         * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
5611         target has shared memory and disable some scalar pointer/allocatable
5612         checks if not as firstprivate does not work.
5614 2021-06-25  Chung-Lin Tang  <cltang@codesourcery.com>
5616         PR testsuite/101114
5617         * testsuite/libgomp.c-c++-common/struct-elem-5.c:
5618         Add "target offload_device_nonshared_as" condition for enabling test.
5620 2021-06-24  Jakub Jelinek  <jakub@redhat.com>
5622         * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
5623         * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
5624         * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
5625         * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
5627 2021-06-23  Jakub Jelinek  <jakub@redhat.com>
5629         PR middle-end/101167
5630         * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
5632 2021-06-17  Chung-Lin Tang  <cltang@codesourcery.com>
5634         * hashtab.h (htab_clear): New function with initialization code
5635         factored out from...
5636         (htab_create): ...here, adjust to use htab_clear function.
5637         * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
5638         special refcount values, add comments.
5639         (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
5640         (REFCOUNT_LINK): Likewise.
5641         (REFCOUNT_STRUCTELEM): New special refcount range for structure
5642         element siblings.
5643         (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
5644         sibling maps.
5645         (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
5646         (REFCOUNT_STRUCTELEM_FLAG_LAST):  Flag to indicate last sibling.
5647         (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
5648         (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
5649         (struct splay_tree_key_s): Add structelem_refcount and
5650         structelem_refcount_ptr fields into a union with dynamic_refcount.
5651         Add comments.
5652         (gomp_map_vars): Delete declaration.
5653         (gomp_map_vars_async): Likewise.
5654         (gomp_unmap_vars): Likewise.
5655         (gomp_unmap_vars_async): Likewise.
5656         (goacc_map_vars): New declaration.
5657         (goacc_unmap_vars): Likewise.
5658         * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
5659         (goacc_enter_datum): Likewise.
5660         (goacc_enter_data_internal): Likewise.
5661         * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
5662         and goacc_unmap_vars.
5663         (GOACC_data_start): Adjust to use goacc_map_vars.
5664         (GOACC_data_end): Adjust to use goacc_unmap_vars.
5665         * target.c (hash_entry_type): New typedef.
5666         (htab_alloc): New function hook for hashtab.h.
5667         (htab_free): Likewise.
5668         (htab_hash): Likewise.
5669         (htab_eq): Likewise.
5670         (hashtab.h): Add file include.
5671         (gomp_increment_refcount): New function.
5672         (gomp_decrement_refcount): Likewise.
5673         (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
5674         gomp_increment_refcount.
5675         (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
5676         to gomp_map_vars_existing.
5677         (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
5678         variable to guard OpenMP specific paths, adjust calls to
5679         gomp_map_vars_existing, add structure element sibling splay_tree_key
5680         sequence creation code, adjust Fortran map case to avoid increment
5681         under OpenMP.
5682         (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
5683         local refcount_set if caller passed in NULL, adjust call to
5684         gomp_map_vars_internal.
5685         (gomp_map_vars_async): Adjust and rename into...
5686         (goacc_map_vars): ...this new function, adjust call to
5687         gomp_map_vars_internal.
5688         (gomp_remove_splay_tree_key): New function with code factored out from
5689         gomp_remove_var_internal.
5690         (gomp_remove_var_internal): Add code to handle removing multiple
5691         splay_tree_key sequence for structure elements, adjust code to use
5692         gomp_remove_splay_tree_key for splay-tree key removal.
5693         (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
5694         gomp_decrement_refcount.
5695         (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
5696         local refcount_set if caller passed in NULL, adjust call to
5697         gomp_unmap_vars_internal.
5698         (gomp_unmap_vars_async): Adjust and rename into...
5699         (goacc_unmap_vars): ...this new function, adjust call to
5700         gomp_unmap_vars_internal.
5701         (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
5702         gomp_unmap_vars.
5703         (GOMP_target_ext): Likewise.
5704         (gomp_target_data_fallback): Adjust call to gomp_map_vars.
5705         (GOMP_target_data): Likewise.
5706         (GOMP_target_data_ext): Likewise.
5707         (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
5708         (gomp_exit_data): Add refcount_set parameter, adjust to use
5709         gomp_decrement_refcount, adjust to queue splay-tree keys for removal
5710         after main loop.
5711         (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
5712         gomp_map_vars and gomp_exit_data.
5713         (gomp_target_task_fn): Likewise.
5714         * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
5715         * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
5716         * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
5717         * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
5718         * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
5719         * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
5721 2021-06-15  Tobias Burnus  <tobias@codesourcery.com>
5723         PR fortran/92568
5724         * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
5726 2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
5727             Thomas Schwinge  <thomas@codesourcery.com>
5729         * libgomp.map (GOACC_2.0.2): New symbol version.
5730         * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
5731         * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
5733 2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
5734             Andrew Stubbs  <ams@codesourcery.com>
5736         * oacc-mem.c (goacc_enter_exit_data_internal): New function,
5737         extracted from...
5738         (GOACC_enter_exit_data): ... here.
5739         (GOACC_declare): Use it.
5741 2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
5743         * oacc-parallel.c (GOACC_declare): Move...
5744         * oacc-mem.c: ... here.
5745         * libgomp_g.h: Adjust.
5747 2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
5748             Thomas Schwinge  <thomas@codesourcery.com>
5750         * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
5751         handling.
5753 2021-06-10  Jakub Jelinek  <jakub@redhat.com>
5755         PR tree-optimization/100981
5756         * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
5757         dsdotr and dsdoti to 0.
5759 2021-06-09  H.J. Lu  <hjl.tools@gmail.com>
5761         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
5762         if atomic compare-and-swap is supported on 'int'.
5764 2021-06-09  Richard Biener  <rguenther@suse.de>
5766         PR tree-optimization/100981
5767         * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
5769 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5771         * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
5772         unconditionally.
5773         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5774         Update.
5775         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5776         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5778 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5780         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
5781         '-DACC_MEM_SHARED=0'.
5782         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5783         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5784         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5785         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5786         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5787         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5788         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5789         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5790         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5791         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5792         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5793         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5794         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5795         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5796         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
5797         'acc_device_radeon' testing.
5798         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5799         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5800         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5801         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
5802         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5803         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5804         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5805         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5806         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5807         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5808         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
5809         for non-'openacc_nvidia_accel_selected'.
5810         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5811         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
5812         all implement this checking".
5813         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5814         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5815         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5816         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5817         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5819 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5821         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
5822         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
5824 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5826         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
5827         for 'acc_device_radeon'.
5829 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5831         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
5832         for non-'acc_device_nvidia'.
5834 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5836         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
5837         'acc_device_radeon' testing.
5838         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5839         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5840         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5842 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5844         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
5845         require 'openacc_nvidia_accel_selected'.  Fix up for
5846         'ACC_DEVICE_TYPE_radeon'.
5848 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5850         * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
5851         'openacc_nvidia_accel_selected'.
5852         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
5854 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5856         * testsuite/lib/libgomp.exp
5857         (check_effective_target_openacc_radeon_accel_selected):
5858         Streamline.
5860 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5862         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
5863         PR80547 workaround.
5865 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5867         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5868         <acc_device_nvidia>: Update comment.
5870 2021-05-28  Tobias Burnus  <tobias@codesourcery.com>
5872         * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
5874 2021-05-27  Jakub Jelinek  <jakub@redhat.com>
5876         * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
5877         check_effective_target_openacc_cublas,
5878         check_effective_target_openacc_cudart): New.
5879         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
5880         target openacc_cublas.
5881         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5882         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5883         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
5884         target openacc_cuda.
5885         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
5886         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
5887         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
5888         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
5889         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
5890         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
5891         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
5892         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5893         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
5894         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5895         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
5896         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5897         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
5898         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
5899         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
5900         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5901         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
5902         targets openacc_cublas and openacc_cudart.
5903         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5904         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5905         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5906         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5907         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
5908         Require effective target openacc_cudart.
5909         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
5910         for effective target openacc_cuda and add && defined USE_CUDA_H to
5911         preprocessor conditionals.  Guard -lcuda also on openacc_cuda
5912         effective target.
5914 2021-05-26  Jakub Jelinek  <jakub@redhat.com>
5916         PR libgomp/100573
5917         * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
5918         GOMP_target_end_data, GOMP_target_update_ext,
5919         GOMP_target_enter_exit_data): New dummy entrypoints.
5920         * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
5921         GOMP_target_end_data, GOMP_target_update_ext,
5922         GOMP_target_enter_exit_data): Likewise.
5923         * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
5924         OMPFROM, OMPTO): Define.
5925         (main): Remove #pragma omp target teams around all the tests.
5926         * testsuite/libgomp.c-c++-common/target-41.c: New test.
5927         * testsuite/libgomp.c-c++-common/target-42.c: New test.
5929 2021-05-25  Jakub Jelinek  <jakub@redhat.com>
5931         PR middle-end/99928
5932         * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
5934 2021-05-24  Tobias Burnus  <tobias@codesourcery.com>
5936         PR fortran/86470
5937         * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
5938         * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
5939         * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
5941 2021-05-22  Thomas Schwinge  <thomas@codesourcery.com>
5943         PR testsuite/90115
5944         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
5945         uninteresting/varying diagnostics.
5947 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
5949         PR middle-end/90115
5950         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
5951         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5953 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
5955         PR middle-end/90115
5956         * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
5957         file.
5958         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5959         * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
5960         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5961         Likewise.
5962         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
5963         Likewise.
5964         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
5965         Likewise.
5966         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
5967         Likewise.
5968         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
5969         Likewise.
5970         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
5971         Likewise.
5972         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
5973         Likewise.
5974         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
5975         Likewise.
5976         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
5977         Likewise.
5978         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
5979         Likewise.
5980         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
5981         Likewise.
5982         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
5983         Likewise.
5984         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
5985         Likewise.
5986         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
5987         Likewise.
5988         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
5989         Likewise.
5990         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
5991         Likewise.
5992         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
5993         Likewise.
5994         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
5995         Likewise.
5996         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
5997         Likewise.
5998         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
5999         Likewise.
6000         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
6001         Likewise.
6002         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6003         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6004         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6005         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
6006         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6007         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6008         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6009         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6010         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6011         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6012         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6013         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6014         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6015         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6016         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6017         Likewise.
6018         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
6019         Likewise.
6020         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
6021         Likewise.
6022         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6023         Likewise.
6024         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6025         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6026         Likewise.
6027         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6028         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6029         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6030         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6031         * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
6032         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6033         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6034         Likewise.
6035         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6036         Likewise.
6037         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6038         Likewise.
6039         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6040         Likewise.
6041         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
6042         Likewise.
6043         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
6044         Likewise.
6045         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
6046         Likewise.
6047         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
6048         Likewise.
6049         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
6050         Likewise.
6051         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6052         Likewise.
6053         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6054         Likewise.
6055         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6056         Likewise.
6057         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6058         Likewise.
6059         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6060         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6061         * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6062         Likewise.
6063         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6064         Likewise.
6065         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6066         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
6067         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6069 2021-05-21  Julian Brown  <julian@codesourcery.com>
6070             Chung-Lin Tang  <cltang@codesourcery.com>
6071             Thomas Schwinge  <thomas@codesourcery.com>
6073         PR middle-end/90115
6074         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
6075         test.
6076         * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6077         Likewise.
6078         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6079         Likewise.
6081 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
6083         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
6084         for nvptx offloading.
6086 2021-05-21  Tobias Burnus  <tobias@codesourcery.com>
6088         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
6090 2021-05-19  Thomas Schwinge  <thomas@codesourcery.com>
6092         PR target/83812
6093         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
6095 2021-05-19  Julian Brown  <julian@codesourcery.com>
6097         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
6099 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
6101         * testsuite/lib/libgomp.exp
6102         (check_effective_target_offload_target_nvptx): Don't shadow global
6103         'offload_targets' variable.
6105 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
6107         * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
6108         '-latomic' to nvptx offloading compilation.
6109         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6111 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
6113         * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
6114         offloading compilation.
6116 2021-05-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
6118         * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
6119         if new tasks generated.
6120         * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
6122 2021-05-14  Tobias Burnus  <tobias@codesourcery.com>
6124         * testsuite/libgomp.fortran/parallel-master.f90: New test.
6126 2021-05-13  Martin Liska  <mliska@suse.cz>
6128         PR testsuite/100569
6129         * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
6130         * testsuite/libgomp.c/pr46032-2.c: Likewise.
6131         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
6132         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
6134 2021-05-12  Tobias Burnus  <tobias@codesourcery.com>
6136         * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
6137         * testsuite/libgomp.fortran/task-detach-12.f90: New test.
6139 2021-05-11  Jakub Jelinek  <jakub@redhat.com>
6141         PR middle-end/100471
6142         * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
6143         GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
6144         reduction pointer.
6145         * testsuite/libgomp.c/task-reduction-4.c: New test.
6147 2021-05-07  Tobias Burnus  <tobias@codesourcery.com>
6148             Tom de Vries  <tdevries@suse.de>
6150         * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
6151         complex/floating-point || + && reduction with 'omp target'.
6152         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6154 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
6156         * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
6157         * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
6158         * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
6159         * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
6161 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
6163         PR testsuite/100397
6164         * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
6165         declaration to scope of non-'depend'-guarded assignment to avoid races.
6167 2021-05-03  Tom de Vries  <tdevries@suse.de>
6169         PR target/100321
6170         * testsuite/libgomp.c/target-44.c: New test.
6172 2021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
6174         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
6176 2021-04-29  Tom de Vries  <tdevries@suse.de>
6178         * testsuite/libgomp.c/pr81778.c: New test.
6180 2021-04-29  Tom de Vries  <tdevries@suse.de>
6182         PR target/100232
6183         * testsuite/libgomp.c/target-43.c: New file.
6185 2021-04-28  Jakub Jelinek  <jakub@redhat.com>
6186             Tobias Burnus  <tobias@codesourcery.com>
6188         * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
6189         * target.c (gomp_load_plugin_for_device): If set and if a plugin
6190         can't be dlopened, silently assume it has no devices.
6191         * Makefile.in: Regenerate.
6192         * config.h.in: Regenerate.
6193         * configure: Regenerate.
6195 2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
6197         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6198         Use [Ww]arning in dg-bogus as FE diagnostic and default
6199         diagnostic differ and the result depends on ENABLE_OFFLOAD.
6200         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6201         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6202         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6204 2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
6206         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6207         Correct spelling in dg-bogus to match -Wopenacc-parallelism.
6208         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6209         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6210         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6212 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
6213             Nathan Sidwell  <nathan@codesourcery.com>
6214             Tom de Vries  <vries@codesourcery.com>
6215             Julian Brown  <julian@codesourcery.com>
6216             Kwok Cheung Yeung  <kcy@codesourcery.com>
6218         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
6219         '-Wopenacc-parallelism', and match diagnostics, as appropriate.
6220         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6221         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6222         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6223         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6224         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
6225         Likewise.
6226         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6227         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6228         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6229         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6230         Likewise.
6231         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6232         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6233         Likewise.
6234         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6235         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6236         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6237         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6238         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6239         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6240         Likewise.
6241         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6242         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6243         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6244         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6245         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6246         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6247         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6248         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6249         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6250         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6251         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6253 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
6255         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
6256         compile with '-w'.
6257         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6258         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6259         Likewise.
6260         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6261         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
6262         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6263         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6264         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6265         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6266         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6268 2021-04-22  Richard Biener  <rguenther@suse.de>
6270         * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
6271         only on nvptx-none.
6273 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
6275         * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
6276         omp_depend_kind instead of defining it as 16.
6278 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
6280         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
6281         New, based on check_effective_target_offload_target_nvptx.
6282         (check_effective_target_offload_target_nvptx): Call it.
6283         (check_effective_target_offload_target_amdgcn): New.
6284         * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
6285         Require target offload_target_nvptx || offload_target_amdgcn.
6286         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
6287         * testsuite/libgomp.c/pr86416-1.c: Likewise.
6288         * testsuite/libgomp.c/pr86416-2.c: Likewise.
6290 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
6292         * testsuite/libgomp.fortran/depobj-1.f90: New test.
6294 2021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
6296         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6297         '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
6298         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6299         Likewise.
6300         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6301         Likewise.
6302         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6304 2021-04-15  Thomas Schwinge  <thomas@codesourcery.com>
6306         PR target/99555
6307         * testsuite/lib/libgomp.exp
6308         (check_effective_target_offload_device_nvptx): New.
6309         * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
6310         resolved, make sure that we exit quickly, with error status,
6311         XFAILed.
6312         * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
6313         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6315 2021-04-14  Jakub Jelinek  <jakub@redhat.com>
6317         PR testsuite/100071
6318         * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
6319         cp = omp_alloc with cp, p arguments instead of cq, q and call
6320         c_f_pointer after last cq = omp_alloc with cq, q.
6322 2021-04-11  Hafiz Abid Qadeer  <abidh@codesourcery.com>
6324         PR middle-end/98088
6325         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
6326         for loop with GT/GE condition.
6327         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6329 2021-04-09  Thomas Schwinge  <thomas@codesourcery.com>
6331         PR middle-end/84991
6332         PR middle-end/84992
6333         PR middle-end/90779
6334         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
6336 2021-04-09  Jakub Jelinek  <jakub@redhat.com>
6338         PR libgomp/99984
6339         * team.c (gomp_thread_start): Call pthread_setspecific for
6340         !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
6341         has been initialized to avoid false positive warning.
6343 2021-03-29  Tobias Burnus  <tobias@codesourcery.com>
6345         PR target/99555
6346         * testsuite/lib/on_device_arch.c: Move to ...
6347         * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
6348         * testsuite/libgomp.fortran/on_device_arch.c: New file;
6349         #include on_device_arch.h.
6350         * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
6351         on_device_arch.h instead of using dg-additional-source.
6352         * testsuite/libgomp.c/pr99555-1.c: Likewise.
6353         * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
6354         on_device_arch.c without relative paths.
6356 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
6358         * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
6359         the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
6360         * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
6361         * config.h.in: Regenerate.
6362         * configure: Likewise.
6364 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
6366         PR target/99555
6367         * testsuite/lib/on_device_arch.c: New file.
6368         * testsuite/libgomp.c/pr99555-1.c: Likewise.
6369         * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
6370         skip for nvptx offloading, with error status.
6371         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6373 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
6375         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
6376         OpenACC 'serial' construct diagnostic for nvptx offloading.
6378 2021-03-15  Tobias Burnus  <tobias@codesourcery.com>
6380         PR c++/99509
6381         * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
6383 2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
6385         PR fortran/98858
6386         * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
6388 2021-03-04  Jakub Jelinek  <jakub@redhat.com>
6390         * configure.ac: Add AC_CHECK_SIZEOF([void *]).
6391         * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
6392         checking of -m32 or -mx32 options on the command line.
6393         * config.h.in: Regenerated.
6394         * configure: Regenerated.
6396 2021-02-27  Iain Sandoe  <iain@sandoe.co.uk>
6398         * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
6399         support from the target.
6401 2021-02-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
6402             Jakub Jelinek  <jakub@redhat.com>
6404         PR libgomp/98738
6405         * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
6406         (struct gomp_task): Replace detach and completion_sem fields with
6407         union containing completion_sem and detach_team.  Add deferred_p
6408         field.
6409         (struct gomp_team): Remove task_detach_queue.
6410         * task.c: Include assert.h.
6411         (gomp_init_task): Initialize deferred_p and completion_sem fields.
6412         Rearrange initialization order of fields.
6413         (task_fulfilled_p): Delete.
6414         (GOMP_task): Use address of task as the event handle.  Remove
6415         initialization of detach field.  Initialize deferred_p field.
6416         Use automatic local for completion_sem.  Initialize detach_team field
6417         for deferred tasks.
6418         (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
6419         Set kind of suspended detach task to GOMP_TASK_DETACHED and
6420         decrement task_running_count.  Move finish_cancelled block out of
6421         else branch.  Relocate call to gomp_team_barrier_done.
6422         (GOMP_taskwait): Handle tasks with completion events that have not
6423         been fulfilled.
6424         (GOMP_taskgroup_end): Likewise.
6425         (omp_fulfill_event): Use address of task as event handle.  Post to
6426         completion_sem for undeferred tasks.  Clear detach_team if task
6427         has not finished.  For finished tasks, handle post-execution tasks,
6428         call gomp_team_barrier_wake if necessary, and free task.
6429         * team.c (gomp_new_team): Remove initialization of task_detach_queue.
6430         (free_team): Remove free of task_detach_queue.
6431         * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
6432         * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
6433         * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
6434         * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
6435         * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
6436         Change data-sharing of detach events on enclosing parallel to private.
6437         * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.  Remove
6438         taskwait directive.
6439         * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
6440         * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
6441         * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
6442         * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
6443         * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
6444         * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
6445         * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
6446         * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
6447         * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
6448         * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
6449         Change data-sharing of detach events on enclosing parallel to private.
6450         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.  Remove
6451         taskwait directive.
6452         * testsuite/libgomp.fortran/task-detach-7.f90: New.
6453         * testsuite/libgomp.fortran/task-detach-8.f90: New.
6454         * testsuite/libgomp.fortran/task-detach-9.f90: New.
6455         * testsuite/libgomp.fortran/task-detach-10.f90: New.
6456         * testsuite/libgomp.fortran/task-detach-11.f90: New.
6458 2021-02-22  Tobias Burnus  <tobias@codesourcery.com>
6460         PR fortran/99171
6461         * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
6463 2021-02-17  Julian Brown  <julian@codesourcery.com>
6465         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
6466         expected errors.
6468 2021-02-17  Julian Brown  <julian@codesourcery.com>
6470         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
6471         * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
6473 2021-02-11  UroÅ¡ Bizjak  <ubizjak@gmail.com>
6475         * config/linux/x86/futex.h (__futex_wait):
6476         Revert output type back to long.
6477         (__futex_wake): Ditto.
6478         (futex_wait): Update for revert.
6479         (futex_wake): Ditto.
6481 2021-02-11  UroÅ¡ Bizjak  <ubizjak@gmail.com>
6483         * config/linux/x86/futex.h (__futex_wait): New static inline
6484         wrapper function.  Correct output type to int and
6485         timeout type to void *.
6486         (__futex_wake): New static inline wrapper function.
6487         Correct output type to int.
6488         (futex_wait): Use __futex_wait.
6489         (futex_wake): Use __futex_wake.
6491 2021-02-10  Julian Brown  <julian@codesourcery.com>
6493         PR fortran/98979
6494         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
6495         errors.
6497 2021-02-04  Julian Brown  <julian@codesourcery.com>
6499         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
6501 2021-02-03  Andrew Stubbs  <ams@codesourcery.com>
6503         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
6504         EF_AMDGPU_MACH_AMDGCN_GFX908.
6505         (gcn_gfx908_s): New constant string.
6506         (isa_hsa_name): Add gfx908.
6507         (isa_code): Add gfx908.
6509 2021-01-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
6511         * libgomp.texi (omp_fulfill_event): New entry.
6513 2021-01-20  Jakub Jelinek  <jakub@redhat.com>
6515         * task.c (GOMP_task): Rename priority argument to priority_arg,
6516         add priority automatic variable and modify that variable.  Instead of
6517         clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
6518         check flags for that bit.
6520 2021-01-19  Tobias Burnus  <tobias@codesourcery.com>
6522         PR fortran/98476
6523         * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
6525 2021-01-18  Andreas Schwab  <schwab@suse.de>
6527         * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
6529 2021-01-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6531         * config/rtems/sem.h (gomp_sem_getcount): New function.
6533 2021-01-18  Jakub Jelinek  <jakub@redhat.com>
6535         * config/linux/sem.h (gomp_sem_getcount): New function.
6536         * config/posix/sem.h (gomp_sem_getcount): New function.
6537         * config/posix/sem.c (gomp_sem_getcount): New function.
6538         * config/accel/sem.h (gomp_sem_getcount): New function.
6539         * task.c (task_fulfilled_p): Use gomp_sem_getcount.
6540         (omp_fulfill_event): Likewise.
6542 2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
6544         * fortran.c (omp_fulfill_event_): New.
6545         * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
6546         (struct gomp_team): Add task_detach_queue and task_detach_count
6547         fields.
6548         * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
6549         * libgomp_g.h (GOMP_task): Add extra argument.
6550         * omp.h.in (enum omp_event_handle_t): New.
6551         (omp_fulfill_event): New.
6552         * omp_lib.f90.in (omp_event_handle_kind): New.
6553         (omp_fulfill_event): New.
6554         * omp_lib.h.in (omp_event_handle_kind): New.
6555         (omp_fulfill_event): Declare.
6556         * priority_queue.c (priority_tree_find): New.
6557         (priority_list_find): New.
6558         (priority_queue_find): New.
6559         * priority_queue.h (priority_queue_predicate): New.
6560         (priority_queue_find): New.
6561         * task.c (gomp_init_task): Initialize detach field.
6562         (task_fulfilled_p): New.
6563         (GOMP_task): Add detach argument.  Ignore detach argument if
6564         GOMP_TASK_FLAG_DETACH not set in flags.  Initialize completion_sem
6565         field.  Copy address of completion_sem into detach argument and
6566         into the start of the data record.  Wait for detach event if task
6567         not deferred.
6568         (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
6569         Remove completed tasks and requeue dependent tasks.
6570         (omp_fulfill_event): New.
6571         * team.c (gomp_new_team): Initialize task_detach_queue and
6572         task_detach_count fields.
6573         (free_team): Free task_detach_queue field.
6574         * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
6575         * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
6576         * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
6577         * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
6578         * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
6579         * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
6580         * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
6581         * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
6582         * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
6583         * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
6584         * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
6585         * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
6587 2021-01-15  Jakub Jelinek  <jakub@redhat.com>
6589         PR target/70454
6590         * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
6591         be added through preprocessor check on
6592         __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
6594 2021-01-14  Thomas Schwinge  <thomas@codesourcery.com>
6596         PR libgomp/65099
6597         * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
6598         configurations.
6599         * configure: Regenerate.
6600         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
6601         check.
6603 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
6605         * configure: Re-generate.
6607 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
6609         * configure: Re-generate.
6611 2021-01-05  Julian Brown  <julian@codesourcery.com>
6613         * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
6614         (struct ptx_device): Add omp_stacks struct.
6615         (nvptx_open_device): Initialise cached-stacks housekeeping info.
6616         (nvptx_close_device): Free cached stacks block and mutex.
6617         (nvptx_stacks_free): New function.
6618         (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
6619         (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
6620         (nvptx_stacks_alloc): Rename to...
6621         (nvptx_stacks_acquire): This.  Cache stacks block between runs if same
6622         size or smaller is required.
6623         (nvptx_stacks_free): Remove.
6624         (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
6625         during kernel execution.
6627 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
6629         * libgomp.texi: Bump @copying's copyright year.
6631 2020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
6633         * libgomp.texi (Top): Avoid bad "up" link.
6635 2020-12-18  Jakub Jelinek  <jakub@redhat.com>
6637         * testsuite/libgomp.c/task-6.c: New test.
6639 2020-12-09  Andrew Stubbs  <ams@codesourcery.com>
6641         * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
6642         (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
6644 2020-12-08  Tobias Burnus  <tobias@codesourcery.com>
6646         * testsuite/libgomp.fortran/scan-1.f90: New test.
6648 2020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
6650         PR target/97865
6651         * configure: Regenerate.
6653 2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
6655         * configure: Regenerate.
6657 2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
6659         * testsuite/libgomp.oacc-c++/cache-1.C: New.
6660         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
6662 2020-11-25  Andrew Stubbs  <ams@codesourcery.com>
6664         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
6665         expected results.
6667 2020-11-24  Andrew Stubbs  <ams@codesourcery.com>
6669         * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
6670         (reserved): Delete unused define.
6672 2020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
6674         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
6675         Tcl 8.5-specific behavior.
6676         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6678 2020-11-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
6680         * env.c (gomp_global_icv): Remove nest_var field.  Add
6681         max_active_levels_var field.
6682         (gomp_max_active_levels_var): Remove.
6683         (parse_boolean): Return true on success.
6684         (handle_omp_display_env): Express OMP_NESTED in terms of
6685         max_active_levels_var.  Change format specifier for
6686         max_active_levels_var.
6687         (initialize_env): Set max_active_levels_var from
6688         OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
6689         OMP_PROC_BIND.
6690         * icv.c (omp_set_nested): Express in terms of
6691         max_active_levels_var.
6692         (omp_get_nested): Likewise.
6693         (omp_set_max_active_levels): Use max_active_levels_var field instead
6694         of gomp_max_active_levels_var.
6695         (omp_get_max_active_levels): Likewise.
6696         * libgomp.h (struct gomp_task_icv): Remove nest_var field.  Add
6697         max_active_levels_var field.
6698         (gomp_supported_active_levels): Set to UCHAR_MAX.
6699         (gomp_max_active_levels_var): Delete.
6700         * libgomp.texi (omp_get_nested): Update documentation.
6701         (omp_set_nested): Likewise.
6702         (OMP_MAX_ACTIVE_LEVELS): Likewise.
6703         (OMP_NESTED): Likewise.
6704         (OMP_NUM_THREADS): Likewise.
6705         (OMP_PROC_BIND): Likewise.
6706         * parallel.c (gomp_resolve_num_threads): Replace reference
6707         to nest_var with max_active_levels_var.  Use max_active_levels_var
6708         field instead of gomp_max_active_levels_var.
6710 2020-11-18  Tobias Burnus  <tobias@codesourcery.com>
6712         * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
6713         nvptx_usleep; use also for device={arch(gcn)}.
6715 2020-11-14  Jakub Jelinek  <jakub@redhat.com>
6717         * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
6718         (foo): Add tests for non-VLA private and firstprivate clauses on
6719         omp task.
6720         (bar): Likewise.  Remove taking of address from private/firstprivate
6721         variables.
6722         * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
6723         (foo): Add p, q, px and s arguments.  Add tests for array reductions
6724         and for non-VLA private and firstprivate clauses on omp task.
6725         (bar): Removed.
6726         (main): Adjust foo caller.  Don't call bar.
6728 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
6729             Thomas Schwinge  <thomas@codesourcery.com>
6731         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6732         New.
6733         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6734         Likewise.
6735         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6736         Likewise.
6737         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
6738         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6740 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
6741             Thomas Schwinge  <thomas@codesourcery.com>
6743         PR fortran/94358
6744         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
6746 2020-11-13  Jakub Jelinek  <jakub@redhat.com>
6748         * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
6749         for array reductions.
6750         (main): Adjust foo callers.
6752 2020-11-12  Jakub Jelinek  <jakub@redhat.com>
6754         * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
6755         * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
6756         * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6757         * allocator.c (omp_aligned_alloc): New for now static function,
6758         add alignment argument and handle it.
6759         (omp_alloc): Reimplement using omp_aligned_alloc.
6760         (GOMP_alloc, GOMP_free): New functions.
6761         (omp_free): Add ialias.
6762         * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
6763         * testsuite/libgomp.c++/allocate-1.C: New test.
6765 2020-11-12  Thomas Schwinge  <thomas@codesourcery.com>
6767         PR fortran/97782
6768         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
6770 2020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
6772         * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
6773         usable.
6774         * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
6775         'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
6776         (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
6777         (goacc_enter_data_internal): Likewise.
6778         * target.c (gomp_map_vars_internal):
6779         Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
6780         of gomp_attach_pointer for OpenMP cases.
6781         (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
6782         (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
6783         * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
6785 2020-11-05  Ulrich Drepper  <drepper@redhat.com>
6786             Kwok Cheung Yeung  <kcy@codesourcery.com>
6788         * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
6789         * Makefile.in: Regenerate.
6790         * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
6791         pragmas to ignore -Wdeprecated-declarations warnings.
6792         * icv.c: Likewise.
6793         * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
6794         Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
6795         and omp_get_nested with __GOMP_DEPRECATED_5_0.
6796         * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
6797         deprecated.
6798         * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
6799         to test options.
6800         * testsuite/libgomp.c/affinity-1.c: Likewise.
6801         * testsuite/libgomp.c/affinity-2.c: Likewise.
6802         * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
6803         * testsuite/libgomp.c/lib-1.c: Likewise.
6804         * testsuite/libgomp.c/nested-1.c: Likewise.
6805         * testsuite/libgomp.c/nested-2.c: Likewise.
6806         * testsuite/libgomp.c/nested-3.c: Likewise.
6807         * testsuite/libgomp.c/pr32362-1.c: Likewise.
6808         * testsuite/libgomp.c/pr32362-2.c: Likewise.
6809         * testsuite/libgomp.c/pr32362-3.c: Likewise.
6810         * testsuite/libgomp.c/pr35549.c: Likewise.
6811         * testsuite/libgomp.c/pr42942.c: Likewise.
6812         * testsuite/libgomp.c/pr61200.c: Likewise.
6813         * testsuite/libgomp.c/sort-1.c: Likewise.
6814         * testsuite/libgomp.c/target-5.c: Likewise.
6815         * testsuite/libgomp.c/target-6.c: Likewise.
6816         * testsuite/libgomp.c/teams-1.c: Likewise.
6817         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6818         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6819         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
6820         * testsuite/libgomp.fortran/affinity1.f90: Likewise.
6821         * testsuite/libgomp.fortran/lib1.f90: Likewise.
6822         * testsuite/libgomp.fortran/lib2.f: Likewise.
6823         * testsuite/libgomp.fortran/nested1.f90: Likewise.
6824         * testsuite/libgomp.fortran/teams1.f90: Likewise.
6826 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
6828         PR target/85486
6829         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
6830         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
6831         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
6833 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
6835         PR testsuite/80219
6836         PR testsuite/85303
6837         * testsuite/lib/libgomp.exp (libgomp_init): Set
6838         'gcc_warning_prefix', 'gcc_error_prefix'.
6840 2020-10-30  Jakub Jelinek  <jakub@redhat.com>
6842         * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
6843         even in field_tgt_clear initializer.
6845 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
6847         * testsuite/libgomp.c/target-42.c: New test.
6849 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
6850             Tom de Vries  <tdevries@suse.de>
6852         PR testsuite/81690
6853         * testsuite/libgomp.c/usleep.h: New file.
6854         * testsuite/libgomp.c/target-32.c: Include usleep.h.
6855         (main): Use tgt_usleep instead of usleep.
6856         * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
6857         (main): Use tgt_usleep instead of usleep.
6859 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
6861         PR lto/96680
6862         * testsuite/libgomp.c/declare-variant-1.c: New test.
6864 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
6866         * testsuite/libgomp.c/target-41.c: New test.
6868 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
6870         * icv.c (omp_get_initial_device): Remove including corresponding
6871         ialias.
6872         * icv-device.c (omp_get_initial_device): New function.  Return
6873         gomp_get_num_devices ().  Add ialias.
6874         * target.c (resolve_device): Don't fail with
6875         OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
6876         gomp_get_num_devices ().
6877         (omp_target_alloc, omp_target_free, omp_target_is_present,
6878         omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
6879         omp_target_disassociate_ptr, omp_pause_resource): Use
6880         gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
6881         first use in the functions, in uses dominated by the
6882         gomp_get_num_devices call use num_devices_openmp instead.
6883         * libgomp.texi (omp_get_initial_device): Document.
6884         * config/gcn/icv-device.c (omp_get_initial_device): New function.
6885         Add ialias.
6886         * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
6887         * testsuite/libgomp.c/target-40.c: New test.
6889 2020-10-21  Jakub Jelinek  <jakub@redhat.com>
6891         * env.c (parse_target_offload): Change new_offload var type to int,
6892         preinitialize to -1, remove found var and test new_offload != -1
6893         instead of found.
6895 2020-10-20  Jakub Jelinek  <jakub@redhat.com>
6897         * target.c (gomp_target_init): Inside of the function, use automatic
6898         variables corresponding to num_devices, num_devices_openmp and devices
6899         global variables and update the globals only at the end of the
6900         function.
6902 2020-10-20  Kwok Cheung Yeung  <kcy@codesourcery.com>
6904         * env.c (gomp_target_offload_var): New.
6905         (parse_target_offload): New.
6906         (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
6907         (initialize_env): Parse OMP_TARGET_OFFLOAD.
6908         * libgomp.h (gomp_target_offload_t): New.
6909         (gomp_target_offload_var): New.
6910         * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
6911         * target.c (resolve_device): Generate error if device not found and
6912         offloading is mandatory.
6913         (gomp_target_fallback): Generate error if offloading is mandatory.
6914         (GOMP_target): Add argument in call to gomp_target_fallback.
6915         (GOMP_target_ext): Likewise.
6916         (gomp_target_data_fallback): Generate error if offloading is mandatory.
6917         (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
6918         (GOMP_target_data_ext): Likewise.
6919         (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
6920         (gomp_target_init): Return early if offloading is disabled.
6922 2020-10-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
6924         * libgomp.texi (omp_get_max_active_levels): Modify description.
6925         (omp_get_supported_active_levels): Make descriptions consistent.
6927 2020-10-14  Jakub Jelinek  <jakub@redhat.com>
6929         * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
6931 2020-10-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
6933         * env.c (gomp_max_active_levels_var): Initialize to
6934         gomp_supported_active_levels.
6935         (initialize_env): Limit gomp_max_active_levels_var to be at most
6936         equal to gomp_supported_active_levels.
6937         * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
6938         (omp_get_supported_active_levels_): New.
6939         * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
6940         to at most equal to gomp_supported_active_levels.
6941         (omp_get_supported_active_levels): New.
6942         * libgomp.h (gomp_supported_active_levels): New.
6943         * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
6944         omp_get_supported_active_levels_.
6945         * libgomp.texi (omp_get_supported_active_levels): New.
6946         (omp_set_max_active_levels): Update.  Add reference to
6947         omp_get_supported_active_levels.
6948         * omp.h.in (omp_get_supported_active_levels): New.
6949         * omp_lib.f90.in (omp_get_supported_active_levels): New.
6950         * omp_lib.h.in (omp_get_supported_active_levels): New.
6951         * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
6952         against omp_get_supported_active_levels.
6953         * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
6955 2020-10-11  Clement Chigot  <clement.chigot@atos.net>
6957         * config/t-aix: Delete and recreate libgomp before creating
6958         FAT library.
6960 2020-10-08  Tom de Vries  <tdevries@suse.de>
6962         PR libgomp/81802
6963         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
6964         dimensions.
6966 2020-10-06  Tom de Vries  <tdevries@suse.de>
6968         * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
6970 2020-10-06  Tom de Vries  <tdevries@suse.de>
6972         PR middle-end/90861
6973         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
6975 2020-10-05  Tom de Vries  <tdevries@suse.de>
6977         PR fortran/95654
6978         * testsuite/libgomp.fortran/pr95654.f90: New test.
6980 2020-10-02  Tobias Burnus  <tobias@codesourcery.com>
6982         * Makefile.in: Regenerate with automake 1.15.1.
6983         * aclocal.m4: Likewise.
6984         * configure: Likewise.
6985         * testsuite/Makefile.in: Likewise.
6987 2020-09-30  Andrew Stubbs  <ams@codesourcery.com>
6989         * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
6990         and amdgcn targets.
6992 2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
6994         * testsuite/libgomp.fortran/declare-target-3.f90: New test.
6996 2020-09-29  Andrew Stubbs  <ams@codesourcery.com>
6998         * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
6999         total number of threads is one.
7000         (gomp_team_barrier_wake): Likewise.
7001         (gomp_team_barrier_wait_end): Likewise.
7002         (gomp_team_barrier_wait_cancel_end): Likewise.
7003         * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
7004         (gomp_team_barrier_wake): Likewise.
7005         (gomp_team_barrier_wait_end): Likewise.
7006         (gomp_team_barrier_wait_cancel_end): Likewise.
7007         * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
7009 2020-09-28  Tobias Burnus  <tobias@codesourcery.com>
7011         PR middle-end/96390
7012         * testsuite/libgomp.c++/pr96390.C: New test.
7013         * testsuite/libgomp.c-c++-common/pr96390.c: New test.
7015 2020-09-27  Clement Chigot  <clement.chigot@atos.net>
7017         * config/t-aix: Use $(AR) without -X32_64.
7019 2020-09-25  Jakub Jelinek  <jakub@redhat.com>
7021         * testsuite/libgomp.c/loop-25.c: New test.
7023 2020-09-22  Tobias Burnus  <tobias@codesourcery.com>
7025         PR fortran/95654
7026         * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
7028 2020-09-22  Tom de Vries  <tdevries@suse.de>
7030         * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
7031         fails.
7033 2020-09-16  Nathan Sidwell  <nathan@acm.org>
7035         * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
7037 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
7039         PR fortran/96668
7040         * target.c (gomp_map_vars_internal): Initialize has_nullptr.
7042 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
7044         PR fortran/96668
7045         * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
7046         * target.c (gomp_map_vars_existing): Add always_to_flag flag.
7047         (gomp_map_vars_existing): Update call to it.
7048         (gomp_map_fields_existing): Likewise
7049         (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
7050         now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
7051         remapped.
7052         (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
7053         GOMP_MAP_POINTER.
7054         * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
7055         * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
7057 2020-09-14  Tom de Vries  <tdevries@suse.de>
7059         * config/nvptx/atomic.c: New file.  Add
7060         __sync_val_compare_and_swap_16.
7061         * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
7062         target offload_target_nvptx.
7064 2020-09-08  Julian Brown  <julian@codesourcery.com>
7066         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
7067         iteration-ordering assumptions.
7069 2020-09-08  Julian Brown  <julian@codesourcery.com>
7071         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
7072         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7074 2020-08-20  Chung-Lin Tang  <cltang@codesourcery.com>
7076         * plugin/plugin-nvptx.c (nvptx_free):
7077         Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
7078         CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
7079         comments.
7081 2020-08-20  Tobias Burnus  <tobias@codesourcery.com>
7083         * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
7085 2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
7087         * testsuite/libgomp.c-c++-common/reduction-16.c: New.
7089 2020-08-13  Jakub Jelinek  <jakub@redhat.com>
7091         * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
7092         * testsuite/libgomp.c/loop-23.c (main): Likewise.
7093         * testsuite/libgomp.c/loop-24.c: New test.
7095 2020-08-08  Jakub Jelinek  <jakub@redhat.com>
7096             Tobias Burnus  <tobias@codesourcery.com>
7098         PR fortran/93553
7099         * testsuite/libgomp.fortran/pr93553.f90: New test.
7101 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
7103         * testsuite/libgomp.c/loop-22.c: New test.
7104         * testsuite/libgomp.c/loop-23.c: New test.
7106 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
7108         PR middle-end/96459
7109         * testsuite/libgomp.c/teams-3.c: New test.
7110         * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
7111         if not defined yet.
7112         (N(test)): Use it before all N(f*) calls.
7113         * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
7114         (main): Don't call all test_* functions from within
7115         #pragma omp teams reduction(|:err), call them directly.
7117 2020-08-04  Tom de Vries  <tdevries@suse.de>
7119         PR target/96428
7120         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
7121         * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
7123 2020-08-03  Julian Brown  <julian@codesourcery.com>
7124             Thomas Schwinge  <thomas@codesourcery.com>
7126         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
7127         shared-memory devices.  Extend with further checking.
7129 2020-08-03  Martin Jambor  <mjambor@suse.cz>
7131         * plugin/Makefrag.am: Remove configuration of HSA plugin.
7132         * aclocal.m4: Regenerated.
7133         * Makefile.in: Regenerated.
7134         * config.h.in: Regenerated.
7135         * configure: Regenerated.
7136         * plugin/configfrag.ac: Likewise.
7137         * plugin/hsa_ext_finalize.h: Removed.
7138         * plugin/plugin-hsa.c: Likewise.
7139         * testsuite/Makefile.in: Regenerated.
7140         * testsuite/lib/libgomp.exp
7141         (offload_target_to_openacc_device_type): Remove hsa case.
7142         (check_effective_target_hsa_offloading_selected_nocache): Removed
7143         (check_effective_target_hsa_offloading_selected): Likewise.
7144         (libgomp_init): Do not add -Wno-hsa to additional_flags.
7145         * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
7146         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
7147         * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
7148         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
7149         * testsuite/libgomp.hsa.c/c.exp: Likewise.
7150         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
7151         * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
7152         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7153         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7154         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7155         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7156         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7157         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7158         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7159         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7160         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7161         * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
7162         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7163         * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
7164         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7165         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7166         * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
7167         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
7168         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7170 2020-07-27  Julian Brown  <julian@codesourcery.com>
7171             Thomas Schwinge  <thomas@codesourcery.com>
7173         * libgomp.h (struct target_var_desc): Rename do_detach field to
7174         is_attach.
7175         * oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
7176         GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
7177         (goacc_enter_data_internal): Don't affect reference counts
7178         for attach mappings.
7179         (goacc_exit_data_internal): Don't affect reference counts for detach
7180         mappings.
7181         * target.c (gomp_map_vars_existing): Don't affect reference counts for
7182         attach mappings.
7183         (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
7184         mark attach mappings.
7185         (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
7186         reference count for attach mappings.
7187         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
7188         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7189         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7190         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
7191         test as shouldfail.
7192         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
7193         gracefully in no-finalize mode.
7194         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
7196 2020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
7198         * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
7199         use.
7200         * testsuite/libgomp.oacc-c/c.exp: Likewise.
7201         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7203 2020-07-23  Julian Brown  <julian@codesourcery.com>
7204             Thomas Schwinge  <thomas@codesourcery.com>
7206         * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
7207         finalization for detach operation.
7208         * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
7209         New test.
7211 2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
7213         * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
7214         * libgomp_f.h.in (omp_check_defines): Check whether
7215         sizeof of determined Fortran kind and C typedef match.
7216         * omp_lib.f90.in: Add omp_depened_kind.
7217         * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
7218         * configure: Regenerate.
7219         * Makefile.in: Regenerate.
7220         * testsuite/Makefile.in: Regenerate.
7222 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
7224         * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
7225         gcc/testsuite/c-c++-common/gomp/.
7226         * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
7227         * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
7228         from gcc/testsuite/gfortran.dg/gomp/.
7229         * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
7231 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
7233         * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
7234         * omp_lib.h.in: Likewise.
7236 2020-07-18  H.J. Lu  <hjl.tools@gmail.com>
7238         PR target/95620
7239         * testsuite/libgomp.c/pr95620.c: New test.
7241 2020-07-16  Julian Brown  <julian@codesourcery.com>
7242             Thomas Schwinge  <thomas@codesourcery.com>
7244         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
7245         * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
7247 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
7249         * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
7250         avoid conversion on 32bit systems from 32bit to 64bit due
7251         to -fdefault-integer-8.
7253 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
7255         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
7256         variables; add character(kind=4) tests; update TODO comment.
7258 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
7260         * allocator.c: Add ialias for omp_init_allocator and
7261         omp_destroy_allocator.
7262         * configure.ac: Set INTPTR_T_KIND.
7263         * configure: Regenerate.
7264         * Makefile.in: Regenerate.
7265         * testsuite/Makefile.in: Regenerate.
7266         * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
7267         omp_set_default_allocator_, omp_get_default_allocator_): New
7268         functions and ialias_redirect.
7269         * icv.c: Add ialias for omp_set_default_allocator and
7270         omp_get_default_allocator.
7271         * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
7272         omp_destroy_allocator_, omp_set_default_allocator_ and
7273         omp_get_default_allocator_.
7274         * omp_lib.f90.in: Add allocator traits parameters, declare
7275         allocator routines and add related kind parameters.
7276         * omp_lib.h.in: Likewise.
7277         * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
7278         * testsuite/libgomp.fortran/alloc-1.F90: New test.
7279         * testsuite/libgomp.fortran/alloc-2.F90: New test.
7280         * testsuite/libgomp.fortran/alloc-3.F: New test.
7281         * testsuite/libgomp.fortran/alloc-4.f90: New test.
7282         * testsuite/libgomp.fortran/alloc-5.f90: New test.
7284 2020-07-14  Tom de Vries  <tom@codesourcery.com>
7285             Cesar Philippidis  <cesar@codesourcery.com>
7286             Thomas Schwinge  <thomas@codesourcery.com>
7287             Kwok Cheung Yeung  <kcy@codesourcery.com>
7289         * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
7290         New variable.
7291         (acc_init_1): Set acc_init_thread to pthread_self ().  Set
7292         acc_init_state to initializing at the start, and to initialized at the
7293         end.
7294         (self_initializing_p): New function.
7295         (acc_get_device_type): Return acc_device_none if called by thread that
7296         is currently executing acc_init_1.
7297         * libgomp.texi (acc_get_device_type): Update documentation.
7298         (Implementation Status and Implementation-Defined Behavior): Likewise.
7299         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
7301 2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
7303         * config/t-aix: Set BITS from compiler cpp macro.
7305 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
7307         * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
7309 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
7311         PR fortran/67311
7312         * testsuite/libgomp.fortran/target-map-1.f90: New test.
7314 2020-07-14  Jakub Jelinek  <jakub@redhat.com>
7316         * testsuite/libgomp.c/loop-21.c: New test.
7318 2020-07-13  Julian Brown  <julian@codesourcery.com>
7319             Thomas Schwinge  <thomas@codesourcery.com>
7321         * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
7323 2020-07-10  Julian Brown  <julian@codesourcery.com>
7324             Thomas Schwinge  <thomas@codesourcery.com>
7326         * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
7327         dynamic_refcount.
7328         (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7329         * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
7330         dynamic_refcount.
7331         (acc_unmap_data): Update comment.
7332         (goacc_map_var_existing, goacc_enter_datum): Adjust for
7333         dynamic_refcount semantics.
7334         (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
7335         Adjust for dynamic_refcount semantics.
7336         (goacc_enter_data_internal): Implement "present" case of dynamic
7337         memory-map handling here.  Update "non-present" case for
7338         dynamic_refcount semantics.
7339         (goacc_exit_data_internal): Use goacc_exit_datum_1.
7340         * target.c (gomp_map_vars_internal): Remove
7341         GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
7342         handling.
7343         (gomp_unmap_vars_internal): Remove virtual_refcount handling.
7344         (gomp_load_image_to_device): Substitute dynamic_refcount for
7345         virtual_refcount.
7346         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
7347         * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
7348         * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
7349         * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
7350         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
7351         trace output.
7352         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
7353         trace output.
7354         * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
7355         test.
7356         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7357         Remove stale comment.
7358         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
7359         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7360         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7361         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7362         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7363         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
7365 2020-07-10  Julian Brown  <julian@codesourcery.com>
7366             Thomas Schwinge  <thomas@codesourcery.com>
7368         * oacc-mem.c (goacc_map_var_existing): New function.
7369         (goacc_enter_datum): Use above function.
7370         (goacc_exit_datum_1): New function.
7371         (goacc_exit_datum): Use above function.
7373 2020-07-09  Julian Brown  <julian@codesourcery.com>
7374             Thomas Schwinge  <thomas@codesourcery.com>
7376         PR middle-end/95270
7377         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
7378         * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
7380 2020-07-09  Julian Brown  <julian@codesourcery.com>
7382         * oacc-mem.c (find_group_last): Group data-movement clauses
7383         (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
7384         GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
7386 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
7388         * testsuite/libgomp.c/loop-19.c: New test.
7389         * testsuite/libgomp.c/loop-20.c: New test.
7391 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
7393         * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
7394         2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
7395         it.  Remove __omp_alloctrait_value_max__.
7396         * allocator.c (omp_init_allocator): Handle omp_atv_default for
7397         omp_atk_alignment and omp_atk_pool_size.
7399 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
7401         * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
7402         behavior for 'GOMP_MAP_FORCE_FROM'.
7403         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
7405 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
7407         * oacc-mem.c (goacc_exit_data_internal): Remove
7408         'GOMP_MAP_ALWAYS_FROM' handling.
7410 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
7412         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
7413         'scan-assembler' with 'scan-offload-rtl'.
7414         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
7415         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7416         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
7417         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
7419 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
7421         * target.c (gomp_map_vars_existing): Assert 'kind !=
7422         GOMP_MAP_ATTACH'.
7423         (gomp_map_vars_internal): Clean up.
7425 2020-06-27  Jakub Jelinek  <jakub@redhat.com>
7427         * testsuite/libgomp.c/loop-17.c: New test.
7428         * testsuite/libgomp.c/loop-18.c: New test.
7430 2020-06-26  Marek Polacek  <polacek@redhat.com>
7432         * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
7434 2020-06-23  Alexandre Oliva  <oliva@adacore.com>
7436         * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
7437         * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
7439 2020-06-22  David Edelsohn  <dje.gcc@gmail.com>
7441         * Makefile.am: Use -include.
7442         * Makefile.in: Regenerate.
7444 2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
7446         * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
7447         * Makefile.in: Regenerate
7448         * configure.ac (tmake_file): Substitute.
7449         * configure: Regenerate.
7450         * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
7451         * config/t-aix: New file.
7453 2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
7455         PR lto/94848
7456         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
7457         'dg-do run'.
7459 2020-06-17  Andrew Stubbs  <ams@codesourcery.com>
7461         * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
7462         variant for HSA_RUNTIME_LIB name.
7463         (find_executable_symbol_1): Delete.
7464         (find_executable_symbol): Delete.
7465         (init_kernel_properties): Add ".kd" suffix to symbol names.
7466         (find_load_offset): Delete.
7467         (create_and_finalize_hsa_program): Remove relocation handling.
7469 2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
7471         * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
7473 2020-06-08  Tobias Burnus  <tobias@codesourcery.com>
7475         PR lto/94848
7476         PR middle-end/95551
7477         * testsuite/libgomp.fortran/target-var.f90: New test.
7479 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
7480             Julian Brown  <julian@codesourcery.com>
7482         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
7483         special handling.
7485 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
7486             Julian Brown  <julian@codesourcery.com>
7488         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7489         Simplify.
7491 2020-06-05  Julian Brown  <julian@codesourcery.com>
7493         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
7494         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
7496 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7498         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7499         Evaluate 'copyfrom' individually for each entry.
7500         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
7502 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7504         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7505         Evaluate 'finalize' individually for each entry.
7506         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
7507         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
7508         file.
7510 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7512         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
7513         usage.
7514         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
7516 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7517             Julian Brown  <julian@codesourcery.com>
7519         * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
7520         checking.
7521         (acc_unmap_data, goacc_exit_data_internal): Restore
7522         'is_tgt_unmapped' checking.
7523         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
7524         file.
7525         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
7526         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7527         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7528         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7529         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7530         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7532 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7533             Julian Brown  <julian@codesourcery.com>
7535         * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
7537 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7539         PR libgomp/92854
7540         * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
7542 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7544         PR libgomp/92854
7545         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
7546         more.
7548 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7549             Julian Brown  <julian@codesourcery.com>
7551         * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
7552         'gomp_map_vars'.
7553         (acc_map_data): Clean up accordingly.
7555 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7557         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
7558         of over-eager 'finalize' clause.
7559         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
7560         file.
7561         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7562         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7563         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7564         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7565         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7566         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
7567         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7568         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
7570 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7572         * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
7574 2020-06-04  Julian Brown  <julian@codesourcery.com>
7576         * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
7577         error path.
7578         (goacc_detach_internal): Likewise.
7580 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7582         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
7583         the checkpoint.
7584         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7585         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7586         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7587         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7588         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7590 2020-06-02  Jakub Jelinek  <jakub@redhat.com>
7592         * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
7593         defined.
7595 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
7597         * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
7599 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
7601         * allocator.c (omp_alloc): For size == 0, return NULL early.
7603 2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
7605         PR bootstrap/95413
7606         * configure: Regenerated.
7608 2020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
7610         PR libfortran/95191
7611         * testsuite/libgomp.fortran/async_io_9.f90: New test.
7613 2020-05-19  Jakub Jelinek  <jakub@redhat.com>
7615         * omp.h.in (omp_uintptr_t): New typedef.
7616         (__GOMP_UINTPTR_T_ENUM): Define.
7617         (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
7618         omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
7619         (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
7620         (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
7621         omp_get_default_allocator, omp_alloc, omp_free): Declare.
7622         * libgomp.h (struct gomp_team_state): Add def_allocator field.
7623         (gomp_def_allocator): Declare.
7624         * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
7625         omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
7626         omp_alloc and omp_free.
7627         * team.c (gomp_team_start): Copy over ts.def_allocator.
7628         * env.c (gomp_def_allocator): New variable.
7629         (parse_wait_policy): Adjust function comment.
7630         (parse_allocator): New function.
7631         (handle_omp_display_env): Print OMP_ALLOCATOR.
7632         (initialize_env): Call parse_allocator.
7633         * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
7634         * allocator.c: New file.
7635         * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
7636         functions.
7637         * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
7638         * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
7639         * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
7640         * Makefile.in: Regenerated.
7642 2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
7644         PR bootstrap/95147
7645         * configure: Regenerated.
7647 2020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
7649         PR libfortran/95119
7650         * testsuite/libgomp.fortran/close_errors_1.f90: New test.
7652 2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
7654         * configure: Regenerated.
7656 2020-05-14  Jakub Jelinek  <jakub@redhat.com>
7658         * testsuite/libgomp.c-c++-common/target-40.c: New test.
7660 2020-05-13  Tobias Burnus  <tobias@codesourcery.com>
7662         PR fortran/94690
7663         * testsuite/libgomp.fortran/pr66199-3.f90: New.
7664         * testsuite/libgomp.fortran/pr66199-4.f90: New.
7665         * testsuite/libgomp.fortran/pr66199-5.f90: New.
7666         * testsuite/libgomp.fortran/pr66199-6.f90: New.
7667         * testsuite/libgomp.fortran/pr66199-7.f90: New.
7668         * testsuite/libgomp.fortran/pr66199-8.f90: New.
7669         * testsuite/libgomp.fortran/pr66199-9.f90: New.
7671 2020-05-12  Jakub Jelinek  <jakub@redhat.com>
7673         * testsuite/libgomp.c/target-39.c: New test.
7675 2020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
7677         * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
7678         * openacc.f90 (acc_device_current): Likewise.
7679         * openacc.h (acc_device_current): Likewise.
7680         * openacc_lib.h (acc_device_current): Likewise.
7682         PR target/94282
7683         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
7684         'dg-allow-blank-lines-in-output'.
7686         * oacc-init.c (get_openacc_name): Handle 'gcn'.
7687         * testsuite/lib/libgomp.exp
7688         (offload_target_to_openacc_device_type) [amdgcn*]: Return
7689         'radeon'.  Adjust all users.
7690         (check_effective_target_openacc_amdgcn_accel_present): Rename
7691         to...
7692         (check_effective_target_openacc_radeon_accel_present): ... this.
7693         Adjust all users.
7694         (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
7695         (check_effective_target_openacc_radeon_accel_selected): ... this.
7696         Adjust all users.
7698         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
7699         'dg-do run'.
7701 2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
7703         PR other/94629
7705         * plugin/plugin-gcn.c (init_hsa_context): Check return value from
7706         hsa_iterate_agents.
7707         (GOMP_OFFLOAD_init_device): Check return values from both calls to
7708         hsa_agent_iterate_regions.
7710 2020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
7712         PR middle-end/94635
7713         * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
7714         run'.
7716 2020-04-20  Tobias Burnus  <tobias@codesourcery.com>
7718         PR middle-end/94120
7719         * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
7720         test case.
7722 2020-04-17  Tobias Burnus  <tobias@codesourcery.com>
7724         PR middle-end/94635
7725         * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
7727 2020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
7729         PR libgomp/92843
7730         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7731         Rename to...
7732         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
7733         ... this.
7734         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7735         Rename to...
7736         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
7737         ... this.
7738         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7739         Rename to...
7740         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
7741         ... this.
7742         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7743         Rename to...
7744         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
7745         ... this.
7746         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7747         Rename to...
7748         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
7749         ... this.
7750         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7751         Rename to...
7752         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
7753         ... this.
7754         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7755         Rename to...
7756         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
7757         ... this.
7758         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7759         Rename to...
7760         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7761         ... this.
7762         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7763         Rename to...
7764         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
7765         ... this.
7766         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7767         Rename to...
7768         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
7769         ... this.
7770         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7771         Rename to...
7772         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
7773         ... this.
7774         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7775         Rename to...
7776         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
7777         ... this.
7778         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7779         Rename to...
7780         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
7781         ... this.
7782         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7783         Rename to...
7784         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
7785         ... this.
7786         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7787         Rename to...
7788         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
7789         ... this.
7790         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
7791         Rename to...
7792         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
7793         ... this.
7795 2020-04-10  Julian Brown  <julian@codesourcery.com>
7796             Thomas Schwinge  <thomas@codesourcery.com>
7798         PR libgomp/92843
7799         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7800         New file.
7801         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7802         Likewise.
7803         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7804         Likewise.
7805         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7806         Likewise.
7807         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7808         Likewise.
7809         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7810         Likewise.
7811         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7812         Likewise.
7813         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7814         Likewise.
7815         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7816         Likewise.
7817         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7818         Likewise.
7819         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7820         Likewise.
7821         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7822         Likewise.
7823         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7824         Likewise.
7825         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7826         Likewise.
7827         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7828         Likewise.
7829         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
7830         Likewise.
7832 2020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
7834         * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
7835         run'.
7837 2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
7839         PR middle-end/94120
7840         * libgomp.oacc-c++/declare-pr94120.C: New.
7842 2020-04-06  Maciej W. Rozycki  <macro@wdc.com>
7844         * configure.ac: Add testsuite/libgomp-site-extra.exp to output
7845         files.
7846         * configure: Regenerate.
7847         * testsuite/libgomp-site-extra.exp.in: New file.
7848         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
7849         variable.
7850         * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
7851         variable.
7852         * testsuite/Makefile.in: Regenerate.
7854 2020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
7856         PR tree-optimization/89713
7857         PR c/94392
7858         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
7859         'bar.sync'.
7860         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7862 2020-03-31  Tobias Burnus  <tobias@codesourcery.com>
7864         * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
7865         * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
7867 2020-03-24  Tobias Burnus  <tobias@codesourcery.com>
7869         PR libgomp/81689
7870         * testsuite/libgomp.c/target-link-1.c: Remove xfail.
7872 2020-03-20  Tobias Burnus  <tobias@codesourcery.com>
7874         PR libgomp/94251
7875         * target.c (gomp_load_image_to_device): Fix link
7876         variable handling.
7878 2020-03-19  Jakub Jelinek  <jakub@redhat.com>
7880         PR c++/93931
7881         * testsuite/libgomp.c++/pr93931.C: New test.
7883 2020-03-19  Tobias Burnus  <tobias@codesourcery.com>
7885         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
7886         dg-allow-blank-lines-in-output.
7888 2020-03-18  Julian Brown <julian@codesourcery.com>
7889             Tobias Burnus  <tobias@codesourcery.com>
7891         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
7892         it work concurrently.
7894 2020-03-18  Tobias Burnus  <tobias@codesourcery.com>
7896         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
7897         #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
7898         * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
7900 2020-03-14  Jakub Jelinek  <jakub@redhat.com>
7902         PR middle-end/93566
7903         * testsuite/libgomp.c/pr93566.c: New test.
7905 2020-02-21  Frederik Harwath  <frederik@codesourcery.com>
7907         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
7908         changes from 2020-02-19, i.e. use integer(c_size_t) instead of
7909         integer(acc_device_property) for the type of the return value of
7910         acc_get_property.
7912 2020-02-19  Tobias Burnus  <tobias@codesourcery.com>
7914         * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
7915         * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
7916         (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
7917         * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
7918         (acc_set_device_num): Fix Fortran argument name, use same name for C.
7919         (acc_get_property): Update Fortran interface to post-OpenACC 3.0
7920         corrections; add note about the previous interface and named constant.
7921         (OpenACC library and environment variables): Fix two typos.
7922         * openacc.f90: Use for all procedures the argument names from the spec
7923         as for â€¦_h they are user visible.
7924         (openacc_kinds): Rename acc_device_property to
7925         acc_device_property_kinds and change value to int32 ; and update users.
7926         Re-add acc_device_property for for backward compatibility.
7927         (acc_get_property_string_h): Clean up as acc_device_property_kind
7928         changed.
7929         (acc_get_property_h): Likewise and return c_size_t instead of
7930         acc_device_property.
7931         (openacc): Also export acc_device_property_kinds.
7932         (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
7933         acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
7934         handling; check against /= 0 instead of == 1 to match C.
7935         * openacc_lib.h: Use for all procedures the argument names from the spec
7936         as for â€¦_h they are user visible. Place !GCC$ into the first column to
7937         be active also for fixed-form souce form.
7938         (acc_device_current, acc_device_property_kind, acc_device_property,
7939         acc_property_memory, acc_property_free_memory, acc_property_name,
7940         acc_property_vendor, acc_property_driver): New named constants.
7941         (acc_get_property, acc_get_property_string): New generic interface.
7943 2020-02-13  Frederik Harwath  <frederik@codesourcery.com>
7945         PR libgomp/93481
7946         * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
7947         * target.c (gomp_load_plugin_for_device): Make "async_run" loading
7948         optional.
7949         (gomp_target_task_fn): Assert "devicep->async_run_func".
7950         (clear_unsupported_flags): New function to remove unsupported flags
7951         (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
7952         (GOMP_target_ext): Apply clear_unsupported_flags to flags.
7953         * testsuite/libgomp.c/target-33.c:
7954         Remove xfail for offload_target_nvptx.
7955         * testsuite/libgomp.c/target-34.c: Likewise.
7957 2020-02-10  Frederik Harwath  <frederik@codesourcery.com>
7959         * testsuite/libgomp.c/target-33.c: Add xfail for execution on
7960         offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
7961         * testsuite/libgomp.c/target-34.c: Likewise.
7962         * testsuite/libgomp.c/target-link-1.c: Add xfail for
7963         offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
7965 2020-02-09  Jakub Jelinek  <jakub@redhat.com>
7967         * testsuite/libgomp.c/target-38.c: New test.
7969 2020-02-06  Jakub Jelinek  <jakub@redhat.com>
7971         PR libgomp/93515
7972         * testsuite/libgomp.c-c++-common/pr93515.c: New test.
7974 2020-02-05  Tobias Burnus  <tobias@codesourcery.com>
7976         * testsuite/lib/libgomp.exp
7977         (check_effective_target_offload_target_nvptx): Pass flags as 'options'
7978         and not as 'source' argument to libgomp_target_compile.
7980 2020-02-03  Andrew Stubbs  <ams@codesourcery.com>
7982         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
7983         (gcn_gfx801_s): Remove.
7984         (isa_hsa_name): Remove gfx801.
7985         (isa_gcc_name): Remove gfx801/carizzo.
7986         (isa_code): Remove gfx801.
7988 2020-02-03  Julian Brown  <julian@codesourcery.com>
7989             Tobias Burnus  <tobias@codesourcery.com>
7991         * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
7992         and *_finalize variants; document acc_attach and acc_detach; update
7993         references from OpenACC 2.0 to 2.6.
7994         * openacc.f90 (openacc_version): Update to 201711.
7995         * openacc_lib.h (openacc_version): Update to 201711.
7996         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
7997         openacc_version to 201711.
7998         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8000 2020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
8002         * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
8003         and vgpr_count fields.
8004         (struct kernel_info): Add a field for a hsa_kernel_description.
8005         (run_kernel): Reduce the number of threads/workers if the requested
8006         number would require too many VGPRs.
8007         (init_basic_kernel_info): Initialize description field with
8008         the hsa_kernel_description entry for the kernel.
8010 2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
8012         PR bootstrap/93409
8013         * plugin/configfrag.ac (enable_offload_targets): Skip
8014         HSA and GCN plugin besides -m32 also for -mx32.
8015         * configure: Regenerate.
8017 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
8019         * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
8021 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
8023         * plugin-gcn.c (struct agent_info): Add fields "name" and
8024         "vendor_name" ...
8025         (GOMP_OFFLOAD_init_device): ... and init from here.
8026         (struct hsa_context_info): Add field "driver_version_s" ...
8027         (init_hsa_contest): ... and init from here.
8028         (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
8029         implementation.
8030         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8031         Enable test execution for amdgcn and host offloading targets.
8032         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
8033         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8034         (expect_device_properties): Split function into ...
8035         (expect_device_string_properties): ... this new function ...
8036         (expect_device_memory): ... and this new function.
8037         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
8038         Add test.
8040 2020-01-28  Julian Brown  <julian@codesourcery.com>
8042         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
8043         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
8044         component/non-component variable refs in a single directive.
8045         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
8047 2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
8049         * configure.ac: Handle `--with-toolexeclibdir='.
8050         * Makefile.in: Regenerate.
8051         * aclocal.m4: Regenerate.
8052         * configure: Regenerate.
8053         * testsuite/Makefile.in: Regenerate.
8055 2020-01-24  Frederik Harwath  <frederik@codesourcery.com>
8057         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8058         (expect_device_properties): Remove "expected_free_mem" argument,
8059         change "expected_total_mem" argument type to size_t;
8060         change types of acc_get_property results to size_t,
8061         adapt format strings.
8062         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8063         Use %zu instead of %zd to print size_t values.
8064         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
8065         rename to ...
8066         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
8067         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
8068         rename to ...
8069         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
8071 2020-01-23  Andrew Stubbs  <ams@codesourcery.com>
8073         * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
8074         the device id.
8076 2020-01-20  Andrew Stubbs  <ams@codesourcery.com>
8078         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
8079         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
8080         Adjust test dimensions for amdgcn.
8081         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
8082         gang/worker/vector expectations dynamically.
8083         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
8084         (main): Likewise.
8085         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
8086         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
8087         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
8088         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
8089         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
8090         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
8091         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
8092         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
8093         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
8094         (acc_gang): Recognise acc_device_radeon.
8095         (acc_worker): Likewise.
8096         (acc_vector): Likewise.
8097         (main): Set expectations for amdgcn.
8098         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
8099         (main): Adjust gang/worker/vector expectations dynamically.
8100         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
8101         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
8102         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
8103         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
8104         for amdgcn.
8106 2020-01-17  Andrew Stubbs  <ams@codesourcery.com>
8108         * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
8109         acc_device_radeon.
8110         (openacc): Likewise.
8111         * openacc.f90 (openacc_kinds): Likewise.
8112         (openacc): Likewise.
8113         * openacc.h (acc_device_t): Likewise.
8114         * openacc_lib.h: Likewise.
8115         * testsuite/lib/libgomp.exp
8116         (check_effective_target_openacc_amdgcn_accel_present): Likewise.
8117         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
8118         (cb_compute_construct_end): Likewise.
8119         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
8120         (cb_enqueue_launch_start): Likewise.
8121         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
8122         (cb_enter_data_end): Likewise.
8123         (cb_exit_data_start): Likewise.
8124         (cb_exit_data_end): Likewise.
8125         (cb_compute_construct_end): Likewise.
8126         (cb_enqueue_launch_start): Likewise.
8127         (cb_enqueue_launch_end): Likewise.
8128         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
8129         (main): Likewise.
8131 2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
8133         * libgomp-plugin.h (enum goacc_property): New.  Adjust all users
8134         to use this instead of 'enum gomp_device_property'.
8135         (GOMP_OFFLOAD_get_property): Rename to...
8136         (GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
8137         * libgomp.h (struct gomp_device_descr): Move
8138         'GOMP_OFFLOAD_openacc_get_property'...
8139         (struct acc_dispatch_t): ... here.  Adjust all users.
8140         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
8142         * target.c (gomp_map_vars_internal)
8143         <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
8144         paths.
8146 2020-01-10  Jakub Jelinek  <jakub@redhat.com>
8148         PR libgomp/93219
8149         * libgomp.h (gomp_print_string): Change return type from void to int.
8150         * affinity-fmt.c (gomp_print_string): Likewise.  Return true if
8151         not all characters have been written.
8153 2020-01-08  Tobias Burnus  <tobias@codesourcery.com>
8155         * libgomp.texi: Fix typos, use https.
8157 2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
8159         * testsuite/libgomp.fortran/optional-map.f90: Add test for
8160         unallocated/disassociated actual arguments to nonallocatable/nonpointer
8161         dummy arguments; those are/shall be regarded as absent arguments.
8162         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8163         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
8165 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
8167         Update copyright years.
8169         * libgomp.texi: Bump @copying's copyright year.
8171 2019-12-31  Ayush Mittal  <ayush.m@samsung.com>
8173         PR libgomp/93065
8174         * oacc-init.c (goacc_runtime_deinitialize): New function.
8176 2019-12-28  Jakub Jelinek  <jakub@redhat.com>
8178         PR bootstrap/93074
8179         * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
8180         (cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
8182 2019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
8183             Frederik Harwath  <frederik@codesourcery.com>
8184             Thomas Schwinge  <tschwinge@codesourcery.com>
8186         * libgomp.h (gomp_device_descr): Add `get_property_func' member.
8187         * libgomp-plugin.h (gomp_device_property_value): New union.
8188         (gomp_device_property_value): New prototype.
8189         * openacc.h (acc_device_t): Add `acc_device_current' enumeration
8190         constant.
8191         (acc_device_property_t): New enum.
8192         (acc_get_property, acc_get_property_string): New prototypes.
8193         * oacc-init.c (acc_get_device_type): Also assert that result
8194         is not `acc_device_current'.
8195         (get_property_any, acc_get_property, acc_get_property_string):
8196         New functions.
8197         * openacc.f90 (openacc_kinds): Add `acc_device_current' and
8198         `acc_property_memory', `acc_property_free_memory',
8199         `acc_property_name', `acc_property_vendor' and
8200         `acc_property_driver' constants.  Add `acc_device_property' data
8201         type.
8202         (openacc_internal): Add `acc_get_property' and
8203         `acc_get_property_string' interfaces.  Add `acc_get_property_h',
8204         `acc_get_property_string_h', `acc_get_property_l' and
8205         `acc_get_property_string_l'.
8206         * oacc-host.c (host_get_property): New function.
8207         (host_dispatch): Wire it.
8208         * target.c (gomp_load_plugin_for_device): Handle `get_property'.
8209         * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
8210         `acc_get_property_string' and `acc_get_property_string_h_' symbols.
8211         * libgomp.texi (OpenACC Runtime Library Routines): Add
8212         `acc_get_property'.
8213         (acc_get_property): New node.
8214         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
8215         function (stub).
8216         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
8217         * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
8218         `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
8219         calls.
8220         (GOMP_OFFLOAD_get_property): New function.
8221         (struct ptx_device): Add new field "name".
8222         (cuda_driver_version_s): Add new static variable ...
8223         (nvptx_init): ... and init from here.
8225         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
8226         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
8227         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
8228         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
8229         with test helper functions.
8231         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
8233 2019-12-22  Maciej W. Rozycki  <macro@wdc.com>
8235         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
8236         variable.
8238 2019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
8240         * target.c (gomp_map_vars_internal): Restore 'omp declare target
8241         link' handling.
8243 2019-12-19  Julian Brown  <julian@codesourcery.com>
8245         * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
8246         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
8247         * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
8249 2019-12-19  Julian Brown  <julian@codesourcery.com>
8250             Cesar Philippidis  <cesar@codesourcery.com>
8252         * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
8253         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
8254         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
8255         * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
8256         * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
8257         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
8258         * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
8259         * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
8260         * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
8261         * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
8262         * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
8263         * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
8264         * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
8266 2019-12-19  Julian Brown  <julian@codesourcery.com>
8268         * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
8269         * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
8270         * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
8271         * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
8272         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
8273         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
8274         * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
8275         * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
8276         * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
8277         * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
8278         * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
8279         * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
8281 2019-12-19  Julian Brown  <julian@codesourcery.com>
8283         * libgomp.h (struct target_var_desc): Add do_detach flag.
8284         * oacc-init.c (acc_shutdown_1): Free aux block if present.
8285         * oacc-mem.c (find_group_last): Add SIZES parameter. Support
8286         struct components.  Tidy up and add some new checks.
8287         (goacc_enter_data_internal): Update call to find_group_last.
8288         (goacc_exit_data_internal): Support detach operations and
8289         GOMP_MAP_STRUCT.
8290         (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
8291         GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
8292         attach/detach in enter/exit data detection code.
8293         * target.c (gomp_map_vars_existing): Initialise do_detach field of
8294         tgt_var_desc.
8295         (gomp_map_vars_internal): Support attach.
8296         (gomp_unmap_vars_internal): Support detach.
8298 2019-12-19  Julian Brown  <julian@codesourcery.com>
8299             Thomas Schwinge  <thomas@codesourcery.com>
8301         * libgomp.h (struct splay_tree_aux): Add attach_count field.
8302         (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
8303         * libgomp.map (OACC_2.6): New section. Add acc_attach,
8304         acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
8305         acc_detach_finalize_async.
8306         * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
8307         acc_detach, acc_detach_async, acc_detach_finalize,
8308         acc_detach_finalize_async): New functions.
8309         * openacc.h (acc_attach, acc_attach_async, acc_detach,
8310         (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
8311         prototypes.
8312         * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
8313         (gomp_remove_var_internal): Free attachment counts if present.
8314         * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
8315         * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
8317 2019-12-19  Julian Brown  <julian@codesourcery.com>
8318             Cesar Philippidis  <cesar@codesourcery.com>
8320         * libgomp.h (gomp_map_val): Add prototype.
8321         * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
8322         open-coding device-address calculation.
8323         * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
8324         non-present case.
8326 2019-12-19  Julian Brown  <julian@codesourcery.com>
8328         * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
8329         field for virtual_refcount.
8330         (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
8331         (gomp_free_memmap): Remove prototype.
8332         * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
8333         instead of calling gomp_free_memmap.
8334         * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
8335         dynamic_refcount.
8336         (acc_unmap_data): Open code instead of forcing target_mem_desc's
8337         to_free field to NULL then calling gomp_unmap_vars.  Handle
8338         REFCOUNT_INFINITY on target blocks.
8339         (goacc_enter_data): Rename to...
8340         (goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
8341         handling for mapping groups.  Use virtual_refcount instead of
8342         dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
8343         map_map_vars_async call.  Re-do lookup for target pointer return value.
8344         (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
8345         renamed goacc_enter_datum function.
8346         (goacc_exit_data): Rename to...
8347         (goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
8348         (acc_delete, acc_delete_async, acc_delete_finalize,
8349         acc_delete_finalize_async, acc_copyout, acc_copyout_async,
8350         acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
8351         goacc_exit_datum function.
8352         (gomp_acc_remove_pointer, find_pointer): Remove functions.
8353         (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
8354         New functions.
8355         (GOACC_enter_exit_data): Use goacc_enter_data_internal and
8356         goacc_exit_data_internal helper functions.
8357         * target.c (gomp_map_vars_internal): Handle
8358         GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
8359         semantics.
8360         (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
8361         (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
8362         virtual_refcount field instead of dynamic_refcount.
8363         (gomp_free_memmap): Remove function.
8364         * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
8365         * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
8366         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
8368 2019-12-19  Julian Brown  <julian@codesourcery.com>
8369             Thomas Schwinge  <thomas@codesourcery.com>
8371         * libgomp.h (struct splay_tree_aux): New.
8372         (struct splay_tree_key_s): Replace link_key field with aux pointer.
8373         * target.c (gomp_map_vars_internal): Adjust for link_key being moved
8374         to aux struct.
8375         (gomp_remove_var_internal): Free aux block if present.
8376         (gomp_load_image_to_device): Zero-initialise aux field instead of
8377         link_key field.
8378         (omp_target_associate_pointer): Zero-initialise aux field.
8380 2019-12-18  Jakub Jelinek  <jakub@redhat.com>
8382         PR middle-end/86416
8383         * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
8384         q or none.
8385         * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
8386         L or none.
8388 2019-12-19  Julian Brown  <julian@codesourcery.com>
8389             Maciej W. Rozycki  <macro@codesourcery.com>
8390             Tobias Burnus  <tobias@codesourcery.com>
8391             Thomas Schwinge  <thomas@codesourcery.com>
8393         * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
8394         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8395         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
8396         * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
8397         * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
8398         * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
8399         * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
8400         * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
8401         * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
8403 2019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
8405         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8406         called...
8407         (goacc_insert_pointer): ... from here, "present" case.
8408         (goacc_insert_pointer): Inline function into...
8409         (GOACC_enter_exit_data): ... here, and simplify.
8411         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8412         called...
8413         (goacc_insert_pointer): ... from here, "not present" case.
8415         * oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
8416         all users.
8418         * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
8419         'goacc_enter_data', 'goacc_exit_data'.
8421         * oacc-mem.c (delete_copyout): Refactor into...
8422         (goacc_exit_data): ... this.  Adjust all users.
8424         * oacc-mem.c (present_create_copy): Refactor into...
8425         (goacc_enter_data): ... this.  Adjust all users.
8427         * target.c (gomp_unmap_vars_internal): Add a safeguard to
8428         'gomp_remove_var'.
8430         * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
8431         like 'GOMP_MAP_FROM'.
8433         PR libgomp/92726
8434         PR libgomp/92970
8435         PR libgomp/92984
8436         * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
8437         fails.
8438         (GOACC_enter_exit_data): Simplify accordingly.
8439         * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
8440         subsuming...
8441         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
8442         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
8443         file.
8444         * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
8445         subsuming...
8446         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
8447         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
8448         file.
8449         * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
8450         subsuming...
8451         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
8453         * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
8454         'finalize' handling.
8456         PR libgomp/92848
8457         * oacc-mem.c (acc_map_data, present_create_copy)
8458         (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
8459         (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
8460         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
8461         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
8462         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
8463         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
8464         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
8465         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8466         Remove "XFAIL"s.
8468         * target.c (gomp_unmap_tgt): Make it 'static'.
8469         * libgomp.h (gomp_unmap_tgt): Remove.
8471 2019-12-18  Tobias Burnus  <tobias@codesourcery.com>
8473         PR middle-end/86416
8474         * testsuite/libgomp.c/pr86416-1.c: New.
8475         * testsuite/libgomp.c/pr86416-2.c: New.
8477 2019-12-17  Tobias Burnus  <tobias@codesourcery.com>
8479         * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
8480         all symbols as public except for the 'use â€¦, only' imported symbol,
8481         which is private.
8482         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8483         all symbols from module openacc_kinds as PUBLIC
8484         * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
8485         fix comment typo.
8486         * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
8488 2019-12-13  Julian Brown  <julian@codesourcery.com>
8490         PR libgomp/92881
8492         * libgomp.h (gomp_remove_var_async): Add prototype.
8493         * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
8494         gomp_remove_var.
8495         * target.c (gomp_unref_tgt): Change return type to bool, indicating
8496         whether target_mem_desc was unmapped.
8497         (gomp_unref_tgt_void): New.
8498         (gomp_remove_var): Reimplement in terms of...
8499         (gomp_remove_var_internal): ...this new helper function.
8500         (gomp_remove_var_async): New, implemented using above helper function.
8501         (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
8502         gomp_unref_tgt.
8504 2019-12-13  Andrew Stubbs  <ams@codesourcery.com>
8506         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
8507         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
8508         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
8509         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
8510         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
8511         Likewise.
8512         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
8513         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
8515 2019-12-13  Tobias Burnus  <tobias@codesourcery.com>
8517         * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
8518         as public except for the 'use â€¦, only' imported symbol, which is
8519         private.
8520         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8521         all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
8522         attributes for acc_copyout_finalize and acc_delete_finalize.
8524 2019-12-11  Jakub Jelinek  <jakub@redhat.com>
8526         PR fortran/92899
8527         * testsuite/libgomp.fortran/atomic1.f90: New test.
8529 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
8531         PR libgomp/92843
8532         * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
8533         reference counting for structured 'REFCOUNT_INFINITY'.  Add some
8534         assertions.
8535         (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
8536         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
8537         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
8538         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8539         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8541         * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
8542         * oacc-mem.c: ... here.
8543         (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
8544         'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
8545         * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8546         Remove.
8547         * libgomp_g.h: Update.
8549         * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
8550         * oacc-async.c: ... here.
8551         * oacc-int.h (goacc_wait): Declare.
8552         * libgomp_g.h: Update
8554         PR libgomp/92854
8555         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
8556         New file.
8557         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
8558         Likewise.
8559         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
8560         Likewise.
8561         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
8562         Likewise.
8563         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
8564         Likewise.
8565         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
8566         Likewise.
8568 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
8569             Julian Brown  <julian@codesourcery.com>
8571         * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
8572         Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
8574 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
8576         * omp_lib.h.in: Fix spelling of function declaration
8577         omp_get_cancell(l)ation.
8578         * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
8579         Fix typos.
8580         * env.c: Fix comment typos.
8581         * oacc-host.c: Likewise.
8582         * ordered.c: Likewise.
8583         * task.c: Likewise.
8584         * team.c: Likewise.
8585         * config/gcn/task.c: Likewise.
8586         * config/gcn/team.c: Likewise.
8587         * config/nvptx/task.c: Likewise.
8588         * config/nvptx/team.c: Likewise.
8589         * plugin/plugin-gcn.c: Likewise.
8590         * testsuite/libgomp.fortran/jacobi.f: Likewise.
8591         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8592         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
8594 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
8596         * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
8597         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
8598         unnecessary 'dg-additional-options "-w"'.
8600 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
8601             Julian Brown  <julian@codesourcery.com>
8603         PR libgomp/92116
8604         PR libgomp/92877
8606         * oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
8607         * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
8608         Adjust all users.
8609         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8610         Remove XFAIL.
8611         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8612         Likewise.
8613         * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
8615 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
8617         PR libgomp/92503
8618         * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
8619         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
8620         file.
8621         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
8622         Likewise.
8623         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
8624         Likewise.
8625         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
8626         Likewise.
8627         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8628         Likewise.
8629         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8630         Likewise.
8631         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8632         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8633         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8634         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8635         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8636         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8637         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8638         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8639         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8640         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8642         PR libgomp/92840
8643         * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
8644         (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
8645         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
8646         New file.
8647         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
8648         Likewise.
8649         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
8650         Likewise.
8651         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8652         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
8654         PR libgomp/92511
8655         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
8656         this file...
8657         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
8658         this file...
8659         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
8660         file...
8661         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
8662         file...
8663         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8664         ... with their content moved into, and extended in this new file.
8665         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
8666         New file.
8667         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
8668         Likewise.
8669         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
8670         Likewise.
8671         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
8672         Likewise.
8674         * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
8676         PR libgomp/92854
8677         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
8679         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
8681         * target.c (gomp_exit_data): Use 'gomp_remove_var'.
8683 2019-12-09  Tobias Burnus  <tobias@codesourcery.com>
8685         * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
8686         unique.
8687         * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
8688         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8689         * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
8690         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
8691         Ditto.
8692         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
8693         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
8695 2019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
8697         * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
8699 2019-12-06  Tobias Burnus  <tobias@codesourcery.com>
8700             Kwok Cheung Yeung <kcy@codesourcery.com>
8702         * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
8703         if input it a NULL pointer.
8704         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
8705         diagnostic of NULL pointer.
8706         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
8707         * testsuite/libgomp.fortran/optional-map.f90: New.
8708         * testsuite/libgomp.fortran/use_device_addr-1.f90
8709         (test_dummy_opt_callee_1_absent): New.
8710         (test_dummy_opt_call_1): Call it.
8711         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8712         * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
8713         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8714         * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
8715         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
8716         * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
8717         * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
8718         * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
8719         * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
8720         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
8721         * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
8722         * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
8723         * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
8724         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
8725         * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
8726         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
8728 2019-12-05  Tobias Burnus  <tobias@codesourcery.com>
8730         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
8731         expect dg-output of 'Error termination.' for GCN.
8732         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8733         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8735 2019-12-04  Jakub Jelinek  <jakub@redhat.com>
8737         PR fortran/92756
8738         * testsuite/libgomp.fortran/teams1.f90: New test.
8739         * testsuite/libgomp.fortran/teams2.f90: New test.
8741 2019-12-03  Frederik Harwath  <frederik@codesourcery.com>
8743         * oacc-init.c (acc_known_device_type): Add function.
8744         (unknown_device_type_error): Add function.
8745         (name_of_acc_device_t): Change to call unknown_device_type_error
8746         on unknown type.
8747         (resolve_device): Use acc_known_device_type.
8748         (acc_init): Fail if acc_device_t argument is not valid.
8749         (acc_shutdown): Likewise.
8750         (acc_get_num_devices): Likewise.
8751         (acc_set_device_type): Likewise.
8752         (acc_get_device_num): Likewise.
8753         (acc_set_device_num): Likewise.
8754         (acc_on_device): Add comment that argument validity is not checked.
8756 2019-12-03  Andrew Stubbs  <ams@codesourcery.com>
8758         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
8759         Recognize amdgcn.
8760         (check_effective_target_openacc_amdgcn_accel_present): New proc.
8761         (check_effective_target_openacc_amdgcn_accel_selected): New proc.
8762         * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
8763         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8764         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8766 2019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
8768         PR libgomp/91938
8769         * configure.tgt: Avoid IE tls on *-*-musl*.
8771 2019-11-29  Tobias Burnus  <tobias@codesourcery.com>
8773         * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
8774         adding a common-block test case.
8776 2019-11-29  Jakub Jelinek  <jakub@redhat.com>
8778         PR c++/60228
8779         * testsuite/libgomp.c++/udr-20.C: New test.
8780         * testsuite/libgomp.c++/udr-21.C: New test.
8782 2019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
8784         * testsuite/lib/libgomp.exp
8785         (check_effective_target_offload_target_nvptx): New proc.
8786         * testsuite/libgomp.fortran/target-print-1.f90: Use it with
8787         'dg-skip-if'.
8788         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
8789         * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
8790         * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
8792 2019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8794         * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
8795         * testsuite/libgomp.c/pr39591-2.c: Likewise.
8796         * testsuite/libgomp.c/pr39591-3.c: Likewise.
8797         * testsuite/libgomp.c/private-1.c: Likewise.
8798         * testsuite/libgomp.c/task-1.c: Likewise.
8799         * testsuite/libgomp.c/task-5.c: Renamed err to serr.
8801 2019-11-20  Julian Brown  <julian@codesourcery.com>
8803         * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
8804         aq->mutex here.
8805         (queue_push_launch): Lock aq->mutex before calling
8806         wait_for_queue_nonfull.
8807         (queue_push_callback): Likewise.
8808         (queue_push_asyncwait): Likewise.
8809         (queue_push_placeholder): Likewise.
8811 2019-11-20  Julian Brown  <julian@codesourcery.com>
8813         * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
8814         (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
8815         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
8816         return code.
8818 2019-11-20  Julian Brown  <julian@codesourcery.com>
8820         PR libgomp/92511
8822         * oacc-mem.c (present_create_copy): Fix device pointer return value in
8823         case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
8824         in non-present/create case.
8825         (delete_copyout): Change error condition to fail only on copies outside
8826         of mapped block.  Adjust error message accordingly.
8827         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
8828         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
8829         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
8830         message.
8831         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8832         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
8833         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8835 2019-11-20  Maciej W. Rozycki  <macro@wdc.com>
8837         * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
8838         libatomic in build-tree testing.
8840 2019-11-18  Maciej W. Rozycki  <macro@wdc.com>
8842         * testsuite/Makefile.in: Regenerate.
8844 2019-11-15  Andrew Stubbs  <ams@codesourcery.com>
8846         * testsuite/libgomp.c/target-print-1.c: New file.
8847         * testsuite/libgomp.fortran/target-print-1.f90: New file.
8848         * testsuite/libgomp.oacc-c/print-1.c: New file.
8849         * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
8851 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8852             Kwok Cheung Yeung  <kcy@codesourcery.com>
8853             Julian Brown  <julian@codesourcery.com>
8854             Tom de Vries  <tom@codesourcery.com>
8856         * plugin/Makefrag.am: Add amdgcn plugin support.
8857         * plugin/configfrag.ac: Likewise.
8858         * plugin/plugin-gcn.c: New file.
8859         * configure: Regenerate.
8860         * Makefile.in: Regenerate.
8861         * testsuite/Makefile.in: Regenerate.
8863 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8865         * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
8866         and use team_malloc variants.
8867         (gomp_gcn_exit_kernel): Use team_free.
8868         * libgomp.h (TEAM_ARENA_SIZE): Define.
8869         (TEAM_ARENA_START): Define.
8870         (TEAM_ARENA_FREE): Define.
8871         (TEAM_ARENA_END): Define.
8872         (team_malloc): New function.
8873         (team_malloc_cleared): New function.
8874         (team_free): New function.
8875         * team.c (gomp_new_team): Initialize and use team_malloc.
8876         (free_team): Use team_free.
8877         (gomp_free_thread): Use team_free.
8878         (gomp_pause_host): Use team_free.
8879         * work.c (gomp_init_work_share): Use team_malloc.
8880         (gomp_fini_work_share): Use team_free.
8882 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8883             Kwok Cheung Yeung  <kcy@codesourcery.com>
8884             Julian Brown  <julian@codesourcery.com>
8885             Tom de Vries  <tom@codesourcery.com>
8887         * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
8888         * Makefile.in: Regenerate.
8889         * config.h.in (PLUGIN_GCN): Add new undef.
8890         * config/accel/openacc.f90 (acc_device_gcn): New parameter.
8891         * config/gcn/affinity-fmt.c: New file.
8892         * config/gcn/bar.c: New file.
8893         * config/gcn/bar.h: New file.
8894         * config/gcn/doacross.h: New file.
8895         * config/gcn/icv-device.c: New file.
8896         * config/gcn/oacc-target.c: New file.
8897         * config/gcn/simple-bar.h: New file.
8898         * config/gcn/target.c: New file.
8899         * config/gcn/task.c: New file.
8900         * config/gcn/team.c: New file.
8901         * config/gcn/time.c: New file.
8902         * configure.ac: Add amdgcn*-*-*.
8903         * configure: Regenerate.
8904         * configure.tgt: Add amdgcn*-*-*.
8905         * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
8906         * libgomp.h (gcn_thrs): Add amdgcn variant.
8907         (set_gcn_thrs): Likewise.
8908         (gomp_thread): Likewise.
8909         * oacc-int.h (goacc_thread): Likewise.
8910         * oacc-target.c: New file.
8911         * openacc.f90 (acc_device_gcn): New parameter.
8912         * openacc.h (acc_device_t): Add acc_device_gcn.
8913         * team.c (gomp_free_pool_helper): Add amdgcn support.
8915 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8916             Julian Brown  <julian@codesourcery.com>
8918         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
8919         parameter.
8920         * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
8921         queue constructor.
8922         * oacc-host.c (host_openacc_async_construct): Add device parameter.
8923         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
8924         device parameter.
8926 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8928         * configure.tgt (nvptx*-*-*): Add "accel" directory.
8929         * config/nvptx/libgomp-plugin.c: Move ...
8930         * config/accel/libgomp-plugin.c: ... to here.
8931         * config/nvptx/lock.c: Move ...
8932         * config/accel/lock.c: ... to here.
8933         * config/nvptx/mutex.c: Move ...
8934         * config/accel/mutex.c: ... to here.
8935         * config/nvptx/mutex.h: Move ...
8936         * config/accel/mutex.h: ... to here.
8937         * config/nvptx/oacc-async.c: Move ...
8938         * config/accel/oacc-async.c: ... to here.
8939         * config/nvptx/oacc-cuda.c: Move ...
8940         * config/accel/oacc-cuda.c: ... to here.
8941         * config/nvptx/oacc-host.c: Move ...
8942         * config/accel/oacc-host.c: ... to here.
8943         * config/nvptx/oacc-init.c: Move ...
8944         * config/accel/oacc-init.c: ... to here.
8945         * config/nvptx/oacc-mem.c: Move ...
8946         * config/accel/oacc-mem.c: ... to here.
8947         * config/nvptx/oacc-plugin.c: Move ...
8948         * config/accel/oacc-plugin.c: ... to here.
8949         * config/nvptx/omp-lock.h: Move ...
8950         * config/accel/omp-lock.h: ... to here.
8951         * config/nvptx/openacc.f90: Move ...
8952         * config/accel/openacc.f90: ... to here.
8953         * config/nvptx/pool.h: Move ...
8954         * config/accel/pool.h: ... to here.
8955         * config/nvptx/proc.c: Move ...
8956         * config/accel/proc.c: ... to here.
8957         * config/nvptx/ptrlock.c: Move ...
8958         * config/accel/ptrlock.c: ... to here.
8959         * config/nvptx/ptrlock.h: Move ...
8960         * config/accel/ptrlock.h: ... to here.
8961         * config/nvptx/sem.c: Move ...
8962         * config/accel/sem.c: ... to here.
8963         * config/nvptx/sem.h: Move ...
8964         * config/accel/sem.h: ... to here.
8965         * config/nvptx/thread-stacksize.h: Move ...
8966         * config/accel/thread-stacksize.h: ... to here.
8968 2019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
8969             Tobias Burnus  <tobias@codesourcery.com>
8970             Frederik Harwath  <frederik@codesourcery.com>
8971             Thomas Schwinge  <thomas@codesourcery.com>
8973         libgomp/
8974         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
8975         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
8976         * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
8978 2019-11-11  Tobias Burnus  <tobias@codesourcery.com>
8979             Kwok Cheung Yeung  <kcy@codesourcery.com>
8981         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
8982         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
8984 2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
8986         * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
8988         * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
8989         run'.
8990         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8991         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
8993 2019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
8995         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
8996         Add expected warnings about missing reduction clauses.
8997         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8998         Likewise.
8999         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
9000         Likewise.
9001         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
9002         Likewise.
9004 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
9006         * testsuite/libgomp.fortran/pr66199-1.f90: Remove
9007         'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
9008         * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
9009         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9010         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9011         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9013 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
9015         PR fortran/92305
9016         * testsuite/libgomp.fortran/allocatable2.f90: Use
9017         unique numbers with 'stop'.
9018         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9019         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9020         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
9021         * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
9022         * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
9024 2019-11-01  Tobias Burnus  <tobias@codesourcery.com>
9026         * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
9027         test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
9028         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
9029         * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
9030         * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
9031         * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
9033 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
9035         * testsuite/libgomp.fortran/target9.f90: New.
9037 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
9039         * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
9040         * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
9041         * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
9042         * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
9043         * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
9044         * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
9045         * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
9046         * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
9047         * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
9048         * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
9049         * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
9050         * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
9051         * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
9052         * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
9053         * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
9054         * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
9055         * testsuite/libgomp.fortran/associate1.f90: Ditto.
9056         * testsuite/libgomp.fortran/associate2.f90: Ditto.
9057         * testsuite/libgomp.fortran/associate3.f90: Ditto.
9058         * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
9059         * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
9060         * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
9061         * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
9062         * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
9063         * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
9064         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
9065         * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
9066         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
9067         * testsuite/libgomp.fortran/character1.f90: Ditto.
9068         * testsuite/libgomp.fortran/character2.f90: Ditto.
9069         * testsuite/libgomp.fortran/collapse1.f90: Ditto.
9070         * testsuite/libgomp.fortran/collapse2.f90: Ditto.
9071         * testsuite/libgomp.fortran/collapse3.f90: Ditto.
9072         * testsuite/libgomp.fortran/collapse4.f90: Ditto.
9073         * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
9074         * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
9075         * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
9076         * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
9077         * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
9078         * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
9079         * testsuite/libgomp.fortran/depend-1.f90: Ditto.
9080         * testsuite/libgomp.fortran/depend-2.f90: Ditto.
9081         * testsuite/libgomp.fortran/depend-3.f90: Ditto.
9082         * testsuite/libgomp.fortran/do1.f90: Ditto.
9083         * testsuite/libgomp.fortran/do2.f90: Ditto.
9084         * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
9085         * testsuite/libgomp.fortran/doacross1.f90: Ditto.
9086         * testsuite/libgomp.fortran/doacross2.f90: Ditto.
9087         * testsuite/libgomp.fortran/doacross3.f90: Ditto.
9088         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
9089         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
9090         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
9091         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
9092         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
9093         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
9094         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
9095         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
9096         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
9097         * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
9098         * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
9099         * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
9100         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
9101         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
9102         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
9103         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
9104         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
9105         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
9106         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
9107         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
9108         * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
9109         * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
9110         * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
9111         * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
9112         * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
9113         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
9114         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
9115         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
9116         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
9117         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
9118         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
9119         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
9120         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
9121         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
9122         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
9123         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
9124         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
9125         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
9126         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
9127         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
9128         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
9129         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
9130         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
9131         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
9132         * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
9133         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9134         * testsuite/libgomp.fortran/lib1.f90: Ditto.
9135         * testsuite/libgomp.fortran/lib4.f90: Ditto.
9136         * testsuite/libgomp.fortran/lock-1.f90: Ditto.
9137         * testsuite/libgomp.fortran/lock-2.f90: Ditto.
9138         * testsuite/libgomp.fortran/nested1.f90: Ditto.
9139         * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
9140         * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
9141         * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
9142         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9143         * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
9144         * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
9145         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
9146         * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
9147         * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
9148         * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
9149         * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
9150         * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
9151         * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
9152         * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
9153         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
9154         * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
9155         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
9156         * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
9157         * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
9158         * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
9159         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
9160         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
9161         * testsuite/libgomp.fortran/pointer1.f90: Ditto.
9162         * testsuite/libgomp.fortran/pointer2.f90: Ditto.
9163         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9164         * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
9165         * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
9166         * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
9167         * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
9168         * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
9169         * testsuite/libgomp.fortran/pr28390.f: Ditto.
9170         * testsuite/libgomp.fortran/pr29629.f90: Ditto.
9171         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9172         * testsuite/libgomp.fortran/pr33880.f90: Ditto.
9173         * testsuite/libgomp.fortran/pr34020.f90: Ditto.
9174         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9175         * testsuite/libgomp.fortran/pr42162.f90: Ditto.
9176         * testsuite/libgomp.fortran/pr46753.f90: Ditto.
9177         * testsuite/libgomp.fortran/pr48894.f90: Ditto.
9178         * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
9179         * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
9180         * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
9181         * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
9182         * testsuite/libgomp.fortran/pr65597.f90: Ditto.
9183         * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
9184         * testsuite/libgomp.fortran/pr71014.f90: Ditto.
9185         * testsuite/libgomp.fortran/pr81304.f90: Ditto.
9186         * testsuite/libgomp.fortran/pr81841.f90: Ditto.
9187         * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
9188         * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
9189         * testsuite/libgomp.fortran/procptr1.f90: Ditto.
9190         * testsuite/libgomp.fortran/recursion1.f90: Ditto.
9191         * testsuite/libgomp.fortran/reduction1.f90: Ditto.
9192         * testsuite/libgomp.fortran/reduction2.f90: Ditto.
9193         * testsuite/libgomp.fortran/reduction3.f90: Ditto.
9194         * testsuite/libgomp.fortran/reduction4.f90: Ditto.
9195         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9196         * testsuite/libgomp.fortran/reduction6.f90: Ditto.
9197         * testsuite/libgomp.fortran/reference1.f90: Ditto.
9198         * testsuite/libgomp.fortran/reference2.f90: Ditto.
9199         * testsuite/libgomp.fortran/retval1.f90: Ditto.
9200         * testsuite/libgomp.fortran/retval2.f90: Ditto.
9201         * testsuite/libgomp.fortran/sharing1.f90: Ditto.
9202         * testsuite/libgomp.fortran/sharing2.f90: Ditto.
9203         * testsuite/libgomp.fortran/simd1.f90: Ditto.
9204         * testsuite/libgomp.fortran/simd2.f90: Ditto.
9205         * testsuite/libgomp.fortran/simd3.f90: Ditto.
9206         * testsuite/libgomp.fortran/simd4.f90: Ditto.
9207         * testsuite/libgomp.fortran/simd5.f90: Ditto.
9208         * testsuite/libgomp.fortran/simd6.f90: Ditto.
9209         * testsuite/libgomp.fortran/simd7.f90: Ditto.
9210         * testsuite/libgomp.fortran/stack.f90: Ditto.
9211         * testsuite/libgomp.fortran/strassen.f90: Ditto.
9212         * testsuite/libgomp.fortran/tabs1.f90: Ditto.
9213         * testsuite/libgomp.fortran/tabs2.f: Ditto.
9214         * testsuite/libgomp.fortran/target1.f90: Ditto.
9215         * testsuite/libgomp.fortran/target2.f90: Ditto.
9216         * testsuite/libgomp.fortran/target3.f90: Ditto.
9217         * testsuite/libgomp.fortran/target4.f90: Ditto.
9218         * testsuite/libgomp.fortran/target5.f90: Ditto.
9219         * testsuite/libgomp.fortran/target6.f90: Ditto.
9220         * testsuite/libgomp.fortran/target7.f90: Ditto.
9221         * testsuite/libgomp.fortran/target8.f90: Ditto.
9222         * testsuite/libgomp.fortran/task1.f90: Ditto.
9223         * testsuite/libgomp.fortran/task2.f90: Ditto.
9224         * testsuite/libgomp.fortran/task3.f90: Ditto.
9225         * testsuite/libgomp.fortran/task4.f90: Ditto.
9226         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9227         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9228         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9229         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9230         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9231         * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
9232         * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
9233         * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
9234         * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
9235         * testsuite/libgomp.fortran/udr1.f90: Ditto.
9236         * testsuite/libgomp.fortran/udr10.f90: Ditto.
9237         * testsuite/libgomp.fortran/udr11.f90: Ditto.
9238         * testsuite/libgomp.fortran/udr12.f90: Ditto.
9239         * testsuite/libgomp.fortran/udr13.f90: Ditto.
9240         * testsuite/libgomp.fortran/udr14.f90: Ditto.
9241         * testsuite/libgomp.fortran/udr15.f90: Ditto.
9242         * testsuite/libgomp.fortran/udr2.f90: Ditto.
9243         * testsuite/libgomp.fortran/udr3.f90: Ditto.
9244         * testsuite/libgomp.fortran/udr4.f90: Ditto.
9245         * testsuite/libgomp.fortran/udr5.f90: Ditto.
9246         * testsuite/libgomp.fortran/udr6.f90: Ditto.
9247         * testsuite/libgomp.fortran/udr7.f90: Ditto.
9248         * testsuite/libgomp.fortran/udr8.f90: Ditto.
9249         * testsuite/libgomp.fortran/udr9.f90: Ditto.
9250         * testsuite/libgomp.fortran/vla1.f90: Ditto.
9251         * testsuite/libgomp.fortran/vla2.f90: Ditto.
9252         * testsuite/libgomp.fortran/vla3.f90: Ditto.
9253         * testsuite/libgomp.fortran/vla4.f90: Ditto.
9254         * testsuite/libgomp.fortran/vla5.f90: Ditto.
9255         * testsuite/libgomp.fortran/vla6.f90: Ditto.
9256         * testsuite/libgomp.fortran/vla7.f90: Ditto.
9257         * testsuite/libgomp.fortran/vla8.f90: Ditto.
9258         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9259         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9261 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
9263         * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
9264         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
9265         Ditto; add 'dg-do run' for torture testing.
9266         * testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
9267         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9268         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9269         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9270         * testsuite/libgomp.fortran/pr28390.f: Ditto.
9271         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9272         * testsuite/libgomp.fortran/pr90779.f90: Ditto.
9273         * testsuite/libgomp.fortran/task2.f90: Ditto.
9274         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9275         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9276         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9277         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9278         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9279         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9281 2019-10-28  Tobias Burnus  <tobias@codesourcery.com>
9283         * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
9284         * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
9285         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
9286         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
9287         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
9288         * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
9289         * testsuite/libgomp.oacc-fortran/common-block-1.f90:
9290         Use 'stop' not abort().
9291         * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
9292         * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
9293         * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
9294         * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
9295         * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
9296         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
9297         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
9298         * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
9299         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
9300         * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
9301         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
9302         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
9303         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
9304         * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
9305         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
9306         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
9307         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9308         Ditto.
9309         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9310         Ditto.
9311         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9312         Ditto.
9313         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9314         Ditto.
9315         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9316         Ditto.
9317         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
9318         Ditto.
9319         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
9320         Ditto.
9321         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
9322         Ditto.
9323         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
9324         Ditto.
9325         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
9326         Ditto.
9327         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
9328         Ditto.
9329         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
9330         Ditto.
9331         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
9332         Ditto.
9333         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
9334         Ditto.
9335         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
9336         * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
9337         * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
9338         * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
9339         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9340         Likewise and also add 'dg-do run'.
9341         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9342         Ditto.
9344 2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
9345             Tobias Burnus  <tobias@codesourcery.com>
9347         * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
9348         * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
9349         * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
9351 2019-10-14  Jakub Jelinek  <jakub@redhat.com>
9353         PR libgomp/92081
9354         * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
9355         than 0.
9357 2019-10-11  Tobias Burnus  <tobias@codesourcery.com>
9359         * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
9360         * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
9362 2019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
9364         PR middle-end/92036
9365         * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
9366         file.
9368 2019-10-09  Tobias Burnus  <tobias@codesourcery.com>
9370         PR testsuite/91884
9371         * testsuite/libgomp.fortran/fortran.exp: Conditionally
9372         add -lquadmath.
9373         * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
9375 2019-10-09  Jakub Jelinek  <jakub@redhat.com>
9377         PR libgomp/92028
9378         * target.c (gomp_map_vars_internal): Readd the previous
9379         GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
9380         though do that just in the !not_found_cnt case.
9382 2019-10-08  Tobias Burnus  <tobias@codesourcery.com>
9384         * gfortran.dg/gomp/target-simd.f90: New.
9386 2019-10-02  Julian Brown  <julian@codesourcery.com>
9387             Cesar Philippidis  <cesar@codesourcery.com>
9389         * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
9390         * target.c (FIELD_TGT_EMPTY): Define.
9391         (gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
9392         as switch instead of list of ifs.
9393         (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
9395 2019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
9397         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
9398         include. Replace alloca () with __builtin_alloca ().
9399         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
9401 2019-10-01  Jakub Jelinek  <jakub@redhat.com>
9403         * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
9404         * libgomp.h: Include <stdint.h> instead of "gstdint.h".
9405         * oacc-parallel.c: Don't include "libgomp_g.h".
9406         * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
9407         * plugin/plugin-nvptx.c: Don't include "gstdint.h".
9408         * aclocal.m4: Regenerated.
9409         * config.h.in: Regenerated.
9410         * configure: Regenerated.
9411         * Makefile.in: Regenerated.
9413 2019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
9415         * libgomp_g.h: Include stdint.h instead of gstdint.h.
9417 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
9419         * configure: Regenerate.
9421 2019-09-13  Tobias Burnus  <tobias@codesourcery.com>
9423         * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
9424         string is initialized.
9426 2019-09-06  Florian Weimer  <fweimer@redhat.com>
9428         * configure: Regenerate.
9430 2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
9432         PR other/79543
9433         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
9434         scanning to conform to the GNU Coding Standards.
9435         * configure: Regenerate.
9437 2019-08-28  Jakub Jelinek  <jakub@redhat.com>
9439         PR libgomp/91530
9440         * testsuite/libgomp.c/scan-21.c: New test.
9441         * testsuite/libgomp.c/scan-22.c: New test.
9443 2019-08-27  Jakub Jelinek  <jakub@redhat.com>
9445         PR libgomp/91530
9446         * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
9447         targets.
9448         * testsuite/libgomp.c/scan-12.c: Likewise.
9449         * testsuite/libgomp.c/scan-13.c: Likewise.
9450         * testsuite/libgomp.c/scan-14.c: Likewise.
9451         * testsuite/libgomp.c/scan-15.c: Likewise.
9452         * testsuite/libgomp.c/scan-16.c: Likewise.
9453         * testsuite/libgomp.c/scan-17.c: Likewise.
9454         * testsuite/libgomp.c/scan-18.c: Likewise.
9455         * testsuite/libgomp.c/scan-19.c: Likewise.
9456         * testsuite/libgomp.c/scan-20.c: Likewise.
9457         * testsuite/libgomp.c++/scan-9.C: Likewise.
9458         * testsuite/libgomp.c++/scan-10.C: Likewise.
9459         * testsuite/libgomp.c++/scan-11.C: Likewise.
9460         * testsuite/libgomp.c++/scan-12.C: Likewise.
9461         * testsuite/libgomp.c++/scan-14.C: Likewise.
9462         * testsuite/libgomp.c++/scan-15.C: Likewise.
9463         * testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
9464         instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
9465         * testsuite/libgomp.c++/scan-16.C: Likewise.
9467 2019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
9469         PR fortran/91473
9470         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
9471         -std=legacy so invalid code in the test case is accepted.
9473 2019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
9475         PR fortran/91422
9476         * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
9477         dimension.
9479 2019-08-08  Jakub Jelinek  <jakub@redhat.com>
9481         * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
9482         perform the lookup in the first loop only if !not_found_cnt, otherwise
9483         perform lookups for it in the second loop guarded with
9484         if (not_found_cnt || has_firstprivate).
9485         * testsuite/libgomp.c/target-37.c: New test.
9486         * testsuite/libgomp.c++/target-22.C: New test.
9488 2019-08-07  Jakub Jelinek  <jakub@redhat.com>
9490         * testsuite/libgomp.c/target-18.c (struct S): New type.
9491         (foo): Use use_device_addr clause instead of use_device_ptr clause
9492         where required by OpenMP 5.0, add further tests for both use_device_ptr
9493         and use_device_addr clauses.
9494         * testsuite/libgomp.c++/target-9.C (struct S): New type.
9495         (foo): Use use_device_addr clause instead of use_device_ptr clause
9496         where required by OpenMP 5.0, add further tests for both use_device_ptr
9497         and use_device_addr clauses.  Add t and u arguments.
9498         (main): Adjust caller.
9500 2019-08-06  Jakub Jelinek  <jakub@redhat.com>
9502         * testsuite/libgomp.c++/loop-13.C: New test.
9503         * testsuite/libgomp.c++/loop-14.C: New test.
9504         * testsuite/libgomp.c++/loop-15.C: New test.
9506 2019-07-31  Jakub Jelinek  <jakub@redhat.com>
9508         PR middle-end/91301
9509         * testsuite/libgomp.c++/for-27.C: New test.
9511 2019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
9513         * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
9514         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9516 2019-07-20  Jakub Jelinek  <jakub@redhat.com>
9518         * testsuite/libgomp.c-c++-common/loop-1.c: New test.
9520 2019-07-08  Jakub Jelinek  <jakub@redhat.com>
9522         * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
9523         * testsuite/libgomp.c++/scan-16.C: Likewise.
9525 2019-07-06  Jakub Jelinek  <jakub@redhat.com>
9527         * testsuite/libgomp.c/scan-19.c: New test.
9528         * testsuite/libgomp.c/scan-20.c: New test.
9530         * testsuite/libgomp.c/scan-11.c: New test.
9531         * testsuite/libgomp.c/scan-12.c: New test.
9532         * testsuite/libgomp.c/scan-13.c: New test.
9533         * testsuite/libgomp.c/scan-14.c: New test.
9534         * testsuite/libgomp.c/scan-15.c: New test.
9535         * testsuite/libgomp.c/scan-16.c: New test.
9536         * testsuite/libgomp.c/scan-17.c: New test.
9537         * testsuite/libgomp.c/scan-18.c: New test.
9538         * testsuite/libgomp.c++/scan-9.C: New test.
9539         * testsuite/libgomp.c++/scan-10.C: New test.
9540         * testsuite/libgomp.c++/scan-11.C: New test.
9541         * testsuite/libgomp.c++/scan-12.C: New test.
9542         * testsuite/libgomp.c++/scan-13.C: New test.
9543         * testsuite/libgomp.c++/scan-14.C: New test.
9544         * testsuite/libgomp.c++/scan-15.C: New test.
9545         * testsuite/libgomp.c++/scan-16.C: New test.
9547 2019-07-04  Jakub Jelinek  <jakub@redhat.com>
9549         * testsuite/libgomp.c/scan-9.c: New test.
9550         * testsuite/libgomp.c/scan-10.c: New test.
9552 2019-07-03  Jakub Jelinek  <jakub@redhat.com>
9554         * testsuite/libgomp.c++/scan-1.C: New test.
9555         * testsuite/libgomp.c++/scan-2.C: New test.
9556         * testsuite/libgomp.c++/scan-3.C: New test.
9557         * testsuite/libgomp.c++/scan-4.C: New test.
9558         * testsuite/libgomp.c++/scan-5.C: New test.
9559         * testsuite/libgomp.c++/scan-6.C: New test.
9560         * testsuite/libgomp.c++/scan-7.C: New test.
9561         * testsuite/libgomp.c++/scan-8.C: New test.
9562         * testsuite/libgomp.c/scan-1.c: New test.
9563         * testsuite/libgomp.c/scan-2.c: New test.
9564         * testsuite/libgomp.c/scan-3.c: New test.
9565         * testsuite/libgomp.c/scan-4.c: New test.
9566         * testsuite/libgomp.c/scan-5.c: New test.
9567         * testsuite/libgomp.c/scan-6.c: New test.
9568         * testsuite/libgomp.c/scan-7.c: New test.
9569         * testsuite/libgomp.c/scan-8.c: New test.
9571 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
9573         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
9574         * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
9575         Likewise.
9577         * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
9578         check.
9580 2019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
9582         * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
9583         file.
9585 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
9587         PR fortran/90743
9588         * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
9589         case.
9590         * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
9591         * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
9592         * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
9593         * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
9595         PR testsuite/90861
9596         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
9598         PR middle-end/90862
9599         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
9601 2019-06-16  Tom de Vries  <tdevries@suse.de>
9603         PR tree-optimization/89376
9604         * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
9606 2019-06-15  Tom de Vries  <tdevries@suse.de>
9608         PR tree-optimization/89713
9609         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
9610         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
9612 2019-06-15  Jakub Jelinek  <jakub@redhat.com>
9614         PR middle-end/90779
9615         * testsuite/libgomp.c/pr90779.c: New test.
9616         * testsuite/libgomp.fortran/pr90779.f90: New test.
9618 2019-06-15  Tom de Vries  <tdevries@suse.de>
9620         PR tree-optimization/90009
9621         * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
9623 2019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
9625         PR tree-optimization/89713
9626         * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
9628 2019-06-11  Jakub Jelinek  <jakub@redhat.com>
9630         PR target/90811
9631         * testsuite/libgomp.c/pr90811.c: New test.
9633 2019-06-05  Jakub Jelinek  <jakub@redhat.com>
9635         * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9636         * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
9638 2019-06-04  Jakub Jelinek  <jakub@redhat.com>
9640         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
9641         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
9642         * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
9643         * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
9645 2019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9647         * configure.ac: Call AX_COUNT_CPUS.
9648         Substitute CPU_COUNT.
9649         * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
9650         count fallback.
9651         * aclocal.m4: Regenerate.
9652         * configure: Regenerate.
9653         * Makefile.in, testsuite/Makefile.in: Regenerate.
9655 2019-05-29  Jakub Jelinek  <jakub@redhat.com>
9657         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
9658         to ...
9659         * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
9660         * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
9661         * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
9663 2019-05-27  Jakub Jelinek  <jakub@redhat.com>
9665         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
9667         * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
9669         PR libgomp/90641
9670         * work.c (gomp_init_work_share): Instead of aligning final ordered
9671         value to multiples of long long alignment, align to that the
9672         first part (ordered team ids) and if inline_ordered_team_ids
9673         is not on a long long alignment boundary within the structure,
9674         use __alignof__ (long long) - 1 pad size always.
9675         * loop.c (GOMP_loop_start): Fix *mem computation if
9676         inline_ordered_team_ids is not aligned on long long alignment boundary
9677         within the structure.
9678         * loop-ull.c (GOMP_loop_ull_start): Likewise.
9679         * sections.c (GOMP_sections2_start): Likewise.
9681 2019-05-24  Jakub Jelinek  <jakub@redhat.com>
9683         * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
9684         * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
9686         PR libgomp/90585
9687         * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
9688         HAVE_INTTYPES_H is defined.
9689         (print_uint64_t): New typedef.
9690         (PRIu64): Define if HAVE_INTTYPES_H is not defined.
9691         (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
9692         "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
9693         (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
9694         before casting to void *.
9695         * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
9696         * oacc-mem.c: Don't include config.h nor stdint.h.
9697         * target.c: Don't include config.h.
9698         * oacc-cuda.c: Likewise.
9699         * oacc-host.c: Don't include stdint.h.
9701 2019-05-20  Jakub Jelinek  <jakub@redhat.com>
9703         PR libgomp/90527
9704         * alloc.c (_GNU_SOURCE): Define.
9706 2019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
9708         * acc_prof.h: New file.
9709         * oacc-profiling.c: Likewise.
9710         * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
9711         Add these, respectively.
9712         * Makefile.in: Regenerate.
9713         * env.c (initialize_env): Call goacc_profiling_initialize.
9714         * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
9715         (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
9716         * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
9717         (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
9718         * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
9719         acc_prof_register, acc_prof_unregister, and acc_register_library.
9720         (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
9721         GOMP_PLUGIN_goacc_thread.
9722         * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
9723         prof_callbacks_enabled members.
9724         (goacc_prof_enabled, goacc_profiling_initialize)
9725         (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
9726         (goacc_profiling_dispatch): Declare.
9727         (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
9728         (GOACC_PROFILING_SETUP_P): Define.
9729         * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
9730         (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
9731         OpenACC Profiling Interface.
9732         * oacc-cuda.c (acc_get_current_cuda_device)
9733         (acc_get_current_cuda_context, acc_get_cuda_stream)
9734         (acc_set_cuda_stream): Likewise.
9735         * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
9736         (acc_init, acc_set_device_type, acc_get_device_type)
9737         (acc_get_device_num, goacc_lazy_initialize): Likewise.
9738         * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
9739         (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
9740         (acc_unmap_data, present_create_copy, delete_copyout)
9741         (update_dev_host): Likewise.
9742         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
9743         (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
9744         Likewise.
9745         * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
9746         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
9747         Likewise.
9748         * libgomp.texi: Update.
9749         * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
9750         file.
9751         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
9752         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
9753         Likewise.
9754         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
9755         Likewise.
9756         * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
9757         Likewise.
9758         * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
9759         Likewise.
9761 2019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
9763         * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
9764         (struct goacc_asyncqueue_list): Likewise.
9765         (goacc_aq): Likewise.
9766         (goacc_aq_list): Likewise.
9767         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9768         (GOMP_OFFLOAD_openacc_async_test): Remove.
9769         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9770         (GOMP_OFFLOAD_openacc_async_wait): Remove.
9771         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9772         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9773         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9774         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9775         (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
9776         (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
9777         (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
9778         (GOMP_OFFLOAD_openacc_async_exec): Declare.
9779         (GOMP_OFFLOAD_openacc_async_construct): Declare.
9780         (GOMP_OFFLOAD_openacc_async_destruct): Declare.
9781         (GOMP_OFFLOAD_openacc_async_test): Declare.
9782         (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
9783         (GOMP_OFFLOAD_openacc_async_serialize): Declare.
9784         (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
9785         (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
9786         (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
9788         * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
9789         (gomp_acc_insert_pointer): Adjust declaration.
9790         (gomp_copy_host2dev): New declaration.
9791         (gomp_copy_dev2host): Likewise.
9792         (gomp_map_vars_async): Likewise.
9793         (gomp_unmap_tgt): Likewise.
9794         (gomp_unmap_vars_async): Likewise.
9795         (gomp_fini_device): Likewise.
9797         * oacc-async.c (get_goacc_thread): New function.
9798         (get_goacc_thread_device): New function.
9799         (lookup_goacc_asyncqueue): New function.
9800         (get_goacc_asyncqueue): New function.
9801         (acc_async_test): Adjust code to use new async design.
9802         (acc_async_test_all): Likewise.
9803         (acc_wait): Likewise.
9804         (acc_wait_async): Likewise.
9805         (acc_wait_all): Likewise.
9806         (acc_wait_all_async): Likewise.
9807         (goacc_async_free): New function.
9808         (goacc_init_asyncqueues): Likewise.
9809         (goacc_fini_asyncqueues): Likewise.
9810         * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
9811         design.
9812         (acc_set_cuda_stream): Likewise.
9813         * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
9814         (host_openacc_register_async_cleanup): Remove.
9815         (host_openacc_async_exec): New function.
9816         (host_openacc_async_test): Adjust parameters.
9817         (host_openacc_async_test_all): Remove.
9818         (host_openacc_async_wait): Remove.
9819         (host_openacc_async_wait_async): Remove.
9820         (host_openacc_async_wait_all): Remove.
9821         (host_openacc_async_wait_all_async): Remove.
9822         (host_openacc_async_set_async): Remove.
9823         (host_openacc_async_synchronize): New function.
9824         (host_openacc_async_serialize): New function.
9825         (host_openacc_async_host2dev): New function.
9826         (host_openacc_async_dev2host): New function.
9827         (host_openacc_async_queue_callback): New function.
9828         (host_openacc_async_construct): New function.
9829         (host_openacc_async_destruct): New function.
9830         (struct gomp_device_descr host_dispatch): Remove initialization of old
9831         interface, add initialization of new async sub-struct.
9832         * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
9833         (goacc_attach_host_thread_to_device): Remove old async code usage.
9834         * oacc-int.h (goacc_init_asyncqueues): New declaration.
9835         (goacc_fini_asyncqueues): Likewise.
9836         (goacc_async_copyout_unmap_vars): Likewise.
9837         (goacc_async_free): Likewise.
9838         (get_goacc_asyncqueue): Likewise.
9839         (lookup_goacc_asyncqueue): Likewise.
9840         * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
9841         design.
9842         (present_create_copy): Adjust code to use new async design.
9843         (delete_copyout): Likewise.
9844         (update_dev_host): Likewise.
9845         (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
9846         async design.
9847         (gomp_acc_remove_pointer): Adjust code to use new async design.
9848         * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
9849         design.
9850         (GOACC_enter_exit_data): Likewise.
9851         (goacc_wait): Likewise.
9852         (GOACC_update): Likewise.
9853         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
9854         when called, warn as obsolete in comment.
9855         * target.c (goacc_device_copy_async): New function.
9856         (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
9857         add goacc_device_copy_async case.
9858         (gomp_copy_dev2host): Likewise.
9859         (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
9860         (gomp_map_pointer): Likewise.
9861         (gomp_map_fields_existing): Likewise.
9862         (gomp_map_vars_internal): New always_inline function, renamed from
9863         gomp_map_vars.
9864         (gomp_map_vars): Implement by calling gomp_map_vars_internal.
9865         (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
9866         passing goacc_asyncqueue argument.
9867         (gomp_unmap_tgt): Remove static, add attribute_hidden.
9868         (gomp_unref_tgt): New function.
9869         (gomp_unmap_vars_internal): New always_inline function, renamed from
9870         gomp_unmap_vars.
9871         (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
9872         (gomp_unmap_vars_async): Implement by calling
9873         gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
9874         (gomp_fini_device): New function.
9875         (gomp_exit_data): Adjust gomp_copy_dev2host call.
9876         (gomp_load_plugin_for_device): Remove old interface, adjust to load
9877         new async interface.
9878         (gomp_target_fini): Adjust code to call gomp_fini_device.
9880         * plugin/plugin-nvptx.c (struct cuda_map): Remove.
9881         (struct ptx_stream): Remove.
9882         (struct nvptx_thread): Remove current_stream field.
9883         (cuda_map_create): Remove.
9884         (cuda_map_destroy): Remove.
9885         (map_init): Remove.
9886         (map_fini): Remove.
9887         (map_pop): Remove.
9888         (map_push): Remove.
9889         (struct goacc_asyncqueue): Define.
9890         (struct nvptx_callback): Define.
9891         (struct ptx_free_block): Define.
9892         (struct ptx_device): Remove null_stream, active_streams, async_streams,
9893         stream_lock, and next fields.
9894         (enum ptx_event_type): Remove.
9895         (struct ptx_event): Remove.
9896         (ptx_event_lock): Remove.
9897         (ptx_events): Remove.
9898         (init_streams_for_device): Remove.
9899         (fini_streams_for_device): Remove.
9900         (select_stream_for_async): Remove.
9901         (nvptx_init): Remove ptx_events and ptx_event_lock references.
9902         (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
9903         case.
9904         (nvptx_open_device): Add free_blocks initialization, remove
9905         init_streams_for_device call.
9906         (nvptx_close_device): Remove fini_streams_for_device call, add
9907         free_blocks destruct code.
9908         (event_gc): Remove.
9909         (event_add): Remove.
9910         (nvptx_exec): Adjust parameters and code.
9911         (nvptx_free): Likewise.
9912         (nvptx_host2dev): Remove.
9913         (nvptx_dev2host): Remove.
9914         (nvptx_set_async): Remove.
9915         (nvptx_async_test): Remove.
9916         (nvptx_async_test_all): Remove.
9917         (nvptx_wait): Remove.
9918         (nvptx_wait_async): Remove.
9919         (nvptx_wait_all): Remove.
9920         (nvptx_wait_all_async): Remove.
9921         (nvptx_get_cuda_stream): Remove.
9922         (nvptx_set_cuda_stream): Remove.
9923         (GOMP_OFFLOAD_alloc): Adjust code.
9924         (GOMP_OFFLOAD_free): Likewise.
9925         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9926         (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
9927         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9928         (GOMP_OFFLOAD_openacc_async_wait): Remove.
9929         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9930         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9931         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9932         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9933         (cuda_free_argmem): New function.
9934         (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
9935         (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
9936         (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
9937         (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
9938         (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
9939         (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
9940         (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
9941         (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
9942         (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
9943         (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
9944         (cuda_callback_wrapper): New function.
9945         (cuda_memcpy_sanity_check): New function.
9946         (GOMP_OFFLOAD_host2dev): Remove and re-implement.
9947         (GOMP_OFFLOAD_dev2host): Remove and re-implement.
9948         (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
9949         (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
9951 2019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
9953         PR target/87835
9954         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
9956 2019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
9958         * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
9960 2019-03-27  Kevin Buettner  <kevinb@redhat.com>
9962         * team.c (gomp_team_start): Initialize pool->threads[0].
9964 2019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
9966         * testsuite/libgomp.oacc-c++/c++.exp: Specify
9967         "-foffload=$offload_target".
9968         * testsuite/libgomp.oacc-c/c.exp: Likewise.
9969         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9970         * testsuite/lib/libgomp.exp
9971         (check_effective_target_openacc_nvidia_accel_configured): Remove,
9972         as (conceptually) merged into
9973         check_effective_target_openacc_nvidia_accel_selected.  Adjust all
9974         users.
9976         * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
9977         * testsuite/libgomp-test-support.exp.in: Adjust.
9978         * testsuite/lib/libgomp.exp: Likewise.  Don't populate
9979         openacc_device_types_s.
9980         (offload_target_to_openacc_device_type): New proc.
9981         * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
9982         * testsuite/libgomp.oacc-c/c.exp: Likewise.
9983         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9984         * Makefile.in: Regenerate.
9985         * configure: Likewise.
9986         * testsuite/Makefile.in: Likewise.
9988         * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
9989         instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
9990         instead of OFFLOAD_TARGETS.
9991         * target.c (gomp_target_init): Adjust.
9992         * testsuite/libgomp-test-support.exp.in: Likewise.
9993         * testsuite/lib/libgomp.exp: Likewise.  Populate
9994         openacc_device_types_s instead of offload_targets_s_openacc.
9995         (check_effective_target_openacc_nvidia_accel_selected)
9996         (check_effective_target_openacc_host_selected): Adjust.
9997         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9998         * testsuite/libgomp.oacc-c/c.exp: Likewise.
9999         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10000         * Makefile.in: Regenerate.
10001         * config.h.in: Likewise.
10002         * configure: Likewise.
10003         * testsuite/Makefile.in: Likewise.
10005         * testsuite/lib/libgomp.exp: Error out for unknown offload target.
10006         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
10007         "offloading: supported, but hardware not accessible".
10008         * testsuite/libgomp.oacc-c/c.exp: Likewise.
10009         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10011 2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
10013         PR c/87924
10014         * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
10015         goacc_wait().
10016         (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
10017         and related adjustment.
10019 2019-01-30  Jakub Jelinek  <jakub@redhat.com>
10021         PR c++/88988
10022         * testsuite/libgomp.c++/pr88988.C: New test.
10024 2019-01-28  Jakub Jelinek  <jakub@redhat.com>
10026         PR middle-end/89002
10027         * testsuite/libgomp.c/pr89002.c: New test.
10029 2019-01-28  Richard Biener  <rguenther@suse.de>
10031         PR testsuite/89064
10032         PR tree-optimization/86865
10033         * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
10035 2019-01-24  Tom de Vries  <tdevries@suse.de>
10037         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
10038         once instantiated_devices drops to 0.
10040 2019-01-23  Tom de Vries  <tdevries@suse.de>
10042         PR target/PR88946
10043         * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
10044         cuMemFree.
10045         (nvptx_exec): Don't call map_push if mapnum == 0.
10046         * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
10048 2019-01-23  Tom de Vries  <tdevries@suse.de>
10050         PR target/88941
10051         PR target/88939
10052         * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
10053         (map_fini): Remove "assert (!s->map->active)".
10054         * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
10056 2019-01-23  Tom de Vries  <tdevries@suse.de>
10058         PR target/87835
10059         * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
10060         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
10062 2019-01-15  Tom de Vries  <tdevries@suse.de>
10064         PR target/80547
10065         * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
10066         New test.
10068 2019-01-12  Tom de Vries  <tdevries@suse.de>
10070         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
10071         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
10072         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
10073         * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
10075 2019-01-12  Tom de Vries  <tdevries@suse.de>
10077         * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
10079 2019-01-12  Tom de Vries  <tdevries@suse.de>
10081         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
10082         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
10083         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
10085 2019-01-12  Tom de Vries  <tdevries@suse.de>
10087         PR target/85486
10088         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
10089         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
10091 2019-01-12  Tom de Vries  <tdevries@suse.de>
10093         PR target/85381
10094         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
10095         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
10097 2019-01-12  Tom de Vries  <tdevries@suse.de>
10099         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
10100         * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
10101         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
10103 2019-01-12  Tom de Vries  <tdevries@suse.de>
10105         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
10106         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
10107         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
10109 2019-01-12  Tom de Vries  <tdevries@suse.de>
10111         * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
10112         resources diagnostic.
10114 2019-01-12  Tom de Vries  <tdevries@suse.de>
10116         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
10117         vector length to be 128.
10118         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
10119         length 2097152 to be reduced to 1024 instead of 32.
10121 2019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
10122             James Norris  <jnorris@codesourcery.com>
10124         * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
10125         Library Routines", and "Environment Variables".
10127 2019-01-11  Tom de Vries  <tdevries@suse.de>
10129         * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
10130         num_workers 16.
10132 2019-01-11  Tom de Vries  <tdevries@suse.de>
10134         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
10135         -foffload=-w.
10136         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
10137         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
10138         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
10139         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
10141 2019-01-11  Tom de Vries  <tdevries@suse.de>
10143         * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
10144         test.
10146 2019-01-10  Nathan Sidwell  <nathan@acm.org>
10147             Julian Brown  <julian@codesourcery.com>
10149         PR lto/71959
10150         * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
10151         * testsuite/libgomp.oacc-c++/pr71959.C: New.
10153 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10155         * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
10156         and paste code.
10158 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
10160         * config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
10161         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10162         write.
10164 2019-01-09  Tom de Vries  <tdevries@suse.de>
10166         PR target/88756
10167         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
10168         #define instead of "const int".
10169         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
10170         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
10171         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
10172         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
10174 2019-01-09  Tom de Vries  <tdevries@suse.de>
10176         * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
10177         one worker.
10179 2019-01-07  Tom de Vries  <tdevries@suse.de>
10181         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
10182         GOMP_OPENACC_DIM argument.
10184 2019-01-03  Tom de Vries  <tdevries@suse.de>
10186         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
10187         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
10189 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
10191         Update copyright years.
10193 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
10195         * libgomp.texi: Bump @copying's copyright year.
10197 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
10199         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
10200         (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
10201         (GOACC_declare): Redefine the "device" argument to "flags".
10203 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
10204             Cesar Philippidis  <cesar@codesourcery.com>
10206         * target.c (struct gomp_coalesce_chunk): New structure.
10207         (struct gomp_coalesce_buf): Update the chunks member to use that
10208         type.  Adjust all users.
10210 2018-12-19  Tom de Vries  <tdevries@suse.de>
10212         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
10213         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
10214         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
10216 2018-12-19  Tom de Vries  <tdevries@suse.de>
10218         * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
10219         * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
10220         gcc/testsuite/gcc.dg/goacc.
10221         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
10223 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
10224             Chung-Lin Tang  <cltang@codesourcery.com>
10226         * oacc-mem.c (acc_present_or_create): Remove definition and change
10227         to alias of acc_create.
10228         (acc_present_or_copyin): Remove definition and change to alias of
10229         acc_copyin.
10230         * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
10231         of acc_present_or_create.
10232         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
10233         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10234         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10235         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10236         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10237         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10238         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10239         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10240         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10241         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10242         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10243         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10244         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10245         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10246         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10247         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10249 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
10251         PR libgomp/88495
10252         * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
10253         "identical parameters".
10254         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
10255         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
10257         PR libgomp/88484
10258         * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
10259         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
10261         PR libgomp/88407
10262         * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
10263         (nvptx_wait_async): Unseen async-argument is a no-op.
10264         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
10265         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
10266         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10267         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10268         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10269         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
10270         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
10271         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
10272         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
10274         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
10275         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10277 2018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
10279         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
10280         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10281         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10283 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
10285         PR libgomp/88370
10286         * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
10287         (acc_set_cuda_stream): Clarify.
10288         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10289         "async_valid_p".
10290         * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
10291         acc_async_sync".
10292         * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
10293         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
10294         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
10295         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10297 2018-12-14  Tom de Vries  <tdevries@suse.de>
10299         * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
10300         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
10301         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
10302         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
10303         * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
10305 2018-12-13  Tom de Vries  <tdevries@suse.de>
10307         * affinity-fmt.c (gomp_print_string): New function, factored out of ...
10308         (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
10309         * fortran.c (omp_display_affinity_): ... here.
10310         * libgomp.h (gomp_print_string): Declare.
10311         * config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
10312         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10313         write.
10315 2018-12-13  Jakub Jelinek  <jakub@redhat.com>
10317         PR libgomp/88460
10318         * testsuite/libgomp.c++/for-24.C (results): Include it in
10319         omp declare target region.
10320         (main): Use map (always, tofrom: results) instead of
10321         map (tofrom: results).
10323 2018-12-12  Jakub Jelinek  <jakub@redhat.com>
10325         PR fortran/88463
10326         * testsuite/libgomp.fortran/pr88463-1.f90: New test.
10327         * testsuite/libgomp.fortran/pr88463-2.f90: New test.
10329         * testsuite/libgomp.c-c++-common/for-16.c: New test.
10331 2018-12-12  Andreas Schwab  <schwab@suse.de>
10333         * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
10334         clobbered.
10336 2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
10338         PR fortran/88411
10339         * testsuite/libgomp.fortran/async_io_8.f90: New test.
10341 2018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
10342             Jakub Jelinek  <jakub@redhat.com>
10344         * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
10345         devicep->host2dev_func.
10347 2018-12-08  Jakub Jelinek  <jakub@redhat.com>
10349         PR libgomp/87995
10350         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
10351         tls_runtime effective target.
10352         (t): New threadprivate variable.
10353         (main): Set t in threads which execute iterations of the worksharing
10354         loop.  Propagate that to the task after the loop and don't abort
10355         if the current taskgroup hasn't been cancelled.
10357 2018-12-02  Jakub Jelinek  <jakub@redhat.com>
10359         * testsuite/libgomp.c/task-reduction-3.c: New test.
10361         * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
10363 2018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
10365         PR libgomp/88288
10366         * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
10367         * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
10369 2018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
10371         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
10373 2018-10-19  Richard Biener  <rguenther@suse.de>
10375         PR tree-optimization/88182
10376         * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
10378 2018-11-26  Jakub Jelinek  <jakub@redhat.com>
10380         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
10381         (RUNTEST): Don't define.
10382         (RUNTESTDEFAULTFLAGS): Add.
10383         (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
10384         (distclean-am): Depend on distclean-DEJAGNU.
10385         (check-am): If -j% option is present in MFLAGS and if
10386         `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
10387         (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
10388         * testsuite/Makefile.in: Regenerated.
10390 2018-11-26  Richard Biener  <rguenther@suse.de>
10392         PR tree-optimization/88182
10393         * testsuite/libgomp.c++/pr88182.C: New testcase.
10395 2018-11-20  Jakub Jelinek  <jakub@redhat.com>
10397         PR bootstrap/88106
10398         * config/mingw32/affinity-fmt.c: New file.
10400 2018-11-09  Jakub Jelinek  <jakub@redhat.com>
10402         * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
10403         (gomp_display_affinity): Use __builtin_choose_expr to handle
10404         properly handle argument having integral, or pointer or some other
10405         type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
10406         with uint64_t type instead of %llx and unsigned long long.
10408         * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
10409         * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
10411 2018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10413         * affinity.c: Include <string.h>, <stdio.h>.
10414         (gomp_display_affinity_place): Remove cpusetp.
10415         * teams.c: Include <limits.h>.
10417 2018-11-08  Jakub Jelinek  <jakub@redhat.com>
10419         * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
10420         in_reduction clause for s[0].
10422         * affinity.c (gomp_display_affinity_place): New function.
10423         * affinity-fmt.c: New file.
10424         * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
10425         * config/linux/affinity.c (gomp_display_affinity_place): New function.
10426         * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
10427         Move these functions to ...
10428         * config/nvptx/teams.c: ... here.  New file.
10429         * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
10430         New functions.
10431         * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
10432         functions.
10433         * configure.ac: Check for aligned_alloc, posix_memalign, memalign
10434         and _aligned_malloc.
10435         (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
10436         * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
10437         * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
10438         gomp_affinity_format_len): New variables.
10439         (parse_schedule): Parse monotonic and nonmonotonic modifiers in
10440         OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
10441         (handle_omp_display_env): Display monotonic/nonmonotonic schedule
10442         modifiers.  Display (non-default) chunk sizes.  Print
10443         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
10444         (initialize_env): Don't call pthread_attr_setdetachstate.  Handle
10445         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
10446         * fortran.c: Include stdio.h and string.h.
10447         (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
10448         (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
10449         (omp_set_affinity_format_, omp_get_affinity_format_,
10450         omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
10451         omp_pause_resource_all_): New functions.
10452         * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
10453         switch.
10454         * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
10455         functions to ...
10456         * teams.c: ... here.  New file.
10457         * libgomp_g.h: Include gstdint.h.
10458         (GOMP_loop_nonmonotonic_runtime_start,
10459         GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
10460         GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
10461         GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
10462         GOMP_parallel_loop_nonmonotonic_runtime,
10463         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10464         GOMP_loop_ull_nonmonotonic_runtime_start,
10465         GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
10466         GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
10467         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10468         GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
10469         GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
10470         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10471         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10472         GOMP_teams_reg): Declare.
10473         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
10474         gomp_aligned_alloc uses fallback implementation.
10475         (gomp_aligned_alloc, gomp_aligned_free): Declare.
10476         (enum gomp_schedule_type): Add GFS_MONOTONIC.
10477         (struct gomp_doacross_work_share): Add extra field.
10478         (struct gomp_work_share): Add task_reductions field.
10479         (struct gomp_taskgroup): Add workshare and reductions fields.
10480         (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
10481         (gomp_thread_handle): New typedef.
10482         (gomp_display_affinity_place, gomp_set_affinity_format,
10483         gomp_display_string, gomp_display_affinity,
10484         gomp_display_affinity_thread): Declare.
10485         (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
10486         (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
10487         gomp_workshare_task_reduction_register): Declare.
10488         (gomp_team_start): Add taskgroup argument.
10489         (gomp_pause_host): Declare.
10490         (gomp_init_work_share, gomp_work_share_start): Change bool argument
10491         to size_t.
10492         (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
10493         * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
10494         GOMP_loop_ordered_start, GOMP_loop_doacross_start,
10495         GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10496         GOMP_loop_ull_doacross_start,
10497         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10498         GOMP_loop_maybe_nonmonotonic_runtime_next,
10499         GOMP_loop_maybe_nonmonotonic_runtime_start,
10500         GOMP_loop_nonmonotonic_runtime_next,
10501         GOMP_loop_nonmonotonic_runtime_start,
10502         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10503         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10504         GOMP_loop_ull_nonmonotonic_runtime_next,
10505         GOMP_loop_ull_nonmonotonic_runtime_start,
10506         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10507         GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
10508         GOMP_taskgroup_reduction_register,
10509         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10510         GOMP_teams_reg and GOMP_taskwait_depend.
10511         (OMP_5.0): Export omp_pause_resource{,_all}{,_},
10512         omp_{capture,display}_affinity{,_}, and
10513         omp_[gs]et_affinity_format{,_}.
10514         * loop.c: Include string.h.
10515         (GOMP_loop_runtime_next): Add ialias.
10516         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10517         (gomp_loop_static_start, gomp_loop_dynamic_start,
10518         gomp_loop_guided_start, gomp_loop_ordered_static_start,
10519         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10520         gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10521         gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
10522         or gomp_doacross_init callers.
10523         (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
10524         GOMP_loop_doacross_start): New functions.
10525         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10526         GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
10527         Mask off GFS_MONOTONIC bit.
10528         (GOMP_loop_maybe_nonmonotonic_runtime_next,
10529         GOMP_loop_maybe_nonmonotonic_runtime_start,
10530         GOMP_loop_nonmonotonic_runtime_next,
10531         GOMP_loop_nonmonotonic_runtime_start,
10532         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10533         GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
10534         functions.
10535         (gomp_parallel_loop_start): Pass NULL as taskgroup to
10536         gomp_team_start.
10537         * loop_ull.c: Include string.h.
10538         (GOMP_loop_ull_runtime_next): Add ialias.
10539         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10540         (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
10541         gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
10542         gomp_loop_ull_ordered_dynamic_start,
10543         gomp_loop_ull_ordered_guided_start,
10544         gomp_loop_ull_doacross_static_start,
10545         gomp_loop_ull_doacross_dynamic_start,
10546         gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
10547         and gomp_doacross_ull_init callers.
10548         (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10549         GOMP_loop_ull_doacross_start): New functions.
10550         (GOMP_loop_ull_runtime_start,
10551         GOMP_loop_ull_ordered_runtime_start,
10552         GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
10553         (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10554         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10555         GOMP_loop_ull_nonmonotonic_runtime_next,
10556         GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
10557         * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
10558         * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
10559         (omp_pause_resource_t, omp_depend_t): New typedefs.
10560         (enum omp_lock_hint_t): Renamed to ...
10561         (enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
10562         enumerators using numbers and omp_lock_hint_* as their aliases.
10563         (omp_lock_hint_t): New typedef.  Rename to ...
10564         (omp_sync_hint_t): ... this.
10565         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
10566         omp_sync_hint_t instead of omp_lock_hint_t.
10567         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10568         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10569         Declare.
10570         (omp_target_is_present, omp_target_disassociate_ptr):
10571         Change first argument from void * to const void *.
10572         (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
10573         from void * to const void *.
10574         (omp_target_associate_ptr): Change first and second arguments from
10575         void * to const void *.
10576         * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
10577         omp_pause_hard): New parameters.
10578         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10579         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10580         New interfaces.
10581         * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
10582         omp_pause_hard): New parameters.
10583         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10584         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10585         New externals.
10586         * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
10587         EXTRA argument.  If not needed to prepare array, if extra is 0,
10588         clear ws->doacross, otherwise allocate just doacross structure and
10589         extra payload.  If array is needed, allocate also extra payload.
10590         (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
10591         GOMP_doacross_ull_wait): Handle doacross->array == NULL like
10592         doacross == NULL.
10593         * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
10594         gomp_team_start.
10595         (GOMP_parallel): Likewise.  Formatting fix.
10596         (GOMP_parallel_reductions): New function.
10597         (GOMP_cancellation_point): If taskgroup has workshare
10598         flag set, check cancelled of prev taskgroup if any.
10599         (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
10600         on prev taskgroup if any.
10601         * sections.c: Include string.h.
10602         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10603         (GOMP_sections_start): Adjust gomp_work_share_start caller.
10604         (GOMP_sections2_start): New function.
10605         (GOMP_parallel_sections_start, GOMP_parallel_sections):
10606         Pass NULL as taskgroup to gomp_team_start.
10607         * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
10608         gomp_work_share_start callers.
10609         * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
10610         If taskgroup has workshare flag set, check cancelled on prev
10611         taskgroup if any.  Guard all cancellation tests with
10612         gomp_cancel_var test.
10613         (omp_target_is_present, omp_target_disassociate_ptr):
10614         Change ptr argument from void * to const void *.
10615         (omp_target_memcpy): Change src argument from void * to const void *.
10616         (omp_target_memcpy_rect): Likewise.
10617         (omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
10618         instead of char * where needed.
10619         (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
10620         from void * to const void *.
10621         (omp_pause_resource, omp_pause_resource_all): New functions.
10622         * task.c (gomp_task_handle_depend): Handle new depend array format
10623         in addition to the old.  Handle mutexinoutset kinds the same as
10624         inout for now, handle unspecified kinds.
10625         (gomp_create_target_task): If taskgroup has workshare flag set, check
10626         cancelled on prev taskgroup if any.  Guard all cancellation tests with
10627         gomp_cancel_var test.  Handle new depend array format count in
10628         addition to the old.
10629         (GOMP_task): Likewise.  Adjust function comment.
10630         (gomp_task_run_pre): If taskgroup has workshare flag set, check
10631         cancelled on prev taskgroup if any.  Guard all cancellation tests with
10632         gomp_cancel_var test.
10633         (GOMP_taskwait_depend): New function.
10634         (gomp_task_maybe_wait_for_dependencies): Handle new depend array
10635         format in addition to the old.  Handle mutexinoutset kinds the same as
10636         inout for now, handle unspecified kinds.  Fix a function comment typo.
10637         (gomp_taskgroup_init): New function.
10638         (GOMP_taskgroup_start): Use it.
10639         (gomp_reduction_register, gomp_create_artificial_team,
10640         GOMP_taskgroup_reduction_register,
10641         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10642         gomp_parallel_reduction_register,
10643         gomp_workshare_task_reduction_register,
10644         gomp_workshare_taskgroup_start,
10645         GOMP_workshare_task_reduction_unregister): New functions.
10646         * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
10647         check cancelled on prev taskgroup if any.  Guard all cancellation
10648         tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
10649         by calling GOMP_taskgroup_reduction_register.
10650         * team.c (gomp_thread_attr): Remove comment.
10651         (struct gomp_thread_start_data): Add handle field.
10652         (gomp_thread_start): Call pthread_detach.
10653         (gomp_new_team): Adjust gomp_init_work_share caller.
10654         (gomp_free_pool_helper): Call pthread_detach.
10655         (gomp_team_start): Add taskgroup argument, initialize implicit
10656         tasks' taskgroup field to that.  Don't call
10657         pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
10658         (gomp_team_end): Determine nesting by thr->ts.level != 0
10659         rather than thr->ts.team != NULL.
10660         (gomp_pause_pool_helper, gomp_pause_host): New functions.
10661         * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
10662         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
10663         (gomp_init_work_share): Change ORDERED argument from bool to size_t,
10664         if more than 1 allocate also extra payload at the end of array.  Never
10665         keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
10666         (gomp_work_share_start): Change ORDERED argument from bool to size_t,
10667         return true instead of ws.
10668         * Makefile.in: Regenerated.
10669         * configure: Regenerated.
10670         * config.h.in: Regenerated.
10671         * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
10672         in some cases.
10673         * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
10674         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
10675         * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
10676         * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
10677         * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
10678         * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
10679         * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
10680         * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
10681         * testsuite/libgomp.c-c++-common/for-10.c: New test.
10682         * testsuite/libgomp.c-c++-common/for-11.c: New test.
10683         * testsuite/libgomp.c-c++-common/for-12.c: New test.
10684         * testsuite/libgomp.c-c++-common/for-13.c: New test.
10685         * testsuite/libgomp.c-c++-common/for-14.c: New test.
10686         * testsuite/libgomp.c-c++-common/for-15.c: New test.
10687         * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
10688         define a different N(test), don't define N(f0) to N(f14), but instead
10689         define N(f20) to N(f34) using != comparisons.
10690         * testsuite/libgomp.c-c++-common/for-7.c: New test.
10691         * testsuite/libgomp.c-c++-common/for-8.c: New test.
10692         * testsuite/libgomp.c-c++-common/for-9.c: New test.
10693         * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
10694         * testsuite/libgomp.c-c++-common/pause-1.c: New test.
10695         * testsuite/libgomp.c-c++-common/pause-2.c: New test.
10696         * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
10697         * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
10698         * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
10699         * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
10700         * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
10701         * testsuite/libgomp.c-c++-common/simd-1.c: New test.
10702         * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
10703         * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
10704         * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
10705         * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
10706         * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
10707         * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
10708         * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
10709         * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
10710         * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
10711         * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
10712         * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
10713         * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
10714         * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
10715         * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
10716         * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
10717         * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
10718         * testsuite/libgomp.c++/depend-1.C: New test.
10719         * testsuite/libgomp.c++/depend-iterator-1.C: New test.
10720         * testsuite/libgomp.c++/depobj-1.C: New test.
10721         * testsuite/libgomp.c++/for-16.C: New test.
10722         * testsuite/libgomp.c++/for-21.C: New test.
10723         * testsuite/libgomp.c++/for-22.C: New test.
10724         * testsuite/libgomp.c++/for-23.C: New test.
10725         * testsuite/libgomp.c++/for-24.C: New test.
10726         * testsuite/libgomp.c++/for-25.C: New test.
10727         * testsuite/libgomp.c++/for-26.C: New test.
10728         * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
10729         * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
10730         * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
10731         * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
10732         * testsuite/libgomp.c++/task-reduction-10.C: New test.
10733         * testsuite/libgomp.c++/task-reduction-11.C: New test.
10734         * testsuite/libgomp.c++/task-reduction-12.C: New test.
10735         * testsuite/libgomp.c++/task-reduction-13.C: New test.
10736         * testsuite/libgomp.c++/task-reduction-14.C: New test.
10737         * testsuite/libgomp.c++/task-reduction-15.C: New test.
10738         * testsuite/libgomp.c++/task-reduction-16.C: New test.
10739         * testsuite/libgomp.c++/task-reduction-17.C: New test.
10740         * testsuite/libgomp.c++/task-reduction-18.C: New test.
10741         * testsuite/libgomp.c++/task-reduction-19.C: New test.
10742         * testsuite/libgomp.c/task-reduction-1.c: New test.
10743         * testsuite/libgomp.c++/task-reduction-1.C: New test.
10744         * testsuite/libgomp.c/task-reduction-2.c: New test.
10745         * testsuite/libgomp.c++/task-reduction-2.C: New test.
10746         * testsuite/libgomp.c++/task-reduction-3.C: New test.
10747         * testsuite/libgomp.c++/task-reduction-4.C: New test.
10748         * testsuite/libgomp.c++/task-reduction-5.C: New test.
10749         * testsuite/libgomp.c++/task-reduction-6.C: New test.
10750         * testsuite/libgomp.c++/task-reduction-7.C: New test.
10751         * testsuite/libgomp.c++/task-reduction-8.C: New test.
10752         * testsuite/libgomp.c++/task-reduction-9.C: New test.
10753         * testsuite/libgomp.c/teams-1.c: New test.
10754         * testsuite/libgomp.c/teams-2.c: New test.
10755         * testsuite/libgomp.c/thread-limit-4.c: New test.
10756         * testsuite/libgomp.c/thread-limit-5.c: New test.
10757         * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
10759 2018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
10761         * oacc-mem.c (memcpy_tofrom_device): New function, combined from
10762         acc_memcpy_to/from_device functions, now with async parameter.
10763         (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
10764         (acc_memcpy_from_device): Likewise.
10765         (acc_memcpy_to_device_async): New API function.
10766         (acc_memcpy_from_device_async): Likewise.
10767         (present_create_copy): Add async parameter and async setting/unsetting.
10768         (acc_create): Adjust present_create_copy call.
10769         (acc_copyin): Likewise.
10770         (acc_present_or_create): Likewise.
10771         (acc_present_or_copyin): Likewise.
10772         (acc_create_async): New API function.
10773         (acc_copyin_async): New API function.
10774         (delete_copyout): Add async parameter and async setting/unsetting.
10775         (acc_delete): Adjust delete_copyout call.
10776         (acc_copyout): Likewise.
10777         (acc_delete_async): New API function.
10778         (acc_copyout_async): Likewise.
10779         (update_dev_host): Add async parameter and async setting/unsetting.
10780         (acc_update_device): Adjust update_dev_host call.
10781         (acc_update_self): Likewise.
10782         (acc_update_device_async): New API function.
10783         (acc_update_self_async): Likewise.
10784         * openacc.h (acc_copyin_async): Declare new API function.
10785         (acc_create_async): Likewise.
10786         (acc_copyout_async): Likewise.
10787         (acc_delete_async): Likewise.
10788         (acc_update_device_async): Likewise.
10789         (acc_update_self_async): Likewise.
10790         (acc_memcpy_to_device_async): Likewise.
10791         (acc_memcpy_from_device_async): Likewise.
10792         * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
10793         (acc_copyin_async_64_h): New subroutine.
10794         (acc_copyin_async_array_h): New subroutine.
10795         (acc_create_async_32_h): New subroutine.
10796         (acc_create_async_64_h): New subroutine.
10797         (acc_create_async_array_h): New subroutine.
10798         (acc_copyout_async_32_h): New subroutine.
10799         (acc_copyout_async_64_h): New subroutine.
10800         (acc_copyout_async_array_h): New subroutine.
10801         (acc_delete_async_32_h): New subroutine.
10802         (acc_delete_async_64_h): New subroutine.
10803         (acc_delete_async_array_h): New subroutine.
10804         (acc_update_device_async_32_h): New subroutine.
10805         (acc_update_device_async_64_h): New subroutine.
10806         (acc_update_device_async_array_h): New subroutine.
10807         (acc_update_self_async_32_h): New subroutine.
10808         (acc_update_self_async_64_h): New subroutine.
10809         (acc_update_self_async_array_h): New subroutine.
10810         * openacc.f90 (acc_copyin_async_32_h): New subroutine.
10811         (acc_copyin_async_64_h): New subroutine.
10812         (acc_copyin_async_array_h): New subroutine.
10813         (acc_create_async_32_h): New subroutine.
10814         (acc_create_async_64_h): New subroutine.
10815         (acc_create_async_array_h): New subroutine.
10816         (acc_copyout_async_32_h): New subroutine.
10817         (acc_copyout_async_64_h): New subroutine.
10818         (acc_copyout_async_array_h): New subroutine.
10819         (acc_delete_async_32_h): New subroutine.
10820         (acc_delete_async_64_h): New subroutine.
10821         (acc_delete_async_array_h): New subroutine.
10822         (acc_update_device_async_32_h): New subroutine.
10823         (acc_update_device_async_64_h): New subroutine.
10824         (acc_update_device_async_array_h): New subroutine.
10825         (acc_update_self_async_32_h): New subroutine.
10826         (acc_update_self_async_64_h): New subroutine.
10827         (acc_update_self_async_array_h): New subroutine.
10828         * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
10829         acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
10830         acc_delete_finalize_async*, acc_memcpy_from_device_async*,
10831         acc_memcpy_to_device_async*, acc_update_device_async*, and
10832         acc_update_self_async* entries.
10833         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
10834         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
10835         * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
10837 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
10839         PR bootstrap/82856
10840         * Makefile.am: Include multilib.am
10841         (AUTOMAKE_OPTIONS): Add info-in-builddir.
10842         (CLEANFILES): Remove libgomp.info.
10843         * configure.ac: Remove AC_PREREQ.
10844         * testsuite/Makefile.am (RUNTEST): Remove quotes.
10845         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
10846         Regenerate.
10848 2018-10-29  Joseph Myers  <joseph@codesourcery.com>
10849             Julian Brown  <julian@codesourcery.com>
10851         * testsuite/libgomp.oacc-c++/this.C: New.
10853 2018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
10855         * plugin/plugin-nvptx.c (struct cuda_map): New.
10856         (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
10857         h_tail with (cuda_map *) map.
10858         (cuda_map_create): New function.
10859         (cuda_map_destroy): New function.
10860         (map_init): Update to use a linked list of cuda_map objects.
10861         (map_fini): Likewise.
10862         (map_pop): Likewise.
10863         (map_push): Likewise.  Return CUdeviceptr instead of void.
10864         (init_streams_for_device): Remove stales references to ptx_stream
10865         members.
10866         (select_stream_for_async): Likewise.
10867         (nvptx_exec): Update call to map_init.
10869 2018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
10870             Julian Brown  <julian@codesourcery.com>
10872         PR middle-end/86336
10873         * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
10875 2018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
10876         Thomas Koenig <tkoenig@gcc.gnu.org>
10878         PR fortran/25829
10879         * testsuite/libgomp.fortran/async_io_1.f90: New test.
10880         * testsuite/libgomp.fortran/async_io_2.f90: New test.
10881         * testsuite/libgomp.fortran/async_io_3.f90: New test.
10882         * testsuite/libgomp.fortran/async_io_4.f90: New test.
10883         * testsuite/libgomp.fortran/async_io_5.f90: New test.
10884         * testsuite/libgomp.fortran/async_io_6.f90: New test.
10885         * testsuite/libgomp.fortran/async_io_7.f90: New test.
10887 2018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
10888             Tom de Vries  <tdevries@suse.de>
10890         PR target/85590
10891         * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
10892         (cuOccupancyMaxPotentialBlockSize): Declare.
10893         * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
10894         CUDA_ONE_CALL_MAYBE_NULL.
10895         * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
10896         CUoccupancyB2DSize and declare
10897         cuOccupancyMaxPotentialBlockSize.
10898         (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
10899         default num_gangs and num_workers when the driver supports it.
10901 2018-08-08  Tom de Vries  <tdevries@suse.de>
10903         * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
10904         CUDA_ONE_CALL_MAYBE_NULL.
10905         * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
10906         (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
10907         (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
10908         are not found.
10910 2018-08-08  Tom de Vries  <tdevries@suse.de>
10912         * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
10913         * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
10914         present.
10916 2018-08-08  Tom de Vries  <tdevries@suse.de>
10918         * plugin/plugin-nvptx.c
10919         (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
10920         (nvptx_open_device): Use
10921         CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
10923 2018-08-08  Tom de Vries  <tdevries@suse.de>
10925         * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
10926         (cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
10928 2018-08-07  Tom de Vries  <tdevries@suse.de>
10930         * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
10931         (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
10932         (init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
10933         corresponding call in CUDA_ONE_CALL.  Add def/undef of
10934         CUDA_ONE_CALL_MAYBE_NULL.
10935         (CUDA_CALL_EXISTS): Define.
10937 2018-08-07  Tom de Vries  <tdevries@suse.de>
10939         * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
10940         CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
10941         corresponding undefs right after.
10943 2018-08-04  Tom de Vries  <tdevries@suse.de>
10945         * plugin/configfrag.ac: For --without-cuda-driver, set
10946         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
10947         CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
10948         * configure: Regenerate.
10950 2018-08-02  Tom de Vries  <tdevries@suse.de>
10952         PR target/86660
10953         * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
10954         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
10955         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10956         Same.
10957         * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
10958         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
10959         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
10961 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
10962             Thomas Schwinge <thomas@codesourcery.com>
10964         * config/nvptx/oacc-parallel.c: Truncate.
10966 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
10967             James Norris <jnorris@codesourcery.com>
10969         * plugin/plugin-nvptx.c (struct map): Removed.
10970         (map_init, map_pop): Remove use of struct map.
10971         (map_push): Likewise and change argument list.
10972         * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
10974 2018-08-01  Tom de Vries  <tdevries@suse.de>
10976         * plugin/cuda-lib.def: New file.  Factor out of ...
10977         * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
10978         (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
10979         using CUDA_CALLS.
10981 2018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
10983         Revert 'AsyncI/O patch committed'.
10984         2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
10985                 Thomas Koenig <tkoenig@gcc.gnu.org>
10987         PR fortran/25829
10988         * testsuite/libgomp.fortran/async_io_1.f90: New test.
10989         * testsuite/libgomp.fortran/async_io_2.f90: New test.
10990         * testsuite/libgomp.fortran/async_io_3.f90: New test.
10991         * testsuite/libgomp.fortran/async_io_4.f90: New test.
10992         * testsuite/libgomp.fortran/async_io_5.f90: New test.
10993         * testsuite/libgomp.fortran/async_io_6.f90: New test.
10994         * testsuite/libgomp.fortran/async_io_7.f90: New test.
10996 2018-07-30  Tom de Vries  <tdevries@suse.de>
10998         * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
10999         (nvptx_exec): Ensure worker and vector default dims don't exceed
11000         targ_fn->max_threads_per_block.
11002 2018-07-30  Tom de Vries  <tdevries@suse.de>
11004         * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
11005         (nvptx_open_device): Init default_dims for device.
11006         (nvptx_exec): Use default_dims from device.
11008 2018-07-26  Jakub Jelinek  <jakub@redhat.com>
11010         PR testsuite/86660
11011         * testsuite/libgomp.c++/for-15.C (results): Include it in
11012         omp declare target region.
11013         (main): Use map (always, tofrom: results) instead of
11014         map (tofrom: results).
11016         PR middle-end/86660
11017         * testsuite/libgomp.c/pr86660.c: New test.
11019 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
11020             Tom de Vries  <tdevries@suse.de>
11022         * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
11023         sufficient resources to launch a kernel, and give a hint on how to fix
11024         it.
11026 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
11027             Tom de Vries  <tdevries@suse.de>
11029         * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
11030         max_threads_per_block and max_threads_per_multiprocessor fields.
11031         (nvptx_open_device): Initialize new fields.
11032         (nvptx_exec): Use num_sms, and new fields.
11034 2018-07-26  Tom de Vries  <tdevries@suse.de>
11036         * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
11037         to correct locations.  Remove xfail.
11039 2018-07-26  Tom de Vries  <tdevries@suse.de>
11041         * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
11042         acc_wait.  Move acc_async_test calls to correct locations.  Remove
11043         xfail.
11045 2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
11046         Thomas Koenig <tkoenig@gcc.gnu.org>
11048         PR fortran/25829
11049         * testsuite/libgomp.fortran/async_io_1.f90: New test.
11050         * testsuite/libgomp.fortran/async_io_2.f90: New test.
11051         * testsuite/libgomp.fortran/async_io_3.f90: New test.
11052         * testsuite/libgomp.fortran/async_io_4.f90: New test.
11053         * testsuite/libgomp.fortran/async_io_5.f90: New test.
11054         * testsuite/libgomp.fortran/async_io_6.f90: New test.
11055         * testsuite/libgomp.fortran/async_io_7.f90: New test.
11057 2018-07-17  Jakub Jelinek  <jakub@redhat.com>
11059         PR middle-end/86542
11060         * testsuite/libgomp.c++/pr86542.C: New test.
11062         PR middle-end/86539
11063         * testsuite/libgomp.c++/pr86539.C: New test.
11065 2018-07-11  Jakub Jelinek  <jakub@redhat.com>
11067         PR c++/86443
11068         * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
11069         (results): Make sure the variable is not inside declare target region.
11070         (qux): Remove unused function.
11072 2018-07-10  Jakub Jelinek  <jakub@redhat.com>
11074         PR c++/86443
11075         * testsuite/libgomp.c++/for-15.C: New test.
11077 2018-06-26  Jakub Jelinek  <jakub@redhat.com>
11079         PR c++/86291
11080         * testsuite/libgomp.c++/pr86291.C: New test.
11082 2018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
11084         * libgomp.texi (Top): Move www.openmp.org to https.
11085         (Enabling OpenMP): Ditto.
11086         (omp_get_active_level): Ditto.
11087         (omp_get_ancestor_thread_num): Ditto.
11088         (omp_get_cancellation): Ditto.
11089         (omp_get_default_device): Ditto.
11090         (omp_get_dynamic): Ditto.
11091         (omp_get_level): Ditto.
11092         (omp_get_max_active_levels): Ditto.
11093         (omp_get_max_task_priority): Ditto.
11094         (omp_get_max_threads): Ditto.
11095         (omp_get_nested): Ditto.
11096         (omp_get_num_devices): Ditto.
11097         (omp_get_num_procs): Ditto.
11098         (omp_get_num_teams): Ditto.
11099         (omp_get_num_threads): Ditto.
11100         (omp_get_proc_bind): Ditto.
11101         (omp_get_schedule): Ditto.
11102         (omp_get_team_num): Ditto.
11103         (omp_get_team_size): Ditto.
11104         (omp_get_thread_limit): Ditto.
11105         (omp_get_thread_num): Ditto.
11106         (omp_in_parallel): Ditto.
11107         (omp_in_final): Ditto.
11108         (omp_is_initial_device): Ditto.
11109         (omp_set_default_device): Ditto.
11110         (omp_set_dynamic): Ditto.
11111         (omp_set_max_active_levels): Ditto.
11112         (omp_set_nested): Ditto.
11113         (omp_set_num_threads): Ditto.
11114         (omp_set_schedule): Ditto.
11115         (omp_init_lock): Ditto.
11116         (omp_set_lock): Ditto.
11117         (omp_test_lock): Ditto.
11118         (omp_unset_lock): Ditto.
11119         (omp_destroy_lock): Ditto.
11120         (omp_init_nest_lock): Ditto.
11121         (omp_set_nest_lock): Ditto.
11122         (omp_test_nest_lock): Ditto.
11123         (omp_unset_nest_lock): Ditto.
11124         (omp_destroy_nest_lock): Ditto.
11125         (omp_get_wtick): Ditto.
11126         (omp_get_wtime): Ditto.
11127         (OMP_CANCELLATION): Ditto.
11128         (OMP_DISPLAY_ENV): Ditto.
11129         (OMP_DEFAULT_DEVICE): Ditto.
11130         (OMP_DYNAMIC): Ditto.
11131         (OMP_MAX_ACTIVE_LEVELS): Ditto.
11132         (OMP_MAX_TASK_PRIORITY): Ditto.
11133         (OMP_NESTED): Ditto.
11134         (OMP_NUM_THREADS): Ditto.
11135         (OMP_PROC_BIND): Ditto.
11136         (OMP_PLACES): Ditto.
11137         (OMP_STACKSIZE): Ditto.
11138         (OMP_SCHEDULE): Ditto.
11139         (OMP_THREAD_LIMIT): Ditto.
11140         (OMP_WAIT_POLICY): Ditto.
11142 2018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
11143             James Norris  <jnorris@codesourcery.com>
11144             Julian Brown  <julian@codesourcery.com>
11145             Thomas Schwinge  <thomas@codesourcery.com>
11146             Tom de Vries  <tom@codesourcery.com>
11148         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
11149         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
11150         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
11151         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
11152         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11153         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11154         * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
11155         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
11156         * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
11157         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
11158         Likewise.
11159         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
11160         Likewise.
11161         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
11162         Likewise.
11163         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
11164         Likewise.
11165         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
11166         Likewise.
11167         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
11168         Likewise.
11169         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
11170         Likewise.
11171         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
11172         Likewise.
11173         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
11174         Likewise.
11175         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
11176         Likewise.
11177         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
11178         Likewise.
11179         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
11180         Likewise.
11181         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
11182         Likewise.
11183         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
11184         Likewise.
11185         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
11186         Likewise.
11187         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
11188         Likewise.
11189         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
11190         Likewise.
11191         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
11192         Likewise.
11193         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
11194         Likewise.
11195         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
11196         Likewise.
11197         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
11198         Likewise.
11199         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
11200         Likewise.
11201         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
11202         Likewise.
11203         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
11204         Likewise.
11205         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
11206         Likewise.
11207         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
11208         Likewise.
11209         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
11210         Likewise.
11211         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
11212         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
11213         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
11214         * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
11215         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
11216         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
11217         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
11218         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
11219         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
11220         Likewise.
11221         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
11222         Likewise.
11223         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
11224         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
11225         * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
11226         Likewise.
11227         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
11228         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
11229         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
11230         Likewise.
11231         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
11232         Likewise.
11233         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
11234         Likewise.
11235         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
11236         Likewise.
11237         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
11238         Likewise.
11239         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
11240         Likewise.
11241         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
11242         Likewise.
11243         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
11244         Likewise.
11245         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
11246         Likewise.
11247         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
11248         Likewise.
11249         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
11250         Likewise.
11251         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
11252         Likewise.
11253         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
11254         Likewise.
11255         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
11256         Likewise.
11257         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
11258         Likewise.
11259         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11260         * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
11261         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
11262         * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
11263         * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
11264         * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
11265         * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
11267 2018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
11268             Thomas Schwinge <thomas@codesourcery.com>
11269             Cesar Philippidis  <cesar@codesourcery.com>
11271         * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
11272         (gomp_acc_remove_pointer): Update declaration.
11273         (gomp_acc_declare_allocate): Declare.
11274         (gomp_remove_var): Declare.
11275         * libgomp.map (OACC_2.5): Define.
11276         * oacc-mem.c (acc_map_data): Update refcount.
11277         (acc_unmap_data): Likewise.
11278         (present_create_copy): Likewise.
11279         (acc_create): Add FLAG_PRESENT when calling present_create_copy.
11280         (acc_copyin): Likewise.
11281         (FLAG_FINALIZE): Define.
11282         (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
11283         (acc_delete_finalize): New function.
11284         (acc_delete_finalize_async): New function.
11285         (acc_copyout_finalize): New function.
11286         (acc_copyout_finalize_async): New function.
11287         (gomp_acc_insert_pointer): Update refcounts.
11288         (gomp_acc_remove_pointer): Return if data is not present on the
11289         accelerator.
11290         * oacc-parallel.c (find_pset): Rename to find_pointer.
11291         (find_pointer): Add support for GOMP_MAP_POINTER.
11292         (handle_ftn_pointers): New function.
11293         (GOACC_parallel_keyed): Update refcounts of variables.
11294         (GOACC_enter_exit_data): Add support for finalized data mappings.
11295         Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
11296         of fortran arrays.
11297         (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
11298         (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
11299         for GOMP_MAP_FORCE_FROM.
11300         * openacc.f90 (module openacc_internal): Add
11301         acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
11302         acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
11303         acc_copyout_finalize and acc_delete_finalize.
11304         (acc_copyout_finalize_32_h): New subroutine.
11305         (acc_copyout_finalize_64_h): New subroutine.
11306         (acc_copyout_finalize_array_h): New subroutine.
11307         (acc_delete_finalize_32_h): New subroutine.
11308         (acc_delete_finalize_64_h): New subroutine.
11309         (acc_delete_finalize_array_h): New subroutine.
11310         * openacc.h (acc_copyout_finalize): Declare.
11311         (acc_copyout_finalize_async): Declare.
11312         (acc_delete_finalize): Declare.
11313         (acc_delete_finalize_async): Declare.
11314         * openacc_lib.h (acc_copyout_finalize): New interface.
11315         (acc_delete_finalize): New interface.
11316         * target.c (gomp_map_vars): Update dynamic_refcount.
11317         (gomp_remove_var): New function.
11318         (gomp_unmap_vars): Use it.
11319         (gomp_unload_image_from_device): Likewise.
11320         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
11321         case to utilize OpenACC 2.5 data clause semantics.
11322         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11323         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11324         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11325         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11326         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11327         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11328         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11329         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11330         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11331         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11332         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11333         * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
11334         * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
11335         utilize OpenACC 2.5 data clause semantics.
11336         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11337         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11338         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11339         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11340         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11341         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11342         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11343         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11344         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11346 2018-05-21  Janus Weil  <janus@gcc.gnu.org>
11348         PR fortran/85841
11349         PR testsuite/85865
11350         * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
11351         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
11352         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
11353         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
11354         * testsuite/libgomp.fortran/task2.f90: Ditto.
11355         * testsuite/libgomp.fortran/vla1.f90: Ditto.
11356         * testsuite/libgomp.fortran/vla2.f90: Ditto.
11357         * testsuite/libgomp.fortran/vla3.f90: Ditto.
11358         * testsuite/libgomp.fortran/vla4.f90: Ditto.
11359         * testsuite/libgomp.fortran/vla5.f90: Ditto.
11360         * testsuite/libgomp.fortran/vla6.f90: Ditto.
11361         * testsuite/libgomp.fortran/vla8.f90: Ditto.
11362         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
11363         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
11365 2018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
11367         PR c++/85782
11368         * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
11370 2018-05-09  Tom de Vries  <tom@codesourcery.com>
11372         PR libgomp/82901
11373         * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
11374         to GOACC_enter_exit_data.
11376 2018-05-09  Tom de Vries  <tom@codesourcery.com>
11378         PR libgomp/83792
11379         * oacc-int.h (async_valid_stream_id_p, async_valid_p)
11380         (async_synchronous_p): New function.
11381         * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
11382         async_valid_p.
11383         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
11384         async_valid_stream_id_p.
11385         * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11386         * oacc-parallel.c (GOACC_parallel_keyed): Same.
11388 2018-05-07  Tom de Vries  <tom@codesourcery.com>
11390         PR testsuite/85677
11391         * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
11392         include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
11394 2018-05-03  Tom de Vries  <tom@codesourcery.com>
11396         PR testsuite/85106
11397         * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
11398         extra_tool_flags if it contains an -foffload=-fdump-* flag.
11399         * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
11400         * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
11402 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11404         PR libgomp/85411
11405         * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
11406         GOMP_OPENACC_DIM ...
11407         * env.c (parse_gomp_openacc_dim): ... here.  New function.
11408         (initialize_env): Call parse_gomp_openacc_dim.
11409         (goacc_default_dims): Define.
11410         * libgomp.h (goacc_default_dims): Declare.
11411         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
11412         * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
11413         * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
11414         GOMP_PLUGIN_acc_default_dim.
11415         * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
11416         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
11418 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11420         PR testsuite/83791
11421         * testsuite/libgomp.c++/udr-9.C: Update.
11422         * testsuite/libgomp.c++/atomic-16.C: Remove.
11423         * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
11424         * testsuite/libgomp.c++/loop-13.C: Remove.
11425         * testsuite/libgomp.c++/loop-14.C: Remove.
11426         * testsuite/libgomp.c++/loop-15.C: Remove.
11427         * testsuite/libgomp.c++/monotonic-1.C: Remove.
11428         * testsuite/libgomp.c++/monotonic-2.C: Remove.
11429         * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
11430         * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
11431         * testsuite/libgomp.c++/ordered-1.C: Remove.
11432         * testsuite/libgomp.c++/pr45784.C: Remove.
11433         * testsuite/libgomp.c++/pr64824.C: Remove.
11434         * testsuite/libgomp.c++/pr64868.C: Remove.
11435         * testsuite/libgomp.c++/pr66199-1.C: Remove.
11436         * testsuite/libgomp.c++/pr66199-2.C: Remove.
11437         * testsuite/libgomp.c++/pr66199-3.C: Remove.
11438         * testsuite/libgomp.c++/pr66199-4.C: Remove.
11439         * testsuite/libgomp.c++/pr66199-5.C: Remove.
11440         * testsuite/libgomp.c++/pr66199-6.C: Remove.
11441         * testsuite/libgomp.c++/pr66199-7.C: Remove.
11442         * testsuite/libgomp.c++/pr66199-8.C: Remove.
11443         * testsuite/libgomp.c++/pr66199-9.C: Remove.
11444         * testsuite/libgomp.c++/pr69389.C: Remove.
11445         * testsuite/libgomp.c++/simd10.C: Remove.
11446         * testsuite/libgomp.c++/simd11.C: Remove.
11447         * testsuite/libgomp.c++/simd12.C: Remove.
11448         * testsuite/libgomp.c++/simd13.C: Remove.
11449         * testsuite/libgomp.c++/target-1.C: Remove.
11450         * testsuite/libgomp.c++/target-3.C: Remove.
11451         * testsuite/libgomp.c++/target-4.C: Remove.
11452         * testsuite/libgomp.c++/target-5.C: Remove.
11453         * testsuite/libgomp.c++/taskgroup-1.C: Remove.
11454         * testsuite/libgomp.c++/taskloop-1.C: Remove.
11455         * testsuite/libgomp.c++/taskloop-2.C: Remove.
11456         * testsuite/libgomp.c++/taskloop-3.C: Remove.
11457         * testsuite/libgomp.c++/taskloop-4.C: Remove.
11458         * testsuite/libgomp.c++/udr-9.C: Remove.
11459         * testsuite/libgomp.c++/for-10.C: Remove.
11460         * testsuite/libgomp.c++/for-11.C: Remove.
11461         * testsuite/libgomp.c++/for-12.C: Remove.
11462         * testsuite/libgomp.c++/for-13.C: Remove.
11463         * testsuite/libgomp.c++/for-14.C: Remove.
11464         * testsuite/libgomp.c++/for-9.C: Remove.
11465         * testsuite/libgomp.c/atomic-18.c: Move ...
11466         * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
11467         * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
11468         * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
11469         * testsuite/libgomp.c/loop-13.c: Move ...
11470         * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
11471         * testsuite/libgomp.c/loop-14.c: Move ...
11472         * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
11473         * testsuite/libgomp.c/loop-15.c: Remove.
11474         * testsuite/libgomp.c-c++-common/loop-15.c: New test.
11475         * testsuite/libgomp.c/monotonic-1.c: Move ...
11476         * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
11477         * testsuite/libgomp.c/monotonic-2.c: Move ...
11478         * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
11479         * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
11480         * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
11481         * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
11482         * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
11483         * testsuite/libgomp.c/ordered-4.c: Move ...
11484         * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
11485         * testsuite/libgomp.c/pr45784.c: Move ...
11486         * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
11487         * testsuite/libgomp.c/pr64824.c: Move ...
11488         * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
11489         * testsuite/libgomp.c/pr64868.c: Move ...
11490         * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
11491         * testsuite/libgomp.c/pr66199-1.c: Move ...
11492         * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
11493         * testsuite/libgomp.c/pr66199-2.c: Move ...
11494         * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
11495         * testsuite/libgomp.c/pr66199-3.c: Move ...
11496         * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
11497         * testsuite/libgomp.c/pr66199-4.c: Move ...
11498         * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
11499         * testsuite/libgomp.c/pr66199-5.c: Move ...
11500         * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
11501         * testsuite/libgomp.c/pr66199-6.c: Move ...
11502         * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
11503         * testsuite/libgomp.c/pr66199-7.c: Move ...
11504         * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
11505         * testsuite/libgomp.c/pr66199-8.c: Move ...
11506         * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
11507         * testsuite/libgomp.c/pr66199-9.c: Move ...
11508         * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
11509         * testsuite/libgomp.c/pr69389.c: Move ...
11510         * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
11511         * testsuite/libgomp.c/simd-14.c: Move ...
11512         * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
11513         * testsuite/libgomp.c/simd-15.c: Move ...
11514         * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
11515         * testsuite/libgomp.c/simd-16.c: Move ...
11516         * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
11517         * testsuite/libgomp.c/simd-17.c: Move ...
11518         * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
11519         * testsuite/libgomp.c/target-1.c: Move ...
11520         * testsuite/libgomp.c-c++-common/target-1.c: ... here.
11521         * testsuite/libgomp.c/target-10.c: Move ...
11522         * testsuite/libgomp.c-c++-common/target-10.c: ... here.
11523         * testsuite/libgomp.c/target-13.c: Move ...
11524         * testsuite/libgomp.c-c++-common/target-13.c: ... here.
11525         * testsuite/libgomp.c/target-2.c: Move ...
11526         * testsuite/libgomp.c-c++-common/target-2.c: ... here.
11527         * testsuite/libgomp.c/taskgroup-1.c: Move ...
11528         * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
11529         * testsuite/libgomp.c/taskloop-1.c: Move ...
11530         * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
11531         * testsuite/libgomp.c/taskloop-2.c: Move ...
11532         * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
11533         * testsuite/libgomp.c/taskloop-3.c: Move ...
11534         * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
11535         * testsuite/libgomp.c/taskloop-4.c: Move ...
11536         * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
11537         * testsuite/libgomp.c/udr-1.c: Move ...
11538         * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
11539         * testsuite/libgomp.c/for-1.c: Move ...
11540         * testsuite/libgomp.c-c++-common/for-1.c: ... here.
11541         * testsuite/libgomp.c/for-1.h: Move ...
11542         * testsuite/libgomp.c-c++-common/for-1.h: ... here.
11543         * testsuite/libgomp.c/for-2.c: Move ...
11544         * testsuite/libgomp.c-c++-common/for-2.c: ... here.
11545         * testsuite/libgomp.c/for-2.h: Move ...
11546         * testsuite/libgomp.c-c++-common/for-2.h: ... here.
11547         * testsuite/libgomp.c/for-3.c: Move ...
11548         * testsuite/libgomp.c-c++-common/for-3.c: ... here.
11549         * testsuite/libgomp.c/for-4.c: Move ...
11550         * testsuite/libgomp.c-c++-common/for-4.c: ... here.
11551         * testsuite/libgomp.c/for-5.c: Move ...
11552         * testsuite/libgomp.c-c++-common/for-5.c: ... here.
11553         * testsuite/libgomp.c/for-6.c: Move ...
11554         * testsuite/libgomp.c-c++-common/for-6.c: ... here.
11556 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11558         PR libgomp/82428
11559         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
11560         __builtin_goacc_parlevel_{id,size}.
11561         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
11562         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
11563         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
11564         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
11565         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11566         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
11567         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
11568         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
11569         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
11570         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
11571         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
11572         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
11573         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
11574         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
11575         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
11576         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
11577         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
11578         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
11579         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
11580         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
11581         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
11582         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
11583         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
11585 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11587         PR testsuite/85106
11588         * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
11590 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11592         PR testsuite/85106
11593         * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
11595 2018-04-29  Julian Brown  <julian@codesourcery.com>
11596             Tom de Vries  <tom@codesourcery.com>
11598         PR testsuite/85527
11599         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
11600         arbitrary order for iterations of atomic subtract check.
11602 2018-04-28  Tom de Vries  <tom@codesourcery.com>
11604         PR testsuite/85527
11605         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
11606         atomic capture results obtained in parallel loop to an array, instead of
11607         to a scalar.
11609 2018-04-26  Tom de Vries  <tom@codesourcery.com>
11611         PR libgomp/84020
11612         * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
11613         * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
11614         (process_GOMP_NVPTX_JIT): New function.
11615         (link_ptx): Use process_GOMP_NVPTX_JIT.
11617 2018-04-26  Richard Biener <rguenther@suse.de>
11618             Tom de Vries  <tom@codesourcery.com>
11620         PR lto/85422
11621         * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
11623 2018-04-26  Tom de Vries  <tom@codesourcery.com>
11625         PR target/85519
11626         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
11627         recursion depth from 25 to 23.
11628         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
11630 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
11632         * configure: Regenerated.
11634 2018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
11635             Tom de Vries  <tom@codesourcery.com>
11637         PR target/85445
11638         * testsuite/libgomp.oacc-c++/ref-1.C: New.
11640 2018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
11642         PR libgomp/85463
11643         * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
11644         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
11645         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
11646         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
11647         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
11648         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
11650         PR libfortran/85166
11651         * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
11652         abort".
11653         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11655 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
11657         * configure: Regenerated.
11659 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
11661         PR jit/85384
11662         * configure: Regenerate.
11664 2018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
11665             Tom de Vries  <tom@codesourcery.com>
11667         PR middle-end/84955
11668         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11669         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11671 2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
11673         PR fortran/83064
11674         PR testsuite/85346
11675         * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
11676         test from gfortran.dg to here.
11678 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
11680         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
11681         * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
11683 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
11685         PR middle-end/84955
11686         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11687         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11689 2018-04-05  Tom de Vries  <tom@codesourcery.com>
11691         PR target/85204
11692         * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
11694 2018-03-26  Tom de Vries  <tom@codesourcery.com>
11696         PR tree-optimization/85063
11697         * testsuite/libgomp.c/switch-conversion-2.c: New test.
11698         * testsuite/libgomp.c/switch-conversion.c: New test.
11699         * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
11700         * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
11702 2018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
11704         PR fortran/84381
11705         * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
11706         call abort by STOP n.
11707         * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
11708         * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
11709         * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
11710         * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
11711         * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
11712         * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
11713         * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
11714         * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
11715         * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
11716         * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
11717         * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
11718         * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
11719         * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
11720         * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
11721         * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
11722         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
11723         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
11724         * testsuite/libgomp.fortran/associate1.f90: Likewise.
11725         * testsuite/libgomp.fortran/associate2.f90: Likewise.
11726         * testsuite/libgomp.fortran/associate3.f90: Likewise.
11727         * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
11728         * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
11729         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
11730         * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
11731         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
11732         * testsuite/libgomp.fortran/character1.f90: Likewise.
11733         * testsuite/libgomp.fortran/character2.f90: Likewise.
11734         * testsuite/libgomp.fortran/collapse1.f90: Likewise.
11735         * testsuite/libgomp.fortran/collapse2.f90: Likewise.
11736         * testsuite/libgomp.fortran/collapse3.f90: Likewise.
11737         * testsuite/libgomp.fortran/collapse4.f90: Likewise.
11738         * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
11739         * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
11740         * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
11741         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11742         * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
11743         * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
11744         * testsuite/libgomp.fortran/depend-1.f90: Likewise.
11745         * testsuite/libgomp.fortran/depend-2.f90: Likewise.
11746         * testsuite/libgomp.fortran/depend-3.f90: Likewise.
11747         * testsuite/libgomp.fortran/do1.f90: Likewise.
11748         * testsuite/libgomp.fortran/do2.f90: Likewise.
11749         * testsuite/libgomp.fortran/doacross1.f90: Likewise.
11750         * testsuite/libgomp.fortran/doacross2.f90: Likewise.
11751         * testsuite/libgomp.fortran/doacross3.f90: Likewise.
11752         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
11753         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
11754         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
11755         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
11756         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
11757         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
11758         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
11759         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
11760         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
11761         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
11762         * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
11763         * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
11764         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
11765         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
11766         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
11767         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
11768         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
11769         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
11770         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
11771         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
11772         * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
11773         * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
11774         * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
11775         * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
11776         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
11777         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
11778         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
11779         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
11780         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
11781         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
11782         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
11783         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
11784         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
11785         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
11786         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
11787         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
11788         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
11789         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
11790         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
11791         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
11792         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
11793         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
11794         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
11795         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
11796         * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
11797         * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
11798         * testsuite/libgomp.fortran/lib1.f90: Likewise.
11799         * testsuite/libgomp.fortran/lib2.f: Likewise.
11800         * testsuite/libgomp.fortran/lib3.f: Likewise.
11801         * testsuite/libgomp.fortran/lib4.f90: Likewise.
11802         * testsuite/libgomp.fortran/lock-1.f90: Likewise.
11803         * testsuite/libgomp.fortran/lock-2.f90: Likewise.
11804         * testsuite/libgomp.fortran/nested1.f90: Likewise.
11805         * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
11806         * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
11807         * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
11808         * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
11809         * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
11810         * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
11811         * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
11812         * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
11813         * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
11814         * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
11815         * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
11816         * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
11817         * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
11818         * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
11819         * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
11820         * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
11821         * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
11822         * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
11823         * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
11824         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11825         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
11826         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
11827         * testsuite/libgomp.fortran/pointer1.f90: Likewise.
11828         * testsuite/libgomp.fortran/pointer2.f90: Likewise.
11829         * testsuite/libgomp.fortran/pr25162.f: Likewise.
11830         * testsuite/libgomp.fortran/pr25219.f90: Likewise.
11831         * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
11832         * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
11833         * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
11834         * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
11835         * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
11836         * testsuite/libgomp.fortran/pr28390.f: Likewise.
11837         * testsuite/libgomp.fortran/pr29629.f90: Likewise.
11838         * testsuite/libgomp.fortran/pr32550.f90: Likewise.
11839         * testsuite/libgomp.fortran/pr33880.f90: Likewise.
11840         * testsuite/libgomp.fortran/pr34020.f90: Likewise.
11841         * testsuite/libgomp.fortran/pr35130.f90: Likewise.
11842         * testsuite/libgomp.fortran/pr42162.f90: Likewise.
11843         * testsuite/libgomp.fortran/pr46753.f90: Likewise.
11844         * testsuite/libgomp.fortran/pr48894.f90: Likewise.
11845         * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
11846         * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
11847         * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
11848         * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
11849         * testsuite/libgomp.fortran/pr65597.f90: Likewise.
11850         * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
11851         * testsuite/libgomp.fortran/pr71014.f90: Likewise.
11852         * testsuite/libgomp.fortran/pr81304.f90: Likewise.
11853         * testsuite/libgomp.fortran/pr81841.f90: Likewise.
11854         * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
11855         * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
11856         * testsuite/libgomp.fortran/procptr1.f90: Likewise.
11857         * testsuite/libgomp.fortran/recursion1.f90: Likewise.
11858         * testsuite/libgomp.fortran/reduction1.f90: Likewise.
11859         * testsuite/libgomp.fortran/reduction2.f90: Likewise.
11860         * testsuite/libgomp.fortran/reduction3.f90: Likewise.
11861         * testsuite/libgomp.fortran/reduction4.f90: Likewise.
11862         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11863         * testsuite/libgomp.fortran/reduction6.f90: Likewise.
11864         * testsuite/libgomp.fortran/reference1.f90: Likewise.
11865         * testsuite/libgomp.fortran/reference2.f90: Likewise.
11866         * testsuite/libgomp.fortran/retval1.f90: Likewise.
11867         * testsuite/libgomp.fortran/retval2.f90: Likewise.
11868         * testsuite/libgomp.fortran/sharing1.f90: Likewise.
11869         * testsuite/libgomp.fortran/sharing2.f90: Likewise.
11870         * testsuite/libgomp.fortran/simd1.f90: Likewise.
11871         * testsuite/libgomp.fortran/simd2.f90: Likewise.
11872         * testsuite/libgomp.fortran/simd3.f90: Likewise.
11873         * testsuite/libgomp.fortran/simd4.f90: Likewise.
11874         * testsuite/libgomp.fortran/simd5.f90: Likewise.
11875         * testsuite/libgomp.fortran/simd6.f90: Likewise.
11876         * testsuite/libgomp.fortran/simd7.f90: Likewise.
11877         * testsuite/libgomp.fortran/stack.f90: Likewise.
11878         * testsuite/libgomp.fortran/strassen.f90: Likewise.
11879         * testsuite/libgomp.fortran/tabs1.f90: Likewise.
11880         * testsuite/libgomp.fortran/tabs2.f: Likewise.
11881         * testsuite/libgomp.fortran/target1.f90: Likewise.
11882         * testsuite/libgomp.fortran/target2.f90: Likewise.
11883         * testsuite/libgomp.fortran/target3.f90: Likewise.
11884         * testsuite/libgomp.fortran/target4.f90: Likewise.
11885         * testsuite/libgomp.fortran/target5.f90: Likewise.
11886         * testsuite/libgomp.fortran/target6.f90: Likewise.
11887         * testsuite/libgomp.fortran/target7.f90: Likewise.
11888         * testsuite/libgomp.fortran/target8.f90: Likewise.
11889         * testsuite/libgomp.fortran/task1.f90: Likewise.
11890         * testsuite/libgomp.fortran/task2.f90: Likewise.
11891         * testsuite/libgomp.fortran/task3.f90: Likewise.
11892         * testsuite/libgomp.fortran/task4.f90: Likewise.
11893         * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
11894         * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
11895         * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
11896         * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
11897         * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
11898         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11899         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11900         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11901         * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
11902         * testsuite/libgomp.fortran/udr1.f90: Likewise.
11903         * testsuite/libgomp.fortran/udr10.f90: Likewise.
11904         * testsuite/libgomp.fortran/udr11.f90: Likewise.
11905         * testsuite/libgomp.fortran/udr12.f90: Likewise.
11906         * testsuite/libgomp.fortran/udr13.f90: Likewise.
11907         * testsuite/libgomp.fortran/udr14.f90: Likewise.
11908         * testsuite/libgomp.fortran/udr15.f90: Likewise.
11909         * testsuite/libgomp.fortran/udr2.f90: Likewise.
11910         * testsuite/libgomp.fortran/udr3.f90: Likewise.
11911         * testsuite/libgomp.fortran/udr4.f90: Likewise.
11912         * testsuite/libgomp.fortran/udr5.f90: Likewise.
11913         * testsuite/libgomp.fortran/udr6.f90: Likewise.
11914         * testsuite/libgomp.fortran/udr7.f90: Likewise.
11915         * testsuite/libgomp.fortran/udr8.f90: Likewise.
11916         * testsuite/libgomp.fortran/udr9.f90: Likewise.
11917         * testsuite/libgomp.fortran/vla1.f90: Likewise.
11918         * testsuite/libgomp.fortran/vla2.f90: Likewise.
11919         * testsuite/libgomp.fortran/vla3.f90: Likewise.
11920         * testsuite/libgomp.fortran/vla4.f90: Likewise.
11921         * testsuite/libgomp.fortran/vla5.f90: Likewise.
11922         * testsuite/libgomp.fortran/vla6.f90: Likewise.
11923         * testsuite/libgomp.fortran/vla7.f90: Likewise.
11924         * testsuite/libgomp.fortran/vla8.f90: Likewise.
11925         * testsuite/libgomp.fortran/workshare1.f90: Likewise.
11926         * testsuite/libgomp.fortran/workshare2.f90: Likewise.
11927         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11928         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11929         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11930         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11931         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11932         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11933         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11934         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11935         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11936         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
11937         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11938         * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
11939         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
11940         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11941         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11942         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11943         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11944         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11945         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11946         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11947         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11948         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
11949         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
11950         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11951         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11952         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11953         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11954         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11955         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
11956         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11957         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11958         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11959         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11960         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11961         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
11962         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
11963         * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
11964         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
11965         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
11966         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11967         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
11968         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
11969         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
11970         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
11971         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
11972         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
11973         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11974         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11975         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11976         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11977         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11978         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11979         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11980         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11981         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11982         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11983         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11984         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11985         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
11986         * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
11987         * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
11988         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11989         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11990         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11991         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
11992         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11993         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
11994         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11995         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
11996         * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
11997         * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
11998         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
11999         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
12000         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12001         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12002         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12003         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12004         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12005         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12006         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12007         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
12008         * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
12009         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12010         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12011         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12012         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12013         * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
12014         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
12015         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
12016         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12017         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12018         * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
12020 2018-03-20  Richard Biener  <rguenther@suse.de>
12022         * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
12023         parallelizable loop.
12025 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
12027         PR target/84148
12028         * configure: Regenerate.
12030 2018-02-16  Jakub Jelinek  <jakub@redhat.com>
12032         PR fortran/84418
12033         * libgomp.fortran/pr84418-1.f90: New test.
12034         * libgomp.fortran/pr84418-2.f90: New test.
12036 2018-02-14  Jakub Jelinek  <jakub@redhat.com>
12038         PR fortran/84313
12039         * testsuite/libgomp.fortran/threadprivate4.f90: Add
12040         -std=f2003 -fall-intrinsics into dg-additional-options.
12042 2018-02-08  Martin Jambor  <mjambor@suse.cz>
12044         * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
12045         clonable.
12047 2018-02-08  Martin Jambor  <mjambor@suse.cz>
12049         * testsuite/libgomp.hsa.c/staticvar.c: New test.
12051 2018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12053         * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
12054         [__cplusplus]: Declare extern "C".
12056 2018-02-07  Tom de Vries  <tom@codesourcery.com>
12058         PR libgomp/84217
12059         * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
12061 2018-01-29  Christoph Spiel  <cspiel@freenet.de>
12062             Jakub Jelinek  <jakub@redhat.com>
12064         PR libgomp/84096
12065         * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
12066         instead of omp_lock_t.
12068 2018-01-25  Tom de Vries  <tom@codesourcery.com>
12070         PR target/84028
12071         * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
12073 2018-01-24  Tom de Vries  <tom@codesourcery.com>
12075         PR target/83589
12076         * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
12078 2018-01-24  Tom de Vries  <tom@codesourcery.com>
12080         PR target/81352
12081         * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
12083 2018-01-19  Tom de Vries  <tom@codesourcery.com>
12084             Cesar Philippidis  <cesar@codesourcery.com>
12086         PR target/83920
12087         * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
12088         * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
12090 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
12092         Update copyright years.
12094         * libgomp.texi: Bump @copying's copyright year.
12096 2017-12-30  Tom de Vries  <tom@codesourcery.com>
12098         PR libgomp/83046
12099         * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
12100         * testsuite/libgomp.c-c++-common/pr83046.c: New test.
12102 2017-12-27  Tom de Vries  <tom@codesourcery.com>
12104         PR c++/83046
12105         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
12106         (test_nonstatic): Fix return type to workaround PR83046.
12108 2017-12-05  Jakub Jelinek  <jakub@redhat.com>
12110         PR testsuite/83281
12111         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
12112         j suffix instead of i.
12113         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
12114         Likewise.
12116 2017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
12118         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
12119         call to acc_wait (1).
12121 2017-11-24  Jakub Jelinek  <jakub@redhat.com>
12123         PR fortran/81304
12124         * testsuite/libgomp.fortran/pr81304.f90: New test.
12126 2017-11-23  Jakub Jelinek  <jakub@redhat.com>
12128         PR fortran/81841
12129         * libgomp.fortran/pr81841.f90: New test.
12131 2017-11-22  Jakub Jelinek  <jakub@redhat.com>
12133         PR libgomp/83106
12134         * target.c (gomp_target_init): Compute lengths just once and
12135         use them in both malloc size and subsequent copying.
12137 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
12139         * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
12140         * acinclude.m4: Add cet.m4.
12141         * configure: Regenerate.
12142         * Makefile.in: Likewise.
12143         * testsuite/Makefile.in: Likewise.
12145 2017-11-15  Tom de Vries  <tom@codesourcery.com>
12147         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
12148         from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
12149         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
12150         from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
12151         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
12152         from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
12154 2017-11-14  Tom de Vries  <tom@codesourcery.com>
12156         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
12157         non-nvidia devices.
12159 2017-11-07  Jakub Jelinek  <jakub@redhat.com>
12161         PR c++/82835
12162         * testsuite/libgomp.c++/pr82835.C: New test.
12164 2017-11-06  Martin Liska  <mliska@suse.cz>
12166         * testsuite/libgomp.c++/loop-2.C: Return a value
12167         for functions with non-void return type, or change type to void,
12168         or add -Wno-return-type for test.
12169         * testsuite/libgomp.c++/loop-4.C: Likewise.
12170         * testsuite/libgomp.c++/parallel-1.C: Likewise.
12171         * testsuite/libgomp.c++/shared-1.C: Likewise.
12172         * testsuite/libgomp.c++/single-1.C: Likewise.
12173         * testsuite/libgomp.c++/single-2.C: Likewise.
12175 2017-10-31  Tom de Vries  <tom@codesourcery.com>
12177         * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
12178         "do {} while (false)".
12179         (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
12180         after HSA_DEBUG call.
12182 2017-10-28  Jakub Jelinek  <jakub@redhat.com>
12184         * target.c (struct gomp_coalesce_buf): New type.
12185         (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
12186         (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
12187         (gomp_copy_host2dev): Add CBUF argument, if copying into
12188         the cached ranges, memcpy into buffer instead of copying
12189         into device.
12190         (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
12191         Add CBUF argument, pass it through to other calls.
12192         (gomp_map_vars): Aggregate copies from host to device if small enough
12193         and with small enough gaps in between into memcpy into a buffer and
12194         fewer host to device copies from the buffer.
12195         (gomp_update): Adjust gomp_copy_host2dev caller.
12197 2017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
12199         * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
12200         run" directive.
12201         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12202         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12203         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12204         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12206 2017-10-16  Tom de Vries  <tom@codesourcery.com>
12208         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
12209         openacc_nvidia_accel_selected.
12210         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
12211         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
12212         * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
12213         * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
12214         * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
12215         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
12216         openacc_nvidia_accel_selected. Skip for shared memory device.
12217         * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
12218         * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
12220 2017-10-09  Martin Jambor  <mjambor@suse.cz>
12222         PR hsa/82416
12223         * testsuite/libgomp.hsa.c/pr82416.c: New test.
12225 2017-10-07  Tom de Vries  <tom@codesourcery.com>
12227         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
12228         Remove acc_device_nvidia references.
12229         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
12230         Same.
12232 2017-10-05  Tom de Vries  <tom@codesourcery.com>
12234         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
12235         vector_length(32) clause from acc parallel directive.
12236         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
12238 2017-10-04  Tom de Vries  <tom@codesourcery.com>
12240         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
12241         (main): Reduce sum of arr elements.  Assert that hres is exactly
12242         representable in 32-bit floating point.
12243         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
12244         (main): Reduce sum of arr elements.  Assert that hres and hmres are
12245         exactly representable in 32-bit floating point.
12246         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
12248 2017-09-28  Tom de Vries  <tom@codesourcery.com>
12250         * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
12251         setting.
12252         * testsuite/libgomp.c++/pr69393.C: Same.
12253         * testsuite/libgomp.c++/taskloop-1.C: Same.
12254         * testsuite/libgomp.c++/taskloop-3.C: Same.
12255         * testsuite/libgomp.c++/taskloop-4.C: Same.
12256         * testsuite/libgomp.c/for-4.c: Same.
12257         * testsuite/libgomp.c/pr66199-3.c: Same.
12258         * testsuite/libgomp.c/pr66199-4.c: Same.
12259         * testsuite/libgomp.c/pr66199-6.c: Same.
12260         * testsuite/libgomp.c/taskloop-1.c: Same.
12261         * testsuite/libgomp.c/taskloop-3.c: Same.
12262         * testsuite/libgomp.c/taskloop-4.c: Same.
12263         * testsuite/libgomp.fortran/aligned1.f03: Same.
12264         * testsuite/libgomp.fortran/condinc1.f: Same.
12265         * testsuite/libgomp.fortran/condinc3.f90: Same.
12266         * testsuite/libgomp.fortran/crayptr1.f90: Same.
12267         * testsuite/libgomp.fortran/crayptr2.f90: Same.
12268         * testsuite/libgomp.fortran/crayptr3.f90: Same.
12269         * testsuite/libgomp.fortran/omp_cond1.f: Same.
12270         * testsuite/libgomp.fortran/omp_cond3.F90: Same.
12271         * testsuite/libgomp.fortran/pr66199-1.f90: Same.
12272         * testsuite/libgomp.fortran/pr66199-2.f90: Same.
12273         * testsuite/libgomp.fortran/recursion1.f90: Same.
12274         * testsuite/libgomp.fortran/target2.f90: Same.
12275         * testsuite/libgomp.fortran/target5.f90: Same.
12276         * testsuite/libgomp.fortran/task3.f90: Same.
12278 2017-09-28  Tom de Vries  <tom@codesourcery.com>
12280         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
12281         vector_length(32) clause from acc parallel directive.
12282         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
12284 2017-09-27  Tom de Vries  <tom@codesourcery.com>
12286         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
12287         Remove acc_device_nvidia references.
12289 2017-09-16  Tom de Vries  <tom@codesourcery.com>
12291         PR c/81875
12292         * testsuite/libgomp.c-c++-common/pr81875.c: New test.
12294 2017-09-14  Tom de Vries  <tom@codesourcery.com>
12296         * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
12297         * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
12298         * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
12299         * testsuite/libgomp.c/c.exp: Include test-cases from
12300         libgomp.c-c++-common.
12301         * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
12302         files.
12304 2017-09-14  Jakub Jelinek  <jakub@redhat.com>
12306         PR c++/81314
12307         * testsuite/libgomp.c++/pr81314.C: New test.
12309 2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
12311         * libgomp.texi (Top): www.openacc.org now uses https.
12312         (Enabling OpenACC): Ditto.
12313         (acc_get_num_devices): Ditto.
12314         (acc_set_device_type): Ditto.
12315         (acc_get_device_type): Ditto.
12316         (acc_set_device_num): Ditto.
12317         (acc_get_device_num): Ditto.
12318         (acc_async_test): Ditto.
12319         (acc_async_test_all): Ditto.
12320         (acc_wait): Ditto.
12321         (acc_wait_all): Ditto.
12322         (acc_wait_all_async): Ditto.
12323         (acc_wait_async): Ditto.
12324         (acc_init): Ditto.
12325         (acc_shutdown): Ditto.
12326         (acc_on_device): Ditto.
12327         (acc_malloc): Ditto.
12328         (acc_free): Ditto.
12329         (acc_copyin): Ditto.
12330         (acc_present_or_copyin): Ditto.
12331         (acc_create): Ditto.
12332         (acc_present_or_create): Ditto.
12333         (acc_copyout): Ditto.
12334         (acc_delete): Ditto.
12335         (acc_update_device): Ditto.
12336         (acc_update_self): Ditto.
12337         (acc_map_data): Ditto.
12338         (acc_unmap_data): Ditto.
12339         (acc_deviceptr): Ditto.
12340         (acc_hostptr): Ditto.
12341         (acc_is_present): Ditto.
12342         (acc_memcpy_to_device): Ditto.
12343         (acc_memcpy_from_device): Ditto.
12344         (acc_get_current_cuda_device): Ditto.
12345         (acc_get_current_cuda_context): Ditto.
12346         (acc_get_cuda_stream): Ditto.
12347         (acc_set_cuda_stream): Ditto.
12348         (ACC_DEVICE_TYPE): Ditto.
12349         (ACC_DEVICE_NUM): Ditto.
12350         (OpenACC Library Interoperability): Ditto.
12352 2017-08-09  Jakub Jelinek  <jakub@redhat.com>
12354         PR c/81687
12355         * testsuite/libgomp.c/pr81687-1.c: New test.
12356         * testsuite/libgomp.c/pr81687-2.c: New test.
12358 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
12360         PR c/69389
12361         * testsuite/libgomp.c/pr69389.c: New test.
12362         * testsuite/libgomp.c++/pr69389.C: New test.
12364 2017-08-07  Tom de Vries  <tom@codesourcery.com>
12366         PR middle-end/78266
12367         * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
12368         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
12370 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
12372         PR c/45784
12373         * testsuite/libgomp.c/pr45784.c: New test.
12374         * testsuite/libgomp.c++/pr45784.C: New test.
12376 2017-07-19  Tom de Vries  <tom@codesourcery.com>
12378         * testsuite/libgomp.oacc-c/vec.c: New test.
12380 2017-07-03  Tom de Vries  <tom@codesourcery.com>
12382         * plugin/plugin-hsa.c: Fix secure_getenv.h include.
12384 2017-06-27  Tom de Vries  <tom@codesourcery.com>
12386         * plugin/plugin-nvptx.c (notify_var): New function.
12387         (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
12389 2017-06-27  Tom de Vries  <tom@codesourcery.com>
12391         * env.c (parse_unsigned_long_1): Factor out of ...
12392         (parse_unsigned_long): ... here.
12393         (parse_int_1): Factor out of ...
12394         (parse_int): ... here.
12395         (parse_int_secure): New function.
12396         (initialize_env): Use parse_int_secure for GOMP_DEBUG.
12397         * secure_getenv.h: Factor out of ...
12398         * plugin/plugin-hsa.c: ... here.
12399         * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
12401 2017-06-21  Jakub Jelinek  <jakub@redhat.com>
12403         PR c++/81130
12404         * testsuite/libgomp.c++/pr81130.C: New test.
12406 2017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12408         * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
12409         default args.
12410         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
12411         dg-xfail-run-if default args.
12413 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
12415         * testsuite/libgomp.c/pr39591-2.c: Fix test case.
12416         * testsuite/libgomp.c/pr39591-3.c: Likewise.
12418 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
12420         PR libgomp/80822
12421         * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
12422         (gomp_affinity_init_level): Use it.  Always analyze the core and thread
12423         sibling lists, depending on level just pick up what CPUs to put
12424         together into a place vs. whether add multiple ordered places.
12426 2017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
12428         * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
12429         * libgomp.map (OACC_2.0.1): Add these.
12430         * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
12431         for "acc_wait", and "acc_wait_all", respectively.
12432         * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
12433         for "acc_wait", and "acc_wait_all", respectively.
12434         * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
12435         * libgomp.texi (acc_wait, acc_wait_all): Update.
12436         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
12437         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
12438         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12440         * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
12441         acc_present_or_copyin and acc_present_or_create procedures,
12442         respectively.
12443         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
12444         generally different variants of OpenACC Runtime Library functions.
12445         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12447         * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
12448         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12450         * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
12451         of preprocessor definitions.
12452         * libgomp.h (strong_alias): Guard by "#ifdef
12453         HAVE_ATTRIBUTE_ALIAS".
12454         * oacc-mem.c: Provide "acc_pcreate" as alias for
12455         "acc_present_or_create", and "acc_pcopyin" as alias for
12456         "acc_present_or_copyin".
12457         * libgomp.map: New version "OACC_2.0.1".
12458         (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
12459         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
12460         its content into...
12461         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
12462         Extend testing.
12464         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
12465         when disabling nvptx offloading.
12467 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
12469         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
12470         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12471         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12473         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
12474         * testsuite/lib/libgomp.exp
12475         (check_effective_target_openacc_nvidia_accel_configured): New
12476         proc.
12477         * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
12478         (check_effective_target_c++): New procs.
12479         * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
12480         (check_effective_target_c++): Likewise.
12482 2017-05-22  Jakub Jelinek  <jakub@redhat.com>
12484         PR middle-end/80809
12485         * testsuite/libgomp.c/pr80809-2.c: New test.
12486         * testsuite/libgomp.c/pr80809-3.c: New test.
12488         PR middle-end/80809
12489         * testsuite/libgomp.c/pr80809-1.c: New test.
12491         PR middle-end/80853
12492         * testsuite/libgomp.c/pr80853.c: New test.
12494 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
12496         * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
12497         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
12498         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12499         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12500         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12502         * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
12503         Debug output for failure.
12505 2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12507         * testsuite/lib/libgomp.exp: Load scanlang.exp.
12509 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
12511         PR bootstrap/80531
12512         * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
12513         bootstrap compare failures.
12515 2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
12517         * testsuite/libgomp.c/target-36.c: New testcase.
12519 2017-04-13  Jakub Jelinek  <jakub@redhat.com>
12521         * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
12522         instead of char.
12524 2017-04-11  Jakub Jelinek  <jakub@redhat.com>
12526         PR libgomp/80394
12527         * testsuite/libgomp.c/pr80394.c: New test.
12529 2017-04-04  Jakub Jelinek  <jakub@redhat.com>
12531         PR libgomp/79876
12532         * config/posix/thread-stacksize.h: New file.
12533         * config/darwin/thread-stacksize.h: New file.
12534         * config/nvptx/thread-stacksize.h: New file.
12535         * env.c: Include thread-stacksize.h.
12536         (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
12537         instead of 0.  Call pthread_attr_setstacksize even if
12538         GOMP_DEFAULT_STACKSIZE is non-zero.
12540 2017-03-30  Jakub Jelinek  <jakub@redhat.com>
12542         * env.c (initialize_env): Initialize stacksize to 0.
12544 2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
12546         PR c++/80029
12547         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
12549 2017-03-08  Jakub Jelinek  <jakub@redhat.com>
12551         PR c/79940
12552         * testsuite/libgomp.c/pr79940.c: New test.
12554 2017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12556         * testsuite/libgomp.c/pr48591.c: Enable on all __float128
12557         targets.
12558         Add __float128 options.
12560 2017-02-11  John David Anglin  <danglin@gcc.gnu.org>
12562         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
12563         hppa*-*-* dg-skip-if directive.
12565 2017-02-09  Jakub Jelinek  <jakub@redhat.com>
12567         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
12568         dg-skip-if directive into a comment.
12570 2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
12571             Chung-Lin Tang  <cltang@codesourcery.com>
12573         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
12574         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
12575         add additional case.
12576         * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
12577         "openacc_nvidia_accel_selected".
12578         * libgomp.oacc-fortran/nested-function-1.f90 (test2):
12579         Add num_workers(8) clause.
12581 2017-02-08  John David Anglin  <danglin@gcc.gnu.org>
12583         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
12584         hppa*-*-*.
12585         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
12586         include complex.h on hppa*-*-hpux*.
12587         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12589 2017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
12591         * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
12593         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
12594         GOMP_OFFLOAD_openacc_exec.  Adjust all users.
12595         (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
12596         GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
12597         (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
12598         GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
12599         (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
12600         GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
12601         (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
12602         GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
12604 2017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
12606         * libgomp-plugin.h: #include <stdbool.h>.
12607         (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
12608         (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
12609         (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
12610         (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
12611         (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
12612         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
12613         (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
12614         (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
12615         (GOMP_OFFLOAD_openacc_register_async_cleanup)
12616         (GOMP_OFFLOAD_openacc_async_test)
12617         (GOMP_OFFLOAD_openacc_async_test_all)
12618         (GOMP_OFFLOAD_openacc_async_wait)
12619         (GOMP_OFFLOAD_openacc_async_wait_async)
12620         (GOMP_OFFLOAD_openacc_async_wait_all)
12621         (GOMP_OFFLOAD_openacc_async_wait_all_async)
12622         (GOMP_OFFLOAD_openacc_async_set_async)
12623         (GOMP_OFFLOAD_openacc_create_thread_data)
12624         (GOMP_OFFLOAD_openacc_destroy_thread_data)
12625         (GOMP_OFFLOAD_openacc_get_current_cuda_device)
12626         (GOMP_OFFLOAD_openacc_get_current_cuda_context)
12627         (GOMP_OFFLOAD_openacc_get_cuda_stream)
12628         (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
12629         * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
12630         these.
12631         * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
12632         (GOMP_OFFLOAD_unload_image): Fix argument types.
12634 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
12636         * testsuite/lib/libgomp.exp
12637         (check_effective_target_hsa_offloading_selected_nocache): Fix up
12638         check_compile invocation.  Fix up removal of executable.  Drop
12639         bogus "2>&1" argument.
12641         * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
12642         directive.
12644 2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
12645             Martin Jambor  <mjambor@suse.cz>
12647         * plugin/hsa.h: Moved to top level include.
12648         * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
12650 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
12652         PR other/79046
12653         * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
12654         of cat to get version from BASE-VER file.
12655         * testsuite/Makefile.in: Regenerated.
12657 2017-01-19  Jakub Jelinek  <jakub@redhat.com>
12659         * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
12660         for _WIN64.
12662 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
12664         * plugin/hsa.h: Add GCC runtime library exception.
12665         * plugin/hsa_ext_finalize.h: Likewise.
12667         * plugin/configfrag.ac: For --without-cuda-driver don't initialize
12668         CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
12669         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
12670         cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
12671         plugin/include/cuda as include dir and -ldl instead of -lcuda as
12672         library to link ptx plugin against.
12673         * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
12674         (CUDA_CALLS): Define.
12675         (cuda_lib, cuda_lib_inited): New variables.
12676         (init_cuda_lib): New function.
12677         (CUDA_CALL_PREFIX): Define.
12678         (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
12679         (CUDA_CALL): Use FN instead of (FN).
12680         (CUDA_CALL_NOCHECK): Define.
12681         (cuda_error, fini_streams_for_device, select_stream_for_async,
12682         nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
12683         event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
12684         nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
12685         nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
12686         CUDA_CALL_NOCHECK.
12687         (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
12688         CUDA_CALL_NOCHECK.
12689         (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
12690         Use CUDA_CALL_NOCHECK.
12691         * plugin/cuda/cuda.h: New file.
12692         * config.h.in: Regenerated.
12693         * configure: Regenerated.
12695         PR other/79046
12696         * configure.ac: Add GCC_BASE_VER.
12697         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
12698         get version from BASE-VER file.
12699         * testsuite/Makefile.in: Regenerated.
12700         * configure: Regenerated.
12701         * Makefile.in: Regenerated.
12703 2017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
12705         PR libgomp/60670
12706         * Makefile.am: Make fincludedir multilib-aware.
12707         * Makefile.in: Regenerate.
12709 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
12711         Update copyright years.
12713         * libgomp.texi: Bump @copying's copyright year.
12715 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12717         * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
12718         pthread_spinlock_t instead of gomp_mutex_t lock.
12719         (gomp_get_thread_pool): Likewise.
12720         (gomp_release_thread_pool): Likewise.
12721         * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
12722         Likewise.
12724 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12726         * config/rtems/pool.h (gomp_get_thread_pool): Return proper
12727         thread pool in case nthreads == 1.
12729 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
12731         * config/nvptx/env.c: Delete.
12732         * icv.c: Move definitions of ICV variables back ...
12733         * env.c: ...here.  Do not compile environment-related functionality if
12734         LIBGOMP_OFFLOADED_ONLY is set.
12736 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
12738         * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
12739         (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
12740         * configure: Regenerate.
12741         * config.h.in: Likewise.
12743 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
12745         * Makefile.in: Regenerate with automake-1.11.6.
12746         * aclocal.m4: Likewise.
12747         * configure: Likewise.
12748         * testsuite/Makefile.in: Likewise.
12750 2016-11-28  Alexander Monakov  <amonakov@ispras.ru>
12752         * config/nvptx/critical.c: Delete to use generic implementation.
12754 2016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
12756         * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
12757         ../../affinity.c as fallback.
12758         * config/nvptx/affinity.c: Delete to use fallback implementation.
12760 2016-11-23  Alexander Monakov  <amonakov@ispras.ru>
12761             Jakub Jelinek  <jakub@redhat.com>
12762             Dmitry Melnik  <dm@ispras.ru>
12764         * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
12765         * Makefile.in. Regenerate.
12766         * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
12767         (LIBGOMP_USE_PTHREADS): ...here; new define.
12768         * configure: Regenerate.
12769         * config.h.in: Likewise.
12770         * config/posix/affinity.c: Move to...
12771         * affinity.c: ...here (new file).  Guard use of Pthreads-specific
12772         interface by LIBGOMP_USE_PTHREADS. 
12773         * critical.c: Split out GOMP_atomic_{start,end} into...
12774         * atomic.c: ...here (new file).
12775         * env.c: Split out ICV definitions into...
12776         * icv.c: ...here (new file) and...
12777         * icv-device.c: ...here. New file.
12778         * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
12779         (gomp_destroy_lock_30): Ditto.
12780         (gomp_set_lock_30): Ditto.
12781         (gomp_unset_lock_30): Ditto.
12782         (gomp_test_lock_30): Ditto.
12783         (gomp_init_nest_lock_30): Ditto.
12784         (gomp_destroy_nest_lock_30): Ditto.
12785         (gomp_set_nest_lock_30): Ditto.
12786         (gomp_unset_nest_lock_30): Ditto.
12787         (gomp_test_nest_lock_30): Ditto.
12788         * lock.c: New.
12789         * config/nvptx/lock.c: New.
12790         * config/nvptx/bar.c: New.
12791         * config/nvptx/bar.h: New.
12792         * config/nvptx/doacross.h: New.
12793         * config/nvptx/error.c: New.
12794         * config/nvptx/icv-device.c: New.
12795         * config/nvptx/mutex.h: New.
12796         * config/nvptx/pool.h: New.
12797         * config/nvptx/proc.c: New.
12798         * config/nvptx/ptrlock.h: New.
12799         * config/nvptx/sem.h: New.
12800         * config/nvptx/simple-bar.h: New.
12801         * config/nvptx/target.c: New.
12802         * config/nvptx/task.c: New.
12803         * config/nvptx/team.c: New.
12804         * config/nvptx/time.c: New.
12805         * config/posix/simple-bar.h: New.
12806         * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
12807         (gomp_num_teams_var): Declare.
12808         (struct gomp_thread_pool): Change threads_dock member to
12809         gomp_simple_barrier_t.
12810         [__nvptx__] (gomp_thread): New implementation.
12811         (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
12812         (gomp_thread_destructor): Ditto.
12813         (gomp_init_thread_affinity): Ditto.
12814         * team.c: Guard uses of Pthreads-specific interfaces by
12815         LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
12816         (gomp_free_thread) [__nvptx__]: Do not call 'free'.
12817         * config/nvptx/alloc.c: Delete.
12818         * config/nvptx/barrier.c: Ditto.
12819         * config/nvptx/fortran.c: Ditto.
12820         * config/nvptx/iter.c: Ditto.
12821         * config/nvptx/iter_ull.c: Ditto.
12822         * config/nvptx/loop.c: Ditto.
12823         * config/nvptx/loop_ull.c: Ditto.
12824         * config/nvptx/ordered.c: Ditto.
12825         * config/nvptx/parallel.c: Ditto.
12826         * config/nvptx/priority_queue.c: Ditto.
12827         * config/nvptx/sections.c: Ditto.
12828         * config/nvptx/single.c: Ditto.
12829         * config/nvptx/splay-tree.c: Ditto.
12830         * config/nvptx/work.c: Ditto.
12831         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
12832         -foffload=-lgfortran in addition to -lgfortran.
12833         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
12834         * plugin/plugin-nvptx.c: Include <limits.h>.
12835         (struct targ_fn_descriptor): Add new fields.
12836         (struct ptx_device): Ditto.  Set them...
12837         (nvptx_open_device): ...here.
12838         (nvptx_adjust_launch_bounds): New.
12839         (nvptx_host2dev): Allow NULL 'nvthd'.
12840         (nvptx_dev2host): Ditto.
12841         (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
12842         (link_ptx): Adjust log sizes.
12843         (nvptx_host2dev): Allow NULL 'nvthd'.
12844         (nvptx_dev2host): Ditto.
12845         (nvptx_set_clocktick): New.  Use it...
12846         (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
12847         fields.
12848         (GOMP_OFFLOAD_dev2dev): New.
12849         (nvptx_adjust_launch_bounds): New.
12850         (nvptx_stacks_size): New.
12851         (nvptx_stacks_alloc): New.
12852         (nvptx_stacks_free): New.
12853         (GOMP_OFFLOAD_run): New.
12854         (GOMP_OFFLOAD_async_run): New (stub).
12856 2016-11-23  Martin Jambor  <mjambor@suse.cz>
12858         * testsuite/libgomp.hsa.c/bits-insns.c: New test.
12859         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
12860         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
12862 2016-11-23  Martin Liska  <mliska@suse.cz>
12863             Martin Jambor  <mjambor@suse.cz>
12865         * plugin/hsa.h: New file.
12866         * plugin/hsa_ext_finalize.h: New file.
12867         * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
12868         header file unistd.h, and functions secure_getenv, __secure_getenv,
12869         getuid, geteuid, getgid and getegid.
12870         * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
12871         -D_GNU_SOURCE.
12872         * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
12873         Handle various cases of secure_getenv presence, add an implementation
12874         when we can test effective UID and GID.
12875         (struct hsa_runtime_fn_info): New structure.
12876         (hsa_runtime_fn_info hsa_fns): New variable.
12877         (hsa_runtime_lib): Likewise.
12878         (support_cpu_devices): Likewise.
12879         (init_enviroment_variables): Load newly introduced ENV
12880         variables.
12881         (hsa_warn): Call hsa run-time functions via hsa_fns structure.
12882         (hsa_fatal): Likewise.
12883         (DLSYM_FN): New macro.
12884         (init_hsa_runtime_functions): New function.
12885         (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
12886         structure.  Depending on environment, also allow CPU devices.
12887         (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
12888         (get_kernarg_memory_region): Likewise.
12889         (GOMP_OFFLOAD_init_device): Likewise.
12890         (destroy_hsa_program): Likewise.
12891         (init_basic_kernel_info): New function.
12892         (GOMP_OFFLOAD_load_image): Use it.
12893         (create_and_finalize_hsa_program): Call hsa run-time functions via
12894         hsa_fns structure.
12895         (create_single_kernel_dispatch): Likewise.
12896         (release_kernel_dispatch): Likewise.
12897         (init_single_kernel): Likewise.
12898         (parse_target_attributes): Allow up multiple HSA grid dimensions.
12899         (get_group_size): New function.
12900         (run_kernel): Likewise.
12901         (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
12902         (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
12903         structure.
12904         * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
12905         * testsuite/libgomp-test-support.exp.in: Likewise.
12906         * Makefile.in: Regenerated.
12907         * aclocal.m4: Likewise.
12908         * config.h.in: Likewise.
12909         * configure: Likewise.
12910         * testsuite/Makefile.in: Likewise.
12912 2016-11-15  Martin Jambor  <mjambor@suse.cz>
12913             Alexander Monakov  <amonakov@ispras.ru>
12915         * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
12916         mapping clauses to target constructs.
12917         * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
12919 2016-11-15  Matthias Klose  <doko@ubuntu.com>
12921         * configure: Regenerate.
12923 2016-11-10  Jakub Jelinek  <jakub@redhat.com>
12925         * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
12926         * omp_lib.h.in (openmp_version): Likewise.
12927         * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
12928         of 201307.
12929         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12931         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
12932         (fib_wrapper): Add map(from: x) clause.
12933         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
12934         (e_53_2): Likewise.
12935         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
12936         (accum): Add map(tmp) clause.
12937         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
12938         (accum): Add map(tofrom: tmp) clause.
12939         * testsuite/libgomp.fortran/examples-4/target_data-3.f90
12940         (gramSchmidt): Likewise.
12941         * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
12942         map(tofrom: sum) clause.
12943         * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
12944         map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
12945         * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
12946         only allowed on the loop iterator.
12947         * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
12948         * testsuite/libgomp.fortran/taskloop2.f90: New test.
12949         * testsuite/libgomp.fortran/taskloop4.f90: New test.
12950         * testsuite/libgomp.fortran/doacross1.f90: New test.
12951         * testsuite/libgomp.fortran/doacross3.f90: New test.
12952         * testsuite/libgomp.fortran/taskloop1.f90: New test.
12953         * testsuite/libgomp.fortran/taskloop3.f90: New test.
12954         * testsuite/libgomp.fortran/doacross2.f90: New test.
12955         * testsuite/libgomp.c/doacross-1.c (main): Add missing
12956         #pragma omp atomic read.
12957         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12958         * testsuite/libgomp.c/doacross-3.c (main): Likewise.
12960 2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
12961             Nathan Sidwell  <nathan@acm.org>
12963         * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
12964         to determine default geometry.
12965         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
12966         dimension.
12968 2016-11-01  Jakub Jelinek  <jakub@redhat.com>
12970         * hashtab.h: Use standard GPLv3 with runtime exception
12971         boilerplate.
12973 2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
12975         * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
12976         size when allocating new thread.
12978 2016-09-14  Marek Polacek  <polacek@redhat.com>
12980         * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
12982 2016-08-19  Jakub Jelinek  <jakub@redhat.com>
12984         PR fortran/71014
12985         * testsuite/libgomp.fortran/pr71014.f90: New test.
12987 2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
12989         PR middle-end/70895
12990         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
12991         firstprivate clauses.
12992         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
12993         copy clauses.
12994         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12995         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12996         * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
12997         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12998         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
12999         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
13000         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13001         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
13002         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13003         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13004         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13005         * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
13007 2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
13009         PR fortran/70598
13010         * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
13012 2016-08-08  Jakub Jelinek  <jakub@redhat.com>
13014         PR c++/58706
13015         * testsuite/libgomp.c++/pr58706.C: New test.
13017 2016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
13019         * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
13020         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
13021         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
13022         Likewise.
13023         * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
13024         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
13025         Likewise.
13026         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
13028         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
13029         test, and don't hardcode -O0.
13031 2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
13033         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
13035 2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
13037         * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
13038         test.
13040 2016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
13042         PR middle-end/71734
13043         * testsuite/libgomp.fortran/pr71734-1.f90: New test.
13044         * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
13046 2016-07-01  Jakub Jelinek  <jakub@redhat.com>
13048         PR fortran/71717
13049         * testsuite/libgomp.fortran/associate3.f90: New test.
13051 2016-06-17  Jakub Jelinek  <jakub@redhat.com>
13053         * testsuite/libgomp.c++/target-21.C: New test.
13055 2016-06-16  Jakub Jelinek  <jakub@redhat.com>
13057         * testsuite/libgomp.c++/target-20.C: New test.
13059 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
13060             Cesar Philippidis  <cesar@codesourcery.com>
13062         PR middle-end/71373
13063         * libgomp.oacc-c/nested-function-1.c: New file.
13064         * libgomp.oacc-c/nested-function-2.c: Likewise.
13065         * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
13066         * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
13067         * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
13069 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
13071         PR c/71381
13072         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
13073         "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
13074         * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
13076 2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
13078         * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
13079         * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
13081 2016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
13083         PR c/70688
13084         * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
13086 2016-05-26  Jakub Jelinek  <jakub@redhat.com>
13088         * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
13089         instead of invalid schedule(static, 0).
13090         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
13092 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
13094         * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
13095         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
13096         parameter, use to set async stream around call to gomp_unmap_vars,
13097         call gomp_unmap_vars() with 'do_copyfrom' set to true.
13098         * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
13099         (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
13100         events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
13101         (event_add): Add int parameter, initialize 'val' field when
13102         adding new ptx_event struct.
13103         (nvptx_evec): Adjust event_add() call arguments.
13104         (nvptx_host2dev): Likewise.
13105         (nvptx_dev2host): Likewise.
13106         (nvptx_wait_async): Likewise.
13107         (nvptx_wait_all_async): Likewise.
13108         (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
13109         pass to event_add() call.
13110         * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
13111         parameter.
13112         * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
13113         call openacc.register_async_cleanup_func() hook.
13114         * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
13115         * target.c (gomp_copy_from_async): Delete function.
13116         (gomp_map_vars): Remove async_refcount.
13117         (gomp_unmap_vars): Likewise.
13118         (gomp_load_image_to_device): Likewise.
13119         (omp_target_associate_ptr): Likewise.
13120         * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
13121         (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
13122         (gomp_copy_from_async): Remove.
13124 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
13126         * target.c (gomp_device_copy): New function.
13127         (gomp_copy_host2dev): Likewise.
13128         (gomp_copy_dev2host): Likewise.
13129         (gomp_free_device_memory): Likewise.
13130         (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
13131         (gomp_map_pointer): Likewise.
13132         (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
13133         NULL value from alloc_func plugin hook.
13134         (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
13135         (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
13136         (gomp_unmap_vars): Likewise.
13137         (gomp_update): Adjust to call gomp_copy_dev2host and
13138         gomp_copy_host2dev functions.
13139         (gomp_unload_image_from_device): Handle false value from
13140         unload_image_func plugin hook.
13141         (gomp_init_device): Handle false value from init_device_func
13142         plugin hook.
13143         (gomp_exit_data): Adjust to call gomp_copy_dev2host.
13144         (omp_target_free): Adjust to call gomp_free_device_memory.
13145         (omp_target_memcpy): Handle return values from host2dev_func,
13146         dev2host_func, and dev2dev_func plugin hooks.
13147         (omp_target_memcpy_rect_worker): Likewise.
13148         (gomp_target_fini): Handle false value from fini_device_func
13149         plugin hook.
13150         * libgomp.h (struct gomp_device_descr): Adjust return type of
13151         init_device_func, fini_device_func, unload_image_func, free_func,
13152         dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
13153         * oacc-init.c (acc_shutdown_1): Handle false value from
13154         fini_device_func plugin hook.
13155         * oacc-host.c (host_init_device): Change return type to bool.
13156         (host_fini_device): Likewise.
13157         (host_unload_image): Likewise.
13158         (host_free): Likewise.
13159         (host_dev2host): Likewise.
13160         (host_host2dev): Likewise.
13161         * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
13162         (acc_memcpy_to_device): Likewise.
13163         (acc_memcpy_from_device): Likewise.
13164         (delete_copyout): Add libfnname parameter, handle free_func
13165         hook fatal error case.
13166         (acc_delete): Adjust delete_copyout call.
13167         (acc_copyout): Likewise.
13168         (update_dev_host): Move gomp_mutex_unlock to after
13169         host2dev/dev2host hook calls.
13171         * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
13172         to 'hsa_error_msg', for clarity.
13173         (hsa_fatal): Likewise.
13174         (hsa_error): New function.
13175         (init_hsa_context): Change return type to bool, adjust to return
13176         false on error.
13177         (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
13178         return value.
13179         (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
13180         return false on error.
13181         (get_agent_info): Adjust to return NULL on error.
13182         (destroy_hsa_program): Change return type to bool, adjust to
13183         return false on error.
13184         (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
13185         (destroy_module): Change return type to bool, adjust to
13186         return false on error.
13187         (GOMP_OFFLOAD_unload_image): Likewise.
13188         (GOMP_OFFLOAD_fini_device): Likewise.
13189         (GOMP_OFFLOAD_alloc): Change to return NULL when called.
13190         (GOMP_OFFLOAD_free): Change to return false when called.
13191         (GOMP_OFFLOAD_dev2host): Likewise.
13192         (GOMP_OFFLOAD_host2dev): Likewise.
13193         (GOMP_OFFLOAD_dev2dev): Likewise.
13195         * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
13196         (CUDA_CALL): Likewise.
13197         (CUDA_CALL_ASSERT): Likewise.
13198         (map_init): Change return type to bool, use CUDA_CALL* macros.
13199         (map_fini): Likewise.
13200         (init_streams_for_device): Change return type to bool, adjust
13201         call to map_init.
13202         (fini_streams_for_device): Change return type to bool, adjust
13203         call to map_fini.
13204         (select_stream_for_async): Release stream_lock before calls to
13205         GOMP_PLUGIN_fatal, adjust call to map_init.
13206         (nvptx_init): Use CUDA_CALL* macros.
13207         (nvptx_attach_host_thread_to_device): Change return type to bool,
13208         use CUDA_CALL* macros.
13209         (nvptx_open_device): Use CUDA_CALL* macros.
13210         (nvptx_close_device): Change return type to bool, use CUDA_CALL*
13211         macros.
13212         (nvptx_get_num_devices): Use CUDA_CALL* macros.
13213         (link_ptx): Change return type to bool, use CUDA_CALL* macros.
13214         (nvptx_exec): Use CUDA_CALL* macros.
13215         (nvptx_alloc): Use CUDA_CALL* macros.
13216         (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
13217         (nvptx_host2dev): Likewise.
13218         (nvptx_dev2host): Likewise.
13219         (nvptx_wait): Use CUDA_CALL* macros.
13220         (nvptx_wait_async): Likewise.
13221         (nvptx_wait_all): Likewise.
13222         (nvptx_wait_all_async): Likewise.
13223         (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
13224         use CUDA_CALL* macros, adjust call to map_fini.
13225         (GOMP_OFFLOAD_init_device): Change return type to bool,
13226         adjust code accordingly.
13227         (GOMP_OFFLOAD_fini_device): Likewise.
13228         (GOMP_OFFLOAD_load_image): Adjust calls to
13229         nvptx_attach_host_thread_to_device/link_ptx to handle errors,
13230         use CUDA_CALL* macros.
13231         (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
13232         return code.
13233         (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
13234         (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
13235         handle error return.
13236         (GOMP_OFFLOAD_dev2host): Likewise.
13237         (GOMP_OFFLOAD_host2dev): Likewise.
13238         (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
13239         (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
13241 2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
13243         * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
13244         (acc_free): Likewise.
13245         (acc_memcpy_to_device): Likewise.
13246         (acc_memcpy_from_device): Likewise.
13247         (acc_deviceptr): Likewise.
13248         (acc_hostptr): Likewise.
13249         (acc_is_present): Likewise.
13250         (acc_map_data): Likewise.
13251         (acc_unmap_data): Likewise.
13252         (present_create_copy): Likewise.
13253         (delete_copyout): Likewise.
13254         (update_dev_host): Likewise.
13255         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
13256         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
13257         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
13258         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13259         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
13260         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
13261         it only runs on nvptx targets.
13262         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13263         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13264         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13265         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13266         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13267         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13268         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13269         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13270         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13271         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13272         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13273         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13274         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13275         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13276         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13277         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13278         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13279         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13280         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13281         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13282         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13283         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13284         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13286 2016-05-23  Martin Jambor  <mjambor@suse.cz>
13288         * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
13290 2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
13292         * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
13293         to gomp_init_targets_once.
13294         (acc_set_device_type): Remove !cached_base_dev condition on call to
13295         gomp_init_targets_once, move call to before acc_device_lock acquire,
13296         to avoid deadlock.
13297         (acc_get_device_num): Remove !cached_base_dev condition on call to
13298         gomp_init_targets_once.
13299         (acc_set_device_num): Likewise.
13301 2016-05-16  Martin Jambor  <mjambor@suse.cz>
13303         * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
13305 2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
13307         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
13308         expected partitioning.
13310 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
13312         PR middle-end/70626
13313         * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
13314         * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
13315         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
13317 2016-04-21  Alexander Monakov  <amonakov@ispras.ru>
13319         * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
13320         non-fatal.
13322 2016-04-19  Jakub Jelinek  <jakub@redhat.com>
13324         PR middle-end/70680
13325         * testsuite/libgomp.c/pr70680-1.c: New test.
13326         * testsuite/libgomp.c/pr70680-2.c: New test.
13328 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
13330         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
13331         pass parameter variables to subroutines.
13333 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
13335         PR middle-end/70643
13336         * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
13338 2016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
13340         PR testsuite/68242
13341         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
13342         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13344 2016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
13346         * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
13347         GOACC_parallel_keyed, restore GOACC_parallel prototype, new
13348         GOACC_declare prototype.
13350         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
13351         Merge this file, and...
13352         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
13353         ... this file, and...
13354         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
13355         ... this file, and...
13356         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
13357         ... this file, and...
13358         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
13359         ... this file, and...
13360         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
13361         ... this file, and...
13362         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
13363         ... this file, and...
13364         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
13365         ... this file, and...
13366         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
13367         ... this file, and...
13368         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
13369         ... this file, and...
13370         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
13371         ... this file, and...
13372         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
13373         ... this file, and...
13374         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
13375         ... this file into...
13376         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
13377         file.
13379         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
13380         Make failure observable.
13382 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
13384         * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
13385         field.
13386         * target.c (gomp_target_fallback_firstprivate,
13387         gomp_target_unshare_firstprivate): Removed.
13388         (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
13389         before waiting for dependencies.
13390         (gomp_target_task_fn): Don't copy firstprivate vars here.
13391         * task.c (GOMP_PLUGIN_target_task_completion): Don't free
13392         firstprivate_copies here.
13393         (gomp_create_target_task): Don't initialize firstprivate_copies field.
13394         * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
13395         explicit/implicit firstprivate.
13397 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
13399         PR lto/70289
13400         PR ipa/70348
13401         PR tree-optimization/70373
13402         PR middle-end/70533
13403         PR middle-end/70534
13404         PR middle-end/70535
13405         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
13406         test.
13407         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
13408         test.
13409         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
13410         test.
13411         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
13412         test.
13413         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
13414         test.
13415         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
13416         test.
13417         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
13418         test.
13419         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
13420         test.
13421         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
13422         test.
13423         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
13424         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
13425         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
13426         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
13427         test.
13428         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
13429         test.
13430         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
13431         test.
13432         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
13433         test.
13434         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
13435         coverage.
13436         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13437         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
13438         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
13439         * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
13440         * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
13441         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
13442         coverage.
13443         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13444         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13445         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13446         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13447         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
13448         * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
13449         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
13450         * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
13451         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
13452         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13453         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13454         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13455         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13456         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13457         * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
13459 2016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
13460             James Norris  <jnorris@codesourcery.com>
13461             Nathan Sidwell  <nathan@codesourcery.com>
13462             Julian Brown  <julian@codesourcery.com>
13463             Cesar Philippidis  <cesar@codesourcery.com>
13464             Chung-Lin Tang  <cltang@codesourcery.com>
13465             Tom de Vries  <tom@codesourcery.com>
13467         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
13468         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13469         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13470         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
13471         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13472         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13473         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13474         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
13475         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13476         XFAIL.
13477         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
13478         Incorporate...
13479         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
13480         file.
13481         * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
13482         * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
13483         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
13484         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
13485         Likewise.
13486         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
13487         Likewise.
13488         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13489         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
13490         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
13491         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
13492         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
13493         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
13494         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
13495         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
13496         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
13497         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
13498         Likewise.
13499         * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
13500         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
13501         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
13502         file...
13503         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
13504         file into...
13505         * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
13506         file.  Update.
13507         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
13508         file.
13509         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
13510         Likewise.
13511         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
13512         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
13513         ... this new file.  Update.
13514         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
13515         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
13516         ... this new file.  Update.
13517         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
13518         file.  Incorporate...
13519         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
13520         file, and...
13521         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
13522         file, and...
13523         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
13524         file.
13525         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
13527 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
13529         * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
13530         set-torture-options.
13532 2016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
13534         * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
13535         gcc-dg-runtest.
13536         * testsuite/libgomp.oacc-c/c.exp: Likewise.
13537         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
13538         -fno-builtin-acc_on_device instead of -O0.
13539         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
13540         -O0.
13541         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13542         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
13543         Likewise.
13544         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13545         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13546         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13547         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13548         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13549         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13550         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13551         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13552         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13553         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13554         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13555         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13556         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13557         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13558         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13559         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13560         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13561         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
13562         Don't specify -O2.
13563         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
13564         Likewise.
13565         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
13566         Likewise.
13568 2016-03-24  Martin Liska  <mliska@suse.cz>
13570         * plugin/plugin-hsa.c (packet_store_release): New function
13571         that is taken from the HSA runtime manual.
13572         (GOMP_OFFLOAD_run): Use the function.
13574 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
13576         PR c++/70376
13577         * testsuite/libgomp.c++/pr70376.C: New test.
13579 2016-03-23  Tom de Vries  <tom@codesourcery.com>
13581         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
13582         initialization of lresult and lvresult.
13583         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
13585 2016-03-23  James Norris  <jnorris@codesourcery.com>
13586             Daichi Fukuoka <dc-fukuoka@sgi.com>
13588         PR libgomp/69414
13589         * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
13590         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
13591         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13592         * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
13594 2016-03-23  Martin Liska  <mliska@suse.cz>
13596         PR hsa/70337
13597         * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
13598         argument just in case a dispatched kernel uses that argument.
13600 2016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
13602         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
13603         -ftree-parallelize-loops/-fopenacc changes.
13604         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
13605         Likewise.
13606         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13607         Likewise.
13608         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
13609         Likewise.
13610         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
13611         Likewise.
13612         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
13613         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
13615 2016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
13617         * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
13618         always_ld_library_path the path to libgcc_s.
13620 2016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
13622         PR testsuite/70009
13623         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
13625 2016-03-09  Tom de Vries  <tom@codesourcery.com>
13627         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
13628         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
13629         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13630         Same.
13631         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
13632         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
13633         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
13634         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
13636 2016-03-07  Martin Jambor  <mjambor@suse.cz>
13638         * testsuite/lib/libgomp.exp
13639         (check_effective_target_hsa_offloading_selected_nocache): New.
13640         (check_effective_target_hsa_offloading_selected): Likewise.
13641         * testsuite/libgomp.hsa.c/c.exp: Likewise.
13642         * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
13643         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
13644         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
13645         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
13646         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
13647         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
13648         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
13649         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
13650         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
13651         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
13652         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
13653         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
13654         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
13655         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
13656         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
13657         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
13659 2016-03-07  Martin Jambor  <mjambor@suse.cz>
13661         * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
13662         non-shared memory accelerators.
13663         * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
13664         * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
13665         * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
13666         * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
13667         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
13668         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
13669         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
13670         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
13671         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
13673 2016-03-07  Martin Jambor  <mjambor@suse.cz>
13675         * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
13676         ALWAYS_CFLAGS.
13678 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
13680         PR libgomp/69555
13681         * testsuite/libgomp.c++/pr69555-1.C: New test.
13682         * testsuite/libgomp.c++/pr69555-2.C: New test.
13684 2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
13685             Martin Jambor  <mjambor@suse.cz>
13687         * testsuite/lib/libgomp.exp
13688         (check_effective_target_offload_device_shared_as): New proc.
13689         * testsuite/libgomp.c++/declare_target-1.C: New test.
13691 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
13693         PR driver/68463
13694         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
13696 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
13698         * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
13699         * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
13700         dims.
13701         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
13702         -ftree-parallelize-loops/-fopenacc changes.
13703         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
13704         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
13705         Likewise.
13706         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
13707         Likewise.
13708         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
13709         Likewise.
13710         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
13711         Likewise.
13712         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
13713         Likewise.
13714         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
13715         Likewise.
13716         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
13717         Likewise.
13718         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
13719         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
13720         Likewise.
13721         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
13722         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
13723         Likewise.
13724         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
13725         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
13726         Likewise.
13728 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
13730         * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
13732 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
13734         PR driver/69805
13735         * testsuite/libgomp.c/pr69805.c: New test.
13737 2016-02-16  Tom de Vries  <tom@codesourcery.com>
13739         PR lto/67709
13740         * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
13742 2016-02-09  Tom de Vries  <tom@codesourcery.com>
13744         PR tree-optimization/69599
13745         * testsuite/libgomp.c/omp-nested-3.c: New test.
13746         * testsuite/libgomp.c/pr46032-2.c: New test.
13747         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
13748         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
13750 2016-02-09  Tom de Vries  <tom@codesourcery.com>
13752         PR lto/69707
13753         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
13755 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
13757         * testsuite/libgomp.c/target-31.c: Fix testcase.
13759 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
13761         * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
13762         clause.
13763         * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
13764         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
13765         reduction and map clauses.
13766         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
13768 2016-02-02  James Norris  <jnorris@codesourcery.com>
13770         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
13772 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
13774         * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
13775         * oacc-parallel.c (GOACC_host_data): Remove function definition.
13777         * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
13778         cases.
13780         * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
13781         variables.
13782         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
13783         (hsa_kmt_lib): Set variables.
13784         * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
13785         always_ld_library_path.
13786         * Makefile.in: Regenerate.
13787         * configure: Likewise.
13788         * testsuite/Makefile.in: Likewise.
13790         * plugin/configfrag.ac (offload_additional_options)
13791         (offload_additional_lib_paths): Don't amend for hsa offloading.
13792         * configure: Regenerate.
13794         * plugin/configfrag.ac: Don't configure for offloading target if
13795         we don't build the corresponding plugin.
13796         * configure: Regenerate.
13798 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
13800         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
13801         * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
13803 2016-01-26  Tom de Vries  <tom@codesourcery.com>
13805         PR tree-optimization/69110
13806         * testsuite/libgomp.c/pr69110.c: New test.
13808 2016-01-25  Richard Biener  <rguenther@suse.de>
13810         PR lto/69393
13811         * testsuite/libgomp.c++/pr69393.C: New testcase.
13813 2016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
13815         * target.c (gomp_get_target_fn_addr): Allow host fallback if target
13816         function wasn't mapped to the device with non-shared memory.
13818 2016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
13820         * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
13822 2016-01-19  Martin Jambor  <mjambor@suse.cz>
13823             Martin Liska  <mliska@suse.cz>
13825         * plugin/Makefrag.am: Add HSA plugin requirements.
13826         * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
13827         (HSA_RUNTIME_LIB): Likewise.
13828         (HSA_RUNTIME_CPPFLAGS): Likewise.
13829         (HSA_RUNTIME_INCLUDE): New substitution.
13830         (HSA_RUNTIME_LIB): Likewise.
13831         (HSA_RUNTIME_LDFLAGS): Likewise.
13832         (hsa-runtime): New configure option.
13833         (hsa-runtime-include): Likewise.
13834         (hsa-runtime-lib): Likewise.
13835         (PLUGIN_HSA): New substitution variable.
13836         Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
13837         configure options.
13838         (PLUGIN_HSA_CPPFLAGS): Likewise.
13839         (PLUGIN_HSA_LDFLAGS): Likewise.
13840         (PLUGIN_HSA_LIBS): Likewise.
13841         Check that we have access to HSA run-time.
13842         * libgomp-plugin.h (offload_target_type): New element
13843         OFFLOAD_TARGET_TYPE_HSA.
13844         * libgomp.h (gomp_target_task): New fields firstprivate_copies and
13845         args.
13846         (bool gomp_create_target_task): Updated.
13847         (gomp_device_descr): Extra parameter of run_func and async_run_func,
13848         new field can_run_func.
13849         * libgomp_g.h (GOMP_target_ext): Update prototype.
13850         * oacc-host.c (host_run): Added a new parameter args.
13851         * target.c (calculate_firstprivate_requirements): New function.
13852         (copy_firstprivate_data): Likewise.
13853         (gomp_target_fallback_firstprivate): Use them.
13854         (gomp_target_unshare_firstprivate): New function.
13855         (gomp_get_target_fn_addr): Allow returning NULL for shared memory
13856         devices.
13857         (GOMP_target): Do host fallback for all shared memory devices.  Do not
13858         pass any args to plugins.
13859         (GOMP_target_ext): Introduce device-specific argument parameter args.
13860         Allow host fallback if device shares memory.  Do not remap data if
13861         device has shared memory.
13862         (gomp_target_task_fn): Likewise.  Also treat shared memory devices
13863         like host fallback for mappings.
13864         (GOMP_target_data): Treat shared memory devices like host fallback.
13865         (GOMP_target_data_ext): Likewise.
13866         (GOMP_target_update): Likewise.
13867         (GOMP_target_update_ext): Likewise.  Also pass NULL as args to
13868         gomp_create_target_task.
13869         (GOMP_target_enter_exit_data): Likewise.
13870         (omp_target_alloc): Treat shared memory devices like host fallback.
13871         (omp_target_free): Likewise.
13872         (omp_target_is_present): Likewise.
13873         (omp_target_memcpy): Likewise.
13874         (omp_target_memcpy_rect): Likewise.
13875         (omp_target_associate_ptr): Likewise.
13876         (gomp_load_plugin_for_device): Also load can_run.
13877         * task.c (GOMP_PLUGIN_target_task_completion): Free
13878         firstprivate_copies.
13879         (gomp_create_target_task): Accept new argument args and store it to
13880         ttask.
13881         * plugin/plugin-hsa.c: New file.
13883 2016-01-18  Tom de Vries  <tom@codesourcery.com>
13885         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
13886         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
13887         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
13888         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
13889         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
13890         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
13891         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
13892         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
13893         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
13894         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
13895         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
13896         Same.
13897         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
13898         Same.
13899         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
13900         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
13901         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
13902         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
13903         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
13904         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
13905         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
13906         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
13907         Same.
13908         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
13910 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
13912         * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
13914 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
13916         * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
13918 2016-01-12  James Norris  <jnorris@codesourcery.com>
13920         * libgomp.texi: Updates for OpenACC.
13922 2016-01-11  Alexander Monakov  <amonakov@ispras.ru>
13924         * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
13926 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
13928         PR fortran/66680
13929         * testsuite/libgomp.fortran/pr66680.f90: New test.
13931 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
13933         PR middle-end/68960
13934         * testsuite/libgomp.c/pr68960.c: New test.
13936 2016-01-06  Nathan Sidwell  <nathan@acm.org>
13938         * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
13939         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
13941 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
13943         Update copyright years.
13945         * libgomp.texi: Bump @copying's copyright year.
13947 2015-12-31  Nathan Sidwell  <nathan@acm.org>
13949         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
13950         dg-additional-options syntax.
13951         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13952         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13953         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13954         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13955         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13956         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13957         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13958         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13959         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13960         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13961         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13962         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13963         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13964         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13965         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13966         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13967         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13968         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13970 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
13972         * libgomp.h (REFCOUNT_LINK): Define.
13973         (struct splay_tree_key_s): Add link_key.
13974         * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
13975         Replace target address of the pointer with target address of newly
13976         mapped object in the splay tree.  Set link pointer on target to the
13977         device address of the mapped object.
13978         (gomp_unmap_vars): Restore target address of the pointer in the splay
13979         tree for REFCOUNT_LINK objects after unmapping.
13980         (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
13981         declare target link" objects.
13982         (gomp_unload_image_from_device): Replace j with i.  Force unmap of all
13983         "omp declare target link" objects, which were mapped for the image.
13984         (gomp_exit_data): Restore target address of the pointer in the splay
13985         tree for REFCOUNT_LINK objects after unmapping.
13986         * testsuite/libgomp.c/target-link-1.c: New file.
13988 2015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
13990         * libgomp.h (gomp_device_state): New enum.
13991         (struct gomp_device_descr): Replace is_initialized with state.
13992         (gomp_fini_device): Remove declaration.
13993         * oacc-host.c (host_dispatch): Use state instead of is_initialized.
13994         * oacc-init.c (acc_init_1): Use state instead of is_initialized.
13995         (acc_shutdown_1): Likewise.  Inline gomp_fini_device.
13996         (acc_set_device_type): Use state instead of is_initialized.
13997         (acc_set_device_num): Likewise.
13998         * target.c (resolve_device): Use state instead of is_initialized.
13999         Do not initialize finalized device.
14000         (gomp_map_vars): Do nothing if device is finalized.
14001         (gomp_unmap_vars): Likewise.
14002         (gomp_update): Likewise.
14003         (GOMP_offload_register_ver): Use state instead of is_initialized.
14004         (GOMP_offload_unregister_ver): Likewise.
14005         (gomp_init_device): Likewise.
14006         (gomp_unload_device): Likewise.
14007         (gomp_fini_device): Remove.
14008         (gomp_get_target_fn_addr): Do nothing if device is finalized.
14009         (GOMP_target): Go to host fallback if device is finalized.
14010         (GOMP_target_ext): Likewise.
14011         (gomp_exit_data): Do nothing if device is finalized.
14012         (gomp_target_task_fn): Go to host fallback if device is finalized.
14013         (gomp_target_fini): New static function.
14014         (gomp_target_init): Use state instead of is_initialized.
14015         Call gomp_target_fini at exit.
14017 2015-12-09  Tom de Vries  <tom@codesourcery.com>
14019         PR tree-optimization/68716
14020         * testsuite/libgomp.c/omp-nested-2.c: New test.
14022 2015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
14024         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
14025         target openacc_nvidia_accel_selected.
14026         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
14027         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
14028         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
14029         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
14031 2015-12-01  Julian Brown  <julian@codesourcery.com>
14032             James Norris  <James_Norris@mentor.com>
14034         * oacc-parallel.c (GOACC_host_data): New function.
14035         * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
14036         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
14037         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
14038         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
14039         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
14040         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
14041         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
14043 2015-11-30  James Norris  <jnorris@codesourcery.com>
14044             Cesar Philippidis  <cesar@codesourcery.com>
14046         libgomp/
14047         * libgomp.oacc-fortran/routine-5.f90: New test.
14048         * libgomp.oacc-fortran/routine-7.f90: New test.
14049         * libgomp.oacc-fortran/routine-9.f90: New test.
14051 2015-11-30  Tom de Vries  <tom@codesourcery.com>
14053         PR tree-optimization/46032
14054         * testsuite/libgomp.c/pr46032.c: New test.
14056 2015-11-27  Jakub Jelinek  <jakub@redhat.com>
14058         PR libgomp/68579
14059         * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
14060         (gomp_create_target_task): Call it before freeing
14061         GOMP_TARGET_TASK_DATA tasks.
14063         PR c/63326
14064         * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
14065         in between case label and OpenMP standalone directives.
14066         * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
14068 2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
14070         * configure: Regenerate.
14072 2015-11-26  Jakub Jelinek  <jakub@redhat.com>
14074         * testsuite/libgomp.c/target-35.c: New test.
14076 2015-11-22  James Norris  <jnorris@codesourcery.com>
14077             Cesar Philippidis  <cesar@codesourcery.com>
14079         * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
14080         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
14081         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
14082         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
14083         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
14085 2015-11-20  Jakub Jelinek  <jakub@redhat.com>
14087         PR middle-end/68221
14088         * testsuite/libgomp.c/reduction-11.c: Remove xfail.
14089         * testsuite/libgomp.c/reduction-12.c: Likewise.
14090         * testsuite/libgomp.c++/reduction-11.C: Likewise.
14091         * testsuite/libgomp.c++/reduction-12.C: Likewise.
14093 2015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
14095         * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
14096         * libgomp.oacc-c-c++-common/reduction-flt.c: New.
14097         * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
14098         * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
14099         * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
14100         and fix.
14101         * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14102         * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14104 2015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
14106         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
14107         worker & gang cases.
14108         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
14110 2015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
14112         * config/nvptx/priority_queue.c: New file.
14114 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
14116         * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
14117         sections.
14119 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
14120             Aldy Hernandez  <aldyh@redhat.com>
14121             Ilya Verbin  <ilya.verbin@intel.com>
14123         * ordered.c (gomp_doacross_init, GOMP_doacross_post,
14124         GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
14125         GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
14126         iterators or IV by chunk size.
14127         * parallel.c (gomp_resolve_num_threads): Don't assume that
14128         if thr->ts.team is non-NULL, then pool must be non-NULL.
14129         * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
14130         * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
14131         GOMP_PLUGIN_target_task_completion.
14132         * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
14133         * Makefile.in: Regenerate.
14134         * libgomp.h: Shuffle prototypes and forward definitions around so
14135         priority queues can be defined.
14136         (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
14137         (enum gomp_target_task_state): New enum.
14138         (struct gomp_target_task): Add state, tgt, task and team fields.
14139         (gomp_create_target_task): Change return type to bool, add
14140         state argument.
14141         (gomp_target_task_fn): Change return type to bool.
14142         (struct gomp_device_descr): Add async_run_func.
14143         (struct gomp_task): Remove children, next_child, prev_child,
14144         next_queue, prev_queue, next_taskgroup, prev_taskgroup.
14145         Add pnode field.
14146         (struct gomp_taskgroup): Remove children.
14147         Add taskgroup_queue.
14148         (struct gomp_team): Change task_queue type to a priority queue.
14149         (splay_compare): Define inline.
14150         (priority_queue_offset): New.
14151         (priority_node_to_task): New.
14152         (task_to_priority_node): New.
14153         * oacc-mem.c: Do not include splay-tree.h.
14154         * priority_queue.c: New file.
14155         * priority_queue.h: New file.
14156         * splay-tree.c: Do not include splay-tree.h.
14157         (splay_tree_foreach_internal): New.
14158         (splay_tree_foreach): New.
14159         * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
14160         (splay_tree_callback): Define typedef.
14161         * target.c (splay_compare): Move to libgomp.h.
14162         (GOMP_target): Don't adjust *thr in any way around running offloaded
14163         task.
14164         (GOMP_target_ext): Likewise.  Handle target nowait.
14165         (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
14166         return value from gomp_create_target_task, if false, fallthrough
14167         as if no dependencies exist.
14168         (gomp_target_task_fn): Change return type to bool, return true
14169         if the task should have another part scheduled later.  Handle
14170         target nowait.
14171         (gomp_load_plugin_for_device): Initialize async_run.
14172         * task.c (gomp_init_task): Initialize children_queue.
14173         (gomp_clear_parent_in_list): New.
14174         (gomp_clear_parent_in_tree): New.
14175         (gomp_clear_parent): Handle priorities.
14176         (GOMP_task): Likewise.
14177         (priority_queue_move_task_first,
14178         gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
14179         New functions.
14180         (gomp_create_target_task): Use priority queues.  Change return type
14181         to bool, add state argument, return false if for async
14182         {{enter,exit} data,update} constructs no dependencies need to be
14183         waited for, handle target nowait.  Set task->fn to NULL instead of
14184         gomp_target_task_fn.
14185         (verify_children_queue): Remove.
14186         (priority_list_upgrade_task): New.
14187         (priority_queue_upgrade_task): New.
14188         (verify_task_queue): Remove.
14189         (priority_list_downgrade_task): New.
14190         (priority_queue_downgrade_task): New.
14191         (gomp_task_run_pre): Use priority queues.
14192         Abstract code out to priority_queue_downgrade_task.
14193         (gomp_task_run_post_handle_dependers): Use priority queues.
14194         (gomp_task_run_post_remove_parent): Likewise.
14195         (gomp_task_run_post_remove_taskgroup): Likewise.
14196         (gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
14197         tasks specially.
14198         (GOMP_taskwait): Likewise.
14199         (gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
14200         priority-queue_upgrade_task.
14201         (GOMP_taskgroup_start): Use priority queues.
14202         (GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
14203         specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
14204         barrier.
14205         * taskloop.c (GOMP_taskloop): Handle priorities.
14206         * team.c (gomp_new_team): Call priority_queue_init.
14207         (free_team): Call priority_queue_free.
14208         (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
14209         team created for target nowait in implicit parallel region.
14210         (gomp_team_start): For nested check, test thr->ts.level instead of
14211         thr->ts.team != NULL.
14212         * testsuite/libgomp.c/doacross-3.c: New test.
14213         * testsuite/libgomp.c/ordered-5.c: New test.
14214         * testsuite/libgomp.c/priority.c: New test.
14215         * testsuite/libgomp.c/target-31.c: New test.
14216         * testsuite/libgomp.c/target-32.c: New test.
14217         * testsuite/libgomp.c/target-33.c: New test.
14218         * testsuite/libgomp.c/target-34.c: New test.
14220 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
14222         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
14224         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
14225         loop is sequential.
14227 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
14229         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
14230         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
14232 2015-11-12  James Norris  <jnorris@codesourcery.com>
14233             Joseph Myers  <joseph@codesourcery.com>
14235         * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
14236         * oacc-parallel.c (GOACC_declare): New function.
14237         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
14238         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
14239         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
14240         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
14241         * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
14243 2015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
14245         * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
14247 2015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
14249         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
14250         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
14252 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
14254         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
14255         inadvertent commit.
14257 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
14259         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
14260         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
14261         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
14262         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
14263         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
14265 2015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
14267         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
14268         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14270 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
14271             Ilya Verbin  <ilya.verbin@intel.com>
14273         * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
14274         GOMP_loop_nonmonotonic_dynamic_start,
14275         GOMP_loop_nonmonotonic_guided_next,
14276         GOMP_loop_nonmonotonic_guided_start,
14277         GOMP_loop_ull_nonmonotonic_dynamic_next,
14278         GOMP_loop_ull_nonmonotonic_dynamic_start,
14279         GOMP_loop_ull_nonmonotonic_guided_next,
14280         GOMP_loop_ull_nonmonotonic_guided_start,
14281         GOMP_parallel_loop_nonmonotonic_dynamic,
14282         GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
14283         (GOMP_target_41): Renamed to ...
14284         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
14285         arguments.
14286         (GOMP_target_data_41): Renamed to ...
14287         (GOMP_target_data_ext): ... this.
14288         (GOMP_target_update_41): Renamed to ...
14289         (GOMP_target_update_ext): ... this.
14290         * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
14291         GOMP_target_data_ext and GOMP_target_update_ext instead of
14292         GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
14293         Export GOMP_loop_nonmonotonic_dynamic_next,
14294         GOMP_loop_nonmonotonic_dynamic_start,
14295         GOMP_loop_nonmonotonic_guided_next,
14296         GOMP_loop_nonmonotonic_guided_start,
14297         GOMP_loop_ull_nonmonotonic_dynamic_next,
14298         GOMP_loop_ull_nonmonotonic_dynamic_start,
14299         GOMP_loop_ull_nonmonotonic_guided_next,
14300         GOMP_loop_ull_nonmonotonic_guided_start,
14301         GOMP_parallel_loop_nonmonotonic_dynamic and
14302         GOMP_parallel_loop_nonmonotonic_guided.
14303         * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
14304         GOMP_parallel_loop_nonmonotonic_guided,
14305         GOMP_loop_nonmonotonic_dynamic_start,
14306         GOMP_loop_nonmonotonic_guided_start,
14307         GOMP_loop_nonmonotonic_dynamic_next,
14308         GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
14309         * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
14310         GOMP_loop_ull_nonmonotonic_guided_start,
14311         GOMP_loop_ull_nonmonotonic_dynamic_next,
14312         GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
14313         * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
14314         functions.
14315         (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
14316         GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
14317         Use gomp_map_val function.
14318         (gomp_target_fallback_firstprivate): New static function.
14319         (GOMP_target_41): Renamed to ...
14320         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
14321         arguments.  Move firstprivate fallback handling into a new
14322         function.
14323         (GOMP_target_data_41): Renamed to ...
14324         (GOMP_target_data_ext): ... this.
14325         (GOMP_target_update_41): Renamed to ...
14326         (GOMP_target_update_ext): ... this.
14327         (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
14328         gomp_map_0len_lookup instead of gomp_map_lookup.
14329         (omp_target_is_present): Use gomp_map_0len_lookup instead of
14330         gomp_map_lookup.
14331         * testsuite/libgomp.c/target-28.c: Likewise.
14332         * testsuite/libgomp.c/monotonic-1.c: New test.
14333         * testsuite/libgomp.c/monotonic-2.c: New test.
14334         * testsuite/libgomp.c/nonmonotonic-1.c: New test.
14335         * testsuite/libgomp.c/nonmonotonic-2.c: New test.
14336         * testsuite/libgomp.c/pr66199-5.c: New test.
14337         * testsuite/libgomp.c/pr66199-6.c: New test.
14338         * testsuite/libgomp.c/pr66199-7.c: New test.
14339         * testsuite/libgomp.c/pr66199-8.c: New test.
14340         * testsuite/libgomp.c/pr66199-9.c: New test.
14341         * testsuite/libgomp.c/reduction-11.c: New test.
14342         * testsuite/libgomp.c/reduction-12.c: New test.
14343         * testsuite/libgomp.c/reduction-13.c: New test.
14344         * testsuite/libgomp.c/reduction-14.c: New test.
14345         * testsuite/libgomp.c/reduction-15.c: New test.
14346         * testsuite/libgomp.c/target-12.c (main): Adjust for
14347         omp_target_is_present change for one-past-last element.
14348         * testsuite/libgomp.c/target-17.c (foo): Drop tests where
14349         the same var is both mapped and privatized.
14350         * testsuite/libgomp.c/target-19.c (foo): Adjust for different
14351         handling of zero-length array sections.
14352         * testsuite/libgomp.c/target-28.c: New test.
14353         * testsuite/libgomp.c/target-29.c: New test.
14354         * testsuite/libgomp.c/target-30.c: New test.
14355         * testsuite/libgomp.c/target-teams-1.c: New test.
14356         * testsuite/libgomp.c++/member-6.C: New test.
14357         * testsuite/libgomp.c++/member-7.C: New test.
14358         * testsuite/libgomp.c++/monotonic-1.C: New test.
14359         * testsuite/libgomp.c++/monotonic-2.C: New test.
14360         * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
14361         * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
14362         * testsuite/libgomp.c++/pr66199-3.C: New test.
14363         * testsuite/libgomp.c++/pr66199-4.C: New test.
14364         * testsuite/libgomp.c++/pr66199-5.C: New test.
14365         * testsuite/libgomp.c++/pr66199-6.C: New test.
14366         * testsuite/libgomp.c++/pr66199-7.C: New test.
14367         * testsuite/libgomp.c++/pr66199-8.C: New test.
14368         * testsuite/libgomp.c++/pr66199-9.C: New test.
14369         * testsuite/libgomp.c++/reduction-11.C: New test.
14370         * testsuite/libgomp.c++/reduction-12.C: New test.
14371         * testsuite/libgomp.c++/target-13.C: New test.
14372         * testsuite/libgomp.c++/target-14.C: New test.
14373         * testsuite/libgomp.c++/target-15.C: New test.
14374         * testsuite/libgomp.c++/target-16.C: New test.
14375         * testsuite/libgomp.c++/target-17.C: New test.
14376         * testsuite/libgomp.c++/target-18.C: New test.
14377         * testsuite/libgomp.c++/target-19.C: New test.
14379 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
14381         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
14382         and reduction copy.
14383         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
14384         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
14385         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
14386         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14387         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
14388         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14389         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
14390         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14391         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14392         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
14393         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
14394         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
14395         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
14396         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
14398 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
14400         * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
14401         * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
14402         * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
14403         * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
14404         * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
14405         * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
14406         * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
14407         * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
14409 2015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
14411         * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
14412         * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
14413         (GOMP_OFFLOAD_openacc_parallel): Likewise.
14414         * oacc-host.c (host_openacc_exec): Likewise.
14415         * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
14417 2015-11-03  Julian Brown  <julian@codesourcery.com>
14418             Thomas Schwinge  <thomas@codesourcery.com>
14420         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
14421         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14422         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
14423         Likewise.
14424         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
14425         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
14427 2015-11-03  James Norris  <jnorris@codesourcery.com>
14429         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
14430         file.
14431         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
14432         Likewise.
14433         * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
14434         * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
14435         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
14436         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
14437         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
14439 2015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
14441         * openacc.h (enum acc_device_t): Reformat. Ensure layout
14442         compatibility.
14443         (enum acc_async_t): Reformat.
14444         (acc_on_device): Declare compatible with builtin and provide C++
14445         wrapper.
14446         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
14448 2015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
14449             Cesar Philippidis  <cesar@codesourcery.com>
14451         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
14452         * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
14453         ... this.  Add a description of the test at the top of the file.
14454         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
14455         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
14456         ... this.  Add a description of the test at the top of the file.
14458 2015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
14460         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14461         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
14462         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
14463         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
14464         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
14465         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
14467 2015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
14469         * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
14470         dimensions.
14472 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
14474         PR testsuite/68063
14475         * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
14477 2015-10-27  James Norris  <jnorris@codesourcery.com>
14479         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
14480         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
14482 2015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
14484         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
14485         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14487         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
14488         acc_device_nvidia usage.
14489         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
14490         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14491         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
14493         * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
14494         * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
14496         PR libgomp/66518
14497         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
14499         PR libgomp/65437
14500         PR libgomp/66518
14501         * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
14502         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
14504 2015-10-23  Tom de Vries  <tom@codesourcery.com>
14506         PR testsuite/68063
14507         * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
14509 2015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
14511         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
14512         vector_length.
14513         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14515 2015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
14516             Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
14518         * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
14519         to 0 when mapnum is 0.
14521 2015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14523         * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
14524         Cast to int from int32_t.
14526 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
14527             Aldy Hernandez  <aldyh@redhat.com>
14528             Ilya Verbin  <ilya.verbin@intel.com>
14530         * config/linux/affinity.c (omp_get_place_num_procs,
14531         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14532         * config/linux/doacross.h: New file.
14533         * config/posix/affinity.c (omp_get_place_num_procs,
14534         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14535         * config/posix/doacross.h: New file.
14536         * env.c: Include gomp-constants.h.
14537         (struct gomp_task_icv): Rename run_sched_modifier to
14538         run_sched_chunk_size.
14539         (gomp_max_task_priority_var): New variable.
14540         (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
14541         (handle_omp_display_env): Change _OPENMP value from 201307 to
14542         201511.  Print OMP_MAX_TASK_PRIORITY.
14543         (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
14544         (omp_set_schedule, omp_get_schedule): Rename modifier argument to
14545         chunk_size and run_sched_modifier to run_sched_chunk_size.
14546         (omp_get_max_task_priority, omp_get_initial_device,
14547         omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
14548         omp_get_partition_place_nums): New functions.
14549         * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
14550         omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
14551         to chunk_size.
14552         (omp_get_num_places_, omp_get_place_num_procs_,
14553         omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
14554         omp_get_place_proc_ids_8_, omp_get_place_num_,
14555         omp_get_partition_num_places_, omp_get_partition_place_nums_,
14556         omp_get_partition_place_nums_8_, omp_get_initial_device_,
14557         omp_get_max_task_priority_): New functions.
14558         * libgomp_g.h (GOMP_loop_doacross_static_start,
14559         GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
14560         GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
14561         GOMP_loop_ull_doacross_dynamic_start,
14562         GOMP_loop_ull_doacross_guided_start,
14563         GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
14564         GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
14565         GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
14566         GOMP_target_data_41, GOMP_target_update_41,
14567         GOMP_target_enter_exit_data): New prototypes.
14568         (GOMP_task): Add prototype argument.
14569         * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
14570         (struct gomp_doacross_work_share): New type.
14571         (struct gomp_work_share): Add doacross field.
14572         (struct gomp_task_icv): Rename run_sched_modifier to
14573         run_sched_chunk_size.
14574         (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
14575         GOMP_TASK_UNDEFERRED.  Add comments.
14576         (struct gomp_task_depend_entry): Add comments.
14577         (struct gomp_task): Likewise.
14578         (struct gomp_taskgroup): Likewise.
14579         (struct gomp_target_task): New type.
14580         (struct gomp_team): Add comment.
14581         (gomp_get_place_proc_ids_8, gomp_doacross_init,
14582         gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
14583         gomp_create_target_task, gomp_target_task_fn): New prototypes.
14584         (struct target_var_desc): New type.
14585         (struct target_mem_desc): Adjust comment.  Use struct
14586         target_var_desc instead of splay_tree_key for list.
14587         (REFCOUNT_INFINITY): Define.
14588         (struct splay_tree_key_s): Remove copy_from field.
14589         (struct gomp_device_descr): Add dev2dev_func field.
14590         (enum gomp_map_vars_kind): New enum.
14591         (gomp_map_vars): Add one argument.
14592         * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
14593         omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
14594         omp_get_place_num_procs, omp_get_place_num_procs_,
14595         omp_get_place_num_procs_8_, omp_get_place_proc_ids,
14596         omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
14597         omp_get_place_num_, omp_get_partition_num_places,
14598         omp_get_partition_num_places_, omp_get_partition_place_nums,
14599         omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
14600         omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
14601         omp_target_free, omp_target_is_present, omp_target_memcpy,
14602         omp_target_memcpy_rect, omp_target_associate_ptr and
14603         omp_target_disassociate_ptr.
14604         (GOMP_4.0.2): Renamed to ...
14605         (GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
14606         GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
14607         GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
14608         GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14609         GOMP_loop_doacross_static_start, GOMP_doacross_post,
14610         GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
14611         GOMP_loop_ull_doacross_guided_start,
14612         GOMP_loop_ull_doacross_runtime_start,
14613         GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
14614         GOMP_doacross_ull_wait.
14615         * libgomp.texi: Document omp_get_max_task_priority.
14616         Rename modifier argument to chunk_size for omp_set_schedule and
14617         omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
14618         * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
14619         to run_sched_chunk_size renaming.
14620         (GOMP_loop_ordered_runtime_start): Likewise.
14621         (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
14622         gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14623         GOMP_parallel_loop_runtime_start): New functions.
14624         (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
14625         to run_sched_chunk_size renaming.
14626         (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
14627         GOMP_loop_doacross_guided_start): New functions or aliases.
14628         * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
14629         run_sched_modifier to run_sched_chunk_size renaming.
14630         (GOMP_loop_ull_ordered_runtime_start): Likewise.
14631         (gomp_loop_ull_doacross_static_start,
14632         gomp_loop_ull_doacross_dynamic_start,
14633         gomp_loop_ull_doacross_guided_start,
14634         GOMP_loop_ull_doacross_runtime_start): New functions.
14635         (GOMP_loop_ull_doacross_static_start,
14636         GOMP_loop_ull_doacross_dynamic_start,
14637         GOMP_loop_ull_doacross_guided_start): New functions or aliases.
14638         * oacc-mem.c (acc_map_data, present_create_copy,
14639         gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
14640         to gomp_map_vars.
14641         (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
14642         * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
14643         instead of false to gomp_map_vars.
14644         (GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
14645         * omp.h.in (omp_lock_hint_t): New type.
14646         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14647         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14648         omp_get_place_num, omp_get_partition_num_places,
14649         omp_get_partition_place_nums, omp_get_initial_device,
14650         omp_get_max_task_priority, omp_target_alloc, omp_target_free,
14651         omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
14652         omp_target_associate_ptr, omp_target_disassociate_ptr): New
14653         prototypes.
14654         * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
14655         (omp_lock_hint_none, omp_lock_hint_uncontended,
14656         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14657         omp_lock_hint_speculative): New parameters.
14658         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14659         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14660         omp_get_place_num, omp_get_partition_num_places,
14661         omp_get_partition_place_nums, omp_get_initial_device,
14662         omp_get_max_task_priority): New interfaces.
14663         (omp_set_schedule, omp_get_schedule): Rename modifier argument
14664         to chunk_size.
14665         * omp_lib.h.in (omp_lock_hint_kind): New parameter.
14666         (omp_lock_hint_none, omp_lock_hint_uncontended,
14667         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14668         omp_lock_hint_speculative): New parameters.
14669         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14670         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14671         omp_get_place_num, omp_get_partition_num_places,
14672         omp_get_partition_place_nums, omp_get_initial_device,
14673         omp_get_max_task_priority): New functions and subroutines.
14674         * ordered.c: Include stdarg.h and string.h.
14675         (MAX_COLLAPSED_BITS): Define.
14676         (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
14677         gomp_doacross_ull_init, GOMP_doacross_ull_post,
14678         GOMP_doacross_ull_wait): New functions.
14679         * target.c: Include errno.h.
14680         (resolve_device): If device is not initialized, call
14681         gomp_init_device on it.
14682         (gomp_map_lookup): New function.
14683         (gomp_map_vars_existing): Add tgt_var argument, fill it in.
14684         Don't bump refcount if REFCOUNT_INFINITY.  Handle
14685         GOMP_MAP_ALWAYS_TO_P.
14686         (get_kind): Rename is_openacc argument to short_mapkind.
14687         (gomp_map_pointer): Use gomp_map_lookup.
14688         (gomp_map_fields_existing): New function.
14689         (gomp_map_vars): Rename is_openacc argument to short_mapkind
14690         and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
14691         handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
14692         GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
14693         Adjust for tgt->list changed type and copy_from living in there.
14694         (gomp_copy_from_async): Adjust for tgt->list changed type and
14695         copy_from living in there.
14696         (gomp_unmap_vars): Likewise.
14697         (gomp_update): Likewise.  Rename is_openacc argument to
14698         short_mapkind.  Don't fail if object is not mapped.
14699         (gomp_load_image_to_device): Initialize refcount to
14700         REFCOUNT_INFINITY.
14701         (gomp_target_fallback): New function.
14702         (gomp_get_target_fn_addr): Likewise.
14703         (GOMP_target): Adjust gomp_map_vars caller, use
14704         gomp_get_target_fn_addr and gomp_target_fallback.
14705         (GOMP_target_41): New function.
14706         (gomp_target_data_fallback): New function.
14707         (GOMP_target_data): Use it, adjust gomp_map_vars caller.
14708         (GOMP_target_data_41): New function.
14709         (GOMP_target_update): Adjust gomp_update caller.
14710         (GOMP_target_update_41): New function.
14711         (gomp_exit_data, GOMP_target_enter_exit_data,
14712         gomp_target_task_fn, omp_target_alloc, omp_target_free,
14713         omp_target_is_present, omp_target_memcpy,
14714         omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
14715         omp_target_associate_ptr, omp_target_disassociate_ptr,
14716         gomp_load_plugin_for_device): New functions.
14717         * task.c: Include gomp-constants.h.  Include taskloop.c
14718         twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
14719         (gomp_task_handle_depend): New function.
14720         (GOMP_task): Use it.  Add priority argument.  Use
14721         gomp-constant.h constants instead of hardcoded numbers.
14722         Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
14723         (gomp_create_target_task): New function.
14724         (verify_children_queue, verify_taskgroup_queue,
14725         verify_task_queue): New functions.
14726         (gomp_task_run_pre): Call verify_*_queue functions.
14727         If an upcoming tied task is about to leave the sibling or
14728         taskgroup queues in an invalid state, adjust appropriately.
14729         Remove taskgroup argument.  Add comments.
14730         (gomp_task_run_post_handle_dependers): Add comments.
14731         (gomp_task_run_post_remove_parent): Likewise.
14732         (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
14733         (GOMP_taskwait): Likewise.  Add comments.
14734         (gomp_task_maybe_wait_for_dependencies): Fix scheduling
14735         problem such that the first non parent_depends_on task does not
14736         end up at the end of the children queue.
14737         (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
14738         GOMP_TASK_UNDEFERRED.
14739         (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
14740         * taskloop.c: New file.
14741         * testsuite/lib/libgomp.exp
14742         (check_effective_target_offload_device_nonshared_as): New proc.
14743         * testsuite/libgomp.c/affinity-2.c: New test.
14744         * testsuite/libgomp.c/doacross-1.c: New test.
14745         * testsuite/libgomp.c/doacross-2.c: New test.
14746         * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
14747         Add map clause to target.
14748         * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
14749         * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
14750         * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
14751         * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
14752         * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
14753         Likewise.
14754         * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
14755         * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
14756         * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
14757         * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
14758         not defined.  Use those where needed.
14759         * testsuite/libgomp.c/for-4.c: New test.
14760         * testsuite/libgomp.c/for-5.c: New test.
14761         * testsuite/libgomp.c/for-6.c: New test.
14762         * testsuite/libgomp.c/linear-1.c: New test.
14763         * testsuite/libgomp.c/ordered-4.c: New test.
14764         * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
14765         only allowed on the loop iterator.
14766         * testsuite/libgomp.c/pr66199-3.c: New test.
14767         * testsuite/libgomp.c/pr66199-4.c: New test.
14768         * testsuite/libgomp.c/reduction-7.c: New test.
14769         * testsuite/libgomp.c/reduction-8.c: New test.
14770         * testsuite/libgomp.c/reduction-9.c: New test.
14771         * testsuite/libgomp.c/reduction-10.c: New test.
14772         * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
14773         map(tofrom:s).
14774         * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
14775         * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
14776         * testsuite/libgomp.c/target-11.c: New test.
14777         * testsuite/libgomp.c/target-12.c: New test.
14778         * testsuite/libgomp.c/target-13.c: New test.
14779         * testsuite/libgomp.c/target-14.c: New test.
14780         * testsuite/libgomp.c/target-15.c: New test.
14781         * testsuite/libgomp.c/target-16.c: New test.
14782         * testsuite/libgomp.c/target-17.c: New test.
14783         * testsuite/libgomp.c/target-18.c: New test.
14784         * testsuite/libgomp.c/target-19.c: New test.
14785         * testsuite/libgomp.c/target-20.c: New test.
14786         * testsuite/libgomp.c/target-21.c: New test.
14787         * testsuite/libgomp.c/target-22.c: New test.
14788         * testsuite/libgomp.c/target-23.c: New test.
14789         * testsuite/libgomp.c/target-24.c: New test.
14790         * testsuite/libgomp.c/target-25.c: New test.
14791         * testsuite/libgomp.c/target-26.c: New test.
14792         * testsuite/libgomp.c/target-27.c: New test.
14793         * testsuite/libgomp.c/taskloop-1.c: New test.
14794         * testsuite/libgomp.c/taskloop-2.c: New test.
14795         * testsuite/libgomp.c/taskloop-3.c: New test.
14796         * testsuite/libgomp.c/taskloop-4.c: New test.
14797         * testsuite/libgomp.c++/ctor-13.C: New test.
14798         * testsuite/libgomp.c++/doacross-1.C: New test.
14799         * testsuite/libgomp.c++/examples-4/declare_target-2.C:
14800         Replace offload_device with offload_device_nonshared_as.
14801         * testsuite/libgomp.c++/for-12.C: New test.
14802         * testsuite/libgomp.c++/for-13.C: New test.
14803         * testsuite/libgomp.c++/for-14.C: New test.
14804         * testsuite/libgomp.c++/linear-1.C: New test.
14805         * testsuite/libgomp.c++/member-1.C: New test.
14806         * testsuite/libgomp.c++/member-2.C: New test.
14807         * testsuite/libgomp.c++/member-3.C: New test.
14808         * testsuite/libgomp.c++/member-4.C: New test.
14809         * testsuite/libgomp.c++/member-5.C: New test.
14810         * testsuite/libgomp.c++/ordered-1.C: New test.
14811         * testsuite/libgomp.c++/reduction-5.C: New test.
14812         * testsuite/libgomp.c++/reduction-6.C: New test.
14813         * testsuite/libgomp.c++/reduction-7.C: New test.
14814         * testsuite/libgomp.c++/reduction-8.C: New test.
14815         * testsuite/libgomp.c++/reduction-9.C: New test.
14816         * testsuite/libgomp.c++/reduction-10.C: New test.
14817         * testsuite/libgomp.c++/reference-1.C: New test.
14818         * testsuite/libgomp.c++/simd14.C: New test.
14819         * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
14820         * testsuite/libgomp.c++/target-5.C: New test.
14821         * testsuite/libgomp.c++/target-6.C: New test.
14822         * testsuite/libgomp.c++/target-7.C: New test.
14823         * testsuite/libgomp.c++/target-8.C: New test.
14824         * testsuite/libgomp.c++/target-9.C: New test.
14825         * testsuite/libgomp.c++/target-10.C: New test.
14826         * testsuite/libgomp.c++/target-11.C: New test.
14827         * testsuite/libgomp.c++/target-12.C: New test.
14828         * testsuite/libgomp.c++/taskloop-1.C: New test.
14829         * testsuite/libgomp.c++/taskloop-2.C: New test.
14830         * testsuite/libgomp.c++/taskloop-3.C: New test.
14831         * testsuite/libgomp.c++/taskloop-4.C: New test.
14832         * testsuite/libgomp.c++/taskloop-5.C: New test.
14833         * testsuite/libgomp.c++/taskloop-6.C: New test.
14834         * testsuite/libgomp.c++/taskloop-7.C: New test.
14835         * testsuite/libgomp.c++/taskloop-8.C: New test.
14836         * testsuite/libgomp.c++/taskloop-9.C: New test.
14837         * testsuite/libgomp.fortran/affinity1.f90: New test.
14838         * testsuite/libgomp.fortran/affinity2.f90: New test.
14840 2015-10-13  Tom de Vries  <tom@codesourcery.com>
14842         PR tree-optimization/67476
14843         * testsuite/libgomp.c/autopar-3.c: New test.
14844         * testsuite/libgomp.c/autopar-4.c: New test.
14845         * testsuite/libgomp.c/autopar-5.c: New test.
14846         * testsuite/libgomp.c/autopar-6.c: New test.
14847         * testsuite/libgomp.c/autopar-7.c: New test.
14848         * testsuite/libgomp.c/autopar-8.c: New test.
14850 2015-10-12  James Norris  <jnorris@codesourcery.com>
14852         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
14853         initializer.
14855 2015-10-09  David Malcolm  <dmalcolm@redhat.com>
14857         * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
14858         using load_gcc_lib.
14860 2015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
14862         * oacc-ptx.h: Remove file, moving its content into...
14863         * config/nvptx/fortran.c: ... here...
14864         * config/nvptx/oacc-init.c: ..., here...
14865         * config/nvptx/oacc-parallel.c: ..., and here.
14866         * config/nvptx/openacc.f90: New file.
14867         * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
14868         (link_ptx): Don't link in predefined bits of PTX code.
14870 2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
14871             Bernd Schmidt <bernds@codesourcery.com>
14873         * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
14874         (struct targ_ptx_obj): New.
14875         (nvptx_tdata): Move earlier, change data format.
14876         (link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
14877         objects.
14878         (GOMP_OFFLOAD_load_image): Adjust.
14880 2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
14882         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
14883         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14884         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
14885         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
14886         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14887         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
14888         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
14889         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
14890         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
14891         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
14892         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14893         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14894         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14895         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14896         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14897         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14898         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14899         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14900         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14901         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14902         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14903         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14904         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14905         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14906         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14907         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14908         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14909         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14910         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14911         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14912         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14913         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14914         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14915         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14916         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14917         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14918         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14919         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14920         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14921         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14922         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14923         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14924         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14925         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14926         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14927         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14928         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14929         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14930         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14931         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14932         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14933         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14934         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14935         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14936         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
14937         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14938         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14939         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
14940         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
14941         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
14942         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
14943         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
14944         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14946 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
14948         * oacc-init.c (acc_on_device): Force optimization level.
14950 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
14952         * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
14953         (cuda_errlist): Delete.
14954         (cuda_error): Reimplement.
14956 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
14958         * libgomp.h (acc_dispatch_t): Replace separate geometry args with
14959         array.
14960         * libgomp.map (GOACC_parallel_keyed): New.
14961         * oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
14962         all callers.
14963         (GOACC_parallel_keyed): New interface.  Lose geometry arguments
14964         and take keyed varargs list.  Adjust call to exec_func.
14965         (GOACC_parallel): Force host fallback.
14966         * libgomp_g.h (GOACC_parallel): Remove.
14967         (GOACC_parallel_keyed): Declare.
14968         * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
14969         (struct targ_gn_descriptor): Replace name field with launch field.
14970         (nvptx_exec): Lose separate geometry args, take array.  Process
14971         dynamic dimensions and adjust.
14972         (struct nvptx_tdata): Replace fn_names field with fn_descs.
14973         (GOMP_OFFLOAD_load_image): Adjust for change in function table
14974         data.
14975         (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
14976         passing.
14977         * oacc-host.c (host_openacc_exec): Adjust for change in dimension
14978         passing.
14980 2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
14982         PR libgomp/67141
14983         * oacc-int.h (goacc_host_init): Add declaration.
14984         * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
14985         * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
14987 2015-09-08  Aditya Kumar  <hiraditya@msn.com>
14988             Sebastian Pop  <s.pop@samsung.com>
14990         * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
14991         match o/p.
14992         * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
14993         * testsuite/libgomp.graphite/force-parallel-4.c: Same.
14994         * testsuite/libgomp.graphite/force-parallel-5.c: Same.
14995         * testsuite/libgomp.graphite/force-parallel-7.c: Same.
14996         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
14998 2015-09-03  Jakub Jelinek  <jakub@redhat.com>
15000         * configure.tgt: Add missing ;; in between nvptx and rtems
15001         snippets.
15003 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15005         * config/posix/pool.h (gomp_adjust_thread_attr): New.
15006         * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
15007         (gomp_thread_pool_reservoir): Add priority member.
15008         * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
15009         priority.
15010         (parse_thread_pools): Likewise.
15011         * team.c (gomp_team_start): Call configuration provided
15012         gomp_adjust_thread_attr(). Destroy thread attributes if
15013         necessary.
15014         * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
15016 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15018         * config/posix/pool.h: New.
15019         * config/rtems/pool.h: Likewise.
15020         * config/rtems/proc.c: Likewise.
15021         * libgomp.h (gomp_thread_destructor): Declare.
15022         * team.c: Include configuration provided "pool.h".
15023         (gomp_get_thread_pool): Define in configuration.
15024         (gomp_team_end): Call configuration defined
15025         gomp_release_thread_pool().
15027 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15029         * config/rtems/bar.c: New.
15030         * config/rtems/bar.h: Likewise.
15031         * config/rtems/mutex.c: Likewise.
15032         * config/rtems/mutex.h: Likewise.
15033         * config/rtems/sem.c: Likewise.
15034         * config/rtems/sem.h: Likewise.
15035         * configure.ac (*-*-rtems*): Check that Newlib provides a proper
15036         <sys/lock.h> header file.
15037         * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
15038         supported by Newlib.
15039         * configure: Regenerate.
15041 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15043         * team.c (gomp_new_thread_pool): Delete and move content to ...
15044         (gomp_get_thread_pool): ... new function.  Allocate and
15045         initialize thread pool on demand.
15046         (get_last_team): Use gomp_get_thread_pool().
15047         (gomp_team_start): Delete thread pool initialization.
15049 2015-09-03  Tom de Vries  <tom@codesourcery.com>
15051         PR tree-optimization/65637
15052         * testsuite/libgomp.c/autopar-2.c: New test.
15054 2015-08-29  Tom de Vries  <tom@codesourcery.com>
15056         PR tree-optimization/46193
15057         * testsuite/libgomp.c/pr46193.c: New test.
15059 2015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
15061         libgomp/
15062         * libgomp.map: Add 4.0.2 version.
15063         * target.c (offload_image_descr): Add version field.
15064         (gomp_load_image_to_device): Add version argument.  Adjust plugin
15065         call.  Improve load mismatch diagnostic.
15066         (gomp_unload_image_from_device): Add version argument.  Adjust plugin
15067         call.
15068         (GOMP_offload_regster): Make stub function, move bulk to ...
15069         (GOMP_offload_register_ver): ... here.  Process version argument.
15070         (GOMP_offload_unregister): Make stub function, move bulk to ...
15071         (GOMP_offload_unregister_ver): ... here.  Process version argument.
15072         (gomp_init_device): Process version field.
15073         (gomp_unload_device): Process version field.
15074         (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
15075         macros.  Check plugin version.
15076         * libgomp.h (gomp_device_descr): Add version function field.  Adjust
15077         loader and unloader types.
15078         * oacc-host.c: Include gomp-constants.h.
15079         (host_version): New.
15080         (host_load_image, host_unload_image): Adjust.
15081         (host_dispatch): Add host_version.
15082         * plugin/plugin-nvptx.c: Include gomp-constants.h.
15083         (GOMP_OFFLOAD_version): New.
15084         (GOMP_OFFLOAD_load_image): Add version arg and check it.
15085         (GOMP_OFFLOAD_unload_image): Likewise.
15086         * plugin/plugin-host.c: Include gomp-constants.h.
15087         (GOMP_OFFLOAD_version): New.
15088         (GOMP_OFFLOAD_load_image): Add version arg.
15089         (GOMP_OFFLOAD_unload_image): Likewise.
15091 2015-08-24  Tom de Vries  <tom@codesourcery.com>
15093         PR tree-optimization/65468
15094         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
15096 2015-08-24  Tom de Vries  <tom@codesourcery.com>
15098         PR tree-optimization/65468
15099         * testsuite/libgomp.c/static-chunk-size-one.c: New test.
15101 2015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
15103         PR libgomp/66761
15104         PR libgomp/67303
15105         * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
15106         (gomp_iter_guided_next): Idem.
15107         * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
15108         (gomp_iter_ull_guided_next): Idem.
15109         * config/linux/wait.h (do_spin): Idem.
15111 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
15113         * libgomp-plugin.h (enum offload_target_type): Remove
15114         OFFLOAD_TARGET_TYPE_HOST_NONSHM.
15115         * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
15116         * openacc.h (enum acc_device_t): Likewise.
15117         * openacc_lib.h: Likewise.
15118         * oacc-init.c (name_of_acc_device_t): Don't handle it.
15119         (acc_on_device): Just use __builtin_acc_on_device.
15120         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
15121         of acc_on_device builtin.
15122         * plugin/plugin-host.h: Remove file.
15123         * plugin/plugin-host.c: Likewise, but salvage some content into...
15124         * oacc-host.c: ... this file.
15125         * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
15126         * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
15127         * Makefile.in: Regenerate.
15128         * configure: Likewise.
15129         * testsuite/lib/libgomp.exp
15130         (check_effective_target_openacc_host_nonshm_selected): Remove.
15131         * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
15132         ACC_DEVICE_TYPE=host_nonshm.
15133         * testsuite/libgomp.oacc-c/c.exp: Likewise.
15134         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15135         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15136         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15137         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15138         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15140 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
15141             Jakub Jelinek  <jakub@redhat.com>
15143         * config/nvptx/affinity.c: New file.
15144         * config/nvptx/alloc.c: Likewise.
15145         * config/nvptx/bar.c: Likewise.
15146         * config/nvptx/barrier.c: Likewise.
15147         * config/nvptx/critical.c: Likewise.
15148         * config/nvptx/env.c: Likewise.
15149         * config/nvptx/error.c: Likewise.
15150         * config/nvptx/fortran.c: Likewise.
15151         * config/nvptx/iter.c: Likewise.
15152         * config/nvptx/iter_ull.c: Likewise.
15153         * config/nvptx/libgomp-plugin.c: Likewise.
15154         * config/nvptx/lock.c: Likewise.
15155         * config/nvptx/loop.c: Likewise.
15156         * config/nvptx/loop_ull.c: Likewise.
15157         * config/nvptx/mutex.c: Likewise.
15158         * config/nvptx/oacc-async.c: Likewise.
15159         * config/nvptx/oacc-cuda.c: Likewise.
15160         * config/nvptx/oacc-host.c: Likewise.
15161         * config/nvptx/oacc-init.c: Likewise.
15162         * config/nvptx/oacc-mem.c: Likewise.
15163         * config/nvptx/oacc-parallel.c: Likewise.
15164         * config/nvptx/oacc-plugin.c: Likewise.
15165         * config/nvptx/omp-lock.h: Likewise.
15166         * config/nvptx/ordered.c: Likewise.
15167         * config/nvptx/parallel.c: Likewise.
15168         * config/nvptx/proc.c: Likewise.
15169         * config/nvptx/ptrlock.c: Likewise.
15170         * config/nvptx/sections.c: Likewise.
15171         * config/nvptx/sem.c: Likewise.
15172         * config/nvptx/single.c: Likewise.
15173         * config/nvptx/splay-tree.c: Likewise.
15174         * config/nvptx/target.c: Likewise.
15175         * config/nvptx/task.c: Likewise.
15176         * config/nvptx/team.c: Likewise.
15177         * config/nvptx/time.c: Likewise.
15178         * config/nvptx/work.c: Likewise.
15179         * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
15180         * configure: Regenerate.
15181         * configure.tgt (config_path): Set to "nvptx" for target
15182         nvptx*-*-*.
15184 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
15186         * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
15188 2015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
15190         * plugin/plugin-nvptx.c: Don't include dlfcn.h.
15191         (cuda_errlist): Constify.
15192         (errmsg):  Move into ...
15193         (cuda_error): ... here.  Make smaller.
15194         (_XSTR, _STR): Delete.
15195         (cuda_synames): Delete.
15196         (verify_device_library): Delete.
15197         (nvptx_init): Don't call it.
15199 2015-07-28  Tom de Vries  <tom@codesourcery.com>
15201         * testsuite/libgomp.c/uns-outer-4.c: New test.
15203 2015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
15205         * testsuite/libgomp.c/pr66714.c: New test.
15207 2015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
15209         PR libgomp/66950
15210         * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
15211         (fib_ref): New function.
15212         (fib): Correct corner cases in the recursion.
15213         (main): Replace the non-simd loop with fib_ref call.
15214         * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
15215         subroutine.
15216         (fibonacci): Lower the parameter N to 30.  Correct accordingly check
15217         for the last array element value.  Replace the non-simd loop with
15218         fib_ref call.  Remove redundant b_ref array.  Remove the comparison
15219         of the last array element with according Fibonacci sequence element.
15220         (fib): Correct corner cases in the recursion.
15222 2015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
15224         * target.c (gomp_offload_image_to_device): Rename to ...
15225         (gomp_load_image_to_device): ... here.
15226         (GOMP_offload_register): Adjust call.
15227         (gomp_init_device): Likewise.
15228         (gomp_unload_image_from_device): New.  Broken out of ...
15229         (GOMP_offload_unregister): ... here.  Call it.
15230         (gomp_unload_device): New.
15231         * libgomp.h (gomp_unload_device): Declare.
15232         * oacc-init.c (acc_shutdown_1): Unload from device before deleting
15233         mem maps.
15235 2015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
15237         * oacc-parallel.c (GOACC_parallel): Move variadic handling into
15238         wait=-specific if.
15239         (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
15240         !=0 condition.
15241         (goacc_waits): Move !num_waits handling to ...
15242         (GOACC_wait): ... here, the only caller that might have zero waits.
15244         * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
15245         (struct ptx_image_data): Move earlier, add fns field.
15246         (struct ptx_device): Add images and image_lock fields.
15247         (ptx_images, ptx_image_lock): Delete.
15248         (nvptx_open_device): Initialize images and image_lock fields.
15249         (nvptx_close_device): Destroy image_lock.
15250         (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
15251         (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
15252         fields.
15254 2015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
15256         * target.c (GOMP_offload_register): Use int for device type arg.
15257         (GOMP_offload_unregister): Likewise.
15259         * target.c (struct_offload_image_descr): Constify host_table.
15260         (gomp_offload_image_to_device): Likewise.
15261         (GOMP_offload_register, GOMP_offload_unregister): Likewise.
15263         * libgomp.h (gomp_device_descr): Constify target data arguments.
15264         * target.c (struct offload_image_descr): Constify target_data.
15265         (gomp_offload_image_to_device): Likewise.
15266         (GOMP_offload_register): Likewise.
15267         (GOMP_offload_unregister): Likewise.
15268         * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
15269         GOMP_OFFLOAD_unload_image): Constify target data.
15270         * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
15271         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
15273 2015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
15275         * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
15276         Workaround driver library const error.
15277         (struct nvptx_tdata, nvptx_tdata_t): New.
15278         (GOMP_OFFLOAD_load_image): Use struct for target_data's real
15279         type.
15281 2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
15283         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
15284         of EPS parameter from integer to real.
15285         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
15286         type of EPS parameter from integer to real.
15288 2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15290         * team.c (get_last_team): New.
15291         (gomp_new_team): Recycle last non-nested team if possible.
15292         (gomp_team_end): Move team work share list free lock destruction
15293         to ...
15294         (free_team): ... here.
15296 2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
15298         * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
15299         and ref from int to double.  Replaced their comparison with
15300         an inequality of their difference and EPS.
15301         * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
15302         comparison of pri and a reference number with an inequality of their
15303         difference and EPS.
15304         * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
15305         the comparison of sum and sum_ref with an inequality of their
15306         difference and EPS.
15307         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
15308         the comparison of pri and a reference number with an inequality of
15309         their difference and EPS.
15311 2015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
15313         * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
15314         * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
15315         * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
15316         * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
15317         * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
15318         * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
15319         * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
15320         * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
15321         * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
15322         * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
15323         * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
15324         * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
15325         (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
15326         variables.
15327         (vec_mult): Likewise.  Add #pragma omp taskwait.
15328         (main): Adjust caller.
15329         * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
15330         * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
15331         * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
15332         * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
15333         * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
15334         * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
15335         * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
15336         * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
15337         * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
15338         * testsuite/libgomp.c/examples-4/device-1.c: ...this.
15339         * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
15340         * testsuite/libgomp.c/examples-4/device-2.c: ...this.
15341         * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
15342         * testsuite/libgomp.c/examples-4/device-3.c: ...this.
15343         * testsuite/libgomp.c/examples-4/simd-1.c: New file.
15344         * testsuite/libgomp.c/examples-4/simd-2.c: New file.
15345         * testsuite/libgomp.c/examples-4/simd-3.c: New file.
15346         * testsuite/libgomp.c/examples-4/simd-4.c: New file.
15347         * testsuite/libgomp.c/examples-4/simd-5.c: New file.
15348         * testsuite/libgomp.c/examples-4/simd-6.c: New file.
15349         * testsuite/libgomp.c/examples-4/simd-7.c: New file.
15350         * testsuite/libgomp.c/examples-4/simd-8.c: New file.
15351         * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
15352         * testsuite/libgomp.c/examples-4/target-1.c: ...this.
15353         * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
15354         * testsuite/libgomp.c/examples-4/target-2.c: ...this.
15355         * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
15356         * testsuite/libgomp.c/examples-4/target-3.c: ...this.
15357         * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
15358         * testsuite/libgomp.c/examples-4/target-4.c: ...this.
15359         * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
15360         * testsuite/libgomp.c/examples-4/target-5.c: ...this.
15361         * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
15362         * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
15363         * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
15364         * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
15365         * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
15366         * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
15367         * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
15368         * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
15369         * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
15370         * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
15371         * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
15372         * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
15373         * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
15374         * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
15375         * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
15376         * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
15377         * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
15378         * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
15379         * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
15380         * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
15381         * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
15382         * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
15383         * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
15384         * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
15385         * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
15386         * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
15387         * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
15388         * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
15389         * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
15390         * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
15391         * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
15392         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
15393         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
15394         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
15395         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
15396         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
15397         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
15398         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
15399         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
15400         (vec_mult): Add !$omp taskwait.
15401         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
15402         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
15403         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
15404         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
15405         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
15406         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
15407         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
15408         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
15409         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
15410         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
15411         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
15412         * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
15413         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
15414         * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
15415         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
15416         * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
15417         * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
15418         * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
15419         * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
15420         * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
15421         * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
15422         * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
15423         * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
15424         * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
15425         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
15426         * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
15427         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
15428         * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
15429         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
15430         * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
15431         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
15432         * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
15433         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
15434         * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
15435         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
15436         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
15437         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
15438         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
15439         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
15440         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
15441         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
15442         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
15443         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
15444         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
15445         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
15446         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
15447         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
15448         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
15449         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
15450         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
15451         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
15452         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
15453         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
15454         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
15455         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
15456         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
15457         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
15458         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
15459         * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
15460         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
15461         * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
15462         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
15463         * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
15464         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
15465         * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
15466         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
15467         * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
15469 2015-07-10  Tom de Vries  <tom@codesourcery.com>
15471         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
15472         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
15474 2015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
15476         PR libgomp/65099
15477         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
15478         in a 64-bit configuration.
15479         * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
15480         offloading testing if no such device is available.
15481         * testsuite/libgomp.oacc-c/c.exp: Likewise.
15482         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15484 2015-07-08  Tom de Vries  <tom@codesourcery.com>
15486         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
15487         second call to f.
15488         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15490 2015-07-07  Tom de Vries  <tom@codesourcery.com>
15492         PR tree-optimization/66642
15493         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
15494         iteration count case.
15495         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
15496         function, factor out of ...
15497         (main): ... here.  Test low iteration count case.
15499 2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15501         * libgomp.h (gomp_thread_pool): Comment last_team field.
15503 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
15505         * testsuite/libgomp.c++/pr66702-1.C: Require
15506         vect_simd_clones effective target.
15507         * testsuite/libgomp.c++/pr66702-2.C: Ditto.
15509 2015-06-30  Tom de Vries  <tom@codesourcery.com>
15511         * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15512         already set.  Use DEFAULT_CFLAGS in dg-runtest.
15513         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
15514         "-O2".
15516 2015-06-30  Tom de Vries  <tom@codesourcery.com>
15518         * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15519         already set.  Use DEFAULT_CFLAGS in dg-runtest.
15520         * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
15521         * testsuite/libgomp.c++/pr64824.C: Same.
15522         * testsuite/libgomp.c++/pr64868.C: Same.
15523         * testsuite/libgomp.c++/pr66199-1.C: Same.
15524         * testsuite/libgomp.c++/pr66199-2.C: Same.
15525         * testsuite/libgomp.c++/target-2.C: Same.
15526         * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
15527         -std=<standard> option.
15528         * testsuite/libgomp.c++/udr-11.C: Same.
15529         * testsuite/libgomp.c++/udr-12.C: Same.
15530         * testsuite/libgomp.c++/udr-13.C: Same.
15531         * testsuite/libgomp.c++/udr-14.C: Same.
15532         * testsuite/libgomp.c++/udr-15.C: Same.
15533         * testsuite/libgomp.c++/udr-16.C: Same.
15534         * testsuite/libgomp.c++/udr-17.C: Same.
15535         * testsuite/libgomp.c++/udr-18.C: Same.
15536         * testsuite/libgomp.c++/udr-19.C: Same.
15537         * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
15538         * testsuite/libgomp.c++/simd-1.C: Same.
15539         * testsuite/libgomp.c++/simd-2.C: Same.
15540         * testsuite/libgomp.c++/simd-3.C: Same.
15541         * testsuite/libgomp.c++/simd-4.C: Same.
15542         * testsuite/libgomp.c++/simd-5.C: Same.
15543         * testsuite/libgomp.c++/simd-6.C: Same.
15544         * testsuite/libgomp.c++/simd-7.C: Same.
15545         * testsuite/libgomp.c++/simd-8.C: Same.
15546         * testsuite/libgomp.c++/simd-9.C: Same.
15547         * testsuite/libgomp.c++/simd10.C: Same.
15548         * testsuite/libgomp.c++/simd11.C: Same.
15549         * testsuite/libgomp.c++/simd12.C: Same.
15550         * testsuite/libgomp.c++/simd13.C: Same.
15552 2015-06-30  Jakub Jelinek  <jakub@redhat.com>
15554         PR middle-end/66702
15555         * testsuite/libgomp.c++/pr66702-1.C: New test.
15556         * testsuite/libgomp.c++/pr66702-2.C: New test.
15558 2015-06-30  Tom de Vries  <tom@codesourcery.com>
15560         * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
15561         * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
15562         * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
15563         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
15565 2015-06-30  Tom de Vries  <tom@codesourcery.com>
15567         PR tree-optimization/66652
15568         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
15569         using restrict pointers.
15570         (main): Add arguments to calls to f.
15571         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15573 2015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
15575         * configure.ac: Fix check for header <sys/sysctl.h>.
15576         * configure: Regenerate.
15577         * config.h.in: Likewise.
15579 2015-06-23  Tom de Vries  <tom@codesourcery.com>
15581         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
15582         abort.
15583         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
15585 2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
15587         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
15588         acc_device_nvidia.
15590         PR libgomp/66518
15591         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
15592         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15594 2015-06-15  Tom de Vries  <tom@codesourcery.com>
15596         * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
15597         dg-additional-options for any remaining options.
15598         * testsuite/libgomp.c/atomic-2.c: Same.
15599         * testsuite/libgomp.c/atomic-4.c: Same.
15600         * testsuite/libgomp.c/atomic-5.c: Same.
15601         * testsuite/libgomp.c/atomic-6.c: Same.
15602         * testsuite/libgomp.c/autopar-1.c: Same.
15603         * testsuite/libgomp.c/copyin-1.c: Same.
15604         * testsuite/libgomp.c/copyin-2.c: Same.
15605         * testsuite/libgomp.c/copyin-3.c: Same.
15606         * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
15607         * testsuite/libgomp.c/nestedfn-5.c: Same.
15608         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
15609         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
15610         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
15611         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15612         * testsuite/libgomp.c/pr32362-1.c: Same.
15613         * testsuite/libgomp.c/pr32362-2.c: Same.
15614         * testsuite/libgomp.c/pr32362-3.c: Same.
15615         * testsuite/libgomp.c/pr39591-1.c: Same.
15616         * testsuite/libgomp.c/pr39591-2.c: Same.
15617         * testsuite/libgomp.c/pr39591-3.c: Same.
15618         * testsuite/libgomp.c/pr58392.c: Same.
15619         * testsuite/libgomp.c/pr58756.c: Same.
15620         * testsuite/libgomp.c/simd-1.c: Same.
15621         * testsuite/libgomp.c/simd-10.c: Same.
15622         * testsuite/libgomp.c/simd-11.c: Same.
15623         * testsuite/libgomp.c/simd-12.c: Same.
15624         * testsuite/libgomp.c/simd-13.c: Same.
15625         * testsuite/libgomp.c/simd-14.c: Same.
15626         * testsuite/libgomp.c/simd-15.c: Same.
15627         * testsuite/libgomp.c/simd-2.c: Same.
15628         * testsuite/libgomp.c/simd-3.c: Same.
15629         * testsuite/libgomp.c/simd-4.c: Same.
15630         * testsuite/libgomp.c/simd-5.c: Same.
15631         * testsuite/libgomp.c/simd-6.c: Same.
15632         * testsuite/libgomp.c/simd-7.c: Same.
15633         * testsuite/libgomp.c/simd-8.c: Same.
15634         * testsuite/libgomp.c/simd-9.c: Same.
15636 2015-06-15  Tom de Vries  <tom@codesourcery.com>
15638         * testsuite/libgomp.c/pr35625.c: Fix typo.
15640 2015-06-15  Tom de Vries  <tom@codesourcery.com>
15642         * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
15643         in dg-options.
15644         * testsuite/libgomp.c/atomic-3.c: Same.
15645         * testsuite/libgomp.c/debug-1.c: Same.
15646         * testsuite/libgomp.c/nqueens-1.c: Same.
15647         * testsuite/libgomp.c/pr26171.c: Same.
15648         * testsuite/libgomp.c/pr48591.c: Same.
15649         * testsuite/libgomp.c/pr64824.c: Same.
15650         * testsuite/libgomp.c/pr64868.c: Same.
15651         * testsuite/libgomp.c/pr66133.c: Same.
15652         * testsuite/libgomp.c/pr66199-1.c: Same.
15653         * testsuite/libgomp.c/pr66199-2.c: Same.
15654         * testsuite/libgomp.c/target-8.c: Same.
15656 2015-06-15  Tom de Vries  <tom@codesourcery.com>
15658         * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
15659         -std={gnu99,c99}.
15660         * testsuite/libgomp.c/for-1.c: Same.
15661         * testsuite/libgomp.c/for-2.c: Same.
15662         * testsuite/libgomp.c/for-3.c: Same.
15663         * testsuite/libgomp.c/pr35625.c: Same.
15664         * testsuite/libgomp.c/pr39154.c: Same.
15665         * testsuite/libgomp.c/simd-16.c: Same.
15666         * testsuite/libgomp.c/simd-17.c: Same.
15668 2015-06-13  Tom de Vries  <tom@codesourcery.com>
15670         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
15672 2015-06-13  Tom de Vries  <tom@codesourcery.com>
15674         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
15675         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15676         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
15677         (N): Define.
15678         (main): Use N instead of hardcoded constants.
15680 2015-06-05  Tom de Vries  <tom@codesourcery.com>
15682         merge from gomp4 branch:
15683         2015-05-28  Tom de Vries  <tom@codesourcery.com>
15685         PR tree-optimization/65443
15686         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
15687         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
15688         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
15690 2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
15692         * testsuite/libgomp.graphite/bounds.c: Adjust for
15693         cleanup-tree-dump removal.
15694         * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
15695         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15696         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15697         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15698         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15699         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15700         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15701         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15702         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15703         * testsuite/libgomp.graphite/pr41118.c: Likewise.
15705 2015-05-28  Uros Bizjak  <ubizjak@gmail.com>
15707         * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
15708         (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
15709         (futex_wake) [!__x86_64__]: Ditto.
15711 2015-05-28  Julian Brown  <julian@codesourcery.com>
15713         * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
15714         function comment. Only call gomp_fatal if new argument is true.
15715         (acc_dev_num_out_of_range): New function.
15716         (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
15717         acc_dev_num_out_of_range as appropriate.
15718         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15719         (acc_get_device_num, acc_set_device_num): Update calls to
15720         resolve_device.
15721         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
15722         output.
15724 2015-05-28  Julian Brown  <julian@codesourcery.com>
15726         PR libgomp/65742
15727         * oacc-init.c (plugin/plugin-host.h): Include.
15728         (acc_on_device): Check whether we're in an offloaded region for
15729         host_nonshm
15730         plugin. Don't use __builtin_acc_on_device.
15731         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
15732         nonshm_exec flag in thread-local data.
15733         (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
15734         data for host_nonshm plugin.
15735         (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
15736         for host_nonshm plugin.
15737         * plugin/plugin-host.h: New.
15739 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
15741         * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
15743 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
15745         * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
15746         Declare as int.
15747         (FUTEX_PRIVATE_FLAG): Remove L suffix.
15748         * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
15749         Declare as int.
15751 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
15753         * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
15755 2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
15757         * target.c (gomp_map_pointer): New function abstracting out
15758         GOMP_MAP_POINTER handling.
15759         (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
15760         gomp_map_pointer().
15762 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
15764         PR middle-end/66199
15765         * testsuite/libgomp.c/pr66199-1.c: New test.
15766         * testsuite/libgomp.c/pr66199-2.c: New test.
15767         * testsuite/libgomp.c++/pr66199-1.C: New test.
15768         * testsuite/libgomp.c++/pr66199-2.C: New test.
15769         * testsuite/libgomp.fortran/pr66199-1.f90: New test.
15770         * testsuite/libgomp.fortran/pr66199-2.f90: New test.
15772 2015-05-19  Julian Brown  <julian@codesourcery.com>
15774         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
15775         on cuInit failure.
15777 2015-05-13  Jakub Jelinek  <jakub@redhat.com>
15779         PR middle-end/66133
15780         * testsuite/libgomp.c/pr66133.c: New test.
15782 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
15784         * Makefile.in: Regenerated with automake-1.11.6.
15785         * aclocal.m4: Likewise.
15786         * config.h.in: Likewise.
15787         * configure: Likewise.
15788         * testsuite/Makefile.in: Likewise.
15790 2015-05-08  Jason Merrill  <jason@redhat.com>
15792         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
15793         _Complex.
15795         * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
15797 2015-05-06  Julian Brown  <julian@codesourcery.com>
15799         * oacc-init.c (acc_device_lock): Add explanatory comment.
15800         (resolve_device): Add comment about locking requirement.
15801         (acc_init_1, acc_shutdown_1): Likewise. Add locking around
15802         gomp_init_device and gomp_fini_device calls.
15803         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15804         (acc_get_device_num, acc_set_device_num): Add locking around
15805         resolve_device and gomp_init_device calls.
15807 2015-05-06  Julian Brown  <julian@codesourcery.com>
15809         * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
15810         goacc_thread_lock on error paths.
15811         * oacc-mem.c (lookup_host): Remove locking from function. Note
15812         locking requirement for caller in function comment.
15813         (lookup_dev): Likewise.
15814         (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
15815         (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
15816         (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
15817         Add locking.
15819 2015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
15821         PR testsuite/65205
15822         PR libgomp/65993
15823         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
15824         don't expect "0x" prefix for "%p" format specifier, don't expect
15825         "(nil)" for NULL pointer.
15826         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15827         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15828         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15829         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15830         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15831         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15832         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15833         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15834         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15835         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15836         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15837         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15838         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15839         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15840         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15841         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15842         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15843         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15844         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15845         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15846         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15847         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15848         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15849         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15850         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15851         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15852         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15853         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15854         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
15855         accurately specify what we're looking for.
15856         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15857         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15858         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15859         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15860         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15862 2015-04-30  James Norris  <jnorris@codesourcery.com>
15864         PR testsuite/65205
15865         * testsuite/lib/libgomp.exp
15866         (check_effective_target_openacc_host_selected)
15867         (check_effective_target_openacc_host_nonshm_selected): New
15868         procedures.
15869         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
15870         dg-shouldfail.
15871         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15872         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15873         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15874         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15875         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15876         * testsuite/libgomp.oacc-c-c++-common/lib-2.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-3.c: Likewise.
15887         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15888         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15889         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15890         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15891         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15892         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15893         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15894         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15895         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15896         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15897         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15898         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15899         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15900         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15901         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15902         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15903         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15904         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15905         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15906         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15907         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15908         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15909         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15910         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15911         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15912         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15913         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15915 2015-04-08  Julian Brown  <julian@codesourcery.com>
15917         * libgomp.h (target_mem_desc: Remove mem_map field.
15918         (acc_dispatch_t): Remove open_device_func, close_device_func,
15919         get_device_num_func, set_device_num_func, target_data members.
15920         Change create_thread_data_func argument to device number instead of
15921         generic pointer.
15922         * oacc-async.c (assert.h): Include.
15923         (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
15924         (acc_wait_all, acc_wait_all_async): Use current host thread's
15925         active device, not base_dev.
15926         * oacc-cuda.c (acc_get_current_cuda_device)
15927         (acc_get_current_cuda_context, acc_get_cuda_stream)
15928         (acc_set_cuda_stream): Likewise.
15929         * oacc-host.c (host_dispatch): Don't set open_device_func,
15930         close_device_func, get_device_num_func or set_device_num_func.
15931         * oacc-init.c (base_dev, init_key): Remove.
15932         (cached_base_dev): New.
15933         (name_of_acc_device_t): New.
15934         (acc_init_1): Initialise default-numbered device, not zeroth.
15935         (acc_shutdown_1): Close all devices of a given type.
15936         (goacc_destroy_thread): Don't use base_dev.
15937         (lazy_open, lazy_init, lazy_init_and_open): Remove.
15938         (goacc_attach_host_thread_to_device): New.
15939         (acc_init): Reimplement with goacc_attach_host_thread_to_device.
15940         (acc_get_num_devices): Don't use base_dev.
15941         (acc_set_device_type): Reimplement.
15942         (acc_get_device_type): Don't use base_dev.
15943         (acc_get_device_num): Tweak logic.
15944         (acc_set_device_num): Likewise.
15945         (acc_on_device): Use acc_get_device_type.
15946         (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
15947         (goacc_lazy_initialize): Reimplement with acc_init and
15948         goacc_attach_host_thread_to_device.
15949         * oacc-int.h (goacc_thread): Add base_dev field.
15950         (base_dev): Remove extern declaration.
15951         (goacc_attach_host_thread_to_device): Add prototype.
15952         * oacc-mem.c (acc_malloc): Use current thread's device instead of
15953         base_dev.
15954         (acc_free): Likewise.
15955         (acc_memcpy_to_device): Likewise.
15956         (acc_memcpy_from_device): Likewise.
15957         * oacc-parallel.c (select_acc_device): Remove. Replace calls with
15958         goacc_lazy_initialize (throughout).
15959         (GOACC_parallel): Use tgt_offset to locate target functions.
15960         * target.c (gomp_map_vars): Don't set tgt->mem_map.
15961         (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
15962         (gomp_load_plugin_for_device): Remove open_device, close_device,
15963         get_device_num, set_device_num openacc hook initialisation. Don't set
15964         openacc.target_data.
15965         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
15966         (GOMP_OFFLOAD_openacc_close_device)
15967         (GOMP_OFFLOAD_openacc_get_device_num)
15968         (GOMP_OFFLOAD_openacc_set_device_num): Remove.
15969         (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
15970         to int.
15971         * plugin/plugin-nvptx.c (ptx_inited): Remove.
15972         (instantiated_devices, ptx_dev_lock): New.
15973         (struct ptx_image_data): New.
15974         (ptx_devices, ptx_images, ptx_image_lock): New.
15975         (fini_streams_for_device): Reorder cuStreamDestroy call.
15976         (nvptx_get_num_devices): Remove forward declaration.
15977         (nvptx_init): Change return type to bool.
15978         (nvptx_fini): Remove.
15979         (nvptx_attach_host_thread_to_device): New.
15980         (nvptx_open_device): Return struct ptx_device* instead of void*.
15981         (nvptx_close_device): Change argument type to struct ptx_device*,
15982         return type to void.
15983         (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
15984         (kernel_target_data, kernel_host_table): Remove static globals.
15985         (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
15986         (GOMP_OFFLOAD_init_device): Reimplement.
15987         (GOMP_OFFLOAD_fini_device): Likewise.
15988         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
15989         (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
15990         (GOMP_OFFLOAD_host2dev): Use ORD argument.
15991         (GOMP_OFFLOAD_openacc_open_device)
15992         (GOMP_OFFLOAD_openacc_close_device)
15993         (GOMP_OFFLOAD_openacc_set_device_num)
15994         (GOMP_OFFLOAD_openacc_get_device_num): Remove.
15995         (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
15996         (device number).
15998         testsuite/
15999         * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
16001 2015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
16003         * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
16004         * libgomp.h (struct gomp_memory_mapping): Remove.
16005         (struct target_mem_desc): Change type of mem_map from
16006         gomp_memory_mapping * to splay_tree_s *.
16007         (struct gomp_device_descr): Remove register_image_func, get_table_func.
16008         Add load_image_func, unload_image_func.
16009         Change type of mem_map from gomp_memory_mapping to splay_tree_s.
16010         Remove offload_regions_registered.
16011         (gomp_init_tables): Remove.
16012         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16013         to splay_tree_s *.
16014         * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
16015         * oacc-host.c (host_dispatch): Do not initialize register_image_func,
16016         get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
16017         offload_regions_registered.
16018         Initialize load_image_func, unload_image_func, mem_map.root.
16019         (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
16020         * oacc-init.c (lazy_open): Don't call gomp_init_tables.
16021         (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
16022         * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
16023         gomp_memory_mapping *.  Use dev's lock and splay_tree.
16024         (lookup_dev): Use dev's lock.
16025         (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
16026         (acc_is_present): Likewise.
16027         (acc_map_data): Likewise.
16028         (acc_unmap_data): Likewise.  Use dev's lock.
16029         (present_create_copy): Likewise.
16030         (delete_copyout): Pass dev to lookup_host instead of mem_map.
16031         (update_dev_host): Likewise.
16032         (gomp_acc_remove_pointer): Likewise.  Use dev's lock.
16033         * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
16034         * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
16035         (GOMP_OFFLOAD_get_table): Remove
16036         (GOMP_OFFLOAD_load_image): New function.
16037         (GOMP_OFFLOAD_unload_image): New function.
16038         * target.c (register_lock): New mutex for offload image registration.
16039         (num_devices): Do not guard with PLUGIN_SUPPORT.
16040         (gomp_realloc_unlock): New static function.
16041         (gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
16042         before gomp_fatal.
16043         (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
16044         Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
16045         (gomp_copy_from_async): Use dev's lock and splay_tree instead of
16046         mem_map's.
16047         (gomp_unmap_vars): Likewise.
16048         (gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
16049         splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
16050         (gomp_offload_image_to_device): New static function.
16051         (GOMP_offload_register): Add mutex lock.
16052         Call gomp_offload_image_to_device for all initialized devices.
16053         Replace gomp_realloc with gomp_realloc_unlock.
16054         (GOMP_offload_unregister): New function.
16055         (gomp_init_tables): Replace with gomp_init_device.  Replace a call to
16056         get_table_func from the plugin with calls to init_device_func and
16057         gomp_offload_image_to_device.
16058         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16059         to splay_tree_s *.
16060         (GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
16061         splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
16062         (GOMP_target_data): Do not call gomp_init_tables.
16063         (GOMP_target_update): Likewise.  Remove argument from gomp_update.
16064         (gomp_load_plugin_for_device): Replace register_image and get_table
16065         with load_image and unload_image in DLSYM ().
16066         (gomp_register_images_for_device): Remove function.
16067         (gomp_target_init): Do not initialize current_device.mem_map.*,
16068         current_device.offload_regions_registered.
16069         Remove call to gomp_register_images_for_device.
16070         Do not free offload_images and num_offload_images.
16072 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
16074         PR fortran/65597
16075         * testsuite/libgomp.fortran/pr65597.f90: New test.
16077 2015-03-27  Tom de Vries  <tom@codesourcery.com>
16079         PR testsuite/65594
16080         * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
16081         (init, check): New function.
16082         (foo): Change return type to void.
16083         (main): Call init and check.
16085 2015-03-27  Tom de Vries  <tom@codesourcery.com>
16087         PR testsuite/65594
16088         * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
16089         (foo): Use M for non-inner loops to scale down test-case.
16091 2015-03-25  Kai Tietz  <ktietz@redhat.com>
16093         PR libgomp/64972
16094         * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
16095         (GOACC_data_start): Likewise.
16096         * target.c (gomp_map_vars): Likewise.
16098 2015-03-21  John David Anglin  <danglin@gcc.gnu.org>
16100         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
16101         hppa*-*-hpux*.
16103 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
16105         * testsuite/libgomp.c/target-10.c: New test.
16106         * testsuite/libgomp.c++/target-4.C: New test.
16108 2015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
16110         * testsuite/libgomp.fortran/declare-target-1.f90: New test.
16111         * testsuite/libgomp.fortran/declare-target-2.f90: New file.
16113 2015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
16115         * configure.tgt (*-*-rtems*): Use local-exec TLS model.
16116         * configure.ac (*-*-rtems*): Assume Pthread is supported.
16117         (pthread.h): Check for this header file.
16118         * configure: Regenerate.
16120 2015-02-25  Tom de Vries  <tom@codesourcery.com>
16122         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
16123         (check_reduction_op, check_reduction_macro, max, min):
16124         Declare.
16125         (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
16126         function.
16127         (main): Use new functions.
16129 2015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
16131         * target.c (gomp_load_plugin_for_device): Use const char * instead of
16132         char * for variables holding dlerror return values.
16133         (DLSYM_OPT): Ditto.
16135 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
16137         * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
16139 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
16140             Cesar Philippidis  <cesar@codesourcery.com>
16142         * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
16143         GOACC_ctaid, and GOACC_nctaid routines.
16145 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
16147         PR c/64824
16148         * testsuite/libgomp.c/atomic-18.c: New test.
16149         * testsuite/libgomp.c++/atomic-16.C: New test.
16151 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
16153         PR c/64824
16154         PR c/64868
16155         * testsuite/libgomp.c/pr64824.c: New test.
16156         * testsuite/libgomp.c/pr64868.c: New test.
16157         * testsuite/libgomp.c++/pr64824.C: New test.
16158         * testsuite/libgomp.c++/pr64868.C: New test.
16160 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
16162         PR libgomp/64635
16163         * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
16164         Link with -lpthread.
16165         * config/aix/plugin-suffix.h: Delete.
16167 2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
16169         PR libgomp/64635
16170         * configure.tgt (*-*-aix*): Use config_path "aix posix".
16171         (*-*-darwin*): Use config_path "bsd darwin posix".
16172         (*-*-hpux*): Use config_path "hpux posix".
16173         * target.c: Add include of plugin-suffix.h and use
16174         SONAME_SUFFIX macro.
16175         * config/aix/plugin-suffix.h: New file.
16176         * config/darwin/plugin-suffix.h: New file.
16177         * config/hpux/plugin-suffix.h: New file.
16178         * config/posix/plugin-suffix.h: New file.
16180 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
16182         PR middle-end/64734
16183         * libgomp.c/pr64734.c: New test.
16185 2015-01-23  Tom de Vries  <tom@codesourcery.com>
16187         PR libgomp/64672
16188         * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
16190 2015-01-23  Tom de Vries  <tom@codesourcery.com>
16192         PR libgomp/64707
16193         * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
16194         dg-options.
16196 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
16198         PR libgomp/64625
16199         * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
16200         (GOACC_parallel, GOACC_update): Remove const_void *offload_table
16201         formal parameter.  Update all users.
16202         * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
16203         Document unused formal parameter.
16205 2015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
16207         * oacc-parallel.c: Don't include <alloca.h>.
16208         (GOACC_parallel): Use gomp_alloca instead of alloca.
16210 2015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
16212         * target.c (num_devices): Guard with PLUGIN_SUPPORT.
16214 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
16215             James Norris  <jnorris@codesourcery.com>
16216             Tom de Vries  <tom@codesourcery.com>
16217             Julian Brown  <julian@codesourcery.com>
16218             Cesar Philippidis  <cesar@codesourcery.com>
16219             Nathan Sidwell  <nathan@codesourcery.com>
16220             Tobias Burnus  <burnus@net-b.de>
16222         * Makefile.am (search_path): Add $(top_srcdir)/../include.
16223         (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
16224         oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
16225         oacc-async.c, oacc-plugin.c, oacc-cuda.c.
16226         [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
16227         Include $(top_srcdir)/plugin/Makefrag.am.
16228         (nodist_libsubinclude_HEADERS): Add openacc.h.
16229         [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
16230         openacc.f90, openacc.mod, openacc_kinds.mod.
16231         (omp_lib.mod): Generalize into...
16232         (%.mod): ... this new rule.
16233         (openacc_kinds.mod, openacc.mod): New rules.
16234         * plugin/configfrag.ac: New file.
16235         * configure.ac: Move plugin/offloading support into it.  Include
16236         it.  Instantiate testsuite/libgomp-test-support.pt.exp.
16237         * plugin/Makefrag.am: New file.
16238         * testsuite/Makefile.am (OFFLOAD_TARGETS)
16239         (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
16240         export.
16241         (libgomp-test-support.exp): New rule.
16242         (all-local): Depend on it.
16243         * Makefile.in: Regenerate.
16244         * testsuite/Makefile.in: Regenerate.
16245         * config.h.in: Likewise.
16246         * configure: Likewise.
16247         * configure.tgt: Harden shell syntax.
16248         * env.c: Include "oacc-int.h".
16249         (parse_acc_device_type): New function.
16250         (gomp_debug_var, goacc_device_type, goacc_device_num): New
16251         variables.
16252         (initialize_env): Initialize those.  Call
16253         goacc_runtime_initialize.
16254         * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
16255         (gomp_fatal): Call gomp_vfatal.
16256         * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
16257         (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
16258         (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
16259         (splay_tree_node, splay_tree, splay_tree_key)
16260         (struct target_mem_desc, struct splay_tree_key_s)
16261         (struct gomp_memory_mapping, struct acc_dispatch_t)
16262         (struct gomp_device_descr, gomp_acc_insert_pointer)
16263         (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
16264         (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
16265         (gomp_free_memmap, gomp_fini_device): New declarations.
16266         (gomp_vdebug, gomp_debug): New macros.
16267         Include "splay-tree.h".
16268         * libgomp.map (OACC_2.0): New symbol version.  Use for
16269         acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
16270         acc_set_device_type_h_, acc_get_device_type,
16271         acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
16272         acc_get_device_num, acc_get_device_num_h_, acc_async_test,
16273         acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
16274         acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
16275         acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
16276         acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
16277         acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
16278         acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
16279         acc_copyin_array_h_, acc_present_or_copyin,
16280         acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
16281         acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
16282         acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
16283         acc_present_or_create_32_h_, acc_present_or_create_64_h_,
16284         acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
16285         acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
16286         acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
16287         acc_update_device, acc_update_device_32_h_,
16288         acc_update_device_64_h_, acc_update_device_array_h_,
16289         acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
16290         acc_update_self_array_h_, acc_map_data, acc_unmap_data,
16291         acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
16292         acc_is_present_64_h_, acc_is_present_array_h_,
16293         acc_memcpy_to_device, acc_memcpy_from_device,
16294         acc_get_current_cuda_device, acc_get_current_cuda_context,
16295         acc_get_cuda_stream, acc_set_cuda_stream.
16296         (GOACC_2.0): New symbol version.  Use for GOACC_data_end,
16297         GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
16298         GOACC_update, GOACC_wait, GOACC_get_thread_num,
16299         GOACC_get_num_threads.
16300         (GOMP_PLUGIN_1.0): New symbol version.  Use for
16301         GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
16302         GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
16303         GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
16304         GOMP_PLUGIN_acc_thread.
16305         * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
16306         environment variable.
16307         * libgomp_g.h (GOACC_data_start, GOACC_data_end)
16308         (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
16309         (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
16310         * splay-tree.h (splay_tree_lookup, splay_tree_insert)
16311         (splay_tree_remove): New declarations.
16312         (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
16313         (splay_tree_remove, splay_tree_lookup): Move into...
16314         * splay-tree.c: ... this new file.
16315         * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
16316         (splay_tree_node, splay_tree, splay_tree_key)
16317         (struct target_mem_desc, struct splay_tree_key_s)
16318         (struct gomp_device_descr): Don't declare.
16319         (num_devices_openmp): New variable.
16320         (gomp_get_num_devices ): Use it.
16321         (gomp_init_targets_once): New function.
16322         (gomp_get_num_devices ): Use it.
16323         (get_kind, gomp_copy_from_async, gomp_free_memmap)
16324         (gomp_fini_device, gomp_register_image_for_device): New functions.
16325         (gomp_map_vars): Add devaddrs parameter.
16326         (gomp_update): Add mm parameter.
16327         (gomp_init_device): Move most of it into...
16328         (gomp_init_tables): ... this new function.
16329         (gomp_register_images_for_device): Remove function.
16330         (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
16331         Make them hidden instead of static.
16332         (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
16333         (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
16334         (GOMP_target_end_data, GOMP_target_update)
16335         (gomp_load_plugin_for_device, gomp_target_init): Update for
16336         OpenACC changes.
16337         * oacc-async.c: New file.
16338         * oacc-cuda.c: Likewise.
16339         * oacc-host.c: Likewise.
16340         * oacc-init.c: Likewise.
16341         * oacc-int.h: Likewise.
16342         * oacc-mem.c: Likewise.
16343         * oacc-parallel.c: Likewise.
16344         * oacc-plugin.c: Likewise.
16345         * oacc-plugin.h: Likewise.
16346         * oacc-ptx.h: Likewise.
16347         * openacc.f90: Likewise.
16348         * openacc.h: Likewise.
16349         * openacc_lib.h: Likewise.
16350         * plugin/plugin-host.c: Likewise.
16351         * plugin/plugin-nvptx.c: Likewise.
16352         * libgomp-plugin.c: Likewise.
16353         * libgomp-plugin.h: Likewise.
16354         * libgomp_target.h: Remove file after merging content into the
16355         former file.  Update all users.
16356         * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
16357         (offload_targets_s, offload_targets_s_openacc): New variables.
16358         (check_effective_target_openacc_nvidia_accel_present)
16359         (check_effective_target_openacc_nvidia_accel_selected): New
16360         procedures.
16361         (libgomp_init): Update for OpenACC changes.
16362         * testsuite/libgomp-test-support.exp.in: New file.
16363         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
16364         * testsuite/libgomp.oacc-c/c.exp: Likewise.
16365         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
16366         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
16367         * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
16368         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
16369         * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
16370         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
16371         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
16372         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
16373         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
16374         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
16375         * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
16376         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
16377         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
16378         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
16379         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
16380         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
16381         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
16382         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
16383         * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
16384         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
16385         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
16386         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
16387         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16388         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
16389         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
16390         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
16391         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
16392         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
16393         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16394         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
16395         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
16396         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
16397         * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
16398         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16399         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
16400         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16401         * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
16402         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
16403         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
16404         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
16405         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16406         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16407         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16408         * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
16409         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16410         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16411         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16412         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16413         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16414         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
16415         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16416         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16417         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16418         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16419         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16420         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16421         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16422         * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
16423         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
16424         * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
16425         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16426         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16427         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16428         * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
16429         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
16430         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16431         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16432         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16433         * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
16434         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16435         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16436         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16437         * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
16438         * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
16439         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16440         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16441         * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
16442         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
16443         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
16444         * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
16445         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16446         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16447         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16448         * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
16449         * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
16450         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16451         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16452         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
16453         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
16454         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
16455         * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
16456         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16457         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16458         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16459         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16460         * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
16461         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16462         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16463         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
16464         * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
16465         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
16466         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16467         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
16468         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
16469         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
16470         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
16471         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
16472         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16473         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
16474         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
16475         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16476         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
16477         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
16478         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
16479         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
16480         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
16481         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
16482         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
16483         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
16484         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
16485         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
16486         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
16487         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
16488         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
16489         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
16490         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
16491         * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
16492         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
16493         * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
16494         * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
16495         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16496         * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
16497         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
16498         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
16499         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
16500         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
16501         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
16502         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
16503         Likewise.
16504         * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
16505         * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
16506         * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
16507         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16508         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
16509         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
16510         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
16511         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
16512         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
16513         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
16514         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
16515         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
16516         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
16517         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
16518         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
16519         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
16520         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
16521         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
16522         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
16523         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
16524         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
16525         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
16526         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
16527         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
16528         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
16529         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
16530         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16531         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16532         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
16533         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
16534         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
16535         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
16536         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
16537         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16538         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
16539         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
16540         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
16541         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
16542         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
16543         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
16544         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
16545         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
16546         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
16547         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
16548         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
16549         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
16550         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
16551         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
16552         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
16553         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
16554         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
16555         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
16556         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
16557         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
16558         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
16559         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
16560         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
16561         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
16562         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
16563         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
16565 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
16566             Julian Brown  <julian@codesourcery.com>
16567             David Malcolm  <dmalcolm@redhat.com>
16569         * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
16570         to "GNU Offloading and Multi Processing Runtime Library".  Change
16571         all users.
16572         * configure: Regenerate.
16573         * libgomp.texi: Update.
16575 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
16577         * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
16578         "$tgt_dir/lib32".
16579         * configure: Regenerate.
16581         * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
16582         "intelmic" in $offload_targets.
16584 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
16586         Update copyright years.
16588         * libgomp.texi: Bump @copying's copyright year.
16590 2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
16592         * testsuite/lib/libgomp.exp: Load target-utils.exp.
16593         Move load of target-supports.exp earlier.
16595 2014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
16597         * testsuite/libgomp.c/target-9.c: New test.
16599 2014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
16601         * config.h.in: Regenerate.
16602         * configure: Regenerate.
16603         * configure.ac: Add GCC_CHECK_EMUTLS.
16604         * libgomp.h: Add check for USE_EMUTLS: this case
16605         is equal to HAVE_TLS.
16606         * team.c: Likewise.
16608 2014-12-03  Uros Bizjak  <ubizjak@gmail.com>
16610         * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
16612 2014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
16613             Ilya Verbin  <ilya.verbin@intel.com>
16615         * testsuite/libgomp.c/target-critical-1.c: New test.
16617 2014-11-26  Jakub Jelinek  <jakub@redhat.com>
16619         * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
16620         to dg-options unless expensive testing is on.
16621         (TESTITERS): Define to N if not defined.
16622         (main): Use TESTITERS instead of N.
16623         * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
16624         dg-additional-options depending on whether expensive testing is on.
16625         * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
16626         Decrease N to 100000 and CHUNKSZ to 10000.
16628 2014-11-24  Jakub Jelinek  <jakub@redhat.com>
16630         PR fortran/63938
16631         * testsuite/libgomp.fortran/pr63938-1.f90: New test.
16632         * testsuite/libgomp.fortran/pr63938-2.f90: New test.
16634 2014-11-21  Steve Ellcey  <sellcey@imgtec.com>
16636         * config/linux/mips/futex.h (SYS_futex): Define if not already done.
16638 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
16640         PR bootstrap/63784
16641         * configure: Regenerated.
16643 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
16645         * testsuite/libgomp.c/examples-4/e.53.5.c: Require
16646         vect_simd_clones effective target.
16647         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16649 2014-11-14  Jakub Jelinek  <jakub@redhat.com>
16651         * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
16652         of 32 as block_size.
16653         * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
16654         instead of 32 as block_size.
16656 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
16657             Ilya Verbin  <ilya.verbin@intel.com>
16659         * Makefile.in: Regenerate.
16660         * configure: Regenerate.
16661         * configure.ac: Set up offload_additional_options,
16662         offload_additional_lib_paths and offload_targets.
16663         * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
16664         OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
16665         * testsuite/Makefile.in: Regenerate.
16666         * testsuite/lib/libgomp.exp (libgomp_init): Append
16667         offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
16668         offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
16669         build directory to LD_LIBRARY_PATH for intelmic offload targets.
16671 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
16672             Ilya Verbin  <ilya.verbin@intel.com>
16673             Kirill Yukhin  <kirill.yukhin@intel.com>
16674             Ilya Tocar  <ilya.tocar@intel.com>
16676         * testsuite/lib/libgomp.exp
16677         (check_effective_target_offload_device): New.
16678         * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
16679         * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
16680         * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
16681         * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
16682         * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
16683         * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
16684         * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
16685         * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
16686         * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
16687         * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
16688         * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
16689         * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
16690         * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
16691         * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
16692         * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
16693         * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
16694         * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
16695         * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
16696         * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
16697         * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
16698         * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
16699         * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
16700         * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
16701         * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
16702         * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
16703         * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
16704         * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
16705         * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
16706         * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
16707         * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
16708         * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
16709         * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
16710         * testsuite/libgomp.c/target-7.c: Fix test.
16711         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
16712         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
16713         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
16714         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
16715         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
16716         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
16717         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
16718         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
16719         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
16720         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
16721         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
16722         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
16723         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
16724         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
16725         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
16726         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
16727         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
16728         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
16729         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16730         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
16731         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
16732         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
16733         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
16734         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
16735         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
16736         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
16737         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
16738         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
16739         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
16740         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
16741         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
16743 2014-11-13  Jakub Jelinek  <jakub@redhat.com>
16744             Ilya Verbin  <ilya.verbin@intel.com>
16745             Thomas Schwinge  <thomas@codesourcery.com>
16746             Andrey Turetskiy  <andrey.turetskiy@intel.com>
16748         * libgomp.map (GOMP_4.0.1): New symbol version.
16749         Add GOMP_offload_register.
16750         * libgomp_target.h: New file.
16751         * splay-tree.h: New file.
16752         * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
16753         (gomp_target_init): New forward declaration.
16754         (gomp_is_initialized): New static variable.
16755         (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
16756         (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
16757         New structures.
16758         (offload_images, num_offload_images, devices, num_devices): New static
16759         variables.
16760         (splay_compare): New static function.
16761         (struct gomp_device_descr): New structure.
16762         (gomp_get_num_devices): Call gomp_target_init.
16763         (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
16764         (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
16765         (GOMP_offload_register): New function.
16766         (GOMP_target): Arrange for host callback to be performed in a separate
16767         initial thread and contention group, inheriting ICVs from
16768         gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
16769         Add device initialization and lookup for target function in splay tree.
16770         (GOMP_target_data): Add device initialization and call gomp_map_vars.
16771         (GOMP_target_end_data): Call gomp_unmap_vars.
16772         (GOMP_target_update): Add device initialization and call gomp_update.
16773         (gomp_load_plugin_for_device, gomp_register_images_for_device)
16774         (gomp_target_init): New static functions.
16776 2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
16777             Thomas Schwinge  <thomas@codesourcery.com>
16778             Ilya Verbin  <ilya.verbin@intel.com>
16779             Andrey Turetskiy  <andrey.turetskiy@intel.com>
16781         * config.h.in: Regenerate.
16782         * configure: Regenerate.
16783         * configure.ac: Check for libdl, required for plugin support.
16784         (PLUGIN_SUPPORT): Define if plugins are supported.
16785         (enable_offload_targets): Support Intel MIC targets.
16786         (OFFLOAD_TARGETS): List of target names suitable for offloading.
16788 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
16790         PR target/63610
16791         * configure: Regenerate.
16793 2014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16795         * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
16797 2014-10-06  Marek Polacek  <polacek@redhat.com>
16799         * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
16800         * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
16801         * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
16802         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16804 2014-10-06  Marek Polacek  <polacek@redhat.com>
16806         * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
16807         * testsuite/libgomp.c/nqueens-1.c: Likewise.
16808         * testsuite/libgomp.c/pr26943-3.c: Likewise.
16809         * testsuite/libgomp.c/pr26943-4.c: Likewise.
16810         * testsuite/libgomp.c/pr36802-2.c: Likewise.
16811         * testsuite/libgomp.c/pr36802-3.c: Likewise.
16812         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
16813         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16814         * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
16815         * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
16816         * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
16817         * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
16818         * testsuite/libgomp.c/omp-single-1.c: Likewise.
16819         * testsuite/libgomp.c/omp-single-2.c: Likewise.
16820         * testsuite/libgomp.c/omp_matvec.c: Likewise.
16821         * testsuite/libgomp.c/omp_workshare3.c: Likewise.
16822         * testsuite/libgomp.c/omp_workshare4.c: Likewise.
16823         * testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
16824         declarations.
16826 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
16828         PR libgomp/61200
16829         * testsuite/libgomp.c/pr61200.c: New test.
16831 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
16833         PR c++/63248
16834         * testsuite/libgomp.c++/pr63248.C: New test.
16836 2014-08-04  Jakub Jelinek  <jakub@redhat.com>
16838         * task.c (GOMP_taskgroup_end): If taskgroup->num_children
16839         is not zero, but taskgroup->children is NULL and there are
16840         any task->children, schedule those instead of waiting.
16841         * testsuite/libgomp.c/depend-6.c: New test.
16842         * testsuite/libgomp.c/depend-7.c: New test.
16843         * testsuite/libgomp.c/depend-8.c: New test.
16844         * testsuite/libgomp.c/depend-9.c: New test.
16845         * testsuite/libgomp.c/depend-10.c: New test.
16847 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
16849         * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
16850         (struct gomp_taskwait): New type.
16851         (struct gomp_task): Add taskwait and parent_depends_on, remove
16852         in_taskwait and taskwait_sem fields.
16853         (gomp_finish_task): Don't destroy taskwait_sem.
16854         * task.c (gomp_init_task): Don't init in_taskwait, instead init
16855         taskwait and parent_depends_on.
16856         (GOMP_task): For if (0) tasks with depend clause that depend on
16857         earlier tasks don't defer them, instead call
16858         gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
16859         Initialize redundant_out field, for redundant out entries just
16860         move them at the end of linked list instead of removing them
16861         completely, and set redundant_out flag instead of redundant.
16862         (gomp_task_run_pre): Update last_parent_depends_on if scheduling
16863         that task.
16864         (gomp_task_run_post_handle_dependers): If parent is in
16865         gomp_task_maybe_wait_for_dependencies and newly runnable task
16866         is not parent_depends_on, queue it in parent->children linked
16867         list after all runnable tasks with parent_depends_on set.
16868         Adjust for addition of taskwait indirection.
16869         (gomp_task_run_post_remove_parent): If parent is in
16870         gomp_task_maybe_wait_for_dependencies and task to be removed
16871         is parent_depends_on, decrement n_depend and if needed awake
16872         parent.  Adjust for addition of taskwait indirection.
16873         (GOMP_taskwait): Adjust for addition of taskwait indirection.
16874         (gomp_task_maybe_wait_for_dependencies): New function.
16875         * testsuite/libgomp.c/depend-5.c: New test.
16877 2014-07-13  Tobias Burnus  <burnus@net-b.de>
16879         * testsuite/libgomp.fortran/pr34020.f90: Make compile
16880         with TS 18508/Fortran 2015.
16882 2014-07-06  Marek Polacek  <polacek@redhat.com>
16884         PR c/6940
16885         * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
16887 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
16889         * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
16890         matches regex $lang_source_re, add $lang_include_flags to options.
16891         * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
16892         * testsuite/libgomp.c++/c++.exp: Likewise.
16893         * testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
16894         and lang_include_flags instead of adding -fintrinsic-modules-path= to
16895         ALWAYS_CFLAGS.
16896         * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
16898 2014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
16900         * testsuite/libgomp.fortran/fortran.exp: Explain
16901         gfortran-dg-runtest usage.
16903 2014-06-25  Jakub Jelinek  <jakub@redhat.com>
16905         * testsuite/libgomp.fortran/simd5.f90: New test.
16906         * testsuite/libgomp.fortran/simd6.f90: New test.
16907         * testsuite/libgomp.fortran/simd7.f90: New test.
16909 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
16911         * testsuite/libgomp.c/for-2.c: Define SC to static for
16912         #pragma omp for simd testing.
16913         * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
16914         (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
16915         SC macro.
16916         * testsuite/libgomp.c/simd-14.c: New test.
16917         * testsuite/libgomp.c/simd-15.c: New test.
16918         * testsuite/libgomp.c/simd-16.c: New test.
16919         * testsuite/libgomp.c/simd-17.c: New test.
16920         * testsuite/libgomp.c++/for-10.C: Define SC to static for
16921         #pragma omp for simd testing.
16922         * testsuite/libgomp.c++/simd10.C: New test.
16923         * testsuite/libgomp.c++/simd11.C: New test.
16924         * testsuite/libgomp.c++/simd12.C: New test.
16925         * testsuite/libgomp.c++/simd13.C: New test.
16927         * testsuite/libgomp.fortran/aligned1.f03: New test.
16928         * testsuite/libgomp.fortran/nestedfn5.f90: New test.
16929         * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
16930         tasks with !$omp parallel !$omp single.
16931         * testsuite/libgomp.fortran/target8.f90: New test.
16932         * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
16933         not to use trim in the combiner, instead call elemental function.
16934         (fn): New elemental function.
16935         * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
16936         Make elemental.
16937         * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
16938         omp_in): Likewise.
16939         * testsuite/libgomp.fortran/udr12.f90: New test.
16940         * testsuite/libgomp.fortran/udr13.f90: New test.
16941         * testsuite/libgomp.fortran/udr14.f90: New test.
16942         * testsuite/libgomp.fortran/udr15.f90: New test.
16944 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
16946         * omp_lib.f90.in (openmp_version): Set to 201307.
16947         * omp_lib.h.in (openmp_version): Likewise.
16948         * testsuite/libgomp.c/target-8.c: New test.
16949         * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
16950         and inbranch clauses.
16951         * testsuite/libgomp.fortran/depend-3.f90: New test.
16952         * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
16953         openmp_version.
16954         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16955         * testsuite/libgomp.fortran/target1.f90: New test.
16956         * testsuite/libgomp.fortran/target2.f90: New test.
16957         * testsuite/libgomp.fortran/target3.f90: New test.
16958         * testsuite/libgomp.fortran/target4.f90: New test.
16959         * testsuite/libgomp.fortran/target5.f90: New test.
16960         * testsuite/libgomp.fortran/target6.f90: New test.
16961         * testsuite/libgomp.fortran/target7.f90: New test.
16963 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
16965         PR fortran/60928
16966         * testsuite/libgomp.fortran/allocatable9.f90: New test.
16967         * testsuite/libgomp.fortran/allocatable10.f90: New test.
16968         * testsuite/libgomp.fortran/allocatable11.f90: New test.
16969         * testsuite/libgomp.fortran/allocatable12.f90: New test.
16970         * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
16971         * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
16972         * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
16973         * testsuite/libgomp.fortran/associate1.f90: New test.
16974         * testsuite/libgomp.fortran/associate2.f90: New test.
16975         * testsuite/libgomp.fortran/procptr1.f90: New test.
16977 2014-06-06  Jakub Jelinek  <jakub@redhat.com>
16979         * testsuite/libgomp.fortran/simd1.f90: New test.
16980         * testsuite/libgomp.fortran/udr1.f90: New test.
16981         * testsuite/libgomp.fortran/udr2.f90: New test.
16982         * testsuite/libgomp.fortran/udr3.f90: New test.
16983         * testsuite/libgomp.fortran/udr4.f90: New test.
16984         * testsuite/libgomp.fortran/udr5.f90: New test.
16985         * testsuite/libgomp.fortran/udr6.f90: New test.
16986         * testsuite/libgomp.fortran/udr7.f90: New test.
16987         * testsuite/libgomp.fortran/udr8.f90: New test.
16988         * testsuite/libgomp.fortran/udr9.f90: New test.
16989         * testsuite/libgomp.fortran/udr10.f90: New test.
16990         * testsuite/libgomp.fortran/udr11.f90: New test.
16992 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
16994         * testsuite/libgomp.fortran/declare-simd-1.f90: Require
16995         vect_simd_clones effective target.
16996         * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
16998 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
17000         PR middle-end/61252
17001         * testsuite/libgomp.c++/simd-9.C: New test.
17003 2014-05-18  Uros Bizjak  <ubizjak@gmail.com>
17005         * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
17006         (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
17007         texts according to their @menu entry positions.
17009 2014-05-11  Jakub Jelinek  <jakub@redhat.com>
17011         * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
17012         * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
17013         * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
17014         * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
17015         * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
17016         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
17017         * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
17018         * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
17019         * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
17020         * testsuite/libgomp.fortran/depend-1.f90: New test.
17021         * testsuite/libgomp.fortran/depend-2.f90: New test.
17022         * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
17023         * testsuite/libgomp.fortran/simd1.f90: New test.
17024         * testsuite/libgomp.fortran/simd2.f90: New test.
17025         * testsuite/libgomp.fortran/simd3.f90: New test.
17026         * testsuite/libgomp.fortran/simd4.f90: New test.
17027         * testsuite/libgomp.fortran/taskgroup1.f90: New test.
17029 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
17031         * testsuite/libgomp.c/simd-10.c: New test.
17032         * testsuite/libgomp.c/simd-11.c: New test.
17033         * testsuite/libgomp.c/simd-12.c: New test.
17034         * testsuite/libgomp.c/simd-13.c: New test.
17036 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
17038         * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
17039         atomic type clauses in any order and optional comma in between.
17040         * testsuite/libgomp.c++/atomic-15.C: Likewise.
17041         * testsuite/libgomp.c/atomic-17.c: Likewise.
17043         * testsuite/libgomp.c/simd-7.c: New test.
17044         * testsuite/libgomp.c/simd-8.c: New test.
17045         * testsuite/libgomp.c/simd-9.c: New test.
17046         * testsuite/libgomp.c/loop-16.c: New test.
17048 2014-04-02  Richard Henderson  <rth@redhat.com>
17050         * config/linux/futex.h (futex_wait): Get error value from errno.
17051         (futex_wake): Likewise.
17053 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
17055         PR c++/60331
17056         * testsuite/libgomp.c++/udr-11.C: New test.
17057         * testsuite/libgomp.c++/udr-12.C: New test.
17058         * testsuite/libgomp.c++/udr-13.C: New test.
17059         * testsuite/libgomp.c++/udr-14.C: New test.
17060         * testsuite/libgomp.c++/udr-15.C: New test.
17061         * testsuite/libgomp.c++/udr-16.C: New test.
17062         * testsuite/libgomp.c++/udr-17.C: New test.
17063         * testsuite/libgomp.c++/udr-18.C: New test.
17064         * testsuite/libgomp.c++/udr-19.C: New test.
17066 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
17068         Update copyright years
17070 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
17072         * hashtab.h: Use the standard form for the copyright notice.
17074 2014-01-02  Tobias Burnus  <burnus@net-b.de>
17076         * libgomp.texi: Bump @copying's copyright year.
17078 2013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
17080         * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
17081         alloca () with __builtin_alloca ().
17082         * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
17083         * testsuite/libgomp.c/lock-3.c: Likewise.
17084         * testsuite/libgomp.c/pr48591.c: Likewise.
17086 2013-12-17  Jakub Jelinek  <jakub@redhat.com>
17088         PR testsuite/59534
17089         * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
17090         comparisons.
17092 2013-12-16  Jakub Jelinek  <jakub@redhat.com>
17094         PR libgomp/58756
17095         * testsuite/libgomp.c/pr58756.c: New test.
17097 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
17099         PR libgomp/59467
17100         * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
17101         !$omp parallel.
17103 2013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
17105         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
17106         ALWAYS_CFLAGS.
17107         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
17108         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
17109         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
17110         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
17111         Likewise.
17113         * libgomp_g.h: Include <stddef.h> for size_t.
17115         * libgomp.spec.in: Update comment about libgomp's dependencies.
17116         * configure.ac: Likewise.
17117         * configure: Regenerate.
17119 2013-10-16  Tobias Burnus  <burnus@net-b.de>
17121         * libgomp.texi: (Runtime Library Routines): Update references for
17122         OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
17123         omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
17124         omp_get_team_num, omp_is_initial_device, omp_set_default_device.
17125         (Environment Variables): Update references for OpenMP 4.0. Add
17126         OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
17127         Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
17128         order.
17130 2013-10-14  Jakub Jelinek  <jakub@redhat.com>
17132         * env.c (parse_bind_var): Initialize value to avoid
17133         (false positive) warning.
17135 2013-10-12  Jakub Jelinek  <jakub@redhat.com>
17137         PR libgomp/58691
17138         * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
17139         to check variable.
17140         (gomp_init_num_threads): Move i variable declaration into
17141         #ifdef CPU_ALLOC_SIZE block.
17142         * config/linux/affinity.c (gomp_affinity_init_level): Test
17143         gomp_places_list_len == 0 rather than gomp_places_list == 0
17144         when checking for topology reading error.
17145         * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
17146         * env.c (parse_affinity): Add ignore argument, if true, don't populate
17147         gomp_places_list, only parse env var and always return false.
17148         (parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
17149         (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
17150         vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
17151         and either of these variables were parsed correctly into a places
17152         list.
17154 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
17155             Jakub Jelinek  <jakub@redhat.com>
17157         * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
17158         of 5 loopfn matches.
17159         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17160         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17161         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
17162         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17163         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17164         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17165         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17166         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17168 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
17170         * Makefile.am (omp_lib.mod): Streamline rule.
17171         * Makefile.in: Regenerate.
17173         * libgomp.texi (Runtime Library Routines): C linkage, don't throw
17174         exceptions.
17176         * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
17177         * testsuite/libgomp.fortran/lib1.f90: Likewise.
17178         * testsuite/libgomp.fortran/lib2.f: Likewise.
17179         * testsuite/libgomp.fortran/lib3.f: Likewise.
17181         * configure.ac: Typo fix.
17182         * configure: Regenerate.
17184         * testsuite/libgomp.fortran/openmp_version-1.f: New file.
17185         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17187         * omp.h.in: Don't touch the user's namespace.
17189 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
17190             Tobias Burnus  <burnus@net-b.de>
17191             Richard Henderson  <rth@redhat.com>
17193         * target.c: New file.
17194         * Makefile.am (libgomp_la_SOURCES): Add target.c.
17195         * Makefile.in: Regenerated.
17196         * libgomp_g.h (GOMP_task): Add depend argument.
17197         (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17198         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17199         GOMP_target_end_data, GOMP_target_update, GOMP_teams,
17200         GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17201         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17202         GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
17203         GOMP_taskgroup_start, GOMP_taskgroup_end,
17204         GOMP_parallel_sections): New prototypes.
17205         * fortran.c (omp_is_initial_device): Add ialias_redirect.
17206         (omp_is_initial_device_): New function.
17207         (ULP, STR1, STR2, ialias_redirect): Removed.
17208         (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
17209         omp_set_default_device_8_, omp_get_default_device_,
17210         omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
17211         functions.
17212         * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17213         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17214         GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
17215         @@GOMP_4.0.
17216         (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
17217         omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
17218         omp_set_default_device, omp_set_default_device_,
17219         omp_set_default_device_8_, omp_get_default_device,
17220         omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
17221         omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
17222         omp_get_team_num_): Export @@OMP_4.0.
17223         * team.c (struct gomp_thread_start_data): Add place field.
17224         (gomp_thread_start): Clear thr->thread_pool and
17225         thr->task before returning.  Use gomp_team_barrier_wait_final
17226         instead of gomp_team_barrier_wait.  Initialize thr->place.
17227         (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
17228         team_cancelled and task_queued_count fields.
17229         (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
17230         before calling pthread_exit.
17231         (gomp_free_thread): No longer static.  Use
17232         gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
17233         (gomp_team_start): Add flags argument.  Set
17234         thr->thread_pool->threads_busy to nthreads immediately after creating
17235         new pool.  Use gomp_managed_threads_lock instead of
17236         gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
17237         (gomp_team_end): Use gomp_managed_threads_lock instead of
17238         gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
17239         of gomp_team_barrier_wait.  If team->team_cancelled, call
17240         gomp_fini_workshare on ws chain starting at team->work_shares_to_free
17241         rather than thr->ts.work_share.
17242         (initialize_team): Don't call gomp_sem_init here.
17243         * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
17244         caller.
17245         (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
17246         * env.c (gomp_global_icv): Add default_device_var, target_data and
17247         bind_var initializers.
17248         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17249         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17250         gomp_places_list_len): New variables.
17251         (parse_bind_var, parse_one_place, parse_places_var): New functions.
17252         (parse_affinity): Rewritten to construct OMP_PLACES list with unit
17253         sized places.
17254         (gomp_cancel_var): New global variable.
17255         (parse_int): New function.
17256         (handle_omp_display_env): New function.
17257         (initialize_env): Use it.  Initialize default_device_var.
17258         Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
17259         OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
17260         OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
17261         been successfully parsed (and call gomp_init_affinity in that case).
17262         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17263         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17264         omp_get_team_num, omp_is_initial_device): New functions.
17265         * libgomp.h: Include stdlib.h.
17266         (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
17267         Define.
17268         (struct target_mem_desc): Forward declare.
17269         (struct gomp_task_icv): Add default_device_var, target_data, bind_var
17270         and thread_limit_var fields.
17271         (gomp_get_num_devices): New prototype.
17272         (gomp_cancel_var): New extern decl.
17273         (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
17274         team_cancelled and task_queued_count fields.  Add comments about
17275         task_{,queued_,running_}count.
17276         (gomp_cancel_kind): New enum.
17277         (gomp_work_share_end_cancel): New prototype.
17278         (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
17279         copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
17280         and depend fields.
17281         (struct gomp_taskgroup): New type.
17282         (struct gomp_task_depend_entry,
17283         struct gomp_dependers_vec): New types.
17284         (gomp_finish_task): Free depend_hash if non-NULL.
17285         (struct gomp_team_state): Add place_partition_off
17286         and place_partition_len fields.
17287         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17288         gomp_places_list_len): New extern decls.
17289         (struct gomp_thread): Add place field.
17290         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17291         (gomp_init_thread_affinity): Add place argument.
17292         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17293         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17294         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17295         gomp_affinity_init_level, gomp_affinity_print_place): New
17296         prototypes.
17297         (gomp_team_start): Add flags argument.
17298         (gomp_thread_limit_var, gomp_remaining_threads_count,
17299         gomp_remaining_threads_lock): Remove.
17300         (gomp_managed_threads_lock): New variable.
17301         (struct gomp_thread_pool): Add threads_busy field.
17302         (gomp_free_thread): New prototype.
17303         * task.c: Include hashtab.h.
17304         (hash_entry_type): New typedef.
17305         (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
17306         (gomp_init_task): Clear dependers, depend_hash, depend_count,
17307         copy_ctors_done and taskgroup fields.
17308         (GOMP_task): Add depend argument, handle depend clauses.  If
17309         gomp_team_barrier_cancelled or if it's taskgroup has been
17310         cancelled, don't queue or start new tasks.  Set copy_ctors_done
17311         field if needed.  Initialize taskgroup field.  If copy_ctors_done
17312         and already cancelled, don't discard the task.  If taskgroup is
17313         non-NULL, enqueue the task into taskgroup queue.  Increment
17314         num_children field in taskgroup.  Increment task_queued_count.
17315         (gomp_task_run_pre, gomp_task_run_post_remove_parent,
17316         gomp_task_run_post_remove_taskgroup): New inline functions.
17317         (gomp_task_run_post_handle_depend_hash,
17318         gomp_task_run_post_handle_dependers,
17319         gomp_task_run_post_handle_depend): New functions.
17320         (GOMP_taskwait): Use them.  If more than one new tasks
17321         have been queued, wake other threads if needed.
17322         (gomp_barrier_handle_tasks): Likewise.  If
17323         gomp_team_barrier_cancelled, don't start any new tasks, just free
17324         all tasks.
17325         (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
17326         * omp_lib.f90.in
17327         (omp_proc_bind_kind, omp_proc_bind_false,
17328         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17329         omp_proc_bind_spread): New params.
17330         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17331         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17332         omp_get_team_num, omp_is_initial_device): New interfaces.
17333         (omp_get_dynamic, omp_get_nested, omp_in_parallel,
17334         omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
17335         omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
17336         omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
17337         omp_get_team_size, omp_get_active_level, omp_in_final): Remove
17338         useless use omp_lib_kinds.
17339         * omp.h.in (omp_proc_bind_t): New typedef.
17340         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17341         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17342         omp_get_team_num, omp_is_initial_device): New prototypes.
17343         * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
17344         through to gomp_team_start.
17345         (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
17346         GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
17347         Adjust gomp_parallel_loop_start callers.
17348         (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17349         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17350         GOMP_loop_end_cancel): New functions.
17351         (GOMP_parallel_end): Add ialias_redirect.
17352         * hashtab.h: New file.
17353         * libgomp.texi (Environment Variables): Minor cleanup,
17354         update section refs to OpenMP 4.0rc2.
17355         (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
17356         environment variables.
17357         * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
17358         team->work_shares_to_free to thr->ts.work_share before calling
17359         free_work_share.
17360         (gomp_work_share_end_cancel): New function.
17361         * config/linux/proc.c: Include errno.h.
17362         (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
17363         (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
17364         sizeof (cpu_set_t) to determine number of iterations.  Fix up check
17365         extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
17366         gomp_cpuset_size is sizeof (cpu_set_t).
17367         (gomp_init_num_threads): Initialize gomp_cpuset_size,
17368         gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
17369         of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
17370         to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
17371         contain any logical CPUs.
17372         (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
17373         is NULL.  Use gomp_cpusetp instead of &cpuset and pass
17374         gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
17375         pthread_getaffinity_np.  Check gomp_places_list instead of
17376         gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
17377         * config/linux/bar.c (gomp_barrier_wait_end,
17378         gomp_barrier_wait_last): Use BAR_* defines.
17379         (gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
17380         from state where needed.  Set work_share_cancelled to 0 on last
17381         thread.
17382         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
17383         gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
17384         functions.
17385         * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
17386         Add cpusetsize argument.
17387         (gomp_cpuset_size, gomp_cpusetp): Declare.
17388         * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
17389         (affinity_counter): Remove.
17390         (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
17391         if CPU_ALLOC_SIZE isn't defined.
17392         (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
17393         silently create OMP_PLACES=threads, if it is non-NULL afterwards,
17394         bind current thread to the first place.
17395         (gomp_init_thread_affinity): Rewritten.  Add place argument, just
17396         pthread_setaffinity_np to gomp_places_list[place].
17397         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17398         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17399         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17400         gomp_affinity_init_level, gomp_affinity_print_place): New functions.
17401         * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17402         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17403         (gomp_barrier_t): Add awaited_final field.
17404         (gomp_barrier_init): Initialize awaited_final field.
17405         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
17406         gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
17407         prototypes.
17408         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
17409         defines.
17410         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
17411         gomp_team_barrier_cancelled): New inline functions.
17412         (gomp_barrier_last_thread,
17413         gomp_team_barrier_set_task_pending,
17414         gomp_team_barrier_clear_task_pending,
17415         gomp_team_barrier_set_waiting_for_tasks,
17416         gomp_team_barrier_waiting_for_tasks,
17417         gomp_team_barrier_done): Use BAR_* defines.
17418         * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
17419         (gomp_barrier_wait_end): Use BAR_* defines.
17420         (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
17421         Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
17422         Use BAR_* defines.
17423         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
17424         gomp_team_barrier_cancel): New functions.
17425         * config/posix/affinity.c (gomp_init_thread_affinity): Add place
17426         argument.
17427         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17428         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17429         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17430         gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
17431         * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17432         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17433         (gomp_barrier_t): Add cancellable field.
17434         (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
17435         gomp_team_barrier_cancel): New prototypes.
17436         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
17437         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
17438         gomp_team_barrier_cancelled): New inline functions.
17439         (gomp_barrier_wait_start, gomp_barrier_last_thread,
17440         gomp_team_barrier_set_task_pending,
17441         gomp_team_barrier_clear_task_pending,
17442         gomp_team_barrier_set_waiting_for_tasks,
17443         gomp_team_barrier_waiting_for_tasks,
17444         gomp_team_barrier_done): Use BAR_* defines.
17445         * barrier.c (GOMP_barrier_cancel): New function.
17446         * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
17447         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17448         omp_proc_bind_spread): New params.
17449         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17450         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17451         omp_get_team_num, omp_is_initial_device): New externals.
17452         * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
17453         New functions.
17454         (gomp_resolve_num_threads): Adjust for thread_limit now being in
17455         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
17456         infinity.  If not nested, just return minimum of max_num_threads
17457         and icv->thread_limit_var and if thr->thread_pool, set threads_busy
17458         to the returned value.  Otherwise, don't update atomically
17459         gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
17460         (GOMP_parallel_end): Adjust for thread_limit now being in
17461         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
17462         infinity.  Adjust threads_busy in the pool rather than
17463         gomp_remaining_threads_count.  Remember team->nthreads and call
17464         gomp_team_end before adjusting threads_busy, if not nested
17465         afterwards, just set it to 1 non-atomically.  Add ialias.
17466         (GOMP_parallel_start): Adjust gomp_team_start caller.
17467         * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
17468         * testsuite/libgomp.c/affinity-1.c: New test.
17469         * testsuite/libgomp.c/atomic-15.c: New test.
17470         * testsuite/libgomp.c/atomic-16.c: New test.
17471         * testsuite/libgomp.c/atomic-17.c: New test.
17472         * testsuite/libgomp.c/cancel-for-1.c: New test.
17473         * testsuite/libgomp.c/cancel-for-2.c: New test.
17474         * testsuite/libgomp.c/cancel-parallel-1.c: New test.
17475         * testsuite/libgomp.c/cancel-parallel-2.c: New test.
17476         * testsuite/libgomp.c/cancel-parallel-3.c: New test.
17477         * testsuite/libgomp.c/cancel-sections-1.c: New test.
17478         * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
17479         * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
17480         * testsuite/libgomp.c/depend-1.c: New test.
17481         * testsuite/libgomp.c/depend-2.c: New test.
17482         * testsuite/libgomp.c/depend-3.c: New test.
17483         * testsuite/libgomp.c/depend-4.c: New test.
17484         * testsuite/libgomp.c/for-1.c: New test.
17485         * testsuite/libgomp.c/for-1.h: New file.
17486         * testsuite/libgomp.c/for-2.c: New test.
17487         * testsuite/libgomp.c/for-2.h: New file.
17488         * testsuite/libgomp.c/for-3.c: New test.
17489         * testsuite/libgomp.c/pr58392.c: New test.
17490         * testsuite/libgomp.c/simd-1.c: New test.
17491         * testsuite/libgomp.c/simd-2.c: New test.
17492         * testsuite/libgomp.c/simd-3.c: New test.
17493         * testsuite/libgomp.c/simd-4.c: New test.
17494         * testsuite/libgomp.c/simd-5.c: New test.
17495         * testsuite/libgomp.c/simd-6.c: New test.
17496         * testsuite/libgomp.c/target-1.c: New test.
17497         * testsuite/libgomp.c/target-2.c: New test.
17498         * testsuite/libgomp.c/target-3.c: New test.
17499         * testsuite/libgomp.c/target-4.c: New test.
17500         * testsuite/libgomp.c/target-5.c: New test.
17501         * testsuite/libgomp.c/target-6.c: New test.
17502         * testsuite/libgomp.c/target-7.c: New test.
17503         * testsuite/libgomp.c/taskgroup-1.c: New test.
17504         * testsuite/libgomp.c/thread-limit-1.c: New test.
17505         * testsuite/libgomp.c/thread-limit-2.c: New test.
17506         * testsuite/libgomp.c/thread-limit-3.c: New test.
17507         * testsuite/libgomp.c/udr-1.c: New test.
17508         * testsuite/libgomp.c/udr-2.c: New test.
17509         * testsuite/libgomp.c/udr-3.c: New test.
17510         * testsuite/libgomp.c++/affinity-1.C: New test.
17511         * testsuite/libgomp.c++/atomic-10.C: New test.
17512         * testsuite/libgomp.c++/atomic-11.C: New test.
17513         * testsuite/libgomp.c++/atomic-12.C: New test.
17514         * testsuite/libgomp.c++/atomic-13.C: New test.
17515         * testsuite/libgomp.c++/atomic-14.C: New test.
17516         * testsuite/libgomp.c++/atomic-15.C: New test.
17517         * testsuite/libgomp.c++/cancel-for-1.C: New test.
17518         * testsuite/libgomp.c++/cancel-for-2.C: New test.
17519         * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
17520         * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
17521         * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
17522         * testsuite/libgomp.c++/cancel-sections-1.C: New test.
17523         * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
17524         * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
17525         * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
17526         * testsuite/libgomp.c++/cancel-test.h: New file.
17527         * testsuite/libgomp.c++/for-9.C: New test.
17528         * testsuite/libgomp.c++/for-10.C: New test.
17529         * testsuite/libgomp.c++/for-11.C: New test.
17530         * testsuite/libgomp.c++/simd-1.C: New test.
17531         * testsuite/libgomp.c++/simd-2.C: New test.
17532         * testsuite/libgomp.c++/simd-3.C: New test.
17533         * testsuite/libgomp.c++/simd-4.C: New test.
17534         * testsuite/libgomp.c++/simd-5.C: New test.
17535         * testsuite/libgomp.c++/simd-6.C: New test.
17536         * testsuite/libgomp.c++/simd-7.C: New test.
17537         * testsuite/libgomp.c++/simd-8.C: New test.
17538         * testsuite/libgomp.c++/target-1.C: New test.
17539         * testsuite/libgomp.c++/target-2.C: New test.
17540         * testsuite/libgomp.c++/target-2-aux.cc: New file.
17541         * testsuite/libgomp.c++/target-3.C: New test.
17542         * testsuite/libgomp.c++/taskgroup-1.C: New test.
17543         * testsuite/libgomp.c++/udr-1.C: New test.
17544         * testsuite/libgomp.c++/udr-2.C: New test.
17545         * testsuite/libgomp.c++/udr-3.C: New test.
17546         * testsuite/libgomp.c++/udr-4.C: New test.
17547         * testsuite/libgomp.c++/udr-5.C: New test.
17548         * testsuite/libgomp.c++/udr-6.C: New test.
17549         * testsuite/libgomp.c++/udr-7.C: New test.
17550         * testsuite/libgomp.c++/udr-8.C: New test.
17551         * testsuite/libgomp.c++/udr-9.C: New test.
17553 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
17555         PR testsuite/57605
17556         * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
17557         ALWAYS_CFLAGS.
17559 2013-09-20  Alan Modra  <amodra@gmail.com>
17561         * configure: Regenerate.
17563 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
17565         * testsuite/libgomp.c/sections-2.c: New test.
17567 2013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
17569         * testsuite/libgomp.fortran/strassen.f90:
17570         Add dg-skip-if aarch64_tiny.
17572 2013-06-20  Iain Sandoe  <iain@codesourcery.com>
17573             Cesar Philippidis  <cesar@codesourcery.com>
17575         * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
17576         Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
17577         * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
17578         * testsuite/libgomp.fortran/fortran.exp: Likewise.
17579         * testsuite/libgomp.graphite/graphite.exp: Likewise.
17580         * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
17581         Use dg-runtest rather than gfortran-dg-runtest.
17583 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
17585         * testsuite/libgomp.c/icv-2.c: Extend current handling of
17586         Linux-based x86 systems to cover all GNU systems.
17587         * testsuite/libgomp.c/lock-3.c: Likewise.
17588         * testsuite/libgomp.c/pr48591.c: Likewise.
17590 2013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
17592         * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
17593         GNU/Hurd, as done for Linux-based systems.
17595         * config/posix/ptrlock.h: Fix comment.
17597 2013-05-27  Tobias Burnus  <burnus@net-b.de>
17599         PR fortran/57423
17600         * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
17601         omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
17602         omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
17603         omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
17604         omp_destroy_nest_lock): Correct arguments to match the one in
17605         the OpenMP spec.
17606         * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
17607         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
17608         omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
17609         omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
17611 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
17613         * testsuite/libgomp.c/loop-13.c: New test.
17614         * testsuite/libgomp.c/loop-14.c: New test.
17615         * testsuite/libgomp.c/loop-15.c: New test.
17616         * testsuite/libgomp.c++/loop-13.C: New test.
17617         * testsuite/libgomp.c++/loop-14.C: New test.
17618         * testsuite/libgomp.c++/loop-15.C: New test.
17620 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
17622         PR middle-end/56217
17623         * testsuite/libgomp.c++/pr56217.C: New test.
17625 2013-02-01  Alan Modra  <amodra@gmail.com>
17627         * task.c (GOMP_task, GOMP_taskwait): Comment.
17629 2013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
17630             Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
17632         PR libgomp/55561
17633         * config/linux/wait.h (do_spin): Use atomic load for addr.
17634         * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
17635         for intptr and ptrlock.
17636         * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
17637         for ptrlock.
17639 2013-01-22  Alan Modra  <amodra@gmail.com>
17641         PR libgomp/51376
17642         PR libgomp/56073
17643         * task.c (GOMP_task): Revert 2011-12-09 change.
17644         (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
17645         barrier to read task->children..
17646         (gomp_barrier_handle_tasks): ..and matching atomic store with
17647         release barrier here when setting parent->children to NULL.
17649 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
17650             Tobias Burnus  <burnus@net-b.de>
17652         PR driver/55884
17653         * testsuite/libgomp.fortran/fortran.exp: Use
17654         -fintrinsic-modules-path= instead of
17655         -fintrinsic-modules-path.
17657 2013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
17659         Update copyright years.
17661 2012-12-19  Tobias Burnus  <burnus@net-b.de>
17663         * testsuite/libgomp.fortran/fortran.exp: Set
17664         -fintrinsic-modules-path.
17666 2012-12-19  Tobias Burnus  <burnus@net-b.de>
17668         * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
17669         from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
17671 2012-11-21  Jakub Jelinek  <jakub@redhat.com>
17673         PR libgomp/55411
17674         * team.c (gomp_free_thread): Decrease gomp_managed_threads
17675         if pool had any threads_used.
17677 2012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
17679         * testsuite/libgomp.c++/pr24455.C: Use
17680         -Wl,-undefined,dynamic_lookup on darwin.
17682 2012-11-07  David Edelsohn  <dje.gcc@gmail.com>
17684         * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
17686 2012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
17688         * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
17690 2012-10-23  Ian Bolton  <ian.bolton@arm.com>
17691             Jim MacArthur  <jim.macarthur@arm.com>
17692             Marcus Shawcroft  <marcus.shawcroft@arm.com>
17693             Nigel Stephens  <nigel.stephens@arm.com>
17694             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
17695             Richard Earnshaw  <rearnsha@arm.com>
17696             Sofiane Naci  <sofiane.naci@arm.com>
17697             Stephen Thomas  <stephen.thomas@arm.com>
17698             Tejas Belagod  <tejas.belagod@arm.com>
17699             Yufeng Zhang  <yufeng.zhang@arm.com>
17701         * configure.tgt: Add AArch64.
17703 2012-10-04  Jason Merrill  <jason@redhat.com>
17705         * testsuite/libgomp.c++/tls-init1.C: New.
17707 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
17709         * configure: Regenerated.
17711 2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
17713         * config/linux/mips/futex.h (sys_futex0): Change to static
17714         function with noinline, nomips16 attributes under MIPS16. Adjust
17715         asm statement to place 'li v0,SYS_futex' immediately before
17716         syscall insn.
17718 2012-07-04  Sandra Loosemore <sandra@codesourcery.com>
17720         * libgomp.texi (Library Index): Renamed from "Index" to prevent
17721         conflict with index.html on case-insensitive file systems.
17723 2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
17725         * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
17726         * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
17728 2012-07-02  Richard Guenther  <rguenther@suse.de>
17729             Michael Matz  <matz@suse.de>
17730             Tobias Grosser <tobias@grosser.es>
17731             Sebastian Pop <sebpop@gmail.com>
17733         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
17734         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17735         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17736         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17738 2012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
17740         * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
17742 2012-06-22  Richard Guenther  <rguenther@suse.de>
17744         Merge from graphite branch
17745         2012-01-13  Tobias Grosser  <tobias@grosser.es>
17747         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17748         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17750 2012-06-07  Jakub Jelinek  <jakub@redhat.com>
17752         PR middle-end/53580
17753         * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
17754         use GOMP_barrier () call instead.
17755         * testsuite/libgomp.c/pr26943-3.c: Likewise.
17756         * testsuite/libgomp.c/pr26943-4.c: Likewise.
17757         * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17758         call GOMP_barrier instead.
17759         * testsuite/libgomp.fortran/vla5.f90: Likewise.
17761 2012-06-06  Jakub Jelinek  <jakub@redhat.com>
17763         PR libgomp/52993
17764         * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
17765         argument to memset call.
17767 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
17769         * configure: Regenerated.
17771 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
17773         * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
17775 2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
17777         PR bootstrap/52812
17778         * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
17780 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
17782         PR middle-end/52547
17783         * testsuite/libgomp.c/pr52547.c: New test.
17785 2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
17787         * testsuite/lib/libgomp.exp: load fortran-modules.exp
17789 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17791         * configure.tgt (mips-sgi-irix6*): Remove.
17793 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17795         * configure.tgt (alpha*-dec-osf*): Remove.
17797         * config/osf/sem.h: Remove.
17798         * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
17800 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
17802         * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
17804 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17806         PR libstdc++/52188
17807         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
17808         Remove ENABLE_SYMVERS_SOL2.
17809         * configure: Regenerate.
17810         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
17811         (PREPROCESS): New variable.
17812         (libgomp.ver): New target.
17813         [LIBGOMP_BUILD_VERSIONED_SHLIB &&
17814         LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
17815         LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
17816         Use libgomp.ver.
17817         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
17818         * Makefile.in: Regenerate.
17820 2012-02-14  Walter Lee  <walt@tilera.com>
17822         * configure.tgt: Handle tilegx and tilepro.
17823         * config/linux/tile/futex.h: New file.
17825 2012-02-08  Richard Guenther  <rguenther@suse.de>
17827         PR tree-optimization/46886
17828         * testsuite/libgomp.c/pr46886.c: New testcase.
17830 2012-01-25  Matthias Klose  <doko@ubuntu.com>
17832         * config/linux/arm: Remove empty directory.
17833         * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
17835 2011-12-09  Alan Modra  <amodra@gmail.com>
17837         PR libgomp/51376
17838         * task.c (GOMP_taskwait): Don't access task->children outside of
17839         task_lock mutex region.
17840         (GOMP_task): Likewise.
17842 2011-12-06  Jakub Jelinek  <jakub@redhat.com>
17844         PR libgomp/51132
17845         * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
17846         to file scope.
17847         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17848         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17849         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17850         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17851         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17853 2011-12-02  Alan Modra  <amodra@gmail.com>
17855         * config/linux/affinity.c: Use atomic rather than sync builtin.
17856         * config/linux/lock.c: Likewise.
17857         * config/linux/ptrlock.h: Likewise.
17858         * config/linux/ptrlock.c: Likewise.
17859         * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
17860         * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
17861         * config/linux/futex.h (atomic_write_barrier): Delete unused function.
17862         * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
17863         * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
17864         * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
17865         * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
17866         * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
17867         * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
17868         * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
17870 2011-11-30  Alan Modra  <amodra@gmail.com>
17872         PR libgomp/51298
17873         * config/linux/bar.h: Use atomic rather than sync builtins.
17874         * config/linux/bar.c: Likewise.  Add missing acquire
17875         synchronisation on generation field.
17876         * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
17877         double unlock.
17879 2011-11-30  Alan Modra  <amodra@gmail.com>
17881         * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
17882         * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
17883         * config/linux/mutex.h: Use atomic rather than sync builtins.
17884         * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
17885         * config/linux/omp-lock.h: Comment fix.
17886         * config/linux/arm/mutex.h: Delete.
17887         * config/linux/powerpc/mutex.h: Delete.
17888         * config/linux/ia64/mutex.h: Delete.
17889         * config/linux/mips/mutex.h: Delete.
17891 2011-11-30  Alan Modra  <amodra@gmail.com>
17893         PR libgomp/51249
17894         * config/linux/sem.h: Rewrite.
17895         * config/linux/sem.c: Rewrite.
17897 2011-11-28  Richard Henderson  <rth@redhat.com>
17899         * libgomp.h (enum memmodel): New.
17901 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
17903         * configure: Regenerate.
17905 2011-10-10  Matthias Klose  <doko@ubuntu.com>
17907         * config/posix95: Remove empty directory.
17909 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
17911         * testsuite/libgomp.fortran/threadprivate4.f90: New test.
17913 2011-08-19  Jakub Jelinek  <jakub@redhat.com>
17915         PR fortran/49792
17916         * testsuite/libgomp.fortran/pr49792-1.f90: New test.
17917         * testsuite/libgomp.fortran/pr49792-2.f90: New test.
17919 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17921         * config/posix95/lock.c, posix95/omp-lock.h: Remove.
17923 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17925         PR libgomp/49965
17926         * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
17928 2011-08-03  Uros Bizjak  <ubizjak@gmail.com>
17930         * config/linux/proc.h: New.
17931         * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
17932         (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
17933         (gomp_init_num_threads): Update call to cpuset_popcount.
17934         (get_num_procs): Ditto.
17935         * config/linux/affinity.c (gomp_init_affinity): Call
17936         gomp_cpuset_popcount.
17938 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
17940         PR fortran/42041
17941         PR fortran/46752
17942         * omp.h.in (omp_in_final): New prototype.
17943         * omp_lib.f90.in (omp_in_final): New interface.
17944         (omp_integer_kind, omp_logical_kind): Remove
17945         and replace all its uses in the module with 4.
17946         (openmp_version): Change to 201107.
17947         * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
17948         omp_sched_guided, omp_sched_auto): Use omp_sched_kind
17949         kind for the parameters.
17950         (omp_in_final): New external.
17951         (openmp_version): Change to 201107.
17952         * task.c (omp_in_final): New function.
17953         (gomp_init_task): Initialize final_task.
17954         (GOMP_task): Remove unused attribute from flags.  Handle final
17955         tasks.
17956         (GOMP_taskyield): New function.
17957         (omp_in_final): Return true if if (false) or final (true) task
17958         or descendant of final (true).
17959         * fortran.c (omp_in_final_): New function.
17960         * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
17961         (GOMP_3.0): Export GOMP_taskyield.
17962         * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
17963         variables.
17964         (parse_unsigned_long_list): New function.
17965         (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
17966         with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
17967         even if parse_affinity returned false.
17968         * config/linux/affinity.c (gomp_init_affinity): Handle
17969         gomp_cpu_affinity_len == 0.
17970         * libgomp_g.h (GOMP_taskyield): New prototype.
17971         * libgomp.h (struct gomp_task): Add final_task field.
17972         (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
17973         * team.c (gomp_team_start): Override new task's nthreads_var icv
17974         if list form OMP_NUM_THREADS has been used and it has value for
17975         the new nesting level.
17977         * testsuite/libgomp.c/atomic-11.c: New test.
17978         * testsuite/libgomp.c/atomic-12.c: New test.
17979         * testsuite/libgomp.c/atomic-13.c: New test.
17980         * testsuite/libgomp.c/atomic-14.c: New test.
17981         * testsuite/libgomp.c/reduction-6.c: New test.
17982         * testsuite/libgomp.c/task-5.c: New test.
17983         * testsuite/libgomp.c++/atomic-2.C: New test.
17984         * testsuite/libgomp.c++/atomic-3.C: New test.
17985         * testsuite/libgomp.c++/atomic-4.C: New test.
17986         * testsuite/libgomp.c++/atomic-5.C: New test.
17987         * testsuite/libgomp.c++/atomic-6.C: New test.
17988         * testsuite/libgomp.c++/atomic-7.C: New test.
17989         * testsuite/libgomp.c++/atomic-8.C: New test.
17990         * testsuite/libgomp.c++/atomic-9.C: New test.
17991         * testsuite/libgomp.c++/task-8.C: New test.
17992         * testsuite/libgomp.c++/reduction-4.C: New test.
17993         * testsuite/libgomp.fortran/allocatable7.f90: New test.
17994         * testsuite/libgomp.fortran/allocatable8.f90: New test.
17995         * testsuite/libgomp.fortran/crayptr3.f90: New test.
17996         * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
17997         * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
17998         * testsuite/libgomp.fortran/pointer1.f90: New test.
17999         * testsuite/libgomp.fortran/pointer2.f90: New test.
18000         * testsuite/libgomp.fortran/task4.f90: New test.
18002 2011-08-02  Tobias Burnus  <burnus@net-b.de>
18004         * libgomp.texi: Update OpenMP spec references to 3.1.
18005         (omp_in_final,OMP_PROC_BIND): New sections.
18006         (OMP_NUM_THREADS): Document that the value can be now a list.
18007         (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
18009 2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
18011         * config/linux/x86/futex.h: Check __x86_64__ instead of
18012         __LP64__.
18014 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
18016         PR middle-end/49897
18017         PR middle-end/49898
18018         * testsuite/libgomp.c/pr49897-1.c: New test.
18019         * testsuite/libgomp.c/pr49897-2.c: New test.
18020         * testsuite/libgomp.c/pr49898-1.c: New test.
18021         * testsuite/libgomp.c/pr49898-2.c: New test.
18023 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
18025         * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
18026         for ia32 instead of ilp32.
18028         * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
18029         * testsuite/libgomp.c/atomic-6.c: Likewise.
18031 2011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
18033         * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
18034         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
18036 2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18038         PR libgomp/45351
18039         * config/osf/sem.h: New file.
18040         * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
18042 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18044         PR target/49541
18045         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
18046         ldflags.
18048 2011-07-15  Jakub Jelinek  <jakub@redhat.com>
18050         * config/linux/wait.h (do_spin): New inline, largely copied
18051         from do_wait, just don't do futex_wait here, instead return true if
18052         it should be done.
18053         (do_wait): Implement using do_spin.
18054         * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
18055         to prototype.
18056         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18057         __sync_bool_compare_and_swap, pass the oldval to
18058         gomp_mutex_lock_slow.
18059         * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
18060         If all mutex contenders are just spinning and not sleeping, don't
18061         change state to 2 unnecessarily.  Optimize the loop when state has
18062         already become 2 to use just one atomic operation per loop instead
18063         of two.
18064         * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
18065         to prototype.
18066         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18067         __sync_bool_compare_and_swap, pass the oldval to
18068         gomp_mutex_lock_slow.
18070 2011-06-22  Jakub Jelinek  <jakub@redhat.com>
18072         PR libgomp/49490
18073         * iter.c (gomp_iter_static_next): For chunk size 0
18074         only use n ceil/ nthreads size for the first
18075         n % nthreads threads in the team instead of
18076         all threads except for the last few ones which
18077         get less work or none at all.
18078         * iter_ull.c (gomp_iter_ull_static_next): Likewise.
18079         * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
18080         chunk argument, set run_sched_modifier to 0 for static
18081         resp. 1 for other kinds.  If chunk argument is 0
18082         and not static, set value to 1.
18084 2011-05-19  Jakub Jelinek  <jakub@redhat.com>
18086         PR c++/49043
18087         * testsuite/libgomp.c++/pr49043.C: New test.
18089         PR c++/48869
18090         * testsuite/libgomp.c++/pr48869.C: New test.
18092 2011-05-06  Jakub Jelinek  <jakub@redhat.com>
18094         PR fortran/48894
18095         * fortran.c: Include limits.h.
18096         (TO_INT): Define.
18097         (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
18098         *set.
18099         (omp_set_num_threads_8_, omp_set_schedule_8_,
18100         omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
18101         omp_get_team_size_8_): Use TO_INT macro.
18102         * testsuite/libgomp.fortran/pr48894.f90: New test.
18104 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
18106         PR middle-end/48591
18107         * testsuite/libgomp.c/pr48591.c: New test.
18109 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18111         PR bootstrap/48135
18112         * acinclude.m4 (enable_symvers): Handle --disable-symvers.
18113         * configure: Regenerate.
18115 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
18117         PR fortran/47886
18118         * testsuite/libgomp.fortran/task3.f90: New test.
18120 2011-02-24  Tobias Burnus  <burnus@net-b.de>
18122         * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
18124 2011-02-23  Jakub Jelinek  <jakub@redhat.com>
18126         PR libgomp/47854
18127         * libgomp.texi (omp_get_wtime): Don't say time in the past
18128         must be Unix Epoch.
18130 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
18132         PR libgomp/47804
18133         * testsuite/libgomp.fortran/fortran.exp: Check for both
18134         libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
18135         but $blddir != "", still append ${blddir}/${lang_library_path}
18136         to ld_library_path.
18138 2011-02-16  Tobias Burnus  <burnus@net-b.de>
18140         PR libgomp/47758
18141         * testsuite/libgomp.fortran/fortran.exp: Check for the existence
18142         of libquadmath.a before adding its libpath to ldflags.
18144 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
18146         PR libgomp/47731
18147         * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
18148         to FUTEX_WAIT futex syscall.
18149         * config/linux/wait.h: Include <futex.h> instead of "futex.h".
18151 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18153         * configure: Regenerate.
18155 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
18157         PR libstdc++/36104
18158         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
18160 2011-01-16  Gerald Pfeifer
18162         * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
18164 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
18166         PR fortran/46874
18167         * libgomp.fortran/allocatable6.f90: New test.
18169 2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18171         * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
18172         * configure: Regenerate.
18174 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
18176         PR target/40125
18177         PR lto/46695
18178         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
18179         * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
18180         * aclocal.m4: Regenerate.
18181         * configure: Regenerate.
18182         * Makefile.in: Regenerate.
18183         * testsuite/Makefile.in: Regenerate.
18185 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
18187         PR fortran/46753
18188         * libgomp.fortran/pr46753.f90: New test.
18190         PR libgomp/43706
18191         * env.c (initialize_env): Default to spin count 300000
18192         instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
18193         is specified.
18195         PR libgomp/45240
18196         * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
18197         at the end if sync builtins aren't supported.
18199 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18201         * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
18203 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18205         * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
18207 2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
18209         * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
18211 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
18212             Tobias Burnus  <burnus@net-b.de>
18214         PR fortran/32049
18215         * configure.ac:
18216         * configure: Regenerate.
18218 2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
18220         * config/linux/futex.h: New.
18221         * config/linux/arm/mutex.h: New.
18222         * configure.tgt (arm*-*-linux*): Add config path.
18224 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
18226         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18228 2010-09-23  Tobias Burnus  <burnus@net-b.de>
18230         * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
18231         Change Fortran datatype to LOGICAL.
18232         (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
18233         omp_unset_nested_lock): Use intent(inout) instead of intent(out).
18235 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18237         * configure: Regenerate.
18239 2010-07-26  Jakub Jelinek  <jakub@redhat.com>
18241         * libgomp.texi: Add function keyword to a couple of Fortran
18242         interfaces, use integer instead of int for Fortran.
18244 2010-07-26  Aldy Hernandez  <aldyh@redhat.com>
18246         * libgomp.texi: Fix spelling and pasto problems throughout.
18247         Adjust prototypes to match code.
18249 2010-07-24  Tobias Burnus  <burnus@net-b.de>
18251         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
18252         silence -fwhole-file warning.
18254 2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18256         * configure.tgt (*-*-solaris2.[56]*): Removed.
18258 2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18260         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
18261         Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
18262         LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
18263         (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
18264         targetting solaris2*.
18265         * configure: Regenerate.
18266         * config.h.in: Regenerate.
18268         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
18269         libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
18270         Add libgomp_version_dep.
18271         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
18272         versioning.
18273         [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
18274         (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
18275         * Makefile.in: Regenerate.
18277         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
18278         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18279         * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
18280         to common block, protected by
18281         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18283 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
18285         * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
18287 2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
18289         PR bootstrap/43170
18290         * configure: Regenerate.
18292 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18294         PR other/43620
18295         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
18296         * configure: Regenerate.
18297         * Makefile.in: Regenerate.
18298         * testsuite/Makefile.in: Regenerate.
18300 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
18302         PR c/43893
18303         * testsuite/libgomp.c/pr43893.c: New test.
18304         * testsuite/libgomp.c++/pr43893.C: New test.
18306 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
18308         PR middle-end/43570
18309         * testsuite/libgomp.fortran/vla8.f90: New test.
18311 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
18313         PR libgomp/43706
18314         * config/linux/affinity.c (gomp_init_affinity): Decrease
18315         gomp_available_cpus if affinity mask confines the process to fewer
18316         CPUs.
18317         * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
18318         non-NULL, just return gomp_available_cpus.
18320         PR libgomp/43569
18321         * sections.c (gomp_sections_init): Initialize ws->mode.
18323 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
18325         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
18326         not unused bar variable.
18327         * configure: Regenerate.
18329 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18331         * Makefile.in: Regenerate.
18332         * aclocal.m4: Regenerate.
18333         * testsuite/Makefile.in: Regenerate.
18335 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
18337         PR libgomp/42942
18338         * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
18339         (initialize_env): Adjust callers.
18340         (omp_set_max_active_levels): Set gomp_max_active_levels_var even
18341         when the argument is 0.
18343         * testsuite/libgomp.c/pr42942.c: New test.
18345 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
18347         PR middle-end/42644
18348         PR middle-end/42130
18349         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18350         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
18352 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18354         * testsuite/libgomp.c++/task-1.C: Renamed err to e.
18355         * testsuite/libgomp.c++/task-6.C: Likewise.
18357 2010-01-28  Steve Ellcey  <sje@cup.hp.com>
18359         * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
18361 2010-01-26  Paolo Bonzini  <bonzini@gnu.org>
18363         * configure.ac: Test for executability of _the first word_ of GFORTRAN.
18364         * configure: Regenerate.
18366 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
18368         PR fortran/42866
18369         * testsuite/libgomp.fortran/allocatable5.f90: New test.
18371 2010-01-20  Paolo Bonzini  <bonzini@gnu.org>
18373         * configure.ac: Test for executability of GFORTRAN.
18374         * configure: Regenerate.
18376 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
18378         * configure: Regenerate.
18380 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
18382         PR libgomp/42602
18383         * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
18385 2010-01-03  Richard Guenther  <rguenther@suse.de>
18387         * testsuite/libgomp.fortran/recursion1.f90: New testcase.
18389 2009-12-23  Sebastian Pop  <sebpop@gmail.com>
18391         * testsuite/libgomp.graphite/pr4118.c: New.
18393 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
18395         * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
18396         for darwin, protect the test with require-effective-target tls_runtime.
18397         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
18399 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
18401         PR target/41605
18402         * testsuite/lib/libgomp.exp: Provide -B options to allow for
18403         link spec %s substitutions for static libraries.
18405 2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
18407         PR testsuite/42135
18408         * libgomp.graphite/force-parallel-2.c: Reduce array size.
18410 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18412         * Makefile.in: Regenerate.
18413         * configure: Regenerate.
18414         * testsuite/Makefile.in: Regenerate.
18416 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
18418         * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
18419         settings for LC_ALL and LANG.
18421 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
18423         PR fortran/42162
18424         * testsuite/libgomp.fortran/pr42162.f90: New test.
18426 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
18428         PR middle-end/42029
18429         * testsuite/libgomp.c/pr42029.c: New test.
18431 2009-10-26  Jakub Jelinek  <jakub@redhat.com>
18433         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
18434         *s.  Accept ld version without text in ()s.
18435         * configure: Regenerated.
18437 2009-10-22  Razya Ladelsky  <razya@il.ibm.com>
18439         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
18441 2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18443         PR libgomp/41418
18444         * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
18445         or a hyphen (happens with fortran language disabled).
18446         * configure: Regenerate.
18448 2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18450         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
18451         use sed script portable to Solaris /bin/sed for extracting ld
18452         version.
18453         * configure: Regenerate.
18455 2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
18457         * testsuite/libgomp.graphite/bounds.c: New test.
18459 2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18461         * Makefile.am (libgomp_la_LINK): New.
18462         * Makefile.in: Regenerate.
18464 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18466         * configure.ac (AC_PREREQ): Bump to 2.64.
18468 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18470         * Makefile.am (install-html, install-pdf): Remove.
18471         * Makefile.in: Regenerate.
18473         * Makefile.in: Regenerate.
18474         * aclocal.m4: Regenerate.
18475         * config.h.in: Regenerate.
18476         * configure: Regenerate.
18477         * testsuite/Makefile.in: Regenerate.
18479 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18481         * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
18482         * Makefile.in: Regenerate.
18484 2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
18486         * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
18487         * Makefile.in: Regenerate.
18489 2009-08-19  Tobias Burnus  <burnus@net-b.de>
18491         PR fortran/41102
18492         omp_lib.h.in: Fix -std=f95 errors.
18494 2009-08-14  David Edelsohn  <edelsohn@gnu.org>
18496         * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
18497         * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
18498         * testsuite/libgomp.graphite/graphite.exp: New.
18500 2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
18502         * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
18503         only build.
18505 2009-08-04  David Daney  <ddaney@caviumnetworks.com>
18507         * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
18508         needed memory barrier semantics.
18509         * config/linux/mips/mutex.h: New file.
18511 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18513         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
18515 2009-07-16  Joseph Myers  <joseph@codesourcery.com>
18517         * configure: Regenerate.
18519 2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
18521         PR testsuite/40699
18522         PR testsuite/40707
18523         PR testsuite/40709
18524         * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
18525         * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
18526         testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
18528 2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
18530         * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
18531         options when choosing a multilib.
18533 2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
18535         * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
18536         ld_library_path.  Use add_path.  Add just find_libgcc_s to
18537         ld_library_path, not every libgcc multilib directory.
18538         * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
18539         gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
18540         * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
18541         Use add_path.
18542         * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
18544 2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
18546         * Makefile.am (LTLDFLAGS): Define.
18547         (LINK): Define.
18548         * Makefile.in: Regenerate.
18550 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
18552         PR fortran/39718
18553         * testsuite/libgomp.fortran/fortran.exp: Don't link with
18554         libgfortranbegin, check existence of libgfortran.a instead of
18555         libgfortranbegin.a.
18557 2009-05-20  Jakub Jelinek  <jakub@redhat.com>
18559         PR libgomp/40174
18560         * team.c (gomp_thread_start): Destroy thr->release semaphore.
18561         (gomp_free_pool_helper): Likewise.
18563 2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
18564             Jakub Jelinek  <jakub@redhat.com>
18566         PR fortran/35423
18567         * testsuite/libgomp.fortran/workshare2.f90: New test.
18569 2009-04-09  Nick Clifton  <nickc@redhat.com>
18571         * iter.c: Change copyright header to refer to version 3 of the
18572         GNU General Public License with version 3.1 of the GCC Runtime
18573         Library Exception and to point readers at the COPYING3 and
18574         COPYING3.RUNTIME files and the FSF's license web page.
18575         * alloc.c: Likewise.
18576         * barrier.c: Likewise.
18577         * config/bsd/proc.c: Likewise.
18578         * config/linux/affinity.c: Likewise.
18579         * config/linux/alpha/futex.h: Likewise.
18580         * config/linux/bar.c: Likewise.
18581         * config/linux/bar.h: Likewise.
18582         * config/linux/ia64/futex.h: Likewise.
18583         * config/linux/ia64/mutex.h: Likewise.
18584         * config/linux/lock.c: Likewise.
18585         * config/linux/mips/futex.h: Likewise.
18586         * config/linux/mutex.c: Likewise.
18587         * config/linux/mutex.h: Likewise.
18588         * config/linux/powerpc/futex.h: Likewise.
18589         * config/linux/proc.c: Likewise.
18590         * config/linux/ptrlock.c: Likewise.
18591         * config/linux/ptrlock.h: Likewise.
18592         * config/linux/s390/futex.h: Likewise.
18593         * config/linux/sem.c: Likewise.
18594         * config/linux/sem.h: Likewise.
18595         * config/linux/sparc/futex.h: Likewise.
18596         * config/linux/wait.h: Likewise.
18597         * config/linux/x86/futex.h: Likewise.
18598         * config/mingw32/proc.c: Likewise.
18599         * config/mingw32/time.c: Likewise.
18600         * config/posix/affinity.c: Likewise.
18601         * config/posix/bar.c: Likewise.
18602         * config/posix/bar.h: Likewise.
18603         * config/posix/lock.c: Likewise.
18604         * config/posix/mutex.h: Likewise.
18605         * config/posix/proc.c: Likewise.
18606         * config/posix/ptrlock.h: Likewise.
18607         * config/posix/sem.c: Likewise.
18608         * config/posix/sem.h: Likewise.
18609         * config/posix/time.c: Likewise.
18610         * config/posix95/lock.c: Likewise.
18611         * critical.c: Likewise.
18612         * env.c: Likewise.
18613         * error.c: Likewise.
18614         * fortran.c: Likewise.
18615         * iter_ull.c: Likewise.
18616         * libgomp.h: Likewise.
18617         * libgomp_f.h.in: Likewise.
18618         * libgomp_g.h: Likewise.
18619         * loop.c: Likewise.
18620         * loop_ull.c: Likewise.
18621         * omp.h.in: Likewise.
18622         * omp_lib.f90.in: Likewise.
18623         * omp_lib.h.in: Likewise.
18624         * ordered.c: Likewise.
18625         * parallel.c: Likewise.
18626         * sections.c: Likewise.
18627         * single.c: Likewise.
18628         * task.c: Likewise.
18629         * team.c: Likewise.
18630         * work.c: Likewise.
18632 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
18634         * testsuite/config/default.exp: Change copyright header to refer to
18635         version 3 of the GNU General Public License and to point readers
18636         at the COPYING3 file and the FSF's license web page.
18638 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
18640         PR middle-end/39573
18641         * libgomp.c++/pr39573.C: New test.
18643 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
18645         PR other/39591
18646         * testsuite/libgomp.c/pr39591-1.c: New test.
18647         * testsuite/libgomp.c/pr39591-2.c: New test.
18648         * testsuite/libgomp.c/pr39591-3.c: New test.
18650 2009-03-25  Uros Bizjak  <ubizjak@gmail.com>
18652         * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
18653         * testsuite/libgomp.c/atomic-6.c: Ditto.
18655 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
18657         PR c/39495
18658         * testsuite/libgomp.c/loop-12.c: New test.
18659         * testsuite/libgomp.c/loop-11.c: New test.
18660         * testsuite/libgomp.c++/loop-11.C: New test.
18661         * testsuite/libgomp.c++/loop-12.C: New test.
18662         * testsuite/libgomp.c++/for-8.C: New test.
18664 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18666         * configure: Regenerate.
18668 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
18670         PR middle-end/39154
18671         * testsuite/libgomp.c/pr39154.c: New test.
18673 2009-01-30  Ian Lance Taylor  <iant@google.com>
18675         * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
18676         libgomp_ld_is_gold.  Get gold version number.
18677         (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
18678         * configure: Rebuild.
18680 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
18682         * testsuite/lib/libgomp.exp: Add -B option for targets that
18683         use libgfortran.a%s in their specs.
18685 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
18687         PR libgomp/38086
18688         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
18689         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
18690         HAVE_AS_SYMVER_DIRECTIVE is not defined.
18691         * configure: Regenerated.
18692         * config.h.in: Likewise.
18694 2008-12-28  Jakub Jelinek  <jakub@redhat.com>
18696         PR c++/38650
18697         * testsuite/libgomp.c/pr38650.c: New test.
18698         * testsuite/libgomp.c++/pr38650.C: New test.
18700 2008-12-27  Jakub Jelinek  <jakub@redhat.com>
18702         * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
18704 2008-12-26  Uros Bizjak  <ubizjak@gmail.com>
18706         * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
18708 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18710         * configure: Regenerate.
18712 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
18714         PR middle-end/36802
18715         * testsuite/libgomp.c/pr36802-1.c: New test.
18716         * testsuite/libgomp.c/pr36802-2.c: New test.
18717         * testsuite/libgomp.c/pr36802-3.c: New test.
18719 2008-12-01  Janis Johnson  <janis187@us.ibm.com>
18721         PR libgomp/38270
18722         * config/linux/powerpc/mutex.h: New.
18724 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
18726         PR c++/38257
18727         * testsuite/libgomp.c++/for-7.C: New test.
18729         PR c++/38348
18730         * testsuite/libgomp.c++/for-6.C: New test.
18732 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
18734         PR testsuite/28870
18735         * testsuite/lib/libgomp.exp: Include new timeout library files.
18736         (libgomp_target_compile): Set timeout value from new proc.
18738 2008-11-13  Steve Ellcey  <sje@cup.hp.com>
18740         PR libgomp/37938
18741         * config/linux/ia64/mutex.h: New.
18743 2008-11-04  Tobias Burnus  <burnus@net-b.de>
18745         PR libgomp/37935
18746         * libgomp.texi (Runtime library routines, environment variables):
18747         Update for OpenMP version 3.0.
18749 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
18750             Steve Ellcey  <sje@cup.hp.com>
18752         * configure: Regenerate for new libtool.
18753         * Makefile.in: Ditto.
18754         * testsuite/Makefile.in: Ditto.
18756 2008-09-19  Jakub Jelinek  <jakub@redhat.com>
18757             Andreas Tobler  <a.tobler@schweiz.org>
18759         * config/bsd/proc.c: New file.
18760         * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
18761         * configure.ac: Check for header <sys/sysctl.h>
18762         * configure: Regenerate.
18763         * config.h.in: Likewise.
18765 2008-09-05  Janis Johnson  <janis187@us.ibm.com>
18767         * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
18769 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
18771         * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
18772         * Makefile.in: Regenerated.
18773         * testsuite/Makefile.in: Regenerated.
18775 2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
18777         * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
18778         depend on blddir if blddir exists.
18779         (libgomp_target_compile): Likewise.
18780         * testsuite/libgomp.c++/c++.exp: Likewise.
18781         * testsuite/libgomp.fortran/fortran.exp: Likewise.
18783 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18785         * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
18786         Do not list GPL as Invariant Section.
18788 2008-07-28  Ilie Garbacea  <ilie@mips.com>
18789             Chao-ying Fu  <fu@mips.com>
18791         * configure.tgt: Enable futex for MIPS.
18792         * config/linux/mips/futex.h: New file.
18794 2008-07-16  Jakub Jelinek  <jakub@redhat.com>
18796         * team.c (gomp_team_end): Free team immediately if it has
18797         just one thread.
18799 2008-07-08  David Edelsohn  <edelsohn@gnu.org>
18801         * testsuite/libgomp.c++/c++.exp: Append multilib library path.
18802         * testsuite/libgomp.fortran/fortran.exp: Same.
18803         * testsuite/libgomp.c/c.exp: Same.
18804         * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
18805         directory to library path first.
18807 2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
18809         * env.c (parse_stacksize): Add cast to avoid warning.
18810         (parse_spincount): Likewise.
18812 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
18814         * testsuite/libgomp.c/loop-10.c: New test.
18815         * libgomp.c/loop-3.c (main): Add lastprivate clause.
18816         * libgomp.c++/loop-6.C (main): Likewise.
18818         PR debug/36617
18819         * testsuite/libgomp.c/debug-1.c: New test.
18821 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
18823         * testsuite/libgomp.c/nqueens-1.c: New test.
18825         PR c++/36523
18826         * testsuite/libgomp.c++/task-7.C: New function.
18828 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18830         * configure: Regenerate.
18832 2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
18834         * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
18835         mutex when HAVE_SYNC_BUILTINS isn't defined.
18837 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18839         * libgomp.texi (omp_test_lock): Fix typo.
18841 2008-06-12  Tobias Burnus  <burnus@net-b.de>
18843         * omp_lib.f90.in: Add "implicit none".
18845 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
18847         PR middle-end/36506
18848         * testsuite/libgomp.c/reduction-5.c: New test.
18850 2008-06-11  Jakub Jelinek  <jakub@redhat.com>
18852         * libgomp.h (struct gomp_task): Add in_tied_task field.
18853         * task.c (gomp_init_task): Initialize it.
18854         (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
18855         unconditionally.  Don't call gomp_team_barrier_wake if
18856         current task is implicit or if(0) from implicit and number of
18857         running tasks is equal to nthreads - 1.
18859         PR libgomp/36471
18860         * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
18861         omp_get_team_size_8): Fix pastos.
18863         PR libgomp/36469
18864         * configure.ac: Add AC_CHECK_FUNCS (strtoull).
18865         * configure: Regenerated.
18866         * config.h.in: Regenerated.
18867         * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
18868         defined.
18870 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
18872         PR bootstrap/36452
18873         * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
18874         (GOMP_loop_ull_dynamic_start): Likewise.
18875         (GOMP_loop_ull_guided_start): Likewise.
18876         (GOMP_loop_ull_ordered_static_start): Likewise.
18877         (GOMP_loop_ull_ordered_dynamic_start): Likewise.
18878         (GOMP_loop_ull_ordered_guided_start): Likewise.
18880 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
18881             Richard Henderson  <rth@redhat.com>
18882             Ulrich Drepper  <drepper@redhat.com>
18883             Jakob Blomer  <jakob.blomer@ira.uka.de>
18885         * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
18886         Substitute also OMP_*LOCK_25*.
18887         * configure: Regenerated.
18888         * config.h.in: Regenerated.
18889         * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
18890         ptrlock.c and task.c.
18891         * Makefile.in: Regenerated.
18892         * testsuite/Makefile.in: Regenerated.
18893         * task.c: New file.
18894         * loop_ull.c: New file.
18895         * iter_ull.c: New file.
18896         * libgomp.h: Include ptrlock.h.
18897         (enum gomp_task_kind): New type.
18898         (struct gomp_team): Add task_lock, task_queue, task_count,
18899         task_running_count, single_count fields.  Add
18900         work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
18901         Remove work_share_lock, generation_mask,
18902         oldest_live_gen, num_live_gen and init_work_shares fields, add
18903         work work_share_list_alloc, work_share_list_free and work_share_chunk
18904         fields.  Change work_shares from pointer to pointers into an array.
18905         Change ordered_release field into gomp_sem_t ** from flexible array
18906         member.  Add implicit_task and initial_work_shares fields.
18907         Move close to the end of the struct.
18908         (struct gomp_team_state): Add single_count, last_work_share,
18909         active_level and level fields, remove work_share_generation.
18910         (gomp_barrier_handle_tasks): New prototype.
18911         (gomp_finish_task): New inline function.
18912         (struct gomp_work_share): Move chunk_size, end, incr into
18913         transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
18914         next_ll fields.  Reshuffle fields.  Add next_alloc,
18915         next_ws, next_free and inline_ordered_team_ids fields, change
18916         ordered_team_ids into pointer from flexible array member.
18917         Add mode field.  Put lock and next into a different cache line
18918         from most of the write-once fields.
18919         (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
18920         gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
18921         gomp_iter_ull_guided_next): New prototypes.
18922         (gomp_new_icv): New prototype.
18923         (struct gomp_thread): Add thread_pool and task fields.
18924         (struct gomp_thread_pool): New type.
18925         (gomp_new_team): New prototype.
18926         (gomp_team_start): Change type of last argument.
18927         (gomp_new_work_share): Removed.
18928         (gomp_init_work_share, gomp_fini_work_share): New prototypes.
18929         (gomp_work_share_init_done): New static inline.
18930         (gomp_throttled_spin_count_var, gomp_available_cpus,
18931         gomp_managed_threads): New extern decls.
18932         (gomp_init_task): New prototype.
18933         (gomp_spin_count_var): New extern var decl.
18934         (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
18935         or no alias support, or if not PIC.
18936         (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
18937         gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
18938         gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
18939         gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
18940         gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
18941         gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
18942         gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
18943         gomp_test_nest_lock_25): New prototypes.
18944         (omp_lock_symver, strong_alias): Define.
18945         (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
18946         decls.
18947         (gomp_end_task): New.
18948         (struct gomp_task_icv, gomp_global_icv): New.
18949         (gomp_thread_limit_var, gomp_max_active_levels_var): New.
18950         (struct gomp_task): New.
18951         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18952         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18953         (gomp_icv): New.
18954         (gomp_schedule_type): Reorder enum to match
18955         omp_sched_t.
18956         * team.c (struct gomp_thread_start_data): Add thread_pool and task
18957         fields.
18958         (gomp_thread_start): Add gomp_team_barrier_wait call.
18959         For non-nested case remove clearing of docked thread thr fields.
18960         Use pool fields instead of global gomp_* variables.  Use
18961         gomp_barrier_wait_last when needed.  Initialize ts.active_level.
18962         Create tasks for each member thread.
18963         (free_team): Only destroy team barrier, task_lock here and free it.
18964         (gomp_free_thread): Free last_team if non-NULL.
18965         (gomp_team_end): Call gomp_team_barrier_wait instead of
18966         gomp_barrier_wait.  For nested case call one extra
18967         gomp_barrier_wait.  Move here some destruction from free_team.
18968         Call free_team on pool->last_team if any, rather than freeing
18969         current team.  Destroy work_share_list_free_lock ifndef
18970         HAVE_SYNC_BUILTINS.
18971         (gomp_new_icv): New function.
18972         (gomp_threads, gomp_threads_size, gomp_threads_used,
18973         gomp_threads_dock): Removed.
18974         (gomp_thread_destructor): New variable.
18975         (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
18976         functions.
18977         (gomp_team_start): Create new pool if current thread doesn't have
18978         one.  Use pool fields instead of global gomp_* variables.
18979         Initialize thread_pool field for new threads.  Clear single_count.
18980         Change last argument from ws to team, don't create
18981         new team, set ts.work_share to &team->work_shares[0] and clear
18982         ts.last_work_share.  Don't clear ts.work_share_generation.
18983         If number of threads changed, adjust atomically gomp_managed_threads.
18984         Use gomp_init_task instead of gomp_new_task,
18985         set thr->task to the corresponding implicit_task array entry.
18986         Create tasks for each member thread.  Initialize ts.level.
18987         (initialize_team): Call pthread_key_create on
18988         gomp_thread_destructor.
18989         (team_destructor): New function.
18990         (new_team): Removed.
18991         (gomp_new_team): New function.
18992         (free_team): Free gomp_work_share blocks chained through next_alloc,
18993         instead of freeing work_shares and destroying work_share_lock.
18994         (gomp_team_end): Call gomp_fini_work_share.  If number of threads
18995         changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
18996         * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
18997         of gomp_barrier_wait.
18998         * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
18999         instead of gomp_barrier_wait.  Call gomp_work_share_init_done
19000         if gomp_work_share_start returned true.  Don't unlock ws->lock.
19001         (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
19002         of gomp_barrier_wait.
19003         (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
19004         gomp_work_share_init_done if gomp_work_share_start returned true.
19005         Don't unlock ws->lock.
19006         * work.c: Include stddef.h.
19007         (free_work_share): Use work_share_list_free_lock instead
19008         of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
19009         Call gomp_fini_work_share and then either free ws if orphaned, or
19010         put it into work_share_list_free list of the current team.
19011         (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
19012         functions.
19013         (gomp_work_share_start, gomp_work_share_end,
19014         gomp_work_share_end_nowait): Rewritten.
19015         * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
19016         (openmp_version): Set to 200805.
19017         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
19018         omp_sched_guided, omp_sched_auto): New parameters.
19019         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19020         omp_set_max_active_levels, omp_get_max_active_levels,
19021         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19022         omp_get_active_level): New interfaces.
19023         * omp_lib.h.in (openmp_version): Set to 200805.
19024         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
19025         omp_sched_guided, omp_sched_auto): New parameters.
19026         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19027         omp_set_max_active_levels, omp_get_max_active_levels,
19028         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19029         omp_get_active_level): New externals.
19030         * loop.c: Include limits.h.
19031         (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
19032         GFS_AUTO.
19033         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
19034         Likewise.  Use gomp_icv.
19035         (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
19036         ts.static_trip here.
19037         (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
19038         gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
19039         (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
19040         gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
19041         don't unlock ws->lock, otherwise lock it.
19042         (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
19043         gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
19044         (gomp_parallel_loop_start): Call gomp_new_team instead of
19045         gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
19046         Adjust gomp_team_start caller.  Pass 0 as second argument to
19047         gomp_resolve_num_threads.
19048         (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
19049         If adding ws->chunk_size nthreads + 1 times after end won't
19050         overflow, set ws->mode to 1.
19051         * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
19052         GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
19053         GOMP_loop_ull_ordered_static_start,
19054         GOMP_loop_ull_ordered_dynamic_start,
19055         GOMP_loop_ull_ordered_guided_start,
19056         GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
19057         GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
19058         GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
19059         GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
19060         GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
19061         prototypes.
19062         * libgomp.map: Export lock routines also @@OMP_2.0.
19063         (GOMP_loop_ordered_dynamic_first,
19064         GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
19065         GOMP_loop_ordered_static_first): Remove.
19066         (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
19067         GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
19068         GOMP_loop_ull_ordered_dynamic_next,
19069         GOMP_loop_ull_ordered_dynamic_start,
19070         GOMP_loop_ull_ordered_guided_next,
19071         GOMP_loop_ull_ordered_guided_start,
19072         GOMP_loop_ull_ordered_runtime_next,
19073         GOMP_loop_ull_ordered_runtime_start,
19074         GOMP_loop_ull_ordered_static_next,
19075         GOMP_loop_ull_ordered_static_start,
19076         GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
19077         GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
19078         GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
19079         (omp_set_schedule, omp_get_schedule,
19080         omp_get_thread_limit, omp_set_max_active_levels,
19081         omp_get_max_active_levels, omp_get_level,
19082         omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
19083         omp_set_schedule_, omp_set_schedule_8_,
19084         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19085         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19086         omp_get_max_active_levels_, omp_get_level_,
19087         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19088         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19089         New exports @@OMP_3.0.
19090         * omp.h.in (omp_sched_t): New type.
19091         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19092         omp_set_max_active_levels, omp_get_max_active_levels,
19093         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19094         omp_get_active_level): New prototypes.
19095         * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
19096         gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
19097         gomp_thread_limit_var, gomp_remaining_threads_count,
19098         gomp_remaining_threads_lock): New variables.
19099         (parse_spincount): New function.
19100         (initialize_env): Call gomp_init_num_threads unconditionally.
19101         Initialize gomp_available_cpus.  Call parse_spincount,
19102         initialize gomp_{,throttled_}spin_count_var
19103         depending on presence and value of OMP_WAIT_POLICY and
19104         GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
19105         Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
19106         OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
19107         for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
19108         gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
19109         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19110         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19111         (gomp_global_icv): New.
19112         (parse_schedule): Use it.  Parse "auto".
19113         (omp_set_num_threads): Use gomp_icv.
19114         (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
19115         Likewise.
19116         (omp_get_max_threads): Move from parallel.c.
19117         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19118         omp_set_max_active_levels, omp_get_max_active_levels): New functions,
19119         add ialias.
19120         (parse_stacksize, parse_wait_policy): New functions.
19121         * fortran.c: Rewrite lock wrappers, if symbol versioning provide
19122         both wrappers for compatibility and new locks.
19123         (omp_set_schedule, omp_get_schedule,
19124         omp_get_thread_limit, omp_set_max_active_levels,
19125         omp_get_max_active_levels, omp_get_level,
19126         omp_get_ancestor_thread_num, omp_get_team_size,
19127         omp_get_active_level): New ialias_redirect.
19128         (omp_set_schedule_, omp_set_schedule_8_,
19129         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19130         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19131         omp_get_max_active_levels_, omp_get_level_,
19132         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19133         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19134         New functions.
19135         * parallel.c: Include limits.h.
19136         (gomp_resolve_num_threads): Add count argument.  Rewritten.
19137         (GOMP_parallel_start): Call gomp_new_team and pass that as last
19138         argument to gomp_team_start.  Pass 0 as second argument to
19139         gomp_resolve_num_threads.
19140         (GOMP_parallel_end): Decrease gomp_remaining_threads_count
19141         if gomp_thread_limit_var != ULONG_MAX.
19142         (omp_in_parallel): Implement using ts.active_level.
19143         (omp_get_max_threads): Move to env.c.
19144         (omp_get_level, omp_get_ancestor_thread_num,
19145         omp_get_team_size, omp_get_active_level): New functions,
19146         add ialias.
19147         * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
19148         after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
19149         gomp_iter_dynamic_next instead of the _locked variant and don't take
19150         lock around it, otherwise acquire it before calling
19151         gomp_iter_dynamic_next_locked.
19152         (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
19153         gomp_iter_dynamic_next instead of the _locked variant and don't take
19154         lock around it.
19155         (GOMP_parallel_sections_start): Call gomp_new_team instead of
19156         gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
19157         Adjust gomp_team_start caller.  Pass count as second argument to
19158         gomp_resolve_num_threads, don't adjust num_threads after the call.
19159         Use gomp_icv.
19160         * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
19161         ws->chunk_size by incr.
19162         (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
19163         code.
19164         * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
19165         types.
19166         (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
19167         (omp_check_defines): Check even the compat defines.
19168         * config/linux/ptrlock.c: New file.
19169         * config/linux/ptrlock.h: New file.
19170         * config/linux/wait.h: New file.
19171         * config/posix/ptrlock.c: New file.
19172         * config/posix/ptrlock.h: New file.
19173         * config/linux/bar.h (gomp_team_barrier_wait,
19174         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19175         (gomp_team_barrier_set_task_pending,
19176         gomp_team_barrier_clear_task_pending,
19177         gomp_team_barrier_set_waiting_for_tasks,
19178         gomp_team_barrier_waiting_for_tasks,
19179         gomp_team_barrier_done): New inlines.
19180         (gomp_barrier_t): Rewritten.
19181         (gomp_barrier_state_t): New typedef.
19182         (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
19183         gomp_barrier_wait_start): Rewritten.
19184         (gomp_barrier_wait_end): Change second argument to
19185         gomp_barrier_state_t.
19186         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19187         inlines.
19188         * config/linux/bar.c: Include wait.h instead of libgomp.h and
19189         futex.h.
19190         (gomp_barrier_wait_end): Rewritten.
19191         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19192         gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
19193         * config/posix/bar.h (gomp_barrier_t): Add generation field.
19194         (gomp_barrier_state_t): New typedef.
19195         (gomp_team_barrier_wait,
19196         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19197         (gomp_barrier_wait_start): Or all but low 2 bits from generation
19198         into the return value.  Return gomp_barrier_state_t.
19199         (gomp_team_barrier_set_task_pending,
19200         gomp_team_barrier_clear_task_pending,
19201         gomp_team_barrier_set_waiting_for_tasks,
19202         gomp_team_barrier_waiting_for_tasks,
19203         gomp_team_barrier_done): New inlines.
19204         (gomp_barrier_wait_end): Change second argument to
19205         gomp_barrier_state_t.
19206         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19207         inlines.
19208         * config/posix/bar.c (gomp_barrier_init): Clear generation field.
19209         (gomp_barrier_wait_end): Change second argument to
19210         gomp_barrier_state_t.
19211         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19212         gomp_team_barrier_wake): New functions.
19213         * config/linux/mutex.c: Include wait.h instead of libgomp.h and
19214         futex.h.
19215         (gomp_futex_wake, gomp_futex_wait): New variables.
19216         (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
19217         * config/linux/lock.c: Rewrite to make locks task owned,
19218         for backwards compatibility provide the old entrypoints
19219         if symbol versioning.  Include wait.h instead of libgomp.h and
19220         futex.h.
19221         (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
19222         * config/posix95/lock.c: Rewrite to make locks task owned,
19223         for backwards compatibility provide the old entrypoints
19224         if symbol versioning.
19225         * config/posix/lock.c: Rewrite to make locks task owned,
19226         for backwards compatibility provide the old entrypoints
19227         if symbol versioning.
19228         * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
19229         (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
19230         * config/posix/proc.c, config/mingw32/proc.c: Similarly.
19231         * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19232         (sys_futex0): Return error code.
19233         (futex_wake, futex_wait): If ENOSYS was returned, clear
19234         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19235         (cpu_relax, atomic_write_barrier): New static inlines.
19236         * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19237         (futex_wake, futex_wait): If ENOSYS was returned, clear
19238         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19239         (cpu_relax, atomic_write_barrier): New static inlines.
19240         * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19241         (sys_futex0): Return error code.
19242         (futex_wake, futex_wait): If ENOSYS was returned, clear
19243         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19244         (cpu_relax, atomic_write_barrier): New static inlines.
19245         * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19246         (sys_futex0): Return error code.
19247         (futex_wake, futex_wait): If ENOSYS was returned, clear
19248         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19249         (cpu_relax, atomic_write_barrier): New static inlines.
19250         * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19251         (sys_futex0): Return error code.
19252         (futex_wake, futex_wait): If ENOSYS was returned, clear
19253         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19254         (cpu_relax, atomic_write_barrier): New static inlines.
19255         * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19256         (sys_futex0): Return error code.
19257         (futex_wake, futex_wait): If ENOSYS was returned, clear
19258         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19259         (cpu_relax, atomic_write_barrier): New static inlines.
19260         * config/linux/sem.c: Include wait.h instead of libgomp.h and
19261         futex.h.
19262         (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
19263         * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
19264         * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
19265         types.
19266         (omp_nest_lock_t): Change owner into void *, add lock field.
19267         * config/posix95/omp-lock.h: Include semaphore.h.
19268         (omp_lock_25_t, omp_nest_lock_25_t): New types.
19269         (omp_lock_t): Use sem_t instead of mutex if semaphores
19270         aren't broken.
19271         (omp_nest_lock_t): Likewise.  Change owner to void *.
19272         * config/posix/omp-lock.h: Include semaphore.h.
19273         (omp_lock_25_t, omp_nest_lock_25_t): New types.
19274         (omp_lock_t): Use sem_t instead of mutex if semaphores
19275         aren't broken.
19276         (omp_nest_lock_t): Likewise.  Add owner field.
19278 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
19280         * testsuite/libgomp.c/collapse-1.c: New test.
19281         * testsuite/libgomp.c/collapse-2.c: New test.
19282         * testsuite/libgomp.c/collapse-3.c: New test.
19283         * testsuite/libgomp.c/icv-1.c: New test.
19284         * testsuite/libgomp.c/icv-2.c: New test.
19285         * testsuite/libgomp.c/lib-2.c: New test.
19286         * testsuite/libgomp.c/lock-1.c: New test.
19287         * testsuite/libgomp.c/lock-2.c: New test.
19288         * testsuite/libgomp.c/lock-3.c: New test.
19289         * testsuite/libgomp.c/loop-4.c: New test.
19290         * testsuite/libgomp.c/loop-5.c: New test.
19291         * testsuite/libgomp.c/loop-6.c: New test.
19292         * testsuite/libgomp.c/loop-7.c: New test.
19293         * testsuite/libgomp.c/loop-8.c: New test.
19294         * testsuite/libgomp.c/loop-9.c: New test.
19295         * testsuite/libgomp.c/nested-3.c: New test.
19296         * testsuite/libgomp.c/nestedfn-6.c: New test.
19297         * testsuite/libgomp.c/sort-1.c: New test.
19298         * testsuite/libgomp.c/task-1.c: New test.
19299         * testsuite/libgomp.c/task-2.c: New test.
19300         * testsuite/libgomp.c/task-3.c: New test.
19301         * testsuite/libgomp.c/task-4.c: New test.
19302         * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
19303         to C++ testsuite default compiler options.
19304         * testsuite/libgomp.c++/collapse-1.C: New test.
19305         * testsuite/libgomp.c++/collapse-2.C: New test.
19306         * testsuite/libgomp.c++/ctor-10.C: New test.
19307         * testsuite/libgomp.c++/for-1.C: New test.
19308         * testsuite/libgomp.c++/for-2.C: New test.
19309         * testsuite/libgomp.c++/for-3.C: New test.
19310         * testsuite/libgomp.c++/for-4.C: New test.
19311         * testsuite/libgomp.c++/for-5.C: New test.
19312         * testsuite/libgomp.c++/loop-8.C: New test.
19313         * testsuite/libgomp.c++/loop-9.C: New test.
19314         * testsuite/libgomp.c++/loop-10.C: New test.
19315         * testsuite/libgomp.c++/task-1.C: New test.
19316         * testsuite/libgomp.c++/task-2.C: New test.
19317         * testsuite/libgomp.c++/task-3.C: New test.
19318         * testsuite/libgomp.c++/task-4.C: New test.
19319         * testsuite/libgomp.c++/task-5.C: New test.
19320         * testsuite/libgomp.c++/task-6.C: New test.
19321         * testsuite/libgomp.fortran/allocatable1.f90: New test.
19322         * testsuite/libgomp.fortran/allocatable2.f90: New test.
19323         * testsuite/libgomp.fortran/allocatable3.f90: New test.
19324         * testsuite/libgomp.fortran/allocatable4.f90: New test.
19325         * testsuite/libgomp.fortran/collapse1.f90: New test.
19326         * testsuite/libgomp.fortran/collapse2.f90: New test.
19327         * testsuite/libgomp.fortran/collapse3.f90: New test.
19328         * testsuite/libgomp.fortran/collapse4.f90: New test.
19329         * testsuite/libgomp.fortran/lastprivate1.f90: New test.
19330         * testsuite/libgomp.fortran/lastprivate2.f90: New test.
19331         * testsuite/libgomp.fortran/lib4.f90: New test.
19332         * testsuite/libgomp.fortran/lock-1.f90: New test.
19333         * testsuite/libgomp.fortran/lock-2.f90: New test.
19334         * testsuite/libgomp.fortran/nested1.f90: New test.
19335         * testsuite/libgomp.fortran/nestedfn4.f90: New test.
19336         * testsuite/libgomp.fortran/strassen.f90: New test.
19337         * testsuite/libgomp.fortran/tabs1.f90: New test.
19338         * testsuite/libgomp.fortran/tabs2.f: New test.
19339         * testsuite/libgomp.fortran/task1.f90: New test.
19340         * testsuite/libgomp.fortran/task2.f90: New test.
19341         * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
19342         * testsuite/libgomp.fortran/vla5.f90: Likewise.
19343         * testsuite/libgomp.c/pr26943-2.c: Likewise.
19344         * testsuite/libgomp.c/pr26943-3.c: Likewise.
19345         * testsuite/libgomp.c/pr26943-4.c: Likewise.
19347 2008-05-23  Jakub Jelinek  <jakub@redhat.com>
19349         PR c++/36308
19350         * testsuite/libgomp.c++/ctor-11.C: New test.
19351         * testsuite/libgomp.c++/ctor-12.C: New test.
19353 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
19355         * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
19357 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
19359         PR middle-end/36106
19360         * testsuite/libgomp.c/atomic-5.c: New test.
19361         * testsuite/libgomp.c/atomic-6.c: New test.
19362         * testsuite/libgomp.c/autopar-1.c: New test.
19364 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19366         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
19367         (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
19368         (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
19369         (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
19370         * configure: Regenerate.
19371         * Makefile.in, testsuite/Makefile.in: Likewise.
19373 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
19375         PR bootstrap/35457
19376         * aclocal.m4: Regenerate.
19377         * configure: Regenerate.
19379 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
19381         PR middle-end/35611
19382         * testsuite/libgomp.c/atomic-4.c: New test.
19384         PR libgomp/35625
19385         * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
19386         (gomp_iter_guided_next): Likewise.
19387         * testsuite/libgomp.c/pr35625.c: New test.
19389 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19391         * aclocal.m4: Regenerate.
19392         * configure: Likewise.
19393         * Makefile.in: Likewise.
19394         * testsuite/Makefile.in: Likewise.
19396 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
19398         PR middle-end/35185
19399         * testsuite/libgomp.c++/pr35185.C: New test.
19401 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
19403         PR middle-end/35549
19404         * testsuite/libgomp.c/pr35549.c: New test.
19406 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
19408         * testsuite/libgomp.c/atomic-3.c: New test.
19410 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
19412         PR fortran/33197
19413         * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
19414         .F08 file suffixes.
19416 2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
19418         PR libgomp/33131
19419         * configure.ac: Add ACX_HEADER_STRING.
19420         * env.c: Include strings.h.
19421         * aclocal.m4: Regenerate.
19422         * config.h.in: Regenerate.
19423         * configure: Regenerate.
19424         * Makefile.in: Regenerate.
19425         * testsuite/Makefile.in: Regenerate.
19427 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
19429         PR middle-end/35196
19430         * testsuite/libgomp.c/pr35196.c: New test.
19432         PR middle-end/35130
19433         * testsuite/libgomp.fortran/pr35130.f90: New test.
19434         * testsuite/libgomp.c/pr35130.c: New test.
19436 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
19438         PR middle-end/33880
19439         * testsuite/libgomp.c/pr33880.c: New test.
19440         * testsuite/libgomp.fortran/pr33880.f90: New test.
19442 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
19444         * configure: Regenerate.
19446 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
19448         * configure.ac: Move futex checking into ../config/futex.m4.
19449         * configure: Rebuilt.
19450         * aclocal.m4: Rebuilt.
19451         * Makefile.in: Rebuilt.
19453         * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
19454         2007-10-15 ../config/tls.m4 change.
19456 2007-12-19  Jakub Jelinek  <jakub@redhat.com>
19458         PR c++/34513
19459         * testsuite/libgomp.c/pr34513.c: New test.
19460         * testsuite/libgomp.c++/pr34513.C: New test.
19462 2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
19464         PR target/32765
19465         * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
19467 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
19469         * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
19471 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
19473         * testsuite/libgomp.c/private-1.c: New test.
19475 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
19476             Paolo Bonzini  <bonzini@gnu.org>
19478         * Makefile.am: Use space as vpath separator.  Use 'vpath %'
19479         instead of 'VPATH ='.
19480         * Makefile.in: Regenerate.
19482 2007-11-23  Matthias Klose  <doko@ubuntu.com>
19484         * configure.ac: Adjust makeinfo version check.
19485         * configure: Regenerate.
19487 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
19489         PR fortran/34020
19490         * testsuite/libgomp.fortran/pr34020.f90: New test.
19492 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
19494         PR c++/33894
19495         * testsuite/libgomp.c++/atomic-1.C: New test.
19497 2007-10-25  Jakub Jelinek  <jakub@redhat.com>
19499         PR libgomp/33275
19500         * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
19501         Make x and y integers rather than (implicit) reals.  Add private (j)
19502         clause to the last omp parallel.
19504 2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
19506         * configure: Regenerate following changes to ../config/tls.m4.
19508 2007-09-28  Jakub Jelinek  <jakub@redhat.com>
19510         * testsuite/libgomp.fortran/stack.f90: New test.
19512 2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
19514         * config/mingw32/proc.c: New file.
19516 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
19518         * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
19519         (main): Use __get_cpuid to get i386 target fetaures.
19520         * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
19521         (main): Use __get_cpuid to get x86_64 target fetaures.
19523 2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
19525         PR target/32765
19526         * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
19527         * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
19529 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
19531         PR fortran/32550
19532         * testsuite/libgomp.fortran/pr32550.f90: New test.
19533         * testsuite/libgomp.fortran/crayptr2.f90: New test.
19535 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
19537         * aclocal.m4: Regenerated.
19539 2007-07-05  Tobias Burnus  <burnus@net-b.de>
19541         PR fortran/32359
19542         * testsuite/libgomp.fortran/pr32359.f90: New.
19544 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
19546         PR libgomp/32468
19547         * sections.c (GOMP_parallel_sections_start): Only decrease
19548         number of threads to COUNT if dyn_var is true.
19549         * testsuite/libgomp.c/pr32468.c: New test.
19551 2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19553         PR libgomp/26308
19554         * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
19556 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
19558         PR middle-end/32362
19559         * testsuite/libgomp.c/pr32362-1.c: New test.
19560         * testsuite/libgomp.c/pr32362-2.c: New test.
19561         * testsuite/libgomp.c/pr32362-3.c: New test.
19563 2007-06-07  Jakub Jelinek  <jakub@redhat.com>
19565         * team.c (gomp_team_start): Fix setting up thread_attr
19566         stack size.
19568 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
19570         * configure: Regenerate.
19572 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
19574         * Makefile.in: Regenerate.
19575         * configure: Regenerate.
19576         * aclocal.m4: Regenerate.
19577         * testsuite/Makefile.in: Regenerate.
19579 2007-05-04  Jakub Jelinek  <jakub@redhat.com>
19581         * config/linux/proc.c: New file.
19583         PR libgomp/28482
19584         * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
19586 2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
19588         * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
19590 2007-04-16  Matthias Klose  <doko@debian.org>
19592         * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
19593         flags if not building with -m64.
19594         * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
19595         flag for i?86-*-* targets, if current target matches -m64.
19597 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
19599         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
19600         * Makefile.in: Regenerate.
19602 2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
19604         PR testsuite/31369
19605         * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
19606         ld_library_path.
19607         * testsuite/libgomp.fortran/fortran.exp: Likewise.
19609 2007-04-04  Jakub Jelinek  <jakub@redhat.com>
19611         * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
19612         decls.
19613         (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
19614         * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
19615         (parse_affinity): New function.
19616         (initialize_env): Call it and gomp_init_affinity.
19617         * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
19618         create new pthread_attr_t and call gomp_init_thread_affinity
19619         on it for each thread before passing the attribute to pthread_create.
19620         * config/linux/affinity.c: New file.
19621         * config/posix/affinity.c: New file.
19622         * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
19623         * configure: Rebuilt.
19624         * config.h.in: Rebuilt.
19625         * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
19626         * Makefile.in: Rebuilt.
19628 2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
19630         * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
19631         *-*-darwin*.
19632         * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
19633         and use it if found.
19635 2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
19637         * testsuite/config/default.exp: New file.
19638         * testsuite/lib/libgomp.exp: New file.
19639         * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
19640         libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
19641         load_lib *, load_gcc_lib *): Move to libgomp.exp.
19642         (libgomp_load): Remove.
19643         * testsuite/lib/libgomp.exp (libgomp_init): Compute
19644         always_ld_library_path, not ld_library_path.  Set additional_flags
19645         to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
19646         (target_compile): Do not call libgomp_init.  Append lang_library_path
19647         and lang_link_flags to options.
19648         * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
19649         ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
19650         here.
19651         * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
19652         always_ld_library_path.  Set LD_LIBRARY_PATH here.
19653         * testsuite/libgomp.fortran/fortran.exp: Ditto.
19654         * testsuite/libgomp.c/atomic-1.c: Set dg-options to
19655         "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
19656         CX8 flag.
19657         * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
19658         lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
19659         * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
19660         * testsuite/libgomp.c/pr29947-1.c: Ditto.
19661         * testsuite/libgomp.c/atomic-10.c: Ditto.
19663 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
19665         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
19666         dg-final cleanup-modules line.
19667         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
19668         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
19669         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
19670         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
19671         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
19672         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
19673         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
19675 2007-03-18  Andreas Schwab  <schwab@suse.de>
19677         * acinclude.m4: Adjust regular expression for ld version
19678         extraction.
19679         * configure: Regenerate.
19681 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
19683         * Makefile.am: Add install-pdf target as copied from
19684         automake v1.10 rules.
19685         * Makefile.in: Regenerate
19687 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
19689         PR libgomp/28486
19690         * configure: Regenerate.
19692         PR c++/30703
19693         * testsuite/libgomp.c++/pr30703.C: New test.
19695 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
19697         Revert:
19698         2006-07-05  Eric Christopher  <echristo@apple.com>
19699         * configure.ac: Depend addition of -pthread on host OS.
19700         * configure: Regenerate.
19702 2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19704         * libgomp.texi: Fix spacing after abbreviations.
19706 2007-01-31  Daniel Franke <franke.daniel@gmail.com>
19708         PR libgomp/30546
19709         * configure.ac: Add check for makeinfo
19710         * Makefile.am: Redefined target libgomp.info, build libgomp.info only
19711         if an appropriate version of makeinfo is found.
19712         * aclocal.m4: Regenerated.
19713         * configure: Regenerated.
19714         * Makefile.in: Regenerated.
19715         * testsuite/Makefile.in: Regenerated.
19717 2007-01-29  Daniel Franke <franke.daniel@gmail.com>
19719         PR libgomp/30540
19720         * libgomp.texi: More about implementation-dependent settings.
19722 2007-01-26  Tobias Burnus  <burnus@net-b.de>
19724         * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
19726 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
19728         PR middle-end/30494
19729         * testsuite/libgomp.c/pr30494.c: New test.
19731 2007-01-15  Tom Tromey  <tromey@redhat.com>
19733         * configure: Rebuilt.
19734         * configure.ac: Fixed comment.
19736 2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
19738         * libgomp.texi: Document implementation specific default values of
19739         environment variables.
19741 2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
19743         PR libgomp/28209
19744         * libgomp.texi: New file.
19745         * configure.ac: Add --enable-generated-files-in-srcdir option.
19746         * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
19747         files to srcdir.
19748         * Makefile.in: Regenerated.
19749         * config.h.in: Regenerated.
19750         * testsuite/Makefile.in: Regenerated.
19751         * NOTES: Removed.
19753 2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
19755         PR libgomp/29949
19756         * env.c (omp_set_num_threads): Set illegal thread count to 1.
19758 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
19760         * configure: Regenerate.
19762 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
19764         PR libgomp/29947
19765         * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
19766         start if there shouldn't be any loop iterations.
19767         (gomp_loop_ordered_static_start): Remove start == end test.
19768         * testsuite/libgomp.c/pr29947-1.c: New test.
19769         * testsuite/libgomp.c/pr29947-2.c: New test.
19771 2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
19773         * configure.tgt: Force initial-exec TLS model on Linux only.
19775 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
19777         * configure: Regenerated.
19779 2006-11-09  Uros Bizjak  <ubizjak@gmail.com>
19781         * env.c (parse_schedule): Reject out of range values.
19782         (parse_unsigned_long): Reject out of range, negative or zero values.
19784 2006-10-29  Jakub Jelinek  <jakub@redhat.com>
19786         PR fortran/29629
19787         * testsuite/libgomp.fortran/pr29629.f90: New test.
19789 2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
19791         PR libgomp/29494
19792         * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
19793         * config/posix95: New directory.
19794         * config/posix95/omp-lock.h: New file.
19795         * config/posix95/lock.c: Likewise.
19797 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
19799         * aclocal.m4: Regenerate.
19800         * configure: Regenerate.
19802 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
19804         * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
19805         '<' to '<='.
19807 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
19809         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
19810         test.
19811         * configure: Regenerate.
19812         * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
19814 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
19816         PR middle-end/25261
19817         PR middle-end/28790
19818         * testsuite/libgomp.c/nestedfn-4.c: New test.
19819         * testsuite/libgomp.c/nestedfn-5.c: New test.
19820         * testsuite/libgomp.fortran/nestedfn3.f90: New test.
19822         PR fortran/29097
19823         * testsuite/libgomp.fortran/condinc1.f: New test.
19824         * testsuite/libgomp.fortran/condinc2.f: New test.
19825         * testsuite/libgomp.fortran/condinc3.f90: New test.
19826         * testsuite/libgomp.fortran/condinc4.f90: New test.
19827         * testsuite/libgomp.fortran/condinc1.inc: New file.
19829 2006-09-18  Tom Tromey  <tromey@redhat.com>
19831         * configure: Rebuilt.
19833 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
19835         PR c/28768
19836         PR preprocessor/14634
19837         * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
19838         to AC_DEFINE.
19839         * configure: Regenerate.
19841 2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
19843         * testsuite/libgomp.fortran/reduction3.f90: Change
19844         -2147483648 to -huge(i)-1 to avoid overflow.
19845         * testsuite/libgomp.fortran/reduction4.f90: Change
19846         Z'ffffffff' to not(0) to avoid overflow.
19848 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
19850         PR libgomp/25938
19851         * Makefile.am (libsubincludedir): New.
19852         (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
19853         * Makefile.in: Regenerate.
19855 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
19857         PR libgomp/28725
19858         * env.c: Include ctype.h.
19859         (parse_schedule, parse_unsigned_long, parse_boolean): Allow
19860         leading and/or trailing whitespace and compare strings case
19861         insensitively.
19863 2006-07-16  Jakub Jelinek  <jakub@redhat.com>
19865         PR fortran/28390
19866         * testsuite/libgomp.fortran/pr28390.f: New test.
19868 2006-07-05  Eric Christopher  <echristo@apple.com>
19870         * configure.ac: Depend addition of -pthread on host OS.
19871         * configure: Regenerate.
19873 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
19875         * critical.c (GOMP_critical_name_start): Fix *pptr initialization
19876         when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
19877         defined.
19879 2006-06-20  Jakub Jelinek  <jakub@redhat.com>
19881         PR libgomp/26175
19882         PR libgomp/26477
19883         * configure.ac: If neither --enable-linux-futex nor
19884         --disable-linux-futex is passed, determine the default by checking
19885         for compiling and/or running against NPTL.  With --enable-linux-futex,
19886         check if SYS_gettid and SYS_futex are defined.
19887         * configure: Rebuilt.
19889 2006-06-14  Richard Henderson  <rth@redhat.com>
19891         PR libgomp/28008
19892         * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
19893         undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
19895 2006-06-09  Richard Henderson  <rth@redhat.com>
19897         * env.c (gomp_nthreads_var): Change to unsigned long.
19898         (gomp_run_sched_chunk): Likewise.
19899         (parse_unsigned_long): Rename from parse_num_threads and generalize.
19900         (initialize_env): Initialize gomp_thread_attr.
19901         * libgomp.h (gomp_nthreads_var): Update decl.
19902         (gomp_run_sched_chunk): Likewise.
19903         (gomp_thread_attr): Declare.
19904         * team.c (gomp_thread_attr): Export.
19905         (initialize_team): Don't initialize it.
19907 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
19909         PR fortran/27916
19910         * testsuite/libgomp.fortran/pr27916-1.f90: New test.
19911         * testsuite/libgomp.fortran/pr27916-2.f90: New test.
19913 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
19915         * config/mingw32/time.c: New file.
19916         * configure.tgt: Use it.
19918 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
19920         * Makefile.am: Add install-html target. Add install-html to .PHONY
19921         * Makefile.in: Regenerate.
19923 2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
19925         PR libgomp/27612
19926         * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
19927         * testsuite/libgomp.c/critical-1.c: Likewise.
19928         * testsuite/libgomp.c/loop-1.c: Likewise.
19929         * testsuite/libgomp.c/loop-2.c: Likewise.
19930         * testsuite/libgomp.c/single-1.c: Likewise.
19931         * testsuite/libgomp.c/ordered-1.c: Likewise.
19932         * testsuite/libgomp.c/ordered-2.c: Likewise.
19934 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
19936         PR middle-end/27416
19937         * libgomp.fortran/pr27416-1.f90: New test.
19939 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
19941         PR fortran/27395
19942         * testsuite/libgomp.fortran/pr27395-1.f90: New test.
19943         * testsuite/libgomp.fortran/pr27395-2.f90: New test.
19945 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
19947         PR c++/26943
19948         * testsuite/libgomp.c/pr26943-1.c: New test.
19949         * testsuite/libgomp.c/pr26943-2.c: New test.
19950         * testsuite/libgomp.c/pr26943-3.c: New test.
19951         * testsuite/libgomp.c/pr26943-4.c: New test.
19952         * testsuite/libgomp.c++/pr27337.C: Remove barrier.
19953         * testsuite/libgomp.c++/pr26943.C: New test.
19955 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
19957         PR middle-end/27337
19958         * testsuite/libgomp.c++/pr27337.C: New test.
19960 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
19962         PR c/26171
19963         * testsuite/libgomp.c/pr26171.c: New test.
19965 2006-04-25  Richard Henderson  <rth@redhat.com>
19967         PR libgomp/25865
19968         * configure.ac: Use GCC_CHECK_TLS.
19969         * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
19970         * Makefile.in, aclocal.m4, configure: Regenerate.
19972 2006-04-10  Matthias Klose  <doko@debian.org>
19974         * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
19975         directory names containing underscores.
19977 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
19979         PR c++/26691
19980         * testsuite/libgomp.c++/pr26691.C: New test.
19982 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
19984         * testsuite/libgomp.fortran/retval2.f90: New test.
19986 2006-03-09  Diego Novillo  <dnovillo@redhat.com>
19988         * testsuite/libgomp.c++: New directory.
19990 2006-02-25  Shantonu Sen  <ssen@opendarwin.org>
19992         * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
19993         * config/posix/sem.c: Implement the above.
19995 2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
19997         * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
19998         define HAVE_BROKEN_POSIX_SEMAPHORES.
19999         * configure: Rebuilt.
20000         * config.h.in: Rebuilt.
20002 2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
20004         PR bootstrap/26161
20005         * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
20006         for the other pthread check.
20007         * configure: Regenerate.
20008         * config.h.in: Regenerate.
20010 2006-02-15  Jakub Jelinek  <jakub@redhat.com>
20012         PR libgomp/25938
20013         PR libgomp/25984
20014         * Makefile.am (fincludedir): New variable.
20015         (nodist_include_HEADERS): Remove Fortran files.
20016         (nodist_finclude_HEADERS): New variable.
20017         * Makefile.in: Regenerated.
20019 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
20021         * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
20022         Remove tests for returning assumed character length arrays.
20024 2006-02-12  Roger Sayle  <roger@eyesopen.com>
20025             John David Anglin  <dave@hiauly1.hia.nrc.ca>
20027         PR libgomp/25936
20028         * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
20030 2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
20032         * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
20034 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
20036         * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
20037         part of LD_LIBRARY_PATH manually.
20039 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
20041         PR libgomp/25852
20042         * testsuite/lib/libgomp-dg.exp (blddir): Set it in
20043         libgomp_init.
20045 2005-01-25  Paolo Bonzini  <bonzini@gnu.org>
20047         PR libgomp/25884
20048         * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
20049         * configure.ac (PERL): Don't set.
20050         (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
20051         (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
20052         OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
20053         * omp.h.in: Wrap the new configure substitutions with @ characters.
20054         * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
20055         * aclocal.m4, configure, Makefile.in: Regenerate.
20056         * mkomp_h.pl: Delete.
20058 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
20060         PR libgomp/25259
20061         * configure.ac: Use GCC_HEADER_STDINT.
20062         * libgomp.h: Include gstdint.h.
20063         * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
20064         * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
20066 2006-01-24  Richard Henderson  <rth@redhat.com>
20068         PR libgomp/25942
20069         * configure.ac: Add AM_MAINTAINER_MODE.
20070         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
20072 2006-01-24  Diego Novillo  <dnovillo@redhat.com>
20074         * Makefile.in: Regenerate.
20075         * testsuite/Makefile.in: Regenerate.
20076         * aclocal.m4: Regenerate.
20078 2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
20080         * config/posix/proc.c: Conditional include of sys/loadavg.h for
20081         Solaris.
20082         * configure.ac: Add check for loadavg.h.
20083         (link_gomp): Adjust comment.
20084         * configure: Regenerate.
20085         * config.h.in: Regenerate.
20087 2006-01-21  Steve Ellcey  <sje@cup.hp.com>
20089         PR libgomp/25877
20090         * configure.ac: Remove check for alloca.h.
20091         * configure: Regenerate.
20092         * config.h.in: Regenerate.
20093         * libgomp.h: define gomp_alloca to be __builtin_alloca.
20094         * team.c: Remove use of alloca.h.
20095         Call gomp_alloca instead of alloca.
20097 2006-01-20  Steve Ellcey  <sje@cup.hp.com>
20099         PR libgomp/25877
20100         * team.c: Add include of alloca.h.
20101         * configure.ac: Add check for alloca.h.
20102         * configure: Regenerate.
20103         * config.h.in: Regenerate.
20105 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
20107         PR fortran/25219
20108         * testsuite/libgomp.fortran/pr25219.f90: New test.
20110 2005-12-05  Uros Bizjak  <uros@kss-loka.si>
20112         * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
20113         testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
20114         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20115         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20116         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
20117         testsuite/libgomp.fortran/threadprivate1.f90,
20118         testsuite/libgomp.fortran/threadprivate2.f90,
20119         testsuite/libgomp.fortran/threadprivate3.f90,
20120         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20121         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20122         testsuite/libgomp.fortran/omp_parse3.f90: Change required
20123         effective-target to TLS runtime.
20125         * testsuite/libgomp.fortran/pr25162.f: Require
20126         effective-target TLS runtime.
20128 2005-12-01  Jakub Jelinek  <jakub@redhat.com>
20130         * testsuite/libgomp.fortran/nestedfn2.f90: New test.
20131         * testsuite/libgomp.c/nestedfn-3.c: New test.
20133 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
20135         PR fortran/25162
20136         * testsuite/libgomp.fortran/pr25162.f: New test.
20138 2005-11-28  Jakub Jelinek  <jakub@redhat.com>
20140         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
20141         CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
20143 2005-11-25  Jakub Jelinek  <jakub@redhat.com>
20145         * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
20146         libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
20147         omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
20148         single.c, team.c, work.c, config/linux/alpha/futex.h,
20149         config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
20150         config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
20151         config/linux/powerpc/futex.h, config/linux/s390/futex.h,
20152         config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
20153         config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
20154         config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
20155         config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
20156         FSF address.
20158 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
20160         * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
20161         to nodist_noinst_HEADERS.
20162         * Makefile.in: Rebuilt.
20164         * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
20165         add integer count field.
20166         * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
20167         omp_nest_lock_t type change.
20168         (omp_init_nest_lock): Likewise.  Initialize count to 0.
20169         (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
20170         Increment count.
20171         (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
20172         Decrement count.
20173         (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
20174         Increment count if successful and return the new nesting level.
20175         * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
20176         * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
20177         * testsuite/libgomp.c/lib-1.c: New test.
20178         * testsuite/libgomp.fortran/lib1.f90: New test.
20179         * testsuite/libgomp.fortran/lib2.f: New test.
20180         * testsuite/libgomp.fortran/lib3.f: New test.
20182 2005-11-17  Richard Henderson  <rth@redhat.com>
20184         PR 24845
20185         * Makefile.am (nodist_toolexeclib_HEADERS): New.
20186         * configure.ac (link_gomp): New.  Substitute it.
20187         (AC_CONFIG_FILES): Add libgomp.spec.
20188         * libgomp.spec.in: New file.
20189         * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
20190         * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
20192 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
20194         * testsuite/libgomp.fortran/reduction1.f90: Adjust for
20195         reduction(-:var) behaving the same as reduction(+:var).
20196         * testsuite/libgomp.c/reduction-4.c: New test.
20198 2005-11-15  Uros Bizjak  <uros@kss-loka.si>
20200         * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
20201         testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
20202         testsuite/libgomp.c/copyin-3.c,
20203         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20204         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20205         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
20206         testsuite/libgomp.c++/pr24455.C,
20207         testsuite/libgomp.fortran/threadprivate1.f90,
20208         testsuite/libgomp.fortran/threadprivate2.f90,
20209         testsuite/libgomp.fortran/threadprivate3.f90,
20210         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20211         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20212         testsuite/libgomp.fortran/omp_parse3.f90: Require
20213         effective-target TLS.
20215 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
20217         * HEADER: Remove.
20219 2005-11-13  Jakub Jelinek  <jakub@redhat.com>
20221         PR libgomp/24797
20222         * team.c (initialize_team): Pass NULL rather than free as
20223         pthread_key_create destructor.  Initialize thread specific data
20224         pointer in initial thread to a static local variable rather than
20225         malloced memory.
20227 2005-11-11  Uros Bizjak  <uros@kss-loka.si>
20229         * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
20230         its location to ld_library_path.
20232 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
20234         * testsuite/libgomp.c/c.exp: Rename from dg.exp.
20236 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
20238         * testsuite/libgomp.c: Rename from libgomp.dg.
20240 2005-11-09  Diego Novillo  <dnovillo@redhat.com>
20242         * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
20243         threadprivate variable 'i'.
20245 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
20247         * config/linux/s390/futex.h: New file.
20248         * configure.tgt: Use it.
20250         * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
20251         before the parallel.
20253 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
20255         PR c++/24734
20256         * testsuite/libgomp.c++/master-1.C: New test.
20258 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
20260         * testsuite/libgomp.dg/copyin-3.c: New test.
20262 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
20264         * testsuite/libgomp.fortran/retval1.f90: New test.
20265         * testsuite/libgomp.fortran/vla7.f90: New test.
20267 2005-11-06  Jakub Jelinek  <jakub@redhat.com>
20269         * testsuite/libgomp.fortran/vla2.f90: New test.
20270         * testsuite/libgomp.fortran/vla3.f90: New test.
20271         * testsuite/libgomp.fortran/vla4.f90: New test.
20272         * testsuite/libgomp.fortran/vla5.f90: New test.
20273         * testsuite/libgomp.fortran/vla6.f90: New test.
20275 2005-11-01  Jakub Jelinek  <jakub@redhat.com>
20277         * config/linux/sparc/futex.h: New file.
20278         * configure.tgt: Use it.
20279         * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
20281         * critical.c: Include stdlib.h.
20282         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
20283         ignoring return value.
20284         * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
20285         LIBGOMP_CHECK_SYNC_BUILTINS check.
20286         * configure: Rebuilt.
20288 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
20290         * testsuite/libgomp.fortran/vla1.f90: New test.
20292 2005-10-31  Richard Henderson  <rth@redhat.com>
20294         * testsuite/libgomp.fortran/character2.f90: Fix race condition
20295         setting 's' in different threads.
20297 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
20299         * libgomp.h (attribute_hidden, ialias): Define.
20300         * config/posix/proc.c (omp_get_num_procs): Add ialias.
20301         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
20302         * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
20303         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20304         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20305         omp_test_lock, omp_test_nest_lock): Likewise.
20306         * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
20307         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20308         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20309         omp_test_lock, omp_test_nest_lock): Likewise.
20310         * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
20311         omp_get_dynamic, omp_get_nested): Likewise.
20312         * parallel.c (omp_get_num_threads, omp_get_max_threads,
20313         omp_get_thread_num, omp_in_parallel): Likewise.
20314         * fortran.c (ialias_redirect): Define.
20315         (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
20316         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
20317         omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
20318         omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
20319         omp_set_num_threads, omp_get_dynamic, omp_get_nested,
20320         omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
20321         omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
20322         omp_get_wtime): Add ialias_redirect.
20324 2005-10-30  Jakub Jelinek  <jakub@redhat.com>
20326         * fortran.c: Include stdlib.h.
20328 2005-10-29  Jakub Jelinek  <jakub@redhat.com>
20330         * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
20331         * Makefile.in: Regenerated.
20333 2005-10-28  Jakub Jelinek  <jakub@redhat.com>
20335         * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
20336         * libgomp_f.h.in (omp_check_defines): New function.
20337         * env.c: Include libgomp_f.h.
20338         (initialize_env): Call omp_check_defines.
20340         * testsuite/libgomp.dg/copyin-2.c: New test.
20341         * testsuite/libgomp.c++/copyin-2.C: New test.
20342         * testsuite/libgomp.fortran/threadprivate3.f90: New test.
20344         * testsuite/libgomp.fortran/threadprivate2.f90: New test.
20345         * testsuite/libgomp.fortran/sharing2.f90: New test.
20347         * testsuite/libgomp.dg/copyin-1.c: New test.
20348         * testsuite/libgomp.c++/copyin-1.C: New test.
20350 2005-10-26  Jakub Jelinek  <jakub@redhat.com>
20352         * testsuite/libgomp.fortran/crayptr1.f90: New test.
20354         * testsuite/libgomp.fortran/workshare1.f90: New test.
20356         * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
20357         only test.
20358         * libgomp.fortran/sharing1.f90: New test.
20360 2005-10-24  Jakub Jelinek  <jakub@redhat.com>
20362         PR c++/24502
20363         * testsuite/libgomp.c++/loop-7.C: New test.
20365         * testsuite/libgomp.dg/nestedfn-2.c: New test.
20367         * testsuite/libgomp.dg/nestedfn-1.c: New test.
20368         * testsuite/libgomp.fortran/reduction6.f90: New test.
20369         * testsuite/libgomp.fortran/nestedfn1.f90: New test.
20371 2005-10-23  Richard Henderson  <rth@redhat.com>
20373         * testsuite/libgomp.c++/ctor-1.C: New.
20374         * testsuite/libgomp.c++/ctor-2.C: New.
20375         * testsuite/libgomp.c++/ctor-3.C: New.
20376         * testsuite/libgomp.c++/ctor-4.C: New.
20377         * testsuite/libgomp.c++/ctor-5.C: New.
20378         * testsuite/libgomp.c++/ctor-6.C: New.
20379         * testsuite/libgomp.c++/ctor-7.C: New.
20380         * testsuite/libgomp.c++/ctor-8.C: New.
20381         * testsuite/libgomp.c++/ctor-9.C: New.
20383 2005-10-21  Diego Novillo  <dnovillo@redhat.com>
20385         PR 24455
20386         * testsuite/libgomp.c++/pr24455-1.C: New test.
20387         * testsuite/libgomp.c++/pr24455.C: New test.
20388         * testsuite/libgomp.dg/pr24455-1.c: New test.
20389         * testsuite/libgomp.dg/pr24455.c: New test.
20391 2005-10-20  Richard Henderson  <rth@redhat.com>
20393         * testsuite/libgomp.c++/loop-6.C: New.
20394         * testsuite/libgomp.dg/loop-3.c: New.
20396 2005-10-20  Jakub Jelinek  <jakub@redhat.com>
20398         * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
20399         explicitly private.
20400         * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
20401         explicitly shared.
20403 2005-10-19  Diego Novillo  <dnovillo@redhat.com>
20405         * testsuite/libgomp.fortran/jacobi.f: New test.
20407 2005-10-19  Richard Henderson  <rth@redhat.com>
20409         * configure.tgt (i?86-linux): Default to with_arch instead of
20410         CFLAGS.  Add -mtune to match target_cpu.
20411         (x86_64-linux): Tune to i686.
20413         * fortran.c (omp_test_nest_lock_): Fix typo.
20415 2005-10-19  Jakub Jelinek  <jakub@redhat.com>
20417         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20418         gomp_ordered_sync): Do nothing if team->nthreads == 1.
20419         * testsuite/libgomp.dg/ordered-3.c: New test.
20421         * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
20422         Remove volatile keyword.
20424         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
20425         in COMMON block to avoid warnings on 64-bit targets.
20427 2005-10-18  Diego Novillo  <dnovillo@redhat.com>
20429         * testsuite/libgomp.dg/shared-3.c: New test.
20431 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
20433         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
20434         * testsuite/libgomp.fortran/reduction5.f90: New test.
20436 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
20438         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
20439         dg-options.
20440         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
20441         flush loop now that __sync_synchronize has proper memory barrier.
20442         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
20443         Add -ffixed-form to dg-options.
20445 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
20447         * testsuite/libgomp.fortran/fortran.exp: Also gather tests
20448         from subdirectories.
20449         * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
20450         * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
20451         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
20452         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
20453         * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
20454         * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
20455         * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
20456         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
20457         * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
20458         * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
20459         * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
20460         * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
20461         * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
20462         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
20463         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
20464         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
20465         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
20466         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
20467         * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
20468         * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
20469         * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
20470         * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
20471         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
20472         * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
20473         * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
20475 2005-10-17  Jakub Jelinek  <jakub@redhat.com>
20477         * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
20478         lang_library_path exists.  Use find instead of glob to gather tests.
20479         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
20481 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
20483         * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
20484         * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
20485         * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
20486         * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
20487         * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
20488         * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
20489         * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
20490         * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
20491         * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
20492         * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
20493         * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
20494         * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
20495         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
20497 2005-10-15  Jakub Jelinek  <jakub@redhat.com>
20499         * testsuite/libgomp.dg/vla-1.c: New test.
20501         * testsuite/libgomp.fortran/reference2.f90: New test.
20503         * testsuite/libgomp.fortran/character2.f90: Remove explicit
20504         declaration of omp_get_thread_num.
20505         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
20506         use omp_lib.
20508         * testsuite/libgomp.fortran/reduction1.f90: New test.
20509         * testsuite/libgomp.fortran/reduction2.f90: New test.
20510         * testsuite/libgomp.fortran/reduction3.f90: New test.
20511         * testsuite/libgomp.fortran/reduction4.f90: New test.
20513 2005-10-13  Richard Henderson  <rth@redhat.com>
20515         * Makefile.am (libgomp_la_SOURCES): Add bar.c.
20516         * Makefile.in: Regenerate.
20517         * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
20518         * libgomp.h: Include bar.h.
20519         (struct gomp_barrier): Remove.
20520         (struct gomp_team): Add barrier.  Replace master_barrier with
20521         master_release.  Replace threads with ordered_release.
20522         (struct gomp_thread): Replace barrier with release.
20523         * ordered.c (gomp_ordered_first): Update for ordered_release change.
20524         (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
20525         gomp_ordered_static_next, gomp_ordered_sync): Likewise.
20526         * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
20527         (GOMP_single_copy_end): Likewise.
20528         * team.c (gomp_threads_dock): New.
20529         (gomp_barrier_init, gomp_barrier_destroy): Remove.
20530         (gomp_thread_start): Use gomp_barrier_wait.
20531         (new_team, free_team): Update for gomp_team changes.
20532         (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
20533         (gomp_team_end): Use gomp_barrier_wait.
20534         (initialize_team): Update for gomp_thread changes.
20535         * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
20536         (gomp_work_share_end_nowait): Use atomic ops when available.
20537         * config/linux/bar.c, config/linux/bar.h: New files.
20538         * config/posix/bar.c, config/posix/bar.h: New files.
20540 2005-10-13  Jakub Jelinek  <jakub@redhat.com>
20542         * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
20543         * testsuite/libgomp.dg/single-2.c: New test.
20545         * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
20546         lang_link_flags): Unset, so that they aren't inherited from previously
20547         sourced *.exp.
20549         * testsuite/libgomp.fortran/threadprivate1.f90: New test.
20551 2005-10-12  Richard Henderson  <rth@redhat.com>
20553         * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
20554         (libgomp_init): Use lang_test_file, lang_library_path, and
20555         lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
20557         * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
20558         (lang_test_file, lang_link_flags): New.
20559         (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
20561         * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
20562         testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
20563         testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
20564         testsuite/libgomp.c++/parallel-1.C,
20565         testsuite/libgomp.c++/reduction-1.C,
20566         testsuite/libgomp.c++/reduction-2.C,
20567         testsuite/libgomp.c++/reduction-3.C,
20568         testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
20569         testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
20570         testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
20571         New files, largely cribbed from the C testsuite.
20573 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
20575         * testsuite/libgomp.fortran/character1.f90: New test.
20576         * testsuite/libgomp.fortran/character2.f90: New test.
20578         * testsuite/libgomp.dg/nested-1.c: New test.
20579         * testsuite/libgomp.dg/nested-2.c: New test.
20580         * testsuite/libgomp.fortran/do1.f90: New test.
20581         * testsuite/libgomp.fortran/do2.f90: New test.
20583         * testsuite/libgomp.fortran/reference1.f90: New test.
20585 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
20587         * testsuite/libgomp.dg/reduction-1.c: New test.
20588         * testsuite/libgomp.dg/reduction-2.c: New test.
20589         * testsuite/libgomp.dg/reduction-3.c: New test.
20591 2005-10-10  Jakub Jelinek  <jakub@redhat.com>
20593         * testsuite/libgomp.dg/atomic-1.c: New test.
20594         * testsuite/libgomp.dg/atomic-2.c: New test.
20596 2005-10-09  Richard Henderson  <rth@redhat.com>
20598         * critical.c (atomic_lock): New.
20599         (initialize_critical): Initialize it.
20600         (GOMP_atomic_start, GOMP_atomic_end): New.
20601         * libgomp.map: Export them.
20602         * libgomp_g.h: Declare them.
20604         * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
20606 2005-10-02  Richard Henderson  <rth@redhat.com>
20608         * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
20609         to XCFLAGS instead of CFLAGS.
20611 2005-09-30  Richard Henderson  <rth@redhat.com>
20613         * configure.ac: Determine whether -pthread or -lpthread is needed.
20614         * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
20615         * Makefile.in, configure: Rebuild.
20617 2005-09-28  Richard Henderson  <rth@redhat.com>
20619         * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
20620         * testsuite/libgomp.dg/omp-single-3.c: New test.
20622 2005-09-28  Diego Novillo  <dnovillo@redhat.com>
20624         * testsuite/libgomp.dg/omp-single-2.c: New test.
20625         * testsuite/libgomp.dg/shared-2.c: Fix return code.
20627 2005-09-27  Richard Henderson  <rth@redhat.com>
20629         * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
20630         * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
20632 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
20634         * testsuite/libgomp.dg/omp-loop03.c: New test.
20636 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
20638         * testsuite/libgomp.dg/omp-parallel-for.c: New test.
20640 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
20642         * testsuite/libgomp.dg/omp-single-1.c: New test.
20643         * testsuite/libgomp.dg/shared-1.c: Return 0.
20644         Add prototype for abort.
20645         * testsuite/libgomp.dg/shared-2.c: Likewise.
20647 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
20649         * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
20650         constructs.
20652 2005-09-26  Diego Novillo  <dnovillo@redhat.com>
20654         * testsuite/libgomp.dg/shared-1.c: New test.
20655         * testsuite/libgomp.dg/shared-2.c: New test.
20657 2005-09-24  Richard Henderson  <rth@redhat.com>
20659         * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
20661 2005-09-24  Richard Henderson  <rth@redhat.com>
20663         * iter.c (gomp_iter_static_next): Round up when computing number
20664         of iterations.  Don't bother distributing a remainder equally.
20666         * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
20667         Don't call srand.  Zero b before testing.
20668         (main): New.
20670 2005-09-24  Jakub Jelinek  <jakub@redhat.com>
20672         * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
20673         * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
20675 2005-09-23  Jakub Jelinek  <jakub@redhat.com>
20677         * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
20678         without !$omp end do, followed immediately by subroutine end.
20680 2005-09-23  Diego Novillo  <dnovillo@redhat.com>
20682         * testsuite/libgomp.dg/omp-parallel-if.c: New test.
20684 2005-09-22  Richard Henderson  <rth@redhat.com>
20686         * critical.c (GOMP_critical_name_start): Change argument to void**.
20687         Reuse the pointer space if the mutex fits.
20688         (GOMP_critical_name_end): Likewise.
20689         (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
20690         * libgomp_g.h (GOMP_critical_name_start): Update decl.
20691         (GOMP_critical_name_end): Likewise.
20692         * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
20693         * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
20695 2005-09-20  Richard Henderson  <rth@redhat.com>
20697         * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
20698         (create_lock_lock): New.
20699         (initialize_critical): Initialize it.
20700         * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
20701         * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
20703 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
20705         * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
20707 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
20709         * testsuite/libgomp.dg/omp-loop01.c: New test.
20710         * testsuite/libgomp.dg/omp-loop02.c: New test.
20712 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
20714         * configure.ac (AC_PROG_FC): Add.
20715         (USE_FORTRAN): New automake conditional.
20716         * configure: Rebuilt.
20717         * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
20718         (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
20719         If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
20720         Add rules to build them.
20721         * Makefile.in: Rebuilt.
20722         * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
20723         OMP_NEST_LOCK_KIND.
20724         * libgomp.map: Add Fortran wrappers.
20725         * libgomp_f.h.in: New file.
20726         * omp_lib.h.in: New file.
20727         * omp_lib.f90.in: New file.
20728         * fortran.c: New file.
20729         * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
20730         Append libgfortran directory to LD_LIBRARY_PATH if it exists.
20731         Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
20732         libgfortran has been built.
20733         * testsuite/libgomp.fortran/fortran.exp: New file.
20734         * testsuite/libgomp.fortran/omp_cond1.f: New test.
20735         * testsuite/libgomp.fortran/omp_cond2.f: New test.
20736         * testsuite/libgomp.fortran/omp_cond3.F90: New test.
20737         * testsuite/libgomp.fortran/omp_cond4.F90: New test.
20738         * testsuite/libgomp.fortran/omp_hello.f: New test.
20739         * testsuite/libgomp.fortran/omp_orphan.f: New test.
20740         * testsuite/libgomp.fortran/omp_parse1.f90: New test.
20741         * testsuite/libgomp.fortran/omp_parse2.f90: New test.
20742         * testsuite/libgomp.fortran/omp_parse3.f90: New test.
20743         * testsuite/libgomp.fortran/omp_parse4.f90: New test.
20744         * testsuite/libgomp.fortran/omp_reduction.f: New test.
20745         * testsuite/libgomp.fortran/omp_workshare1.f: New test.
20746         * testsuite/libgomp.fortran/omp_workshare2.f: New test.
20748 2005-08-30  Richard Henderson  <rth@redhat.com>
20750         * loop.c (GOMP_loop_static_start): Provide fallback wrapper
20751         function for when aliases are not usable.
20752         (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
20753         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20754         GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
20755         GOMP_loop_dynamic_next, GOMP_loop_guided_next,
20756         GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
20757         GOMP_loop_ordered_guided_next): Likewise.
20758         * ordered.c (GOMP_ordered_start): Likewise.
20760 2005-08-01  Diego Novillo  <dnovillo@redhat.com>
20762         * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
20763         * testsuite/libgomp.dg/omp_hello.c: Fix return code
20764         * testsuite/libgomp.dg/omp_matvec.c: Likewise.
20765         * testsuite/libgomp.dg/omp_orphan.c: Likewise
20766         * testsuite/libgomp.dg/omp_reduction.c: Likewise
20767         * testsuite/libgomp.dg/omp_workshare1.c: Likewise
20768         * testsuite/libgomp.dg/omp_workshare2.c: Likewise
20769         * testsuite/libgomp.dg/omp_workshare3.c: Likewise
20770         * testsuite/libgomp.dg/omp_workshare4.c: Likewise
20772 2005-07-07  Eric Christopher  <echristo@redhat.com>
20773             Diego Novillo  <dnovillo@redhat.com>
20775         * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
20776         * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
20777         up code.
20778         * testsuite/libgomp.dg/omp_matvec.c: Ditto.
20779         * testsuite/libgomp.dg/omp_orphan.c: Ditto.
20780         * testsuite/libgomp.dg/omp_reduction.c: Ditto.
20781         * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
20782         * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
20783         * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
20784         * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
20786 2005-06-13  Diego Novillo  <dnovillo@redhat.com>
20788         * TOPLEVEL.patch: Remove.
20790 2005-05-16  Richard Henderson  <rth@redhat.com>
20792         * configure.ac: Test for clock_gettime.
20793         * config.h.in, configure: Rebuild.
20794         * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
20795         (omp_get_wtime): Use clock_gettime if available.
20796         (omp_get_wtick): Use clock_getres if available.
20798 2005-05-11  Richard Henderson  <rth@redhat.com>
20800         * config/linux/ia64/futex.h: New file.
20801         * configure.tgt: Use it.
20803         * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
20805 2005-05-07  Richard Henderson  <rth@redhat.com>
20807         * config/linux/powerpc/futex.h: New file.
20808         * configure.tgt: Use it.
20810         * config/linux/i486/futex.h: Merge ...
20811         * config/linux/x86_64/futex.h: ... into ...
20812         * config/linux/x86/futex.h: ... here.
20813         * configure.tgt: Update to match.
20815 2005-05-06  Richard Henderson  <rth@redhat.com>
20817         * config/linux/alpha/futex.h: Conditionally define SYS_futex.
20818         * config/linux/i486/futex.h: Likewise.
20819         * config/linux/x86_64/futex.h: Likewise.
20821         * config/linux/lock.c: New file.
20822         * config/linux/omp-lock.h: New file.
20824         * critical.c, env.h: Don't include omp.h
20825         * config/posix/lock.c: Include libgomp.h instead of omp.h.
20826         * config/posix/time.c: Likewise.
20827         * config/posix/omp-lock.h: New file.
20828         * libgomp.h: Include omp-lock.h and omp.h.
20829         * Makefile.am (nodist_include_HEADERS): New.
20830         (omp.h): New rule.
20831         * configure.ac (PERL): New.
20832         * mkomp_h.pl: New file.
20833         * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
20834         with templates.
20835         * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
20837         * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
20838         build directory.  Re-add -march=i486 hack.
20840         * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
20841         (libgomp_link_flags): Remove.
20842         (libgomp_initialized): Remove.
20843         (libgomp_init): Don't protect from reinitialization.  Copy code
20844         from libstdc++ for getting the multilib set correctly.
20846 2005-05-05  Richard Henderson  <rth@redhat.com>
20848         * config/linux/alpha/futex.h: New file.
20849         * configure.tgt (alpha*-*-linux*): Use it.
20851         * config/posix/mutex.c: New file.
20852         * config/posix/sem.c: Use libgomp.h.
20854         * configure.tgt (x86_64-linux): Also test CC for -m32.
20855         * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
20857         * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
20858         after $gccpath.
20860         * Makefile.am (SUBDIRS): New.
20861         (libgomp_la_LDFLAGS): Add -lpthread.
20862         * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
20863         * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
20865         * libgomp_g.h: New file.
20866         * libgomp.h: Split out all public declarations to libgomp_g.h.
20867         Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
20868         * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
20869         * config/linux/sem.h: Likewise.
20870         * config/posix/sem.h: Likewise.
20872         * Makefile.am (AM_LDFLAGS): New.
20873         (libgomp_version_script): Split out from ...
20874         (libgomp_la_LDFLAGS): ... here.
20875         (libgomp_version_info): New.
20876         * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
20877         (LIBGOMP_ENABLE): New.
20878         (LIBGOMP_CHECK_LINKER_FEATURES): New.
20879         (LIBGOMP_ENABLE_SYMVERS): New.
20880         * configure.ac (AC_INIT): Version 1.0.
20881         (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
20882         (enable-linux-futex): Likewise.  Rename from enable-futex.
20883         (libtool_VERSION): New.
20884         (LIBGOMP_ENABLE_SYMVERS): Use it.
20885         * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
20886         * Makefile.in, aclocal.m4, configure: Rebuild.
20888         * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
20889         (gomp_mutex_unlock_slow): Fix typo.
20890         * config/linux/sem.c: Similarly.
20891         (gomp_sem_post_slow): Fix typo.
20892         * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
20893         * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
20894         [__PIC__] (sys_futex0): Don't use tmp output in asm.
20896         * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
20897         (libgomp_la_LDFLAGS): Add top_srcdir to path.
20898         * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
20899         * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
20900         XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
20901         * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
20902         LDFLAGS.  Pull enable_futex check to top-level.
20903         * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
20904         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
20906         First attempt at real configury.
20907         * Makefile, config.h: Remove file.
20908         * Makefile.am, Makefile.in: New file.
20909         * acinclude.m4 aclocal.m4: New file.
20910         * configure.ac, configure.tgt, configure: New file.
20912         * config/posix/lock.c: Rename from sys-lock.c.
20913         * config/posix/mutex.h: Rename from sys-mutex.h.
20914         * config/posix/sem.c: Rename from sys-sem.c.
20915         * config/posix/sem.h: Rename from sys-sem.h.
20916         * config/posix/proc.c: Rename from sys-proc.c.
20917         * config/posix/time.c: Rename from sys-proc.c.
20919         * config/linux/mutex.c: New file.
20920         * config/linux/mutex.h: New file.
20921         * config/linux/sem.c: New file.
20922         * config/linux/sem.h: New file.
20923         * config/linux/i486/futex.h: New file.
20924         * config/linux/x86_64/futex.h: New file.
20926 2005-05-04  Richard Henderson  <rth@redhat.com>
20928         * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
20929         * libgomp.h: Declare them.
20930         * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
20931         gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
20933 2005-05-04  Richard Henderson  <rth@redhat.com>
20935         * libgomp-1 code drop
20937 2005-05-04  Richard Henderson  <rth@redhat.com>
20939         * iter.c (gomp_iter_static_next): Return tri-state on 0.
20940         * ordered.c (gomp_ordered_static_next): Remove not_last argument.
20941         * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
20942         (gomp_iter_static_next): Update.
20943         (gomp_ordered_static_next): Update.
20944         * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
20945         (gomp_loop_ordered_static_start): Likewise.  Exit early for a
20946         totally empty range.
20947         (gomp_loop_ordered_static_next): Refine test for calling
20948         gomp_ordered_static_next.
20949         * testsuite/ordered-1.c: Add case for more threads than iterations.
20951         * iter.c (gomp_iter_runtime_next_locked): Remove.
20952         * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
20953         gomp_loop_guided_start, gomp_loop_ordered_static_start,
20954         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
20955         gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
20956         gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
20957         gomp_loop_ordered_guided_next): Downcase name, make static, add
20958         an external alias with the old name.
20959         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
20960         GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
20961         switch and call one of the above static functions.
20962         * libgomp.h: Update.
20964         * work.c (gomp_work_share_start): Lock the mutex for !first too.
20965         * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
20966         GOMP_loop_guided_start, GOMP_loop_runtime_start,
20967         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20968         GOMP_loop_ordered_guided_start): Update to match.
20969         * sections.c (GOMP_sections_start): Likewise.
20970         * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
20972         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20973         gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
20974         Use bounds check instead of modulus.
20975         (gomp_ordered_sync): Split out of GOMP_ordered_start.
20976         (gomp_ordered_last): Don't sync with ordered_owner here.
20977         (gomp_ordered_next): Likewise.
20978         (gomp_ordered_static_loop_next): Likewise.
20979         * loop.c, libgomp.h: Update to match.
20981         * libgomp.h (GOMP_barrier): Declare.
20983         * testsuite/barrier-1.c: New file.
20984         * testsuite/critical-1.c: New file.
20985         * testsuite/ordered-2.c: New file.
20986         * testsuite/ordered-1.c: New file.
20987         * testsuite/sections-1.c: New file.
20988         * testsuite/single-1.c: New file.
20989         * testsuite/Makefile (TESTS): Add them.
20991 2005-05-04  Richard Henderson  <rth@redhat.com>
20993         * libgomp.h (struct gomp_work_share): Add ordered_owner.
20994         * loop.c (GOMP_loop_static_start): If not the startup thread,
20995         acquire the mutex to wait for initialization complete.
20996         (GOMP_loop_ordered_static_start): Likewise.
20997         (GOMP_loop_ordered_runtime_start): Likewise.
20998         (GOMP_loop_ordered_static_first): Remove.
20999         (GOMP_loop_ordered_dynamic_first): Remove.
21000         (GOMP_loop_ordered_guided_first): Remove.
21001         (GOMP_loop_ordered_runtime_first): Remove.
21002         * ordered.c (gomp_ordered_loop_first): Post to own release when
21003         we're the first thread.
21004         (gomp_ordered_loop_last): Wait on release if not owner.
21005         (gomp_ordered_loop_next): Likewise.
21006         (gomp_ordered_static_loop_init): New.
21007         (gomp_ordered_static_loop_next): Use ordered_owner.
21008         (GOMP_ordered_start): Likewise.
21009         * work.c (gomp_new_work_share): Initialize ordered_owner.
21011 2005-05-03  Richard Henderson  <rth@redhat.com>
21013         * Makefile (OPT): New.
21014         (CFLAGS): Use it.
21016         * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
21017         * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
21018         * libgomp.h, libgomp.map, NOTES: Update to match.
21020         * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
21021         Add initialized and thr members.
21022         (gomp_thread_start): Pause when initially spawned to wait for
21023         the whole team to be created.
21024         (gomp_team_start): Release team members at the end.
21026         * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
21027         (f_foo_1): Use GOMP_loop_end.
21028         (f_foo_2): Use GOMP_loop_end_nowait.
21030         * testsuite/loop-2.c: New file.
21031         * testsuite/Makefile (TESTS): Add it.
21033 2005-05-03  Richard Henderson  <rth@redhat.com>
21035         * iter.c (gomp_iter_static_next): Fix overflow check typo.
21036         (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
21037         * team.c (new_team): Initialize oldest_live_gen to 1 if no
21038         initial work_share.
21040         * testsuite/Makefile: New file.
21041         * testsuite/loop-1.c: New file.
21043 2005-05-03  Richard Henderson  <rth@redhat.com>
21045         Initial implementation and checkin.
21047 Copyright (C) 2005-2024 Free Software Foundation, Inc.
21049 Copying and distribution of this file, with or without modification,
21050 are permitted in any medium without royalty provided the copyright
21051 notice and this notice are preserved.