c++: simplify member template substitution
[official-gcc.git] / libgomp / ChangeLog
blob9c7f901796ce32f030aa160ee6e59e4f116de174
1 2023-04-28  Julian Brown  <julian@codesourcery.com>
3         PR fortran/109622
4         * testsuite/libgomp.fortran/pr109622.f90: New test.
5         * testsuite/libgomp.fortran/pr109622-2.f90: New test.
6         * testsuite/libgomp.fortran/pr109622-3.f90: New test.
8 2023-04-25  Tobias Burnus  <tobias@codesourcery.com>
10         * testsuite/libgomp.c-c++-common/scan-1.c: New test.
11         * testsuite/libgomp.c/scan-23.c: New test.
12         * testsuite/libgomp.fortran/scan-2.f90: New test.
14 2023-03-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
17         weak_undefined options.
19 2023-03-24  Tobias Burnus  <tobias@codesourcery.com>
21         * libgomp.texi (Offload-Target Specifics): Grammar fix.
23 2023-03-24  Thomas Schwinge  <thomas@codesourcery.com>
25         PR fortran/104949
26         * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
27         caveat/safeguard.
29 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
31         PR libgomp/90596
32         * target.c (gomp_map_vars_internal): Allow for
33         'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
34         * oacc-parallel.c (GOACC_parallel_keyed): Pass
35         'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
36         * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
37         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
38         Adjust, simplify.
39         (gomp_offload_free): Remove.
40         * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
41         (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
42         (cuda_free_argmem): Remove.
43         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
44         Adjust.
46 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
48         * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
49         libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
50         data.
52 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
54         * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
55         'GOMP_MAP_IF_PRESENT'.
56         * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
57         (GOMP_OFFLOAD_openacc_async_exec): Adjust.
58         * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
59         (GOMP_OFFLOAD_openacc_async_exec): Likewise.
60         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
61         testing.
62         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
64 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
66         * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
67         shortcut.
69 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
71         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
72         another aspect of OpenACC 'async' semantics.
74 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
76         * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
77         position.
78         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
79         Verify 'acc_ev_alloc', 'acc_ev_free'.
81 2023-03-09  Hongyu Wang  <hongyu.wang@intel.com>
83         PR libgomp/109062
84         * env.c (wait_policy): Initialize to -1.
85         (initialize_icvs): Initialize icvs->wait_policy to -1.
86         * testsuite/libgomp.c-c++-common/pr109062.c: New test.
88 2023-03-08  Tobias Burnus  <tobias@codesourcery.com>
90         * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
92 2023-03-02  Kwok Cheung Yeung  <kcy@codesourcery.com>
93             Paul-Antoine Arras  <pa@codesourcery.com>
95         * testsuite/libgomp.c/simd-math-1.c: New testcase.
97 2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
99         PR middle-end/108546
100         * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
101         * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
103 2023-02-22  Thomas Schwinge  <thomas@codesourcery.com>
105         * testsuite/libgomp.fortran/alloc-10.f90: Use
106         '-Wno-complain-wrong-lang'.
107         * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
108         * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
109         * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
110         * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
111         * testsuite/libgomp.fortran/depend-4.f90: Likewise.
112         * testsuite/libgomp.fortran/depend-5.f90: Likewise.
113         * testsuite/libgomp.fortran/depend-6.f90: Likewise.
114         * testsuite/libgomp.fortran/depend-7.f90: Likewise.
115         * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
116         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
117         Likewise.
118         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
119         Likewise.
120         * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
121         * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
122         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
123         * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
124         'dg-prune-output'.
126 2023-02-16  Jakub Jelinek  <jakub@redhat.com>
128         * libgomp.texi: Fix typos - theads -> threads.
130 2023-02-16  Jakub Jelinek  <jakub@redhat.com>
132         * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
133         comment typo and improve its wording.
135 2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
137         * target.c (gomp_target_rev): Dereference ptr
138         to get device address.
139         * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
140         for unallocated allocatable.
142 2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
144         * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
145         kind check.
146         (GOMP_target_enter_exit_data): If the next map item is
147         GOMP_MAP_ALWAYS_POINTER map it together with the current item.
148         * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
150 2023-02-09  Tobias Burnus  <tobias@codesourcery.com>
152         PR fortran/107424
153         * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
154         * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
155         * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
156         * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
157         * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
158         * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
160 2023-02-07  Thomas Schwinge  <thomas@codesourcery.com>
162         * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
163         offloading compilation.
165 2023-02-03  Tobias Burnus  <tobias@codesourcery.com>
167         * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
168         freeing not allocated memory.
169         * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
171 2023-02-03  Tobias Burnus  <tobias@codesourcery.com>
173         * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
174         reverse offload.
175         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
176         reverse-offload requirement.
178 2023-02-02  Andrew Stubbs  <ams@codesourcery.com>
180         * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
181         (DEFAULT_TEAM_ARENA_SIZE): New define.
182         (struct heap): Move to this file.
183         (struct kernargs_abi): Likewise.
184         * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
185         the kernargs.
186         * libgomp.h: Include libgomp-gcn.h.
187         (TEAM_ARENA_SIZE): Remove.
188         (team_malloc): Update the error message.
189         * plugin/plugin-gcn.c (struct kernargs): Move common content to
190         struct kernargs_abi.
191         (struct agent_info): Rename team arenas to ephemeral memories.
192         (struct team_arena_list): Rename ....
193         (struct ephemeral_memories_list): to this.
194         (struct heap): Delete.
195         (team_arena_size): New variable.
196         (stack_size): New variable.
197         (print_kernel_dispatch): Update debug messages.
198         (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
199         Read GCN_STACK_SIZE.
200         (get_team_arena): Rename ...
201         (configure_ephemeral_memories): ... to this, and set up stacks.
202         (release_team_arena): Rename ...
203         (release_ephemeral_memories): ... to this.
204         (destroy_team_arenas): Rename ...
205         (destroy_ephemeral_memories): ... to this.
206         (create_kernel_dispatch): Add num_threads parameter.
207         Adjust for kernargs_abi refactor and ephemeral memories.
208         (release_kernel_dispatch): Adjust for ephemeral memories.
209         (run_kernel): Pass thread-count to create_kernel_dispatch.
210         (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
211         (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
213 2023-02-02  Tobias Burnus  <tobias@codesourcery.com>
215         * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
217 2023-02-01  Tobias Burnus  <tobias@codesourcery.com>
219         * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
220         usage, remove unused -fdump-tree-original.
221         * testsuite/libgomp.fortran/allocate-4.f90: New.
223 2023-02-01  Tobias Burnus  <tobias@codesourcery.com>
225         * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
226         (GCN): Add item about 'omp requires'.
227         (nvptx): Likewise; add item about reverse offload.
229 2023-01-27  Tobias Burnus  <tobias@codesourcery.com>
231         PR fortran/108558
232         * testsuite/libgomp.fortran/has_device_addr.f90: New test.
234 2023-01-23  Tobias Burnus  <tobias@codesourcery.com>
236         * libgomp.texi (OpenMP 5.0): Set non-rectangular
237         loop nest back to 'P' as Fortran support is incomplete.
239 2023-01-19  Jakub Jelinek  <jakub@redhat.com>
241         PR middle-end/108459
242         * testsuite/libgomp.c/pr108459.c: New test.
244 2023-01-17  Martin Liska  <mliska@suse.cz>
246         * Makefile.in: Regenerate.
247         * configure: Regenerate.
249 2023-01-07  LIU Hao  <lh_mouse@126.com>
251         PR middle-end/108300
252         * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
253         <windows.h>.
255 2023-01-05  Jakub Jelinek  <jakub@redhat.com>
257         PR c++/108286
258         * testsuite/libgomp.c++/pr108286.C: New test.
260 2023-01-02  Jakub Jelinek  <jakub@redhat.com>
262         * libgomp.texi: Bump @copying's copyright year.
264 2022-12-21  Chung-Lin Tang  <cltang@codesourcery.com>
266         PR target/99555
267         * config/nvptx/bar.c (generation_to_barrier): Remove.
268         (futex_wait,futex_wake,do_spin,do_wait): Remove.
269         (GOMP_WAIT_H): Remove.
270         (#include "../linux/bar.c"): Remove.
271         (gomp_barrier_wait_end): New function.
272         (gomp_barrier_wait): Likewise.
273         (gomp_barrier_wait_last): Likewise.
274         (gomp_team_barrier_wait_end): Likewise.
275         (gomp_team_barrier_wait): Likewise.
276         (gomp_team_barrier_wait_final): Likewise.
277         (gomp_team_barrier_wait_cancel_end): Likewise.
278         (gomp_team_barrier_wait_cancel): Likewise.
279         (gomp_team_barrier_cancel): Likewise.
280         * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
281         (gomp_barrier_init): Remove init of waiters, lock fields.
282         (gomp_team_barrier_wake): Remove prototype, add new static inline
283         function.
285 2022-12-21  Jakub Jelinek  <jakub@redhat.com>
287         PR c++/108180
288         * testsuite/libgomp.c++/pr108180.C: New test.
290 2022-12-16  Tobias Burnus  <tobias@codesourcery.com>
292         PR libfortran/108056
293         * testsuite/libgomp.fortran/allocate-4.f90: Remove
294         accidentally added file.
296 2022-12-15  Tobias Burnus  <tobias@codesourcery.com>
298         PR libfortran/108056
299         * testsuite/libgomp.fortran/allocate-4.f90: New file.
301 2022-12-14  Julian Brown  <julian@codesourcery.com>
303         * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
304         test.
306 2022-12-10  Tobias Burnus  <tobias@codesourcery.com>
308         * libgomp.h (struct target_mem_desc): Predeclare; move
309         below after 'reverse_splay_tree_node' and add rev_array
310         member.
311         (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
312         (reverse_splay_tree_node, reverse_splay_tree,
313         reverse_splay_tree_key): New typedef.
314         (struct gomp_device_descr): Add mem_map_rev member.
315         * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
316         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
317         support for GOMP_REQUIRES_REVERSE_OFFLOAD.
318         * splay-tree.h (splay_tree_callback_stop): New typedef; like
319         splay_tree_callback but returning int not void.
320         (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
321         taking splay_tree_callback_stop as argument.
322         * splay-tree.c (splay_tree_foreach_internal_lazy,
323         splay_tree_foreach_lazy): New; but early exit if callback returns
324         nonzero.
325         * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
326         (gomp_map_lookup_rev): New.
327         (gomp_load_image_to_device): Handle reverse-offload function
328         lookup table.
329         (gomp_unload_image_from_device): Free devicep->mem_map_rev.
330         (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
331         gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
332         gomp_map_cdata_lookup): New auxiliary structs and functions for
333         gomp_target_rev.
334         (gomp_target_rev): Implement reverse offloading and its mapping.
335         (gomp_target_init): Init current_device.mem_map_rev.root.
336         * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
337         * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
338         * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
339         * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
340         * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
341         mapping of on-device allocated variables.
343 2022-12-09  Tobias Burnus  <tobias@codesourcery.com>
345         * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
346         item about 'align'; mark clause as 'Y' and directive as 'N'.
347         * testsuite/libgomp.fortran/allocate-2.f90: New test.
348         * testsuite/libgomp.fortran/allocate-3.f90: New test.
350 2022-12-06  Marcel Vollweiler  <marcel@codesourcery.com>
352         * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
353         allow processing of device-specific values.
354         (omp_set_teams_thread_limit): Likewise.
355         (ialias): Likewise.
356         * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
357         (omp_set_teams_thread_limit): Likewise.
358         (ialias): Likewise.
359         * icv-device.c (omp_get_teams_thread_limit): Likewise.
360         (ialias): Likewise.
361         (omp_set_teams_thread_limit): Likewise.
362         * icv.c (omp_set_teams_thread_limit): Removed.
363         (omp_get_teams_thread_limit): Likewise.
364         (ialias): Likewise.
365         * libgomp.texi: Updated documentation for nvptx and gcn corresponding
366         to the limitation of the number of teams.
367         * plugin/plugin-gcn.c (limit_teams): New helper function that limits
368         the number of teams by twice the number of compute units.
369         (parse_target_attributes): Limit the number of teams on gcn offload
370         devices.
371         * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
372         handling.
373         (gomp_load_image_to_device): Added a size check for the ICVs struct
374         variable.
375         (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
376         copy back the ICV values from device to host.
377         (GOMP_target_ext): Update the number of teams and threads in the kernel
378         args also considering device-specific values.
379         * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
380         of OMP_TEAMS_THREAD_LIMIT from the environment.
381         * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
382         * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
383         * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
384         * testsuite/libgomp.c-c++-common/icv-9.c: New test.
385         * testsuite/libgomp.fortran/icv-5.f90: New test.
386         * testsuite/libgomp.fortran/icv-6.f90: New test.
388 2022-12-06  Tobias Burnus  <tobias@codesourcery.com>
390         * libgomp.texi (OpenMP 5.2): Add missing 'the'.
391         (TR11): Add missing '@tab N @tab'.
393 2022-11-30  Tobias Burnus  <tobias@codesourcery.com>
395         * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
397 2022-11-30  Paul-Antoine Arras  <pa@codesourcery.com>
399         * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
400         * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
401         * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
402         * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
403         * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
404         * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
405         * testsuite/libgomp.c/declare-variant-4.h: New header file.
407 2022-11-28  Tobias Burnus  <tobias@codesourcery.com>
409         * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
411 2022-11-25  Sandra Loosemore  <sandra@codesourcery.com>
413         * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
414         * testsuite/libgomp.c/target-simd-clone-1.c: New.
415         * testsuite/libgomp.c/target-simd-clone-2.c: New.
416         * testsuite/libgomp.c/target-simd-clone-3.c: New.
418 2022-11-25  Tobias Burnus  <tobias@codesourcery.com>
420         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
421         for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
422         as valid and the code having no reverse-offload code.
423         * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
425 2022-11-25  Tobias Burnus  <tobias@codesourcery.com>
427         * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
428         and status for Technical Report (TR) 11.
430 2022-11-21  Tobias Burnus  <tobias@codesourcery.com>
432         * config/gcn/libgomp-gcn.h (struct output):
433         Remove 'msg_u64' from the union, change
434         value_u64[2] to value_u64[6].
435         * config/gcn/target.c (GOMP_target_ext): Update accordingly.
436         * plugin/plugin-gcn.c (process_reverse_offload, console_output):
437         Likewise.
439 2022-11-19  Tobias Burnus  <tobias@codesourcery.com>
441         * config/gcn/libgomp-gcn.h: New file; contains
442         struct output, declared previously in plugin-gcn.c.
443         * config/gcn/target.c: Include it.
444         (GOMP_ADDITIONAL_ICVS): Declare as extern var.
445         (GOMP_target_ext): Handle reverse offload.
446         * plugin/plugin-gcn.c: Include libgomp-gcn.h.
447         (struct kernargs): Replace struct def by the one
448         from libgomp-gcn.h for output_data.
449         (process_reverse_offload): New.
450         (console_output): Call it.
452 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
453             Andrew Stubbs  <ams@codesourcery.com>
455         * config/gcn/team.c (gomp_gcn_enter_kernel): Use
456         __builtin_gcn_kernarg_ptr instead of asm ("s8").
458 2022-11-14  Martin Liska  <mliska@suse.cz>
460         Revert:
461         2022-11-14  Martin Liska  <mliska@suse.cz>
463         * doc/amd-radeon-gcn.rst: New file.
464         * doc/conf.py: New file.
465         * doc/copyright.rst: New file.
466         * doc/cuda-streams-usage.rst: New file.
467         * doc/enabling-openacc.rst: New file.
468         * doc/enabling-openmp.rst: New file.
469         * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
470         * doc/first-invocation-openacc-library-api.rst: New file.
471         * doc/funding.rst: New file.
472         * doc/general-public-license-3.rst: New file.
473         * doc/gnu-free-documentation-license.rst: New file.
474         * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
475         * doc/index.rst: New file.
476         * doc/indices-and-tables.rst: New file.
477         * doc/introduction.rst: New file.
478         * doc/memory-allocation-with-libmemkind.rst: New file.
479         * doc/nvptx.rst: New file.
480         * doc/offload-target-specifics.rst: New file.
481         * doc/openacc-environment-variables.rst: New file.
482         * doc/openacc-environment-variables/accdevicenum.rst: New file.
483         * doc/openacc-environment-variables/accdevicetype.rst: New file.
484         * doc/openacc-environment-variables/accproflib.rst: New file.
485         * doc/openacc-environment-variables/gccaccnotify.rst: New file.
486         * doc/openacc-introduction.rst: New file.
487         * doc/openacc-library-and-environment-variables.rst: New file.
488         * doc/openacc-library-interoperability.rst: New file.
489         * doc/openacc-profiling-interface.rst: New file.
490         * doc/openacc-runtime-library-routines.rst: New file.
491         * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
492         * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
493         * doc/openacc-runtime-library-routines/accattach.rst: New file.
494         * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
495         * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
496         * doc/openacc-runtime-library-routines/acccreate.rst: New file.
497         * doc/openacc-runtime-library-routines/accdelete.rst: New file.
498         * doc/openacc-runtime-library-routines/accdetach.rst: New file.
499         * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
500         * doc/openacc-runtime-library-routines/accfree.rst: New file.
501         * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
502         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
503         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
504         * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
505         * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
506         * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
507         * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
508         * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
509         * doc/openacc-runtime-library-routines/accinit.rst: New file.
510         * doc/openacc-runtime-library-routines/accispresent.rst: New file.
511         * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
512         * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
513         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
514         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
515         * doc/openacc-runtime-library-routines/accondevice.rst: New file.
516         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
517         * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
518         * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
519         * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
520         * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
521         * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
522         * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
523         * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
524         * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
525         * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
526         * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
527         * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
528         * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
529         * doc/openacc-runtime-library-routines/accwait.rst: New file.
530         * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
531         * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
532         * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
533         * doc/openmp-context-selectors.rst: New file.
534         * doc/openmp-environment-variables.rst: New file.
535         * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
536         * doc/openmp-environment-variables/gompdebug.rst: New file.
537         * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
538         * doc/openmp-environment-variables/gompspincount.rst: New file.
539         * doc/openmp-environment-variables/gompstacksize.rst: New file.
540         * doc/openmp-environment-variables/ompcancellation.rst: New file.
541         * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
542         * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
543         * doc/openmp-environment-variables/ompdynamic.rst: New file.
544         * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
545         * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
546         * doc/openmp-environment-variables/ompnested.rst: New file.
547         * doc/openmp-environment-variables/ompnumteams.rst: New file.
548         * doc/openmp-environment-variables/ompnumthreads.rst: New file.
549         * doc/openmp-environment-variables/ompplaces.rst: New file.
550         * doc/openmp-environment-variables/ompprocbind.rst: New file.
551         * doc/openmp-environment-variables/ompschedule.rst: New file.
552         * doc/openmp-environment-variables/ompstacksize.rst: New file.
553         * doc/openmp-environment-variables/omptargetoffload.rst: New file.
554         * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
555         * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
556         * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
557         * doc/openmp-implementation-specifics.rst: New file.
558         * doc/openmp-implementation-status.rst: New file.
559         * doc/openmp-implementation-status/openmp-45.rst: New file.
560         * doc/openmp-implementation-status/openmp-50.rst: New file.
561         * doc/openmp-implementation-status/openmp-51.rst: New file.
562         * doc/openmp-implementation-status/openmp-52.rst: New file.
563         * doc/openmp-runtime-library-routines.rst: New file.
564         * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
565         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
566         * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
567         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
568         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
569         * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
570         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
571         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
572         * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
573         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
574         * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
575         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
576         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
577         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
578         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
579         * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
580         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
581         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
582         * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
583         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
584         * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
585         * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
586         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
587         * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
588         * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
589         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
590         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
591         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
592         * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
593         * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
594         * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
595         * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
596         * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
597         * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
598         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
599         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
600         * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
601         * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
602         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
603         * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
604         * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
605         * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
606         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
607         * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
608         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
609         * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
610         * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
611         * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
612         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
613         * doc/reporting-bugs.rst: New file.
614         * doc/the-libgomp-abi.rst: New file.
615         * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
616         * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
617         * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
618         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
619         New file.
620         * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
621         * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
622         * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
623         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
624         * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
625         * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
626         * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
627         * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
628         * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
629         * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
630         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
632 2022-11-14  Martin Liska  <mliska@suse.cz>
634         Revert:
635         2022-11-14  Martin Liska  <mliska@suse.cz>
637         * Makefile.in: Support Sphinx based documentation.
639 2022-11-14  Martin Liska  <mliska@suse.cz>
641         Revert:
642         2022-11-14  Martin Liska  <mliska@suse.cz>
644         * libgomp.texi: Removed.
646 2022-11-14  Martin Liska  <mliska@suse.cz>
648         Revert:
649         2022-11-14  Martin Liska  <mliska@suse.cz>
651         * Makefile.in: Support --with-sphinx-build.
652         * configure.ac: Likewise..
653         * configure: Regenerate.
655 2022-11-14  Martin Liska  <mliska@suse.cz>
657         Revert:
658         2022-11-09  Martin Liska  <mliska@suse.cz>
660         * Makefile.in: Build info pages conditionally.
662 2022-11-14  Martin Liska  <mliska@suse.cz>
664         Revert:
665         2022-11-14  Martin Liska  <mliska@suse.cz>
667         * doc/amd-radeon-gcn.rst:
668         Add trailing newline.
669         * doc/copyright.rst:
670         Add trailing newline.
671         * doc/cuda-streams-usage.rst:
672         Add trailing newline.
673         * doc/enabling-openacc.rst:
674         Add trailing newline.
675         * doc/enabling-openmp.rst:
676         Add trailing newline.
677         * doc/first-invocation-nvidia-cublas-library-api.rst:
678         Add trailing newline.
679         * doc/first-invocation-openacc-library-api.rst:
680         Add trailing newline.
681         * doc/funding.rst:
682         Add trailing newline.
683         * doc/general-public-license-3.rst:
684         Add trailing newline.
685         * doc/gnu-free-documentation-license.rst:
686         Add trailing newline.
687         * doc/implementation-status-and-implementation-defined-behavior.rst:
688         Add trailing newline.
689         * doc/index.rst:
690         Add trailing newline.
691         * doc/indices-and-tables.rst:
692         Add trailing newline.
693         * doc/introduction.rst:
694         Add trailing newline.
695         * doc/memory-allocation-with-libmemkind.rst:
696         Add trailing newline.
697         * doc/nvptx.rst:
698         Add trailing newline.
699         * doc/offload-target-specifics.rst:
700         Add trailing newline.
701         * doc/openacc-environment-variables.rst:
702         Add trailing newline.
703         * doc/openacc-environment-variables/accdevicenum.rst:
704         Add trailing newline.
705         * doc/openacc-environment-variables/accdevicetype.rst:
706         Add trailing newline.
707         * doc/openacc-environment-variables/accproflib.rst:
708         Add trailing newline.
709         * doc/openacc-environment-variables/gccaccnotify.rst:
710         Add trailing newline.
711         * doc/openacc-introduction.rst:
712         Add trailing newline.
713         * doc/openacc-library-and-environment-variables.rst:
714         Add trailing newline.
715         * doc/openacc-library-interoperability.rst:
716         Add trailing newline.
717         * doc/openacc-profiling-interface.rst:
718         Add trailing newline.
719         * doc/openacc-runtime-library-routines.rst:
720         Add trailing newline.
721         * doc/openacc-runtime-library-routines/accasynctest.rst:
722         Add trailing newline.
723         * doc/openacc-runtime-library-routines/accasynctestall.rst:
724         Add trailing newline.
725         * doc/openacc-runtime-library-routines/accattach.rst:
726         Add trailing newline.
727         * doc/openacc-runtime-library-routines/acccopyin.rst:
728         Add trailing newline.
729         * doc/openacc-runtime-library-routines/acccopyout.rst:
730         Add trailing newline.
731         * doc/openacc-runtime-library-routines/acccreate.rst:
732         Add trailing newline.
733         * doc/openacc-runtime-library-routines/accdelete.rst:
734         Add trailing newline.
735         * doc/openacc-runtime-library-routines/accdetach.rst:
736         Add trailing newline.
737         * doc/openacc-runtime-library-routines/accdeviceptr.rst:
738         Add trailing newline.
739         * doc/openacc-runtime-library-routines/accfree.rst:
740         Add trailing newline.
741         * doc/openacc-runtime-library-routines/accgetcudastream.rst:
742         Add trailing newline.
743         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
744         Add trailing newline.
745         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
746         Add trailing newline.
747         * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
748         Add trailing newline.
749         * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
750         Add trailing newline.
751         * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
752         Add trailing newline.
753         * doc/openacc-runtime-library-routines/accgetproperty.rst:
754         Add trailing newline.
755         * doc/openacc-runtime-library-routines/acchostptr.rst:
756         Add trailing newline.
757         * doc/openacc-runtime-library-routines/accinit.rst:
758         Add trailing newline.
759         * doc/openacc-runtime-library-routines/accispresent.rst:
760         Add trailing newline.
761         * doc/openacc-runtime-library-routines/accmalloc.rst:
762         Add trailing newline.
763         * doc/openacc-runtime-library-routines/accmapdata.rst:
764         Add trailing newline.
765         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
766         Add trailing newline.
767         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
768         Add trailing newline.
769         * doc/openacc-runtime-library-routines/accondevice.rst:
770         Add trailing newline.
771         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
772         Add trailing newline.
773         * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
774         Add trailing newline.
775         * doc/openacc-runtime-library-routines/accproflookup.rst:
776         Add trailing newline.
777         * doc/openacc-runtime-library-routines/accprofregister.rst:
778         Add trailing newline.
779         * doc/openacc-runtime-library-routines/accprofunregister.rst:
780         Add trailing newline.
781         * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
782         Add trailing newline.
783         * doc/openacc-runtime-library-routines/accsetcudastream.rst:
784         Add trailing newline.
785         * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
786         Add trailing newline.
787         * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
788         Add trailing newline.
789         * doc/openacc-runtime-library-routines/accshutdown.rst:
790         Add trailing newline.
791         * doc/openacc-runtime-library-routines/accunmapdata.rst:
792         Add trailing newline.
793         * doc/openacc-runtime-library-routines/accupdatedevice.rst:
794         Add trailing newline.
795         * doc/openacc-runtime-library-routines/accupdateself.rst:
796         Add trailing newline.
797         * doc/openacc-runtime-library-routines/accwait.rst:
798         Add trailing newline.
799         * doc/openacc-runtime-library-routines/accwaitall.rst:
800         Add trailing newline.
801         * doc/openacc-runtime-library-routines/accwaitallasync.rst:
802         Add trailing newline.
803         * doc/openacc-runtime-library-routines/accwaitasync.rst:
804         Add trailing newline.
805         * doc/openmp-context-selectors.rst:
806         Add trailing newline.
807         * doc/openmp-environment-variables.rst:
808         Add trailing newline.
809         * doc/openmp-environment-variables/gompcpuaffinity.rst:
810         Add trailing newline.
811         * doc/openmp-environment-variables/gompdebug.rst:
812         Add trailing newline.
813         * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
814         Add trailing newline.
815         * doc/openmp-environment-variables/gompspincount.rst:
816         Add trailing newline.
817         * doc/openmp-environment-variables/gompstacksize.rst:
818         Add trailing newline.
819         * doc/openmp-environment-variables/ompcancellation.rst:
820         Add trailing newline.
821         * doc/openmp-environment-variables/ompdefaultdevice.rst:
822         Add trailing newline.
823         * doc/openmp-environment-variables/ompdisplayenv.rst:
824         Add trailing newline.
825         * doc/openmp-environment-variables/ompdynamic.rst:
826         Add trailing newline.
827         * doc/openmp-environment-variables/ompmaxactivelevels.rst:
828         Add trailing newline.
829         * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
830         Add trailing newline.
831         * doc/openmp-environment-variables/ompnested.rst:
832         Add trailing newline.
833         * doc/openmp-environment-variables/ompnumteams.rst:
834         Add trailing newline.
835         * doc/openmp-environment-variables/ompnumthreads.rst:
836         Add trailing newline.
837         * doc/openmp-environment-variables/ompplaces.rst:
838         Add trailing newline.
839         * doc/openmp-environment-variables/ompprocbind.rst:
840         Add trailing newline.
841         * doc/openmp-environment-variables/ompschedule.rst:
842         Add trailing newline.
843         * doc/openmp-environment-variables/ompstacksize.rst:
844         Add trailing newline.
845         * doc/openmp-environment-variables/omptargetoffload.rst:
846         Add trailing newline.
847         * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
848         Add trailing newline.
849         * doc/openmp-environment-variables/ompthreadlimit.rst:
850         Add trailing newline.
851         * doc/openmp-environment-variables/ompwaitpolicy.rst:
852         Add trailing newline.
853         * doc/openmp-implementation-specifics.rst:
854         Add trailing newline.
855         * doc/openmp-implementation-status.rst:
856         Add trailing newline.
857         * doc/openmp-implementation-status/openmp-45.rst:
858         Add trailing newline.
859         * doc/openmp-implementation-status/openmp-50.rst:
860         Add trailing newline.
861         * doc/openmp-implementation-status/openmp-51.rst:
862         Add trailing newline.
863         * doc/openmp-implementation-status/openmp-52.rst:
864         Add trailing newline.
865         * doc/openmp-runtime-library-routines.rst:
866         Add trailing newline.
867         * doc/openmp-runtime-library-routines/ompdestroylock.rst:
868         Add trailing newline.
869         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
870         Add trailing newline.
871         * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
872         Add trailing newline.
873         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
874         Add trailing newline.
875         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
876         Add trailing newline.
877         * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
878         Add trailing newline.
879         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
880         Add trailing newline.
881         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
882         Add trailing newline.
883         * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
884         Add trailing newline.
885         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
886         Add trailing newline.
887         * doc/openmp-runtime-library-routines/ompgetlevel.rst:
888         Add trailing newline.
889         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
890         Add trailing newline.
891         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
892         Add trailing newline.
893         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
894         Add trailing newline.
895         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
896         Add trailing newline.
897         * doc/openmp-runtime-library-routines/ompgetnested.rst:
898         Add trailing newline.
899         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
900         Add trailing newline.
901         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
902         Add trailing newline.
903         * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
904         Add trailing newline.
905         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
906         Add trailing newline.
907         * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
908         Add trailing newline.
909         * doc/openmp-runtime-library-routines/ompgetschedule.rst:
910         Add trailing newline.
911         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
912         Add trailing newline.
913         * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
914         Add trailing newline.
915         * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
916         Add trailing newline.
917         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
918         Add trailing newline.
919         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
920         Add trailing newline.
921         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
922         Add trailing newline.
923         * doc/openmp-runtime-library-routines/ompgetwtick.rst:
924         Add trailing newline.
925         * doc/openmp-runtime-library-routines/ompgetwtime.rst:
926         Add trailing newline.
927         * doc/openmp-runtime-library-routines/ompinfinal.rst:
928         Add trailing newline.
929         * doc/openmp-runtime-library-routines/ompinitlock.rst:
930         Add trailing newline.
931         * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
932         Add trailing newline.
933         * doc/openmp-runtime-library-routines/ompinparallel.rst:
934         Add trailing newline.
935         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
936         Add trailing newline.
937         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
938         Add trailing newline.
939         * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
940         Add trailing newline.
941         * doc/openmp-runtime-library-routines/ompsetlock.rst:
942         Add trailing newline.
943         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
944         Add trailing newline.
945         * doc/openmp-runtime-library-routines/ompsetnested.rst:
946         Add trailing newline.
947         * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
948         Add trailing newline.
949         * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
950         Add trailing newline.
951         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
952         Add trailing newline.
953         * doc/openmp-runtime-library-routines/ompsetschedule.rst:
954         Add trailing newline.
955         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
956         Add trailing newline.
957         * doc/openmp-runtime-library-routines/omptestlock.rst:
958         Add trailing newline.
959         * doc/openmp-runtime-library-routines/omptestnestlock.rst:
960         Add trailing newline.
961         * doc/openmp-runtime-library-routines/ompunsetlock.rst:
962         Add trailing newline.
963         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
964         Add trailing newline.
965         * doc/reporting-bugs.rst:
966         Add trailing newline.
967         * doc/the-libgomp-abi.rst:
968         Add trailing newline.
969         * doc/the-libgomp-abi/implementing-atomic-construct.rst:
970         Add trailing newline.
971         * doc/the-libgomp-abi/implementing-barrier-construct.rst:
972         Add trailing newline.
973         * doc/the-libgomp-abi/implementing-critical-construct.rst:
974         Add trailing newline.
975         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
976         Add trailing newline.
977         * doc/the-libgomp-abi/implementing-flush-construct.rst:
978         Add trailing newline.
979         * doc/the-libgomp-abi/implementing-for-construct.rst:
980         Add trailing newline.
981         * doc/the-libgomp-abi/implementing-master-construct.rst:
982         Add trailing newline.
983         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
984         Add trailing newline.
985         * doc/the-libgomp-abi/implementing-ordered-construct.rst:
986         Add trailing newline.
987         * doc/the-libgomp-abi/implementing-parallel-construct.rst:
988         Add trailing newline.
989         * doc/the-libgomp-abi/implementing-private-clause.rst:
990         Add trailing newline.
991         * doc/the-libgomp-abi/implementing-reduction-clause.rst:
992         Add trailing newline.
993         * doc/the-libgomp-abi/implementing-sections-construct.rst:
994         Add trailing newline.
995         * doc/the-libgomp-abi/implementing-single-construct.rst:
996         Add trailing newline.
997         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
998         Add trailing newline.
1000 2022-11-14  Martin Liska  <mliska@suse.cz>
1002         Revert:
1003         2022-11-09  Martin Liska  <mliska@suse.cz>
1005         * Makefile.in: Add missing HAS_SPHINX_BUILD.
1007 2022-11-14  Martin Liska  <mliska@suse.cz>
1009         Revert:
1010         2022-11-14  Martin Liska  <mliska@suse.cz>
1012         * doc/conf.py: Add newline at last line.
1014 2022-11-14  Martin Liska  <mliska@suse.cz>
1016         Revert:
1017         2022-11-14  Martin Liska  <mliska@suse.cz>
1019         PR other/107620
1020         * configure: Regenerate.
1021         * configure.ac: Always set sphinx-build.
1023 2022-11-13  Martin Liska  <mliska@suse.cz>
1025         PR other/107620
1026         * configure: Regenerate.
1027         * configure.ac: Always set sphinx-build.
1029 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
1031         PR libgomp/107641
1032         * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
1033         unsigned long.  Change type of upper from unsigned to unsigned long.
1035 2022-11-10  Martin Liska  <mliska@suse.cz>
1037         * doc/conf.py: Add newline at last line.
1039 2022-11-09  Martin Liska  <mliska@suse.cz>
1041         * Makefile.in: Add missing HAS_SPHINX_BUILD.
1043 2022-11-09  Martin Liska  <mliska@suse.cz>
1045         * doc/amd-radeon-gcn.rst:
1046         Add trailing newline.
1047         * doc/copyright.rst:
1048         Add trailing newline.
1049         * doc/cuda-streams-usage.rst:
1050         Add trailing newline.
1051         * doc/enabling-openacc.rst:
1052         Add trailing newline.
1053         * doc/enabling-openmp.rst:
1054         Add trailing newline.
1055         * doc/first-invocation-nvidia-cublas-library-api.rst:
1056         Add trailing newline.
1057         * doc/first-invocation-openacc-library-api.rst:
1058         Add trailing newline.
1059         * doc/funding.rst:
1060         Add trailing newline.
1061         * doc/general-public-license-3.rst:
1062         Add trailing newline.
1063         * doc/gnu-free-documentation-license.rst:
1064         Add trailing newline.
1065         * doc/implementation-status-and-implementation-defined-behavior.rst:
1066         Add trailing newline.
1067         * doc/index.rst:
1068         Add trailing newline.
1069         * doc/indices-and-tables.rst:
1070         Add trailing newline.
1071         * doc/introduction.rst:
1072         Add trailing newline.
1073         * doc/memory-allocation-with-libmemkind.rst:
1074         Add trailing newline.
1075         * doc/nvptx.rst:
1076         Add trailing newline.
1077         * doc/offload-target-specifics.rst:
1078         Add trailing newline.
1079         * doc/openacc-environment-variables.rst:
1080         Add trailing newline.
1081         * doc/openacc-environment-variables/accdevicenum.rst:
1082         Add trailing newline.
1083         * doc/openacc-environment-variables/accdevicetype.rst:
1084         Add trailing newline.
1085         * doc/openacc-environment-variables/accproflib.rst:
1086         Add trailing newline.
1087         * doc/openacc-environment-variables/gccaccnotify.rst:
1088         Add trailing newline.
1089         * doc/openacc-introduction.rst:
1090         Add trailing newline.
1091         * doc/openacc-library-and-environment-variables.rst:
1092         Add trailing newline.
1093         * doc/openacc-library-interoperability.rst:
1094         Add trailing newline.
1095         * doc/openacc-profiling-interface.rst:
1096         Add trailing newline.
1097         * doc/openacc-runtime-library-routines.rst:
1098         Add trailing newline.
1099         * doc/openacc-runtime-library-routines/accasynctest.rst:
1100         Add trailing newline.
1101         * doc/openacc-runtime-library-routines/accasynctestall.rst:
1102         Add trailing newline.
1103         * doc/openacc-runtime-library-routines/accattach.rst:
1104         Add trailing newline.
1105         * doc/openacc-runtime-library-routines/acccopyin.rst:
1106         Add trailing newline.
1107         * doc/openacc-runtime-library-routines/acccopyout.rst:
1108         Add trailing newline.
1109         * doc/openacc-runtime-library-routines/acccreate.rst:
1110         Add trailing newline.
1111         * doc/openacc-runtime-library-routines/accdelete.rst:
1112         Add trailing newline.
1113         * doc/openacc-runtime-library-routines/accdetach.rst:
1114         Add trailing newline.
1115         * doc/openacc-runtime-library-routines/accdeviceptr.rst:
1116         Add trailing newline.
1117         * doc/openacc-runtime-library-routines/accfree.rst:
1118         Add trailing newline.
1119         * doc/openacc-runtime-library-routines/accgetcudastream.rst:
1120         Add trailing newline.
1121         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
1122         Add trailing newline.
1123         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
1124         Add trailing newline.
1125         * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
1126         Add trailing newline.
1127         * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
1128         Add trailing newline.
1129         * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
1130         Add trailing newline.
1131         * doc/openacc-runtime-library-routines/accgetproperty.rst:
1132         Add trailing newline.
1133         * doc/openacc-runtime-library-routines/acchostptr.rst:
1134         Add trailing newline.
1135         * doc/openacc-runtime-library-routines/accinit.rst:
1136         Add trailing newline.
1137         * doc/openacc-runtime-library-routines/accispresent.rst:
1138         Add trailing newline.
1139         * doc/openacc-runtime-library-routines/accmalloc.rst:
1140         Add trailing newline.
1141         * doc/openacc-runtime-library-routines/accmapdata.rst:
1142         Add trailing newline.
1143         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
1144         Add trailing newline.
1145         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
1146         Add trailing newline.
1147         * doc/openacc-runtime-library-routines/accondevice.rst:
1148         Add trailing newline.
1149         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
1150         Add trailing newline.
1151         * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
1152         Add trailing newline.
1153         * doc/openacc-runtime-library-routines/accproflookup.rst:
1154         Add trailing newline.
1155         * doc/openacc-runtime-library-routines/accprofregister.rst:
1156         Add trailing newline.
1157         * doc/openacc-runtime-library-routines/accprofunregister.rst:
1158         Add trailing newline.
1159         * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
1160         Add trailing newline.
1161         * doc/openacc-runtime-library-routines/accsetcudastream.rst:
1162         Add trailing newline.
1163         * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
1164         Add trailing newline.
1165         * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
1166         Add trailing newline.
1167         * doc/openacc-runtime-library-routines/accshutdown.rst:
1168         Add trailing newline.
1169         * doc/openacc-runtime-library-routines/accunmapdata.rst:
1170         Add trailing newline.
1171         * doc/openacc-runtime-library-routines/accupdatedevice.rst:
1172         Add trailing newline.
1173         * doc/openacc-runtime-library-routines/accupdateself.rst:
1174         Add trailing newline.
1175         * doc/openacc-runtime-library-routines/accwait.rst:
1176         Add trailing newline.
1177         * doc/openacc-runtime-library-routines/accwaitall.rst:
1178         Add trailing newline.
1179         * doc/openacc-runtime-library-routines/accwaitallasync.rst:
1180         Add trailing newline.
1181         * doc/openacc-runtime-library-routines/accwaitasync.rst:
1182         Add trailing newline.
1183         * doc/openmp-context-selectors.rst:
1184         Add trailing newline.
1185         * doc/openmp-environment-variables.rst:
1186         Add trailing newline.
1187         * doc/openmp-environment-variables/gompcpuaffinity.rst:
1188         Add trailing newline.
1189         * doc/openmp-environment-variables/gompdebug.rst:
1190         Add trailing newline.
1191         * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
1192         Add trailing newline.
1193         * doc/openmp-environment-variables/gompspincount.rst:
1194         Add trailing newline.
1195         * doc/openmp-environment-variables/gompstacksize.rst:
1196         Add trailing newline.
1197         * doc/openmp-environment-variables/ompcancellation.rst:
1198         Add trailing newline.
1199         * doc/openmp-environment-variables/ompdefaultdevice.rst:
1200         Add trailing newline.
1201         * doc/openmp-environment-variables/ompdisplayenv.rst:
1202         Add trailing newline.
1203         * doc/openmp-environment-variables/ompdynamic.rst:
1204         Add trailing newline.
1205         * doc/openmp-environment-variables/ompmaxactivelevels.rst:
1206         Add trailing newline.
1207         * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
1208         Add trailing newline.
1209         * doc/openmp-environment-variables/ompnested.rst:
1210         Add trailing newline.
1211         * doc/openmp-environment-variables/ompnumteams.rst:
1212         Add trailing newline.
1213         * doc/openmp-environment-variables/ompnumthreads.rst:
1214         Add trailing newline.
1215         * doc/openmp-environment-variables/ompplaces.rst:
1216         Add trailing newline.
1217         * doc/openmp-environment-variables/ompprocbind.rst:
1218         Add trailing newline.
1219         * doc/openmp-environment-variables/ompschedule.rst:
1220         Add trailing newline.
1221         * doc/openmp-environment-variables/ompstacksize.rst:
1222         Add trailing newline.
1223         * doc/openmp-environment-variables/omptargetoffload.rst:
1224         Add trailing newline.
1225         * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
1226         Add trailing newline.
1227         * doc/openmp-environment-variables/ompthreadlimit.rst:
1228         Add trailing newline.
1229         * doc/openmp-environment-variables/ompwaitpolicy.rst:
1230         Add trailing newline.
1231         * doc/openmp-implementation-specifics.rst:
1232         Add trailing newline.
1233         * doc/openmp-implementation-status.rst:
1234         Add trailing newline.
1235         * doc/openmp-implementation-status/openmp-45.rst:
1236         Add trailing newline.
1237         * doc/openmp-implementation-status/openmp-50.rst:
1238         Add trailing newline.
1239         * doc/openmp-implementation-status/openmp-51.rst:
1240         Add trailing newline.
1241         * doc/openmp-implementation-status/openmp-52.rst:
1242         Add trailing newline.
1243         * doc/openmp-runtime-library-routines.rst:
1244         Add trailing newline.
1245         * doc/openmp-runtime-library-routines/ompdestroylock.rst:
1246         Add trailing newline.
1247         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
1248         Add trailing newline.
1249         * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
1250         Add trailing newline.
1251         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
1252         Add trailing newline.
1253         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
1254         Add trailing newline.
1255         * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
1256         Add trailing newline.
1257         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
1258         Add trailing newline.
1259         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
1260         Add trailing newline.
1261         * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
1262         Add trailing newline.
1263         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
1264         Add trailing newline.
1265         * doc/openmp-runtime-library-routines/ompgetlevel.rst:
1266         Add trailing newline.
1267         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
1268         Add trailing newline.
1269         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
1270         Add trailing newline.
1271         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
1272         Add trailing newline.
1273         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
1274         Add trailing newline.
1275         * doc/openmp-runtime-library-routines/ompgetnested.rst:
1276         Add trailing newline.
1277         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
1278         Add trailing newline.
1279         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
1280         Add trailing newline.
1281         * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
1282         Add trailing newline.
1283         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
1284         Add trailing newline.
1285         * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
1286         Add trailing newline.
1287         * doc/openmp-runtime-library-routines/ompgetschedule.rst:
1288         Add trailing newline.
1289         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
1290         Add trailing newline.
1291         * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
1292         Add trailing newline.
1293         * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
1294         Add trailing newline.
1295         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
1296         Add trailing newline.
1297         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
1298         Add trailing newline.
1299         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
1300         Add trailing newline.
1301         * doc/openmp-runtime-library-routines/ompgetwtick.rst:
1302         Add trailing newline.
1303         * doc/openmp-runtime-library-routines/ompgetwtime.rst:
1304         Add trailing newline.
1305         * doc/openmp-runtime-library-routines/ompinfinal.rst:
1306         Add trailing newline.
1307         * doc/openmp-runtime-library-routines/ompinitlock.rst:
1308         Add trailing newline.
1309         * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
1310         Add trailing newline.
1311         * doc/openmp-runtime-library-routines/ompinparallel.rst:
1312         Add trailing newline.
1313         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
1314         Add trailing newline.
1315         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
1316         Add trailing newline.
1317         * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
1318         Add trailing newline.
1319         * doc/openmp-runtime-library-routines/ompsetlock.rst:
1320         Add trailing newline.
1321         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
1322         Add trailing newline.
1323         * doc/openmp-runtime-library-routines/ompsetnested.rst:
1324         Add trailing newline.
1325         * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
1326         Add trailing newline.
1327         * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
1328         Add trailing newline.
1329         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
1330         Add trailing newline.
1331         * doc/openmp-runtime-library-routines/ompsetschedule.rst:
1332         Add trailing newline.
1333         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
1334         Add trailing newline.
1335         * doc/openmp-runtime-library-routines/omptestlock.rst:
1336         Add trailing newline.
1337         * doc/openmp-runtime-library-routines/omptestnestlock.rst:
1338         Add trailing newline.
1339         * doc/openmp-runtime-library-routines/ompunsetlock.rst:
1340         Add trailing newline.
1341         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
1342         Add trailing newline.
1343         * doc/reporting-bugs.rst:
1344         Add trailing newline.
1345         * doc/the-libgomp-abi.rst:
1346         Add trailing newline.
1347         * doc/the-libgomp-abi/implementing-atomic-construct.rst:
1348         Add trailing newline.
1349         * doc/the-libgomp-abi/implementing-barrier-construct.rst:
1350         Add trailing newline.
1351         * doc/the-libgomp-abi/implementing-critical-construct.rst:
1352         Add trailing newline.
1353         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1354         Add trailing newline.
1355         * doc/the-libgomp-abi/implementing-flush-construct.rst:
1356         Add trailing newline.
1357         * doc/the-libgomp-abi/implementing-for-construct.rst:
1358         Add trailing newline.
1359         * doc/the-libgomp-abi/implementing-master-construct.rst:
1360         Add trailing newline.
1361         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
1362         Add trailing newline.
1363         * doc/the-libgomp-abi/implementing-ordered-construct.rst:
1364         Add trailing newline.
1365         * doc/the-libgomp-abi/implementing-parallel-construct.rst:
1366         Add trailing newline.
1367         * doc/the-libgomp-abi/implementing-private-clause.rst:
1368         Add trailing newline.
1369         * doc/the-libgomp-abi/implementing-reduction-clause.rst:
1370         Add trailing newline.
1371         * doc/the-libgomp-abi/implementing-sections-construct.rst:
1372         Add trailing newline.
1373         * doc/the-libgomp-abi/implementing-single-construct.rst:
1374         Add trailing newline.
1375         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
1376         Add trailing newline.
1378 2022-11-09  Martin Liska  <mliska@suse.cz>
1380         * Makefile.in: Build info pages conditionally.
1382 2022-11-09  Martin Liska  <mliska@suse.cz>
1384         * Makefile.in: Support --with-sphinx-build.
1385         * configure.ac: Likewise..
1386         * configure: Regenerate.
1388 2022-11-09  Martin Liska  <mliska@suse.cz>
1390         * libgomp.texi: Removed.
1392 2022-11-09  Martin Liska  <mliska@suse.cz>
1394         * Makefile.in: Support Sphinx based documentation.
1396 2022-11-09  Martin Liska  <mliska@suse.cz>
1398         * doc/amd-radeon-gcn.rst: New file.
1399         * doc/conf.py: New file.
1400         * doc/copyright.rst: New file.
1401         * doc/cuda-streams-usage.rst: New file.
1402         * doc/enabling-openacc.rst: New file.
1403         * doc/enabling-openmp.rst: New file.
1404         * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1405         * doc/first-invocation-openacc-library-api.rst: New file.
1406         * doc/funding.rst: New file.
1407         * doc/general-public-license-3.rst: New file.
1408         * doc/gnu-free-documentation-license.rst: New file.
1409         * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1410         * doc/index.rst: New file.
1411         * doc/indices-and-tables.rst: New file.
1412         * doc/introduction.rst: New file.
1413         * doc/memory-allocation-with-libmemkind.rst: New file.
1414         * doc/nvptx.rst: New file.
1415         * doc/offload-target-specifics.rst: New file.
1416         * doc/openacc-environment-variables.rst: New file.
1417         * doc/openacc-environment-variables/accdevicenum.rst: New file.
1418         * doc/openacc-environment-variables/accdevicetype.rst: New file.
1419         * doc/openacc-environment-variables/accproflib.rst: New file.
1420         * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1421         * doc/openacc-introduction.rst: New file.
1422         * doc/openacc-library-and-environment-variables.rst: New file.
1423         * doc/openacc-library-interoperability.rst: New file.
1424         * doc/openacc-profiling-interface.rst: New file.
1425         * doc/openacc-runtime-library-routines.rst: New file.
1426         * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1427         * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1428         * doc/openacc-runtime-library-routines/accattach.rst: New file.
1429         * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1430         * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1431         * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1432         * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1433         * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1434         * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1435         * doc/openacc-runtime-library-routines/accfree.rst: New file.
1436         * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1437         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1438         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1439         * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1440         * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1441         * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1442         * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1443         * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1444         * doc/openacc-runtime-library-routines/accinit.rst: New file.
1445         * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1446         * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1447         * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1448         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1449         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1450         * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1451         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1452         * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1453         * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1454         * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1455         * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1456         * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1457         * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1458         * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1459         * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1460         * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1461         * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1462         * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1463         * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1464         * doc/openacc-runtime-library-routines/accwait.rst: New file.
1465         * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1466         * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1467         * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1468         * doc/openmp-context-selectors.rst: New file.
1469         * doc/openmp-environment-variables.rst: New file.
1470         * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1471         * doc/openmp-environment-variables/gompdebug.rst: New file.
1472         * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1473         * doc/openmp-environment-variables/gompspincount.rst: New file.
1474         * doc/openmp-environment-variables/gompstacksize.rst: New file.
1475         * doc/openmp-environment-variables/ompcancellation.rst: New file.
1476         * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1477         * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1478         * doc/openmp-environment-variables/ompdynamic.rst: New file.
1479         * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1480         * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1481         * doc/openmp-environment-variables/ompnested.rst: New file.
1482         * doc/openmp-environment-variables/ompnumteams.rst: New file.
1483         * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1484         * doc/openmp-environment-variables/ompplaces.rst: New file.
1485         * doc/openmp-environment-variables/ompprocbind.rst: New file.
1486         * doc/openmp-environment-variables/ompschedule.rst: New file.
1487         * doc/openmp-environment-variables/ompstacksize.rst: New file.
1488         * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1489         * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1490         * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1491         * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1492         * doc/openmp-implementation-specifics.rst: New file.
1493         * doc/openmp-implementation-status.rst: New file.
1494         * doc/openmp-implementation-status/openmp-45.rst: New file.
1495         * doc/openmp-implementation-status/openmp-50.rst: New file.
1496         * doc/openmp-implementation-status/openmp-51.rst: New file.
1497         * doc/openmp-implementation-status/openmp-52.rst: New file.
1498         * doc/openmp-runtime-library-routines.rst: New file.
1499         * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1500         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1501         * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1502         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1503         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1504         * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1505         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1506         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1507         * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1508         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1509         * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1510         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1511         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1512         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1513         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1514         * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1515         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1516         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1517         * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1518         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1519         * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1520         * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1521         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1522         * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1523         * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1524         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1525         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1526         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1527         * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1528         * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1529         * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1530         * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1531         * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1532         * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1533         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1534         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1535         * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1536         * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1537         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1538         * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1539         * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1540         * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1541         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1542         * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1543         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1544         * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1545         * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1546         * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1547         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1548         * doc/reporting-bugs.rst: New file.
1549         * doc/the-libgomp-abi.rst: New file.
1550         * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1551         * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1552         * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1553         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1554         New file.
1555         * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1556         * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1557         * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1558         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1559         * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1560         * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1561         * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1562         * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1563         * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1564         * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1565         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1567 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
1569         * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
1570         * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
1571         documentation.
1572         * plugin/configfrag.ac <enable_offload_targets>
1573         [*-intelmic-* | *-intelmicemul-*]: Remove.
1574         * configure: Regenerate.
1575         * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
1576         handling.
1577         (offload_target_to_openacc_device_type)
1578         [$offload_target = *-intelmic*]: Remove.
1579         (check_effective_target_offload_device_intel_mic)
1580         (check_effective_target_offload_device_any_intel_mic): Remove.
1581         * testsuite/libgomp.c-c++-common/on_device_arch.h
1582         (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
1583         (any_device_arch_intel_mic): Remove.
1584         * testsuite/libgomp.c-c++-common/target-45.c: Remove
1585         'offload_device_any_intel_mic' XFAIL.
1586         * testsuite/libgomp.fortran/target10.f90: Likewise.
1588 2022-11-03  Tobias Burnus  <tobias@codesourcery.com>
1590         * testsuite/libgomp.fortran/target-11.f90: New test.
1591         * testsuite/libgomp.fortran/target-13.f90: New test.
1593 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
1595         PR libgomp/106643
1596         PR fortran/96668
1597         * oacc-mem.c (goacc_enter_data_internal): Support
1598         OpenACC 'declare create' with Fortran allocatable arrays, part II.
1599         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
1600         Adjust.
1601         * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
1603 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
1605         PR libgomp/106643
1606         * oacc-mem.c (goacc_enter_data_internal): Support
1607         OpenACC 'declare create' with Fortran allocatable arrays, part I.
1608         * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
1609         New.
1610         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
1611         New.
1613 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
1615         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
1616         New.
1618 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
1620         * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
1621         New.
1623 2022-11-02  Cesar Philippidis  <cesar@codesourcery.com>
1624             Thomas Schwinge  <thomas@codesourcery.com>
1626         * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
1628 2022-10-28  Julian Brown  <julian@codesourcery.com>
1629             Thomas Schwinge  <thomas@codesourcery.com>
1631         PR middle-end/90115
1632         * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
1633         * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
1634         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1635         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
1636         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1638 2022-10-24  Thomas Schwinge  <thomas@codesourcery.com>
1640         * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
1641         'ptx_dev->rev_data'.
1643 2022-10-24  Tobias Burnus  <tobias@codesourcery.com>
1645         * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
1646         'static' for this variable.
1647         * config/nvptx/libgomp-nvptx.h: New file.
1648         * config/nvptx/target.c: Include it.
1649         (GOMP_ADDITIONAL_ICVS): Declare extern var.
1650         (GOMP_REV_OFFLOAD_VAR): Declare var.
1651         (GOMP_target_ext): Handle reverse offload.
1652         * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
1653         * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
1654         * target.c (gomp_target_rev): ... this new stub function.
1655         * libgomp.h (gomp_target_rev): Declare.
1656         * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
1657         * plugin/cuda-lib.def (cuMemHostAlloc): Add.
1658         * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
1659         (struct ptx_device): Add rev_data member.
1660         (nvptx_open_device): Remove async_engines query, last used in
1661         r10-304-g1f4c5b9b; add unified-address assert check.
1662         (GOMP_OFFLOAD_get_num_devices): Claim unified address
1663         support.
1664         (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
1665         offload functions exist. Make offload var available
1666         on host and device.
1667         (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
1668         (GOMP_OFFLOAD_run): Handle reverse offload.
1670 2022-10-21  Thomas Schwinge  <thomas@codesourcery.com>
1672         PR tree-optimization/107195
1673         PR target/107344
1674         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
1675         regions checking.
1677 2022-10-20  Tobias Burnus  <tobias@codesourcery.com>
1679         * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
1680         New.
1681         * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
1682         on_device_arch_gcn): New.
1683         * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
1684         requires-4.c but using heap-allocated memory.
1686 2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
1688         PR target/105421
1689         * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
1691 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
1693         * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
1694         '-foffload-options' syntax.
1696 2022-10-13  Tobias Burnus  <tobias@codesourcery.com>
1698         * testsuite/libgomp.fortran/task-7.f90: New test.
1699         * testsuite/libgomp.fortran/task-8.f90: New test.
1700         * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
1701         * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
1702         * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
1703         * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
1704         * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
1706 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
1708         * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
1709         in deprecation bullet.
1711 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
1713         * omp.h.in (omp_in_explicit_task): Declare.
1714         * omp_lib.h.in (omp_in_explicit_task): Likewise.
1715         * omp_lib.f90.in (omp_in_explicit_task): New interface.
1716         * libgomp.map (OMP_5.2): New symbol version, export
1717         omp_in_explicit_task and omp_in_explicit_task_.
1718         * task.c (omp_in_explicit_task): New function.
1719         * fortran.c (omp_in_explicit_task): Add ialias_redirect.
1720         (omp_in_explicit_task_): New function.
1721         * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
1722         * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
1723         * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
1724         * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
1726 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
1728         * task.c (gomp_create_artificial_team): Fix up handling of invocations
1729         from within explicit task.
1730         * target.c (GOMP_target_ext): Likewise.
1731         * testsuite/libgomp.c/task-7.c: New test.
1732         * testsuite/libgomp.c/task-8.c: New test.
1733         * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
1734         * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
1736 2022-10-12  Martin Liska  <mliska@suse.cz>
1738         * configure: Regenerate.
1740 2022-10-11  Olivier Hainque  <hainque@adacore.com>
1741             Olivier Hainque  <hainque@adacore.com>
1743         * configure: Regenerate.
1745 2022-10-05  Tobias Burnus  <tobias@codesourcery.com>
1747         * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
1749 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
1751         * libgomp.texi (Support begin/end declare target syntax in C/C++):
1752         Mark as implemented.
1754 2022-09-30  Tobias Burnus  <tobias@codesourcery.com>
1756         PR fortran/105318
1757         * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
1759 2022-09-28  Tobias Burnus  <tobias@codesourcery.com>
1761         * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
1762         for C/C++. Remove duplicated 'begin declare target' entry.
1764 2022-09-24  Jakub Jelinek  <jakub@redhat.com>
1766         PR c/106981
1767         * testsuite/libgomp.c-c++-common/pr106981.c: New test.
1769 2022-09-14  Julian Brown  <julian@codesourcery.com>
1771         * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
1772         * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
1773         * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
1774         * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
1775         test to here, make "run" test.
1777 2022-09-13  Jakub Jelinek  <jakub@redhat.com>
1779         PR libgomp/106906
1780         * env.c (get_icv_member_addr): Cast false to void * before assigning
1781         it to icv_addr[1], and comment the whole assignment out.
1783 2022-09-13  Tobias Burnus  <tobias@codesourcery.com>
1785         * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
1786         (nvptx): ... here.
1788 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
1790         * libgomp.texi (Offload-Target Specifics: nvptx): Document
1791         that reverse offload requires >= -march=sm_35.
1792         * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
1793         with -misa=sm_35.
1794         * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
1795         * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
1796         * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
1797         * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
1798         * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
1800 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
1802         * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
1803         (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
1805 2022-09-12  Jakub Jelinek  <jakub@redhat.com>
1807         PR libgomp/106894
1808         * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
1809         (main): Avoid tests for which corresponding non-_ALL suffixed variable
1810         is in the environment, or for OMP_NUM_TEAMS on the device
1811         OMP_NUM_TEAMS_DEV_?.
1813 2022-09-10  Iain Sandoe  <iain@sandoe.co.uk>
1815         * env.c (initialize_env): Include libiberty environ.h.
1817 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
1819         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
1820         function address table '$offload_func_table' if rev_fn_table
1821         is not NULL.
1823 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
1825         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
1826         .offload_func_table to populate rev_fn_table when requested.
1828 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
1830         * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
1831         'uint64_t **rev_fn_table' argument.
1832         * oacc-host.c (host_load_image): Likewise.
1833         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
1834         currently unused.
1835         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
1836         * target.c (gomp_load_image_to_device): Update call but pass
1837         NULL for now.
1839 2022-09-09  Jakub Jelinek  <jakub@redhat.com>
1841         PR libgomp/106894
1842         * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
1843         char * for dest[1] initialization from params[1].  Formatting fixes.
1845 2022-09-08  Tobias Burnus  <tobias@codesourcery.com>
1847         PR fortran/106670
1848         * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
1850 2022-09-08  Tobias Burnus  <tobias@codesourcery.com>
1852         * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
1853         section; move OpenMP Context Selectors from ...
1854         (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
1855         'nvptx' sections.
1857 2022-09-08  Marcel Vollweiler  <marcel@codesourcery.com>
1859         * config/gcn/icv-device.c (omp_get_default_device): Return device-
1860         specific ICV.
1861         (omp_get_max_teams): Added for GCN devices.
1862         (omp_set_num_teams): Likewise.
1863         (ialias): Likewise.
1864         * config/nvptx/icv-device.c (omp_get_default_device): Return device-
1865         specific ICV.
1866         (omp_get_max_teams): Added for NVPTX devices.
1867         (omp_set_num_teams): Likewise.
1868         (ialias): Likewise.
1869         * env.c (struct gomp_icv_list): New struct to store entries of initial
1870         ICV values.
1871         (struct gomp_offload_icv_list): New struct to store entries of device-
1872         specific ICV values that are copied to the device and back.
1873         (struct gomp_default_icv_values): New struct to store default values of
1874         ICVs according to the OpenMP standard.
1875         (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
1876         (print_env_var_error): Function that prints an error for invalid values
1877         for ICVs.
1878         (parse_unsigned_long_1): Removed getenv.  Generalized.
1879         (parse_unsigned_long): Likewise.
1880         (parse_int_1): Likewise.
1881         (parse_int): Likewise.
1882         (parse_int_secure): Likewise.
1883         (parse_unsigned_long_list): Likewise.
1884         (parse_target_offload): Likewise.
1885         (parse_bind_var): Likewise.
1886         (parse_stacksize): Likewise.
1887         (parse_boolean): Likewise.
1888         (parse_wait_policy): Likewise.
1889         (parse_allocator): Likewise.
1890         (omp_display_env): Extended to output different variants of environment
1891         variables.
1892         (print_schedule): New helper function for omp_display_env which prints
1893         the values of run_sched_var.
1894         (print_proc_bind): New helper function for omp_display_env which prints
1895         the values of proc_bind_var.
1896         (enum gomp_parse_type): Collection of types used for parsing environment
1897         variables.
1898         (ENTRY): Preprocess string lengths of environment variables.
1899         (OMP_VAR_CNT): Preprocess table size.
1900         (OMP_HOST_VAR_CNT): Likewise.
1901         (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
1902         number.
1903         (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
1904         (gomp_set_icv_flag): Sets a flag for a particular ICV.
1905         (print_device_specific_icvs): New helper function for omp_display_env to
1906         print device specific ICV values.
1907         (get_device_num): New helper function for parse_device_specific.
1908         Extracts the device number from an environment variable name.
1909         (get_icv_member_addr): Gets the memory address for a particular member
1910         of an ICV struct.
1911         (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
1912         (initialize_icvs): New function to initialize a gomp_initial_icvs
1913         struct.
1914         (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
1915         (startswith): Checks if a string starts with a given prefix.
1916         (initialize_env): Extended to parse the new syntax of environment
1917         variables.
1918         * icv-device.c (omp_get_max_teams): Added.
1919         (ialias): Likewise.
1920         (omp_set_num_teams): Likewise.
1921         * icv.c (omp_set_num_teams): Moved to icv-device.c.
1922         (omp_get_max_teams): Likewise.
1923         (ialias): Likewise.
1924         * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
1925         (GOMP_ADDITIONAL_ICVS): New target-side struct that
1926         holds the designated ICVs of the target device.
1927         * libgomp.h (enum gomp_icvs): Collection of ICVs.
1928         (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
1929         no suffix.
1930         (enum gomp_env_suffix): Collection of possible suffixes of environment
1931         variables.
1932         (struct gomp_initial_icvs): Contains all ICVs for which we need to store
1933         initial values.
1934         (struct gomp_default_icv):New struct to hold ICVs for which we need
1935         to store initial values.
1936         (struct gomp_icv_list): Definition of a linked list that is used for
1937         storing ICVs for the devices and also for _DEV, _ALL, and without
1938         suffix.
1939         (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
1940         a device.
1941         (struct gomp_offload_icv_list): Definition of a linked list that holds
1942         device-specific ICVs that are copied to devices.
1943         (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
1944         (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
1945         * libgomp.texi: Updated.
1946         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
1947         further ICVs from the offload image.
1948         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
1949         * target.c (gomp_get_offload_icv_item): Get a list item of
1950         gomp_offload_icv_list.
1951         (get_gomp_offload_icvs): New. Returns the ICV values
1952         depending on the device num and the variable hierarchy.
1953         (gomp_load_image_to_device): Extended to copy further ICVs to a device.
1954         * testsuite/libgomp.c-c++-common/icv-5.c: New test.
1955         * testsuite/libgomp.c-c++-common/icv-6.c: New test.
1956         * testsuite/libgomp.c-c++-common/icv-7.c: New test.
1957         * testsuite/libgomp.c-c++-common/icv-8.c: New test.
1958         * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
1959         * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
1961 2022-09-08  Jakub Jelinek  <jakub@redhat.com>
1963         * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
1964         fully supported.
1965         * testsuite/libgomp.c/doacross-4.c: New test.
1966         * testsuite/libgomp.c/doacross-5.c: New test.
1967         * testsuite/libgomp.c/doacross-6.c: New test.
1968         * testsuite/libgomp.c/doacross-7.c: New test.
1970 2022-09-05  Tobias Burnus  <tobias@codesourcery.com>
1972         * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
1974 2022-08-26  Tobias Burnus  <tobias@codesourcery.com>
1976         * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
1977         refer to 'requires'.
1978         * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
1979         * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
1980         * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
1981         * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
1983 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
1985         PR middle-end/106548
1986         * testsuite/libgomp.c/linear-2.c: New test.
1988 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
1990         * splay-tree.h: Fix splay_* macro unsetting if
1991         splay_tree_prefix is defined.
1993 2022-07-29  Tobias Burnus  <tobias@codesourcery.com>
1995         * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
1997 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
1999         PR middle-end/106449
2000         * testsuite/libgomp.c-c++-common/pr106449.c: New test.
2002 2022-07-12  Tobias Burnus  <tobias@codesourcery.com>
2004         * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
2006 2022-07-12  Thomas Schwinge  <thomas@codesourcery.com>
2008         PR middle-end/101551
2009         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
2010         'offloading_enabled' diagnostics issue.
2012 2022-07-11  Thomas Schwinge  <thomas@codesourcery.com>
2014         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
2015         '_Pragma' diagnostics verification.
2017 2022-07-10  Lewis Hyatt  <lhyatt@gmail.com>
2019         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
2020         improved warning locations.
2021         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
2023 2022-07-08  Thomas Schwinge  <thomas@codesourcery.com>
2025         * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
2026         * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
2027         * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
2028         * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
2029         * testsuite/libgomp.fortran/requires-1.f90: Likewise.
2031 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
2033         * target.c (GOMP_offload_register, GOMP_offload_unregister):
2034         Denote as legacy entry points.
2035         * testsuite/lib/libgomp.exp
2036         (check_effective_target_offload_target_any): New proc.
2037         * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
2038         'offload_target_any'.
2039         * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
2040         * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
2041         * testsuite/libgomp.fortran/requires-1.f90: Likewise.
2043 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
2045         * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
2046         * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
2048 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
2050         * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
2052 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
2054         * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
2055         'data'.
2056         (GOMP_offload_unregister_ver): Likewise.  Fix up 'target_data'.
2058 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
2059             Jakub Jelinek  <jakub@redhat.com>
2061         * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
2063 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
2064             Chung-Lin Tang  <cltang@codesourcery.com>
2065             Thomas Schwinge  <thomas@codesourcery.com>
2067         * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
2068         omp_requires_mask arg.
2069         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
2070         return -1 when device available but omp_requires_mask != 0.
2071         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
2072         * oacc-host.c (host_get_num_devices, host_openacc_get_property):
2073         Update call.
2074         * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
2075         goacc_attach_host_thread_to_device, acc_get_num_devices,
2076         acc_set_device_num, get_property_any): Likewise.
2077         * target.c (omp_requires_mask): New global var.
2078         (gomp_requires_to_name): New.
2079         (GOMP_offload_register_ver): Handle passed omp_requires_mask.
2080         (gomp_target_init): Handle omp_requires_mask.
2081         * libgomp.texi (OpenMP 5.0): Update requires impl. status.
2082         (OpenMP 5.1): Add a missed item.
2083         (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
2084         * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
2085         * testsuite/libgomp.c-c++-common/requires-1.c: New test.
2086         * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
2087         * testsuite/libgomp.c-c++-common/requires-2.c: New test.
2088         * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
2089         * testsuite/libgomp.c-c++-common/requires-3.c: New test.
2090         * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
2091         * testsuite/libgomp.c-c++-common/requires-4.c: New test.
2092         * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
2093         * testsuite/libgomp.c-c++-common/requires-5.c: New test.
2094         * testsuite/libgomp.c-c++-common/requires-6.c: New test.
2095         * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
2096         * testsuite/libgomp.c-c++-common/requires-7.c: New test.
2097         * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
2098         * testsuite/libgomp.fortran/requires-1.f90: New test.
2100 2022-07-01  Tobias Burnus  <tobias@codesourcery.com>
2102         * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
2103         with fromto as implemented.
2105 2022-06-28  Martin Liska  <mliska@suse.cz>
2107         * acinclude.m4: Fix typo in mold linker detection.
2108         * Makefile.in: Regenerate.
2109         * configure: Regenerate.
2111 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
2112             Paul Iannetta  <piannetta@kalrayinc.com>
2114         PR libgomp/106045
2115         * testsuite/libgomp.c/target-31.c: Add private (i) clause.
2117 2022-06-17  Martin Liska  <mliska@suse.cz>
2119         * libgomp.texi: Add table header for new features of
2120         OpenMP 5.2.
2122 2022-06-15  Jakub Jelinek  <jakub@redhat.com>
2124         * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
2125         q to ddress of an automatic variable.  Use -5 instead of -1 in
2126         omp_get_mapped_ptr call.  Add test with omp_initial_device.
2127         * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
2128         of -1 in omp_get_mapped_ptr call.  Add test with omp_initial_device.
2129         Renumber stop arguments afterwards.
2131 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
2133         * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
2134         * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
2135         parameters.
2136         * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
2137         * target.c (resolve_device): Add remapped argument, handle
2138         GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
2139         for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
2140         if remapped, otherwise treat omp_initial_device that way.  For
2141         omp_invalid_device, always emit gomp_fatal, even when
2142         OMP_TARGET_OFFLOAD isn't mandatory.
2143         (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
2144         GOMP_target_update, GOMP_target_update_ext,
2145         GOMP_target_enter_exit_data): Pass true as remapped argument to
2146         resolve_device.
2147         (omp_target_alloc, omp_target_free, omp_target_is_present,
2148         omp_target_memcpy_check, omp_target_associate_ptr,
2149         omp_target_disassociate_ptr, omp_get_mapped_ptr,
2150         omp_target_is_accessible): Pass false as remapped argument to
2151         resolve_device.  Treat omp_initial_device the same as
2152         gomp_get_num_devices ().  Don't bypass resolve_device calls if
2153         device_num is negative.
2154         (omp_pause_resource): Treat omp_initial_device the same as
2155         gomp_get_num_devices ().  Call resolve_device.
2156         * icv-device.c (omp_set_default_device): Always set to device_num
2157         even when it is negative.
2158         * libgomp.texi: Document that Conforming device numbers,
2159         omp_initial_device and omp_invalid_device is implemented.
2160         * testsuite/libgomp.c/target-41.c (main): Add test with
2161         omp_initial_device.
2162         * testsuite/libgomp.c/target-45.c: New test.
2163         * testsuite/libgomp.c/target-46.c: New test.
2164         * testsuite/libgomp.c/target-47.c: New test.
2165         * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
2166         test with omp_initial_device.  Use -5 instead of -1 for negative value
2167         test.
2168         * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
2169         Likewise.  Reorder stop numbers.
2171 2022-06-10  Jakub Jelinek  <jakub@redhat.com>
2173         * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
2174         rather than "libmemkind.so".
2176 2022-06-10  Thomas Schwinge  <thomas@codesourcery.com>
2178         * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
2179         * plugin/configfrag.ac (--with-cuda-driver)
2180         (--with-cuda-driver-include, --with-cuda-driver-lib)
2181         (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
2182         (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
2183         Remove.
2184         * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
2185         (cuda_driver_lib): Remove.
2186         * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
2187         * Makefile.in: Regenerate.
2188         * configure: Likewise.
2189         * testsuite/Makefile.in: Likewise.
2191 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
2193         * config/linux/allocator.c: Fix up #include directive.
2195 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
2197         * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
2198         (enum gomp_memkind_kind): New type.
2199         (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
2200         is defined.
2201         (struct gomp_memkind_data): New type.
2202         (memkind_data, memkind_data_once): New variables.
2203         (gomp_init_memkind, gomp_get_memkind): New functions.
2204         (omp_init_allocator): Initialize data.memkind, don't fail for
2205         omp_high_bw_mem_space if libmemkind supports it.
2206         (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
2207         memkind support of LIBGOMP_USE_MEMKIND is defined.
2208         * config/linux/allocator.c: New file.
2210 2022-06-03  Tobias Burnus  <tobias@codesourcery.com>
2212         * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
2213         * testsuite/libgomp.fortran/scope-2.f90: New test.
2215 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
2217         * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
2219 2022-05-31  Jakub Jelinek  <jakub@redhat.com>
2221         * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
2222         scope construct with allocate clause.
2223         * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
2224         * testsuite/libgomp.c-c++-common/scope-2.c: New test.
2226 2022-05-28  Tobias Burnus  <tobias@codesourcery.com>
2228         * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
2229         * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
2230         explicit 'to' and 'enter' clause.
2231         * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
2233 2022-05-28  Jakub Jelinek  <jakub@redhat.com>
2235         PR libgomp/105745
2236         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
2237         defined(HAVE__ALIGNED_MALLOC) case.
2238         * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
2239         handling as last option before fallback instead of first.
2240         (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
2241         _aligned_free.
2243 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
2245         * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
2246         clauses to enter.
2247         * testsuite/libgomp.c/target-41.c: Likewise.
2249 2022-05-27  Tobias Burnus  <tobias@codesourcery.com>
2251         * libgomp.texi (Other new OpenMP 5.1 features): Add
2252         'begin declare target'.
2253         (Other new OpenMP 5.2 features): New.
2255 2022-05-25  Jakub Jelinek  <jakub@redhat.com>
2257         * task.c (gomp_task_run_post_handle_dependers): If empty_task
2258         is the last task taskwait depend depends on, wake it up.
2259         Similarly if it is the last child of a taskgroup, use atomic
2260         store instead of decrement and awak taskgroup wait if any.
2261         * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
2263 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
2265         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2266         EF_AMDGPU_MACH_AMDGCN_GFX90a.
2267         (gcn_gfx90a_s): New.
2268         (isa_hsa_name): Support gfx90a.
2269         (isa_code): Likewise.
2271 2022-05-24  Tobias Burnus  <tobias@codesourcery.com>
2273         PR c/105378
2274         * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
2275         * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
2277 2022-05-24  Jakub Jelinek  <jakub@redhat.com>
2279         PR c/105378
2280         * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
2281         * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
2282         * task.c (empty_task): New function.
2283         (gomp_task_run_post_handle_depend_hash): Declare earlier.
2284         (gomp_task_run_post_handle_depend): Declare.
2285         (GOMP_task): Optimize fn == empty_task if there is nothing to wait
2286         for.
2287         (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
2288         (GOMP_taskwait_depend_nowait): New function.
2289         * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
2291 2022-05-23  Tobias Burnus  <tobias@codesourcery.com>
2293         PR fortran/104949
2294         * target.c (gomp_map_vars_internal, copy_firstprivate_data):
2295         Support attach for GOMP_MAP_FIRSTPRIVATE.
2296         * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
2297         * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
2298         * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
2300 2022-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
2302         * libgomp.map: Added omp_target_memcpy_async and
2303         omp_target_memcpy_rect_async.
2304         * libgomp.texi: Both functions are now supported.
2305         * omp.h.in: Added omp_target_memcpy_async and
2306         omp_target_memcpy_rect_async.
2307         * omp_lib.f90.in: Added interfaces for both new functions.
2308         * omp_lib.h.in: Likewise.
2309         * target.c (ialias_redirect): Added for GOMP_task.
2310         (omp_target_memcpy): Restructured into check and copy part.
2311         (omp_target_memcpy_check): New helper function for omp_target_memcpy and
2312         omp_target_memcpy_async that checks requirements.
2313         (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
2314         omp_target_memcpy_async that performs the memcpy.
2315         (omp_target_memcpy_async_helper): New helper function that is used in
2316         omp_target_memcpy_async for the asynchronous task.
2317         (omp_target_memcpy_async): Added.
2318         (omp_target_memcpy_rect): Restructured into check and copy part.
2319         (omp_target_memcpy_rect_check): New helper function for
2320         omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
2321         requirements.
2322         (omp_target_memcpy_rect_copy): New helper function for
2323         omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
2324         the memcpy.
2325         (omp_target_memcpy_rect_async_helper): New helper function that is used
2326         in omp_target_memcpy_rect_async for the asynchronous task.
2327         (omp_target_memcpy_rect_async): Added.
2328         * task.c (ialias): Added for GOMP_task.
2329         * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
2330         * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
2331         * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
2332         * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
2333         * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
2334         * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
2335         * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
2336         * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
2338 2022-05-18  Tobias Burnus  <tobias@codesourcery.com>
2340         * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
2341         (OpenMP Context Selectors): Add missing comma.
2342         * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
2343         * testsuite/libgomp.fortran/depend-6.f90: Likewise.
2344         * testsuite/libgomp.fortran/depend-7.f90: Likewise.
2345         * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
2347 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
2349         * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
2350         comment for omp_display_env feature.
2352 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
2354         * libgomp.texi (Offload-Target Specifics): New chapter; add section
2355         to document OpenMP context selectors.
2357 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
2359         * libgomp.h (struct gomp_task_depend_entry): Change is_in type
2360         from bool to unsigned char.
2361         * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
2362         Ignore dependencies where
2363         task->depend[i].is_in && task->depend[i].is_in == ent->is_in
2364         rather than just task->depend[i].is_in && ent->is_in.  Remember
2365         whether GOMP_DEPEND_IN loop is needed and guard the loop with that
2366         conditional.
2367         (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
2368         Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
2369         rather than just elem.is_in && ent->is_in.
2370         * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
2371         inoutset depend-kind.
2372         * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
2373         * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
2374         * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
2376 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
2378         * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
2380 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
2382         * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
2383         * testsuite/libgomp.fortran/depend-5.f90: New test.
2384         * testsuite/libgomp.fortran/depend-6.f90: New test.
2385         * testsuite/libgomp.fortran/depend-7.f90: New test.
2387 2022-05-16  Marcel Vollweiler  <marcel@codesourcery.com>
2389         * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
2390         * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
2391         * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
2393 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
2395         * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
2397 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
2399         * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
2401 2022-05-13  Thomas Schwinge  <thomas@codesourcery.com>
2403         * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
2404         [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
2405         (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
2406         append '$(PLUGIN_NVPTX_LDFLAGS)'.
2407         * Makefile.in: Regenerate.
2409 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
2411         * Makefile.am (libgomp_la_LIBADD): Initialize.
2412         * plugin/configfrag.ac (DL_LIBS): New.
2413         (PLUGIN_GCN_LIBS): Remove.
2414         (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
2415         * plugin/Makefrag.am (libgomp_la_LIBADD)
2416         (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
2417         (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
2418         * Makefile.in: Regenerate.
2419         * config.h.in: Likewise.
2420         * configure: Likewise.
2421         * testsuite/Makefile.in: Likewise.
2423 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
2425         * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
2426         * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
2427         'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
2428         * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
2429         'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
2430         'PLUGIN_NVPTX_LINK_LIBCUDA'.
2431         * Makefile.in: Regenerate.
2432         * config.h.in: Likewise.
2433         * configure: Likewise.
2435 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
2437         * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
2438         for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
2439         * Makefile.in: Regenerate.
2440         * config.h.in: Likewise.
2441         * configure: Likewise.
2442         * testsuite/Makefile.in: Likewise.
2444 2022-05-12  Jakub Jelinek  <jakub@redhat.com>
2446         * libgomp.h (struct gomp_task): Add depend_all_memory member.
2447         * task.c (gomp_init_task): Initialize depend_all_memory.
2448         (gomp_task_handle_depend): Handle omp_all_memory.
2449         (gomp_task_run_post_handle_depend_hash): Clear
2450         parent->depend_all_memory if equal to current task.
2451         (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
2452         * testsuite/libgomp.c-c++-common/depend-1.c: New test.
2453         * testsuite/libgomp.c-c++-common/depend-2.c: New test.
2454         * testsuite/libgomp.c-c++-common/depend-3.c: New test.
2456 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
2458         * plugin/configfrag.ac: Remove '--with-hsa-runtime',
2459         '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
2460         * Makefile.in: Regenerate.
2461         * configure: Likewise.
2462         * testsuite/Makefile.in: Likewise.
2464 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
2466         * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
2467         consider 'PLUGIN_GCN_CPPFLAGS'.
2468         (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
2469         'PLUGIN_GCN_LDFLAGS'.
2470         * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
2471         Remove.
2472         * Makefile.in: Regenerate.
2473         * configure: Likewise.
2474         * testsuite/Makefile.in: Likewise.
2476 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
2478         * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
2479         (HSA_RUNTIME_LDFLAGS): Remove.
2480         * configure: Regenerate.
2482 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
2484         * testsuite/lib/libgomp.exp (libgomp_init): Don't
2485         'append always_ld_library_path ":$hsa_runtime_lib"'.
2486         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
2488 2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
2490         * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
2491         multi-device testing.
2493 2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
2495         * libgomp.map: Added omp_target_is_accessible.
2496         * libgomp.texi: Tagged omp_target_is_accessible as supported.
2497         * omp.h.in: Added omp_target_is_accessible.
2498         * omp_lib.f90.in: Added interface for omp_target_is_accessible.
2499         * omp_lib.h.in: Likewise.
2500         * target.c (omp_target_is_accessible): Added implementation of
2501         omp_target_is_accessible.
2502         * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
2503         * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
2505 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
2507         * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
2509 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
2511         * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
2513 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
2515         * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
2517 2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
2519         * libgomp.map: Added omp_get_mapped_ptr.
2520         * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
2521         * omp.h.in: Added omp_get_mapped_ptr.
2522         * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
2523         * omp_lib.h.in: Likewise.
2524         * target.c (omp_get_mapped_ptr): Added implementation of
2525         omp_get_mapped_ptr.
2526         * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
2527         * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
2528         * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
2529         * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
2530         * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
2531         * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
2532         * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
2533         * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
2535 2022-04-28  Thomas Schwinge  <thomas@codesourcery.com>
2537         PR fortran/104717
2538         * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
2539         privatization scanning.  For GCN offloading compilation, raise
2540         '-mgang-private-size'.
2542 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
2544         PR libgomp/105358
2545         * work.c (gomp_init_work_share): Don't mask of adjustment for
2546         dynamic long long realignment if struct gomp_work_share has smaller
2547         alignof than long long.
2548         * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
2549         struct gomp_work_share has smaller alignof than long long or if
2550         sizeof (struct gomp_work_share) is smaller than
2551         INLINE_ORDERED_TEAM_IDS_OFF.
2552         * loop_ull.c (GOMP_loop_ull_start): Likewise.
2553         * sections.c (GOMP_sections2_start): Likewise.
2555 2022-04-25  Jakub Jelinek  <jakub@redhat.com>
2556             Thomas Schwinge  <thomas@codesourcery.com>
2558         PR fortran/104717
2559         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
2561 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
2563         * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
2565 2022-04-06  Thomas Schwinge  <thomas@codesourcery.com>
2567         * plugin/cuda/cuda.h: Remove file.
2568         * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
2569         "cuda/cuda.h" instead of <cuda.h>.
2570         * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
2571         'PLUGIN_NVPTX_CPPFLAGS'.
2572         * configure: Regenerate.
2574 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
2576         * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
2578 2022-04-04  Tom de Vries  <tdevries@suse.de>
2580         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
2581         on_device_arch_nvptx instead of offload_target_nvptx.
2582         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2584 2022-04-01  Tom de Vries  <tdevries@suse.de>
2586         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
2587         and use REC_DEPTH.
2588         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2590 2022-04-01  Tom de Vries  <tdevries@suse.de>
2592         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
2593         num_workers check.
2595 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
2596             Lulu Cheng  <chenglulu@loongson.cn>
2598         * configure.tgt: Add LoongArch triplet.
2600 2022-03-28  Tom de Vries  <tdevries@suse.de>
2602         * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
2603         instead of /libexec/.
2604         * configure: Regenerate.
2606 2022-03-25  Tom de Vries  <tdevries@suse.de>
2608         PR libgomp/105042
2609         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
2610         execution time.
2611         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
2612         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
2614 2022-03-23  Tobias Burnus  <tobias@codesourcery.com>
2616         PR middle-end/104285
2617         * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
2618         * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
2619         * testsuite/libgomp.c++/target-same-name-2.C: New test.
2620         * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
2621         * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
2622         * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
2624 2022-03-22  Tom de Vries  <tdevries@suse.de>
2626         PR target/104916
2627         PR target/104783
2628         * testsuite/libgomp.c/pr104783-2.c: New test.
2630 2022-03-18  Tobias Burnus  <tobias@codesourcery.com>
2632         PR fortran/103039
2633         * testsuite/libgomp.fortran/associate4.f90: New test.
2635 2022-03-18  Tom de Vries  <tdevries@suse.de>
2637         PR target/104952
2638         * testsuite/libgomp.c/pr104952-1.c: New test.
2639         * testsuite/libgomp.c/pr104952-2.c: New test.
2641 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
2643         * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
2644         variable next to pl variable.
2646 2022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
2648         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2649         Enhance.
2650         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
2651         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2653 2022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
2655         PR middle-end/90115
2656         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
2657         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2659 2022-03-16  Marcel Vollweiler  <marcel@codesourcery.com>
2661         * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
2662         omp_set_max_active_levels.
2663         * testsuite/libgomp.fortran/icv-8.f90: New test.
2665 2022-03-16  Thomas Schwinge  <thomas@codesourcery.com>
2667         PR testsuite/102841
2668         * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
2670 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
2672         * libgomp.texi: Fix typo.
2674 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
2676         PR middle-end/100280
2677         PR middle-end/104892
2678         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
2679         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
2680         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2681         Likewise.
2682         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2683         Likewise.
2684         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2685         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2686         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2687         Likewise.
2689 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
2691         PR middle-end/104892
2692         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
2693         to PR104892.
2694         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
2695         enable '--param=openacc-kernels=decompose' and adjust.
2696         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2697         Likewise.
2698         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2699         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2700         Likewise.
2702 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
2704         PR middle-end/90115
2705         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
2706         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
2707         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2708         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
2710 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
2712         PR middle-end/100280
2713         PR middle-end/104086
2714         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2715         Merge this...
2716         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2717         ..., and this...
2718         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
2719         this, and adjust.
2720         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2721         Extend.
2723 2022-03-10  Hafiz Abid Qadeer  <abidh@codesourcery.com>
2725         * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
2726         trait.  Test last index in w and v array.  Remove redundant
2727         assignment to V(1).  Move alignment checks at the end of
2728         parallel region.
2730 2022-03-10  Tom de Vries  <tdevries@suse.de>
2732         * testsuite/libgomp.c/pr104783.c: New test.
2734 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
2736         PR middle-end/90115
2737         PR middle-end/102330
2738         PR middle-end/104774
2739         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2740         Enhance.
2741         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2742         Adjust.
2743         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2744         Likewise.
2745         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2746         Likewise.
2747         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2748         Likewise.
2749         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2750         Likewise.
2751         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2752         Likewise.
2753         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2754         Likewise.
2755         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2756         Likewise.
2757         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2758         Likewise.
2759         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2760         Likewise.
2761         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2762         Likewise.
2763         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2764         Likewise.
2765         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2766         Likewise.
2767         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2768         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
2769         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2771 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
2773         PR middle-end/90115
2774         * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
2775         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2776         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2777         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
2779 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
2781         PR testsuite/104791
2782         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
2783         expected diagnostics.
2785 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
2787         PR middle-end/104784
2788         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2789         Test with '--param=openacc-kernels=decompose'.
2790         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2791         Likewise.
2792         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2793         Likewise.
2794         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2795         Likewise.
2796         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2797         Likewise.
2798         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2799         Likewise.
2800         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2801         Likewise.
2802         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2803         Likewise.
2804         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2805         Likewise.
2806         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2807         Likewise.
2808         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2809         Likewise.
2810         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2811         Likewise.
2812         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2813         Likewise.
2814         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2815         Likewise.
2816         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2817         Likewise.
2818         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2819         Likewise.
2820         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2821         Likewise.
2822         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2823         Likewise.
2824         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2825         Likewise.
2826         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2827         Likewise.
2828         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2829         Likewise.
2830         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2831         Likewise.
2832         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2833         Likewise.
2834         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2835         Likewise.
2836         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2837         Likewise.
2838         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2839         Likewise.
2840         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2841         Likewise.
2842         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2843         Likewise.
2844         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2845         Likewise.
2846         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2847         Likewise.
2848         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2849         Likewise.
2850         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2851         Likewise.
2852         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2853         Likewise.
2855 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
2857         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2858         Test '-fopt-info-omp-all'.
2859         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2860         Likewise.
2861         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2862         Likewise.
2863         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2864         Likewise.
2865         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2866         Likewise.
2867         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2868         Likewise.
2869         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2870         Likewise.
2871         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2872         Likewise.
2873         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2874         Likewise.
2875         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2876         Likewise.
2877         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2878         Likewise.
2879         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2880         Likewise.
2881         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2882         Likewise.
2883         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2884         Likewise.
2885         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2886         Likewise.
2887         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2888         Likewise.
2889         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2890         Likewise.
2891         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2892         Likewise.
2893         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2894         Likewise.
2895         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2896         Likewise.
2897         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2898         Likewise.
2899         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2900         Likewise.
2901         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2902         Likewise.
2903         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2904         Likewise.
2905         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2906         Likewise.
2907         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2908         Likewise.
2909         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2910         Likewise.
2911         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2912         Likewise.
2913         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2914         Likewise.
2915         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2916         Likewise.
2917         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2918         Likewise.
2919         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2920         Likewise.
2921         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2922         Likewise.
2924 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
2926         PR middle-end/100280
2927         PR middle-end/104132
2928         PR middle-end/104133
2929         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2930         Extend.
2932 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
2934         PR middle-end/100280
2935         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
2936         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2937         Likewise.
2939 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
2941         PR middle-end/100280
2942         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
2943         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2944         Likewise.
2946 2022-02-28  Tom de Vries  <tdevries@suse.de>
2948         * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
2949         * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
2950         * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
2951         * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
2952         * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
2953         * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
2955 2022-02-24  Tom de Vries  <tdevries@suse.de>
2957         * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
2958         * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
2959         * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
2960         * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
2961         * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
2962         * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
2963         * testsuite/libgomp.c/declare-variant-3.h: New header file.
2965 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
2967         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
2968         gang-redundant execution.
2970 2022-02-22  Tom de Vries  <tdevries@suse.de>
2972         PR target/99555
2973         * config/nvptx/bar.c (generation_to_barrier): New function, copied
2974         from config/rtems/bar.c.
2975         (futex_wait, futex_wake): New function.
2976         (do_spin, do_wait): New function, copied from config/linux/wait.h.
2977         (gomp_barrier_wait_end, gomp_barrier_wait_last)
2978         (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
2979         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
2980         and replace with include of config/linux/bar.c.
2981         * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
2982         (gomp_barrier_init): Init new fields.
2983         * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
2984         workarounds.
2985         * testsuite/libgomp.c/pr99555-1.c: Same.
2986         * testsuite/libgomp.fortran/task-detach-6.f90: Same.
2988 2022-02-22  Tom de Vries  <tdevries@suse.de>
2990         PR testsuite/104146
2991         * testsuite/libgomp.c++/pr96390.C: Add additional-option
2992         -foffload=-Wa,--verify for nvptx.
2993         * testsuite/libgomp.c-c++-common/pr96390.c: Same.
2995 2022-02-15  Tobias Burnus  <tobias@codesourcery.com>
2997         * testsuite/libgomp.fortran/depend-4.f90: New test.
2999 2022-02-10  Tobias Burnus  <tobias@codesourcery.com>
3001         PR c++/102204
3002         * testsuite/libgomp.c++/target-virtual-1.C: New test.
3004 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
3006         * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
3007         * target.c (copy_firstprivate_data): Copy only if host address is not
3008         NULL.
3009         * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
3010         * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
3011         * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
3012         * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
3013         * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
3014         * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
3015         * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
3016         * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
3017         * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
3018         * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
3020 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
3022         PR libgomp/104385
3023         * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
3024         clear task->parent.
3025         * testsuite/libgomp.c/pr104385.c: New test.
3027 2022-02-04  Tobias Burnus  <tobias@codesourcery.com>
3029         * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
3030         STOP of previous commit.
3032 2022-02-04  Tobias Burnus  <tobias@codesourcery.com>
3034         * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
3035         from is_64bit_aligned_.
3036         * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
3037         and use it, more implicit none, remove unused argument.
3039 2022-02-03  David Seifert  <soap@gentoo.org>
3040             Jakub Jelinek  <jakub@redhat.com>
3042         * configure.ac: Support --disable-werror.
3043         * configure: Regenerate.
3045 2022-02-01  Tom de Vries  <tdevries@suse.de>
3047         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
3048         PR83812 workaround.
3049         * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
3050         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
3052 2022-02-01  Tom de Vries  <tdevries@suse.de>
3054         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
3055         num_workers for nvidia accelerator to fix libgomp error 'insufficient
3056         resources'.
3057         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
3058         Same.
3059         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
3061 2022-02-01  Tom de Vries  <tdevries@suse.de>
3063         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3064         recursion depth.
3065         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3067 2022-01-31  Martin Liska  <mliska@suse.cz>
3069         * acinclude.m4: Detect *_ld_is_mold and use it.
3070         * configure: Regenerate.
3072 2022-01-27  Tobias Burnus  <tobias@codesourcery.com>
3074         * libgomp.texi (OpenMP 5.0): Update implementation status.
3076 2022-01-21  Thomas Schwinge  <thomas@codesourcery.com>
3078         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
3079         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
3080         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3081         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3082         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3083         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3084         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3085         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3086         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3087         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3088         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3089         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3090         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3091         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3092         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3094 2022-01-19  Marcel Vollweiler  <marcel@codesourcery.com>
3096         * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
3097         "static") to make the device num available in the offload image.
3099 2022-01-19  Martin Liska  <mliska@suse.cz>
3100             Thomas Schwinge  <thomas@codesourcery.com>
3102         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
3103         patterns.
3104         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3105         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3106         Likewise.
3107         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
3108         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3109         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3110         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
3111         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
3112         Likewise.
3113         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
3114         Likewise.
3115         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
3116         Likewise.
3117         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
3118         Likewise.
3119         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
3120         Likewise.
3121         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
3122         Likewise.
3123         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3124         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3125         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3127 2022-01-18  Martin Liska  <mliska@suse.cz>
3129         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
3130         in dg-warning.
3131         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3132         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
3133         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
3134         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3135         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3136         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
3137         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
3138         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
3139         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
3140         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
3141         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
3142         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
3143         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3144         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3145         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3147 2022-01-17  Thomas Schwinge  <thomas@codesourcery.com>
3149         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
3150         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3151         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3153 2022-01-17  Julian Brown  <julian@codesourcery.com>
3154             Thomas Schwinge  <thomas@codesourcery.com>
3156         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
3157         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
3158         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
3160 2022-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
3161             Andrew Stubbs   <ams@codesourcery.com>
3163         * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
3164         the number of teams and threads if necessary.
3165         (gcn_exec): Automatically set the number of gangs and workers if
3166         necessary.
3168 2022-01-13  Hafiz Abid Qadeer  <abidh@codesourcery.com>
3170         * testsuite/libgomp.fortran/allocate-1.c: New test.
3171         * testsuite/libgomp.fortran/allocate-1.f90: New test.
3172         * libgomp.texi: Remove string that says that allocate clause
3173         support is for C/C++ only.
3175 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
3177         * testsuite/libgomp.c-c++-common/on_device_arch.h
3178         (any_device_arch, any_device_arch_intel_mic): New.
3179         * testsuite/lib/libgomp.exp
3180         (check_effective_target_offload_device_any_intel_mic): New.
3181         * testsuite/libgomp.c-c++-common/target-45.c: Use it.
3182         * testsuite/libgomp.fortran/target10.f90: Likewise.
3184 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
3186         PR tree-optimization/102192
3187         * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
3188         '-Wuninitialized' diagnostics.
3190 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
3192         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
3193         current '-Wuninitialized' diagnostics.
3194         * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
3195         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
3196         * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
3197         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
3198         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3199         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3200         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
3201         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3202         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3203         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3204         * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
3205         Likewise.
3207 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
3209         * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
3210         for 'offload_device_intel_mic'.
3212 2022-01-13  Julian Brown  <julian@codesourcery.com>
3213             Thomas Schwinge  <thomas@codesourcery.com>
3215         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
3216         offloading execution XFAIL.
3218 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
3220         PR middle-end/100280
3221         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3222         Update.
3223         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
3224         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3225         Likewise.
3227 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
3229         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3230         Enhance.
3231         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3232         Likewise.
3233         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
3234         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
3235         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
3236         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
3237         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3238         Likewise.
3239         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3240         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3241         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3242         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3244 2022-01-04  Tobias Burnus  <tobias@codesourcery.com>
3246         * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
3247         * testsuite/libgomp.fortran/target10.f90: Likewise.
3249 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
3251         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
3252         into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
3253         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3255 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
3257         * libgomp.texi: Bump @copying's copyright year.
3259 2021-12-13  Tobias Burnus  <tobias@codesourcery.com>
3261         * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
3262         * testsuite/libgomp.fortran/atomic-19.f90: New test.
3264 2021-12-10  Andrew Stubbs  <ams@codesourcery.com>
3266         * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
3267         (GOMP_OFFLOAD_load_image): Locate the offload variables via the
3268         table, not individual symbols.
3270 2021-12-09  Chung-Lin Tang  <cltang@codesourcery.com>
3272         * testsuite/libgomp.c++/target-lambda-1.C: Only run under
3273         "target offload_device_nonshared_as"
3274         * testsuite/libgomp.c++/target-this-3.C: Likewise.
3275         * testsuite/libgomp.c++/target-this-4.C: Likewise.
3277 2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
3279         * target.c (gomp_map_vars_existing): Make sure attached pointer is
3280         not overwritten during cross-host/device copying.
3281         (gomp_update): Likewise.
3282         (gomp_exit_data): Likewise.
3283         * testsuite/libgomp.c++/target-11.C: Adjust testcase.
3284         * testsuite/libgomp.c++/target-12.C: Likewise.
3285         * testsuite/libgomp.c++/target-15.C: Likewise.
3286         * testsuite/libgomp.c++/target-16.C: Likewise.
3287         * testsuite/libgomp.c++/target-17.C: Likewise.
3288         * testsuite/libgomp.c++/target-21.C: Likewise.
3289         * testsuite/libgomp.c++/target-23.C: Likewise.
3290         * testsuite/libgomp.c/target-23.c: Likewise.
3291         * testsuite/libgomp.c/target-29.c: Likewise.
3292         * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
3294 2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
3296         PR middle-end/92120
3297         * libgomp.h (gomp_attach_pointer): Add bool parameter.
3298         * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
3299         (goacc_enter_data_internal): Likewise.
3300         * target.c (gomp_map_vars_existing): Update assert condition to
3301         include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
3302         (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
3303         parameter, add support for mapping a pointer with NULL target.
3304         (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
3305         parameter, add support for attaching a pointer with NULL target.
3306         (gomp_map_vars_internal): Update calls to gomp_map_pointer and
3307         gomp_attach_pointer, add handling for
3308         GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
3309         GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
3310         * testsuite/libgomp.c++/target-23.C: New testcase.
3311         * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
3312         * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
3313         * testsuite/libgomp.c++/target-this-1.C: New testcase.
3314         * testsuite/libgomp.c++/target-this-2.C: New testcase.
3315         * testsuite/libgomp.c++/target-this-3.C: New testcase.
3316         * testsuite/libgomp.c++/target-this-4.C: New testcase.
3317         * testsuite/libgomp.c++/target-this-5.C: New testcase.
3319 2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
3321         * libgomp.texi (OpenMP 5.1): Update status.
3323 2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
3325         * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
3327 2021-12-02  Chung-Lin Tang  <cltang@codesourcery.com>
3329         PR fortran/90030
3330         * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
3331         * testsuite/libgomp.fortran/pr90030.f90: New test.
3333 2021-11-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
3334             Thomas Schwinge  <thomas@codesourcery.com>
3336         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
3337         temporary skip.
3339 2021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
3340             Thomas Schwinge  <thomas@codesourcery.com>
3342         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
3343         skip.
3345 2021-11-29  Richard Biener  <rguenther@suse.de>
3347         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
3348         return.
3350 2021-11-24  Jakub Jelinek  <jakub@redhat.com>
3352         PR middle-end/103384
3353         * testsuite/libgomp.c/declare-variant-2.c: New test.
3355 2021-11-18  David Edelsohn  <dje.gcc@gmail.com>
3357         * alloc.c (gomp_aligned_alloc): Fix typo.
3359 2021-11-18  Jakub Jelinek  <jakub@redhat.com>
3361         PR libgomp/102838
3362         * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
3363         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
3364         (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
3365         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
3366         * work.c (alloc_work_share, gomp_work_share_start): Likewise.
3367         * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
3368         gomp_aligned_alloc instead of team_malloc.
3370 2021-11-18  Jakub Jelinek  <jakub@redhat.com>
3372         PR libgomp/102838
3373         * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
3374         memalign over posix_memalign over aligned_alloc over fallback
3375         with malloc instead of aligned_alloc over _aligned_alloc over
3376         posix_memalign over memalign over fallback with malloc.  For
3377         aligned_alloc, round up size up to multiple of al.
3379 2021-11-16  Jakub Jelinek  <jakub@redhat.com>
3381         * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
3382         construct as implemented.
3384 2021-11-15  Tobias Burnus  <tobias@codesourcery.com>
3386         * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
3388 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
3390         * task.c (gomp_create_target_task): Copy args array as well.
3391         * target.c (gomp_target_fallback): Add args argument.
3392         Set gomp_icv (true)->thread_limit_var if thread_limit is present.
3393         (GOMP_target): Adjust gomp_target_fallback caller.
3394         (GOMP_target_ext): Likewise.
3395         (gomp_target_task_fn): Likewise.
3396         * config/nvptx/team.c (gomp_nvptx_main): Set
3397         gomp_global_icv.thread_limit_var.
3398         * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
3400 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
3402         * config/nvptx/team.c (__gomp_team_num): Define as
3403         __attribute__((shared)) var.
3404         (gomp_nvptx_main): Initialize __gomp_team_num to 0.
3405         * config/nvptx/target.c (__gomp_team_num): Declare as
3406         extern __attribute__((shared)) var.
3407         (GOMP_teams4): Use __gomp_team_num as the team number instead of
3408         %ctaid.x.  If first, initialize it to %ctaid.x.  If num_teams_lower
3409         is bigger than num_blocks, use num_teams_lower teams and arrange for
3410         bumping of __gomp_team_num if !first and returning false once we run
3411         out of teams.
3412         * config/nvptx/teams.c (__gomp_team_num): Declare as
3413         extern __attribute__((shared)) var.
3414         (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
3416 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
3418         * testsuite/libgomp.c/teams-5.c: New test.
3420 2021-11-12  Jakub Jelinek  <jakub@redhat.com>
3422         PR target/103201
3423         * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
3424         to ...
3425         * config/gcn/teams.c: ... here.  New file.
3427 2021-11-12  Chung-Lin Tang  <cltang@codesourcery.com>
3429         * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
3430         implicit map handling to allow a "superset" existing map as valid case.
3431         (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
3432         (get_implicit): New function to extract implicit status.
3433         (gomp_map_fields_existing): Adjust arguments in calls to
3434         gomp_map_vars_existing, and add uses of get_implicit.
3435         (gomp_map_vars_internal): Likewise.
3436         * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
3438 2021-11-12  Jakub Jelinek  <jakub@redhat.com>
3440         * libgomp_g.h (GOMP_teams4): Declare.
3441         * libgomp.map (GOMP_5.1): Export GOMP_teams4.
3442         * target.c (GOMP_teams4): New function.
3443         * config/nvptx/target.c (GOMP_teams): Remove.
3444         (GOMP_teams4): New function.
3445         * config/gcn/target.c (GOMP_teams): Remove.
3446         (GOMP_teams4): New function.
3447         * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
3448         teams instead of <= 2.
3449         * testsuite/libgomp.c-c++-common/teams-2.c: New test.
3451 2021-11-11  Tobias Burnus  <tobias@codesourcery.com>
3453         * testsuite/libgomp.fortran/teams-1.f90: New test.
3455 2021-11-11  Jakub Jelinek  <jakub@redhat.com>
3457         * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
3458         * team.c (struct gomp_thread_start_data): Likewise.
3459         (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
3460         (gomp_team_start): Initialize start_data->num_teams and
3461         start_data->team_num.  Update nthr->num_teams and nthr->team_num.
3462         * teams.c (gomp_num_teams, gomp_team_num): Remove.
3463         (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
3464         instead of gomp_num_teams and gomp_team_num.
3465         (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
3466         (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
3467         * testsuite/libgomp.c/teams-4.c: New test.
3469 2021-11-11  Jakub Jelinek  <jakub@redhat.com>
3471         * testsuite/libgomp.c-c++-common/teams-1.c: New test.
3473 2021-11-09  Thomas Schwinge  <thomas@codesourcery.com>
3475         * env.c (parse_gomp_openacc_dim): Restore parsing.
3477 2021-10-30  Tobias Burnus  <tobias@codesourcery.com>
3479         PR middle-end/102972
3480         * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
3481         parallel construct.
3482         * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
3483         * testsuite/libgomp.c/target-3.c: Likewise.
3484         * testsuite/libgomp.c/target-5.c: Likewise.
3485         * testsuite/libgomp.c/target-6.c: Likewise.
3486         * testsuite/libgomp.c/target-teams-1.c: Likewise.
3487         * testsuite/libgomp.c/teams-1.c: Likewise.
3488         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3489         * testsuite/libgomp.c/thread-limit-3.c: Likewise.
3490         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3491         * testsuite/libgomp.c/thread-limit-5.c: Likewise.
3492         * testsuite/libgomp.fortran/icv-3.f90: Likewise.
3493         * testsuite/libgomp.fortran/icv-4.f90: Likewise.
3494         * testsuite/libgomp.fortran/teams1.f90: Likewise.
3496 2021-10-29  Aldy Hernandez  <aldyh@redhat.com>
3498         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
3499         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
3501 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
3503         * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
3504         aren't implemented for Fortran yet.
3506 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
3508         * testsuite/libgomp.c/loop-26.c: New test.
3509         * testsuite/libgomp.c/loop-27.c: New test.
3511 2021-10-25  Tobias Burnus  <tobias@codesourcery.com>
3513         PR testsuite/102910
3514         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
3515         instead of #include <alloca.h> + alloca.
3517 2021-10-21  Chung-Lin Tang  <cltang@codesourcery.com>
3519         * libgomp.texi (Support of strictly structured blocks in Fortran):
3520         Adjust to 'Y'.
3521         * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
3523 2021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
3525         * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
3526         * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
3528 2021-10-20  Jakub Jelinek  <jakub@redhat.com>
3530         PR libgomp/102838
3531         * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
3532         (struct gomp_work_share): Only use aligned(64) attribute if
3533         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
3534         add padding before lock to ensure lock is at offset 64 bytes
3535         into the structure.
3536         (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
3537         New poor man's static assertions.
3538         * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
3539         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
3541 2021-10-20  Aldy Hernandez  <aldyh@redhat.com>
3542             Richard Biener  <rguenther@suse.de>
3544         * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
3546 2021-10-18  Jakub Jelinek  <jakub@redhat.com>
3548         * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
3549         && gomp_places_list_len < count after nfirst <= nlast loop condition.
3551 2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
3553         PR fortran/102086
3554         PR fortran/92189
3555         PR fortran/92621
3556         PR fortran/101308
3557         PR fortran/101309
3558         PR fortran/101635
3559         PR fortran/92482
3560         * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
3562 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
3564         * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
3565         type from char [50] to const char *.
3566         (places_array): Add a testcase for simplified syntax place followed
3567         by length or length and stride.
3569 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
3571         * env.c (parse_one_place): Handle non-negative-number the same
3572         as { non-negative-number }.  Reject even !number:1 and
3573         !number:1:stride or !place:1 or !place:1:stride instead of just
3574         length other than 1.
3575         * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
3576         and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
3577         omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
3578         as implemented.
3579         * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
3580         simplified syntax.
3582 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
3584         * env.c (parse_schedule): For strtoul or strtoull calls which don't
3585         clearly reject return value 0 as invalid handle the case where end
3586         pointer is the same as first argument as invalid.
3587         (parse_unsigned_long_1): Likewise.
3588         (parse_one_place): Likewise.
3589         (parse_places_var): Likewise.
3590         (parse_stacksize): Likewise.
3591         (parse_spincount): Likewise.
3592         (parse_affinity): Likewise.
3593         (parse_gomp_openacc_dim): Likewise.  Avoid strict aliasing violation.
3594         Make code valid C89.
3595         * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
3596         For strtoul calls which don't clearly reject return value 0 as
3597         invalid handle the case where end pointer is the same as first
3598         argument as invalid.
3599         (gomp_affinity_init_level_1): Likewise.
3600         (gomp_affinity_init_numa_domains): Likewise.
3601         * config/rtems/proc.c (parse_thread_pools): Likewise.
3603 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
3605         * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
3606         after creating count places clean up and return immediately.
3607         * testsuite/libgomp.c/places-6.c: New test.
3608         * testsuite/libgomp.c/places-7.c: New test.
3609         * testsuite/libgomp.c/places-8.c: New test.
3610         * testsuite/libgomp.c/places-9.c: New test.
3611         * testsuite/libgomp.c/places-10.c: New test.
3613 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
3615         * env.c (parse_places_var): Handle numa_domains as level 5.
3616         * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
3617         function.
3618         (gomp_affinity_init_level): Use it instead of
3619         gomp_affinity_init_level_1 for level == 5.
3620         * testsuite/libgomp.c/places-5.c: New test.
3622 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
3624         * env.c (parse_places_var): Handle ll_caches as level 4.
3625         * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
3626         function.
3627         (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
3628         last level cache.
3629         (gomp_affinity_init_level): Likewise.
3630         * testsuite/libgomp.c/places-1.c: New test.
3631         * testsuite/libgomp.c/places-2.c: New test.
3632         * testsuite/libgomp.c/places-3.c: New test.
3633         * testsuite/libgomp.c/places-4.c: New test.
3635 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
3637         * libgomp.texi (OpenMP 5.0): Update entry for declare variant
3638         directive.
3640 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
3642         * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
3644 2021-10-12  Julian Brown  <julian@codesourcery.com>
3646         * target.c (gomp_copy_host2dev): Release device lock on cbuf
3647         error path.
3649 2021-10-12  Tobias Burnus  <tobias@codesourcery.com>
3651         * testsuite/libgomp.fortran/icv-3.f90: New.
3652         * testsuite/libgomp.fortran/icv-4.f90: New.
3654 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
3656         * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
3657         omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
3658         OMP_TEAMS_THREAD_LIMIT): Document.
3660 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
3662         * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
3663         to avoid makeinfo warnings.
3665 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
3667         * testsuite/libgomp.c-c++-common/icv-3.c: New test.
3668         * testsuite/libgomp.c-c++-common/icv-4.c: New test.
3670 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
3672         PR libgomp/102628
3673         PR libgomp/102668
3674         * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
3675         allocation sizes from 420 to 320 and from 768 to 568.
3676         * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
3677         * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
3678         for cr from 16 to 4.
3680 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
3682         * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
3683         * testsuite/libgomp.c/scan-12.c: Likewise.
3684         * testsuite/libgomp.c/scan-13.c: Likewise.
3685         * testsuite/libgomp.c/scan-14.c: Likewise.
3686         * testsuite/libgomp.c/scan-15.c: Likewise.
3687         * testsuite/libgomp.c/scan-16.c: Likewise.
3688         * testsuite/libgomp.c/scan-17.c: Likewise.
3689         * testsuite/libgomp.c/scan-18.c: Likewise.
3690         * testsuite/libgomp.c/scan-19.c: Likewise.
3691         * testsuite/libgomp.c/scan-20.c: Likewise.
3692         * testsuite/libgomp.c/scan-21.c: Likewise.
3693         * testsuite/libgomp.c/scan-22.c: Likewise.
3694         * testsuite/libgomp.c++/scan-9.C: Likewise.
3695         * testsuite/libgomp.c++/scan-10.C: Likewise.
3696         * testsuite/libgomp.c++/scan-11.C: Likewise.
3697         * testsuite/libgomp.c++/scan-12.C: Likewise.
3698         * testsuite/libgomp.c++/scan-13.C: Likewise.
3699         * testsuite/libgomp.c++/scan-14.C: Likewise.
3700         * testsuite/libgomp.c++/scan-15.C: Likewise.
3701         * testsuite/libgomp.c++/scan-16.C: Likewise.
3703 2021-10-12  Kewen Lin  <linkw@linux.ibm.com>
3705         * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
3707 2021-10-11  Marcel Vollweiler  <marcel@codesourcery.com>
3709         * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
3710         omp_atv_serialized.
3711         * omp.h.in: Add deprecated flag for omp_atv_sequential.
3712         * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
3713         * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
3714         * testsuite/libgomp.fortran/alloc-12.f90: New test.
3716 2021-10-11  Jakub Jelinek  <jakub@redhat.com>
3718         * omp.h.in (omp_set_num_teams, omp_get_max_teams,
3719         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
3720         * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
3721         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
3722         * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
3723         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
3724         * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
3725         * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
3726         omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
3727         omp_set_teams_thread_limit{,_,_8_}.
3728         * icv.c (omp_set_num_teams, omp_get_max_teams,
3729         omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
3730         functions.
3731         * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
3732         (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
3733         (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
3734         vars.
3735         * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
3736         gomp_teams_thread_limit_var as fallback if not zero.  If num_teams
3737         is not specified, use gomp_nteams_var.
3738         * fortran.c (omp_set_num_teams, omp_get_max_teams,
3739         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
3740         ialias_redirect.
3741         (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
3742         omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
3743         omp_get_teams_thread_limit_): New functions.
3745 2021-10-09  liuhongt  <hongtao.liu@intel.com>
3747         * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
3748         * testsuite/libgomp.c++/scan-11.C: Ditto.
3749         * testsuite/libgomp.c++/scan-12.C: Ditto.
3750         * testsuite/libgomp.c++/scan-13.C: Ditto.
3751         * testsuite/libgomp.c++/scan-14.C: Ditto.
3752         * testsuite/libgomp.c++/scan-15.C: Ditto.
3753         * testsuite/libgomp.c++/scan-16.C: Ditto.
3754         * testsuite/libgomp.c++/scan-9.C: Ditto.
3755         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
3756         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
3757         * testsuite/libgomp.c/scan-11.c: Ditto.
3758         * testsuite/libgomp.c/scan-12.c: Ditto.
3759         * testsuite/libgomp.c/scan-13.c: Ditto.
3760         * testsuite/libgomp.c/scan-14.c: Ditto.
3761         * testsuite/libgomp.c/scan-15.c: Ditto.
3762         * testsuite/libgomp.c/scan-16.c: Ditto.
3763         * testsuite/libgomp.c/scan-17.c: Ditto.
3764         * testsuite/libgomp.c/scan-18.c: Ditto.
3765         * testsuite/libgomp.c/scan-19.c: Ditto.
3766         * testsuite/libgomp.c/scan-20.c: Ditto.
3767         * testsuite/libgomp.c/scan-21.c: Ditto.
3768         * testsuite/libgomp.c/scan-22.c: Ditto.
3770 2021-10-09  Jakub Jelinek  <jakub@redhat.com>
3772         * libgomp.texi (OpenMP 5.1): Mention implemented support for
3773         structured block sequences in C/C++.  Mention support for
3774         unconstrained/reproducible modifiers on order clause.
3775         Mention partial (C/C++ only) support of extentensions to atomics
3776         construct.  Mention partial (C/C++ on clause only) support of
3777         align/allocator modifiers on allocate clause.
3779 2021-10-02  Tobias Burnus  <tobias@codesourcery.com>
3781         * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
3782         based on libgomp.c-c++-common/order-reproducible-1.c.
3783         * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
3784         * testsuite/libgomp.fortran/my-usleep.c: New test.
3786 2021-10-01  Tobias Burnus  <tobias@codesourcery.com>
3788         * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
3789         * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
3790         * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
3791         * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
3792         based on libgomp.c-c++-common/alloc-9.c.
3794 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
3796         * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
3797         * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
3799 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
3801         * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
3802         ialias_redirect.
3803         * env.c (handle_omp_display_env): Use ialias_call.
3804         * icv-device.c: Move ialias right below each function.
3805         (omp_get_device_num): Use ialias_call.
3806         * fortran.c (omp_fulfill_event): Add ialias_redirect.
3807         * icv.c (omp_get_active_level): Add ialias_redirect.
3809 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
3811         * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
3812         __alloc_align__ (1) attribute.
3813         * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
3815 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
3817         * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
3818         for -fintrinsic-modules-path= warning of the C compiler.
3819         * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
3820         * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
3822 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
3824         * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
3825         omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
3826         * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
3827         omp_realloc): Add.
3828         * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
3829         omp_realloc): Add.
3830         * testsuite/libgomp.fortran/alloc-10.f90: New test.
3831         * testsuite/libgomp.fortran/alloc-6.f90: New test.
3832         * testsuite/libgomp.fortran/alloc-7.c: New test.
3833         * testsuite/libgomp.fortran/alloc-7.f90: New test.
3834         * testsuite/libgomp.fortran/alloc-8.f90: New test.
3835         * testsuite/libgomp.fortran/alloc-9.f90: New test.
3837 2021-09-30  Jakub Jelinek  <jakub@redhat.com>
3839         * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
3840         omp_realloc): New prototypes.
3841         (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
3842         attribute.
3843         * allocator.c: Include string.h.
3844         (omp_aligned_alloc): No longer static, add ialias.  Add new_alignment
3845         variable and use it instead of alignment so that when retrying the old
3846         alignment is used again.  Don't retry if new alignment is the same
3847         as old alignment, unless allocator had pool size.
3848         (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
3849         (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
3850         * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
3851         omp_aligned_calloc and omp_realloc.
3852         * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
3853         omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
3854         * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
3855         * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
3856         * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
3857         * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
3859 2021-09-28  Tobias Burnus  <tobias@codesourcery.com>
3861         PR libgomp/96661
3862         * configure.ac: Only check for int-type = 2*size_t support when
3863         building with Fortran support.
3864         * configure: Regenerate.
3866 2021-09-28  Thomas Schwinge  <thomas@codesourcery.com>
3868         * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
3869         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3871 2021-09-27  Aldy Hernandez  <aldyh@redhat.com>
3873         * team.c: Initialize start_data.
3874         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
3875         * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
3877 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
3879         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
3880         dg-message back to dg-note.
3882 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
3884         PR fortran/94070
3885         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
3886         expected dg-note output.
3888 2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
3890         PR fortran/55534
3891         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
3892         r12-3722 by removing -Wno-missing-include-dirs.
3893         * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
3895 2021-09-22  Jakub Jelinek  <jakub@redhat.com>
3897         * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
3898         * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
3900 2021-09-21  Tobias Burnus  <tobias@codesourcery.com>
3902         PR fortran/55534
3903         * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
3904         to ALWAYS_CFLAGS.
3905         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3907 2021-09-18  Jakub Jelinek  <jakub@redhat.com>
3909         * testsuite/libgomp.c++/default-1.C: New test.
3910         * testsuite/libgomp.c-c++-common/default-1.c: New test.
3911         * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
3912         to default clause in C and C++" as implemented.
3914 2021-09-17  Julian Brown  <julian@codesourcery.com>
3916         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
3918 2021-09-17  Julian Brown  <julian@codesourcery.com>
3920         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
3922 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
3924         * libgomp.texi (OpenMP 5.1): Spelling fix,
3925         declare variante -> declare variant.
3927 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
3929         * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
3930         Use /* */ comments instead of //.
3931         * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
3932         * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
3933         * testsuite/libgomp.c++/atomic-16.C: New test.
3934         * testsuite/libgomp.c++/atomic-17.C: New test.
3936 2021-09-10  Jakub Jelinek  <jakub@redhat.com>
3938         * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
3939         * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
3940         * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
3942 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
3944         * libgomp.texi (OpenMP Implementation Status): Extend
3945         OpenMP 5.0 section.
3946         (OpenACC Profiling Interface): Fix typo.
3948 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
3950         * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
3951         not to 4.5; link to new section.
3952         (OpenMP Implementation Status): New.
3954 2021-09-06  Thomas Schwinge  <thomas@codesourcery.com>
3956         * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
3958 2021-09-03  Tobias Burnus  <tobias@codesourcery.com>
3960         * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
3961         dg-output.
3962         * testsuite/libgomp.fortran/error-1.f90: Likewise.
3964 2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
3965             Jakub Jelinek  <jakub@redhat.com>
3967         * testsuite/libgomp.c/address-space-1.c: New file.
3969 2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
3971         * testsuite/lib/libgomp.exp
3972         (check_effective_target_offload_target_intelmic): Remove 'proc'.
3973         (check_effective_target_offload_device_intel_mic): New 'proc'.
3974         * testsuite/libgomp.c-c++-common/on_device_arch.h
3975         (device_arch_intel_mic, on_device_arch_intel_mic): New.
3976         * testsuite/libgomp.c-c++-common/target-45.c: Use that for
3977         'dg-xfail-run-if'.
3978         * testsuite/libgomp.fortran/target10.f90: Likewise.
3980 2021-08-23  Tobias Burnus  <tobias@codesourcery.com>
3982         * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
3983         * testsuite/libgomp.fortran/taskloop-4.f90: New test.
3984         * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
3985         * testsuite/libgomp.fortran/taskloop-5.f90: New test.
3987 2021-08-23  Jakub Jelinek  <jakub@redhat.com>
3989         * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
3990         * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
3991         * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
3993 2021-08-22  Thomas Schwinge  <thomas@codesourcery.com>
3995         * config/nvptx/error.c (fwrite, exit): Override, too.
3996         * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
3997         of offloading testing.
3998         * testsuite/libgomp.fortran/error-1.f90: Likewise.
4000 2021-08-20  Tobias Burnus  <tobias@codesourcery.com>
4002         * testsuite/libgomp.fortran/error-1.f90: New test.
4004 2021-08-20  Jakub Jelinek  <jakub@redhat.com>
4006         * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
4007         * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
4008         * error.c (GOMP_warning, GOMP_error): New functions.
4009         * testsuite/libgomp.c-c++-common/error-1.c: New test.
4011 2021-08-18  Tobias Burnus  <tobias@codesourcery.com>
4013         * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
4014         omp_target_free. omp_target_is_present, omp_target_memcpy,
4015         omp_target_memcpy_rect, omp_target_associate_ptr,
4016         omp_target_disassociate_ptr): Add interface.
4017         * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
4018         omp_target_free. omp_target_is_present, omp_target_memcpy,
4019         omp_target_memcpy_rect, omp_target_associate_ptr,
4020         omp_target_disassociate_ptr): Add interface.
4021         * testsuite/libgomp.fortran/alloc-1.F90: Remove local
4022         interface block for omp_alloc + omp_free.
4023         * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
4024         * testsuite/libgomp.fortran/refcount-1.f90: New test.
4025         * testsuite/libgomp.fortran/target-12.f90: New test.
4027 2021-08-18  Jakub Jelinek  <jakub@redhat.com>
4029         * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
4031 2021-08-17  Tobias Burnus  <tobias@codesourcery.com>
4033         * testsuite/libgomp.fortran/scope-1.f90: New test.
4034         * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
4036 2021-08-17  Jakub Jelinek  <jakub@redhat.com>
4038         * Makefile.am (libgomp_la_SOURCES): Add scope.c
4039         * Makefile.in: Regenerated.
4040         * libgomp_g.h (GOMP_scope_start): Declare.
4041         * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
4042         * scope.c: New file.
4043         * testsuite/libgomp.c-c++-common/scope-1.c: New test.
4044         * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
4046 2021-08-16  Thomas Schwinge  <thomas@codesourcery.com>
4048         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
4049         '?:' issues.
4051 2021-08-16  Tobias Burnus  <tobias@codesourcery.com>
4053         * testsuite/libgomp.fortran/masked-1.f90: New test.
4055 2021-08-13  Thomas Schwinge  <thomas@codesourcery.com>
4057         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
4059 2021-08-12  Jakub Jelinek  <jakub@redhat.com>
4061         * testsuite/libgomp.c-c++-common/masked-1.c: New test.
4063 2021-08-12  Tobias Burnus  <tobias@codesourcery.com>
4065         * env.c (parse_bind_var): Accept 'primary' as alias for
4066         'master'.
4067         (omp_display_env): Add TODO comment to
4068         change 'master' to 'primary' in proc_bind for OpenMP 5.1.
4069         * libgomp.texi: Change 'master thread' to 'primary thread'
4070         in line with OpenMP 5.1.
4071         (omp_get_proc_bind): Add omp_proc_bind_primary and note that
4072         omp_proc_bind_master is an alias of it.
4073         (OMP_PROC_BIND): Mention 'PRIMARY'.
4074         * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
4075         (omp_proc_bind_primary): Add.
4076         (omp_proc_bind_master): Deprecate for OpenMP 5.1.
4077         * omp_lib.f90.in (omp_proc_bind_primary): Add.
4078         (omp_proc_bind_master): Deprecate for OpenMP 5.1.
4079         * omp_lib.h.in (omp_proc_bind_primary): Add.
4080         * testsuite/libgomp.c/affinity-1.c: Check that
4081         'primary' works and is identical to 'master'.
4083 2021-08-09  Julian Brown  <julian@codesourcery.com>
4084             Kwok Cheung Yeung  <kcy@codesourcery.com>
4085             Thomas Schwinge  <thomas@codesourcery.com>
4087         * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
4088         16.
4089         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4090         [acc_device_radeon]: Update.
4091         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
4092         [ACC_DEVICE_TYPE_radeon]: Likewise.
4093         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4094         [acc_device_radeon]: Likewise.
4095         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
4096         [ACC_DEVICE_TYPE_radeon]: Likewise.
4097         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
4098         'openacc_radeon_accel_selected' and '-O0'.
4099         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4101 2021-08-05  Chung-Lin Tang  <cltang@codesourcery.com>
4103         * icv-device.c (omp_get_device_num): New API function, host side.
4104         * fortran.c (omp_get_device_num_): New interface function.
4105         * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
4106         * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
4107         omp_get_device_num_.
4108         * libgomp.texi (omp_get_device_num): Add documentation for new API
4109         function.
4110         * omp.h.in (omp_get_device_num): Add declaration.
4111         * omp_lib.f90.in (omp_get_device_num): Likewise.
4112         * omp_lib.h.in (omp_get_device_num): Likewise.
4113         * target.c (gomp_load_image_to_device): If additional entry for device
4114         number exists at end of returned entries from 'load_image_func' hook,
4115         copy the assigned device number over to the device variable.
4116         * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
4117         (omp_get_device_num): New API function, device side.
4118         * plugin/plugin-gcn.c ("symcat.h"): Add include.
4119         (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
4120         at end of returned 'target_table' entries.
4121         * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
4122         (omp_get_device_num): New API function, device side.
4123         * plugin/plugin-nvptx.c ("symcat.h"): Add include.
4124         (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
4125         at end of returned 'target_table' entries.
4126         * testsuite/lib/libgomp.exp
4127         (check_effective_target_offload_target_intelmic): New function for
4128         testing for intelmic offloading.
4129         * testsuite/libgomp.c-c++-common/target-45.c: New test.
4130         * testsuite/libgomp.fortran/target10.f90: New test.
4132 2021-07-30  Thomas Schwinge  <thomas@codesourcery.com>
4133             Ulrich Drepper  <drepper@redhat.com>
4135         * fortran.c (omp_display_env_, omp_display_env_8_): Only
4136         '#ifndef LIBGOMP_OFFLOADED_ONLY'.
4138 2021-07-29  Thomas Schwinge  <thomas@codesourcery.com>
4139             Julian Brown  <julian@codesourcery.com>
4140             Kwok Cheung Yeung  <kcy@codesourcery.com>
4142         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
4143         's%oaccdevlow%oaccloops%g'.
4144         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
4145         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4146         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
4147         Likewise.
4148         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
4149         Likewise.
4150         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
4151         Likewise.
4152         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
4153         Likewise.
4154         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
4155         Likewise.
4156         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
4157         Likewise.
4158         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
4159         Likewise.
4160         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
4161         Likewise.
4162         * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
4164 2021-07-29  Aldy Hernandez  <aldyh@redhat.com>
4166         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
4167         threader.
4168         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4170 2021-07-27  Ulrich Drepper  <drepper@gmail.com>
4172         * env.c (wait_policy, stacksize): New static variables,
4173         move out of handle_omp_display_env.
4174         (omp_display_env): New function.  The meat of the old
4175         handle_omp_display_env function.
4176         (handle_omp_display_env): Change to not take parameters
4177         and instead use the global variables.  Only perform
4178         parsing, defer to omp_display_env for the implementation.
4179         (initialize_env): Remove local variables wait_policy and
4180         stacksize.  Don't pass parameters to handle_omp_display_env.
4181         * fortran.c: Add ialias_redirect for omp_display_env.
4182         (omp_display_env_, omp_display_env_8_): New functions.
4183         * libgomp.map (OMP_5.1): New version.  Add omp_display_env,
4184         omp_display_env_, and omp_display_env_8_.
4185         * omp.h.in: Declare omp_display_env.
4186         * omp_lib.f90.in: Likewise.
4187         * omp_lib.h.in: Likewise.
4189 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
4190             Julian Brown  <julian@codesourcery.com>
4192         * target.c (gomp_coalesce_buf_add): Update comment.
4193         (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
4194         'aq && cbuf'.
4195         (gomp_map_vars_internal): Only 'if (!aq)', do
4196         'gomp_coalesce_buf_add'.
4197         * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
4198         XFAIL.
4200 2021-07-27  Julian Brown  <julian@codesourcery.com>
4201             Thomas Schwinge  <thomas@codesourcery.com>
4203         * libgomp.h (gomp_copy_host2dev): Update prototype.
4204         * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
4205         argument to gomp_copy_host2dev (false).
4206         * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
4207         (copy_data): Don't free src.
4208         (queue_push_copy): Remove free_src handling.
4209         (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
4210         (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
4211         snapshotting.
4212         (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
4213         queue_push_copy.
4214         * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
4215         (gomp_copy_host2dev): Add EPHEMERAL parameter.  Snapshot source
4216         data when true, and set up deferred freeing of temporary buffer.
4217         (gomp_copy_dev2host): Update call to goacc_device_copy_async.
4218         (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
4219         (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
4220         calls to gomp_copy_host2dev with appropriate ephemeral argument.
4221         * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
4222         XFAIL.
4224 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
4225             Tom de Vries  <tom@codesourcery.com>
4227         * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
4228         * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
4230 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
4232         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
4233         sequencing of 'async' data copying vs. profiling events.
4234         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
4235         Likewise.
4237 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
4238             Julian Brown  <julian@codesourcery.com>
4240         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
4241         'async'/'wait' issue.
4242         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
4243         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
4244         * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
4246 2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
4247             Joseph Myers  <joseph@codesourcery.com>
4248             Cesar Philippidis  <cesar@codesourcery.com>
4250         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
4251         file.
4252         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4253         Likewise.
4254         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
4255         Likewise.
4256         * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
4258 2021-07-20  Thomas Schwinge  <thomas@codesourcery.com>
4260         PR target/101484
4261         * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
4262         '-Wno-error=array-bounds'.
4263         * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
4264         * libgomp.h [__AMDGCN__]: Likewise.
4266 2021-07-19  Thomas Schwinge  <thomas@codesourcery.com>
4268         PR target/101484
4269         * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
4270         * libgomp.h [__AMDGCN__]: Likewise.
4272 2021-07-13  Jakub Jelinek  <jakub@redhat.com>
4273             Florian Weimer  <fweimer@redhat.com>
4275         * config/linux/sem.h: Don't include limits.h.
4276         (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
4277         * config/linux/affinity.c: Include limits.h.
4279 2021-07-01  Jakub Jelinek  <jakub@redhat.com>
4281         PR middle-end/94366
4282         * testsuite/libgomp.c-c++-common/pr94366.c: New test.
4284 2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
4286         PR other/67300
4287         * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
4288         -foffload=nvptx-none= by -foffload-options=nvptx-none= to
4289         avoid disabling other offload targets.
4290         * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
4291         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
4292         * testsuite/libgomp.c/target-44.c: Likewise.
4294 2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
4296         * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
4297         target has shared memory and disable some scalar pointer/allocatable
4298         checks if not as firstprivate does not work.
4300 2021-06-25  Chung-Lin Tang  <cltang@codesourcery.com>
4302         PR testsuite/101114
4303         * testsuite/libgomp.c-c++-common/struct-elem-5.c:
4304         Add "target offload_device_nonshared_as" condition for enabling test.
4306 2021-06-24  Jakub Jelinek  <jakub@redhat.com>
4308         * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
4309         * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
4310         * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
4311         * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
4313 2021-06-23  Jakub Jelinek  <jakub@redhat.com>
4315         PR middle-end/101167
4316         * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
4318 2021-06-17  Chung-Lin Tang  <cltang@codesourcery.com>
4320         * hashtab.h (htab_clear): New function with initialization code
4321         factored out from...
4322         (htab_create): ...here, adjust to use htab_clear function.
4323         * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
4324         special refcount values, add comments.
4325         (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
4326         (REFCOUNT_LINK): Likewise.
4327         (REFCOUNT_STRUCTELEM): New special refcount range for structure
4328         element siblings.
4329         (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
4330         sibling maps.
4331         (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
4332         (REFCOUNT_STRUCTELEM_FLAG_LAST):  Flag to indicate last sibling.
4333         (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
4334         (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
4335         (struct splay_tree_key_s): Add structelem_refcount and
4336         structelem_refcount_ptr fields into a union with dynamic_refcount.
4337         Add comments.
4338         (gomp_map_vars): Delete declaration.
4339         (gomp_map_vars_async): Likewise.
4340         (gomp_unmap_vars): Likewise.
4341         (gomp_unmap_vars_async): Likewise.
4342         (goacc_map_vars): New declaration.
4343         (goacc_unmap_vars): Likewise.
4344         * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
4345         (goacc_enter_datum): Likewise.
4346         (goacc_enter_data_internal): Likewise.
4347         * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
4348         and goacc_unmap_vars.
4349         (GOACC_data_start): Adjust to use goacc_map_vars.
4350         (GOACC_data_end): Adjust to use goacc_unmap_vars.
4351         * target.c (hash_entry_type): New typedef.
4352         (htab_alloc): New function hook for hashtab.h.
4353         (htab_free): Likewise.
4354         (htab_hash): Likewise.
4355         (htab_eq): Likewise.
4356         (hashtab.h): Add file include.
4357         (gomp_increment_refcount): New function.
4358         (gomp_decrement_refcount): Likewise.
4359         (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
4360         gomp_increment_refcount.
4361         (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
4362         to gomp_map_vars_existing.
4363         (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
4364         variable to guard OpenMP specific paths, adjust calls to
4365         gomp_map_vars_existing, add structure element sibling splay_tree_key
4366         sequence creation code, adjust Fortran map case to avoid increment
4367         under OpenMP.
4368         (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
4369         local refcount_set if caller passed in NULL, adjust call to
4370         gomp_map_vars_internal.
4371         (gomp_map_vars_async): Adjust and rename into...
4372         (goacc_map_vars): ...this new function, adjust call to
4373         gomp_map_vars_internal.
4374         (gomp_remove_splay_tree_key): New function with code factored out from
4375         gomp_remove_var_internal.
4376         (gomp_remove_var_internal): Add code to handle removing multiple
4377         splay_tree_key sequence for structure elements, adjust code to use
4378         gomp_remove_splay_tree_key for splay-tree key removal.
4379         (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
4380         gomp_decrement_refcount.
4381         (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
4382         local refcount_set if caller passed in NULL, adjust call to
4383         gomp_unmap_vars_internal.
4384         (gomp_unmap_vars_async): Adjust and rename into...
4385         (goacc_unmap_vars): ...this new function, adjust call to
4386         gomp_unmap_vars_internal.
4387         (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
4388         gomp_unmap_vars.
4389         (GOMP_target_ext): Likewise.
4390         (gomp_target_data_fallback): Adjust call to gomp_map_vars.
4391         (GOMP_target_data): Likewise.
4392         (GOMP_target_data_ext): Likewise.
4393         (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
4394         (gomp_exit_data): Add refcount_set parameter, adjust to use
4395         gomp_decrement_refcount, adjust to queue splay-tree keys for removal
4396         after main loop.
4397         (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
4398         gomp_map_vars and gomp_exit_data.
4399         (gomp_target_task_fn): Likewise.
4400         * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
4401         * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
4402         * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
4403         * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
4404         * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
4405         * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
4407 2021-06-15  Tobias Burnus  <tobias@codesourcery.com>
4409         PR fortran/92568
4410         * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
4412 2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
4413             Thomas Schwinge  <thomas@codesourcery.com>
4415         * libgomp.map (GOACC_2.0.2): New symbol version.
4416         * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
4417         * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
4419 2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
4420             Andrew Stubbs  <ams@codesourcery.com>
4422         * oacc-mem.c (goacc_enter_exit_data_internal): New function,
4423         extracted from...
4424         (GOACC_enter_exit_data): ... here.
4425         (GOACC_declare): Use it.
4427 2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
4429         * oacc-parallel.c (GOACC_declare): Move...
4430         * oacc-mem.c: ... here.
4431         * libgomp_g.h: Adjust.
4433 2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
4434             Thomas Schwinge  <thomas@codesourcery.com>
4436         * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
4437         handling.
4439 2021-06-10  Jakub Jelinek  <jakub@redhat.com>
4441         PR tree-optimization/100981
4442         * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
4443         dsdotr and dsdoti to 0.
4445 2021-06-09  H.J. Lu  <hjl.tools@gmail.com>
4447         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
4448         if atomic compare-and-swap is supported on 'int'.
4450 2021-06-09  Richard Biener  <rguenther@suse.de>
4452         PR tree-optimization/100981
4453         * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
4455 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
4457         * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
4458         unconditionally.
4459         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4460         Update.
4461         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4462         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
4464 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
4466         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
4467         '-DACC_MEM_SHARED=0'.
4468         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4469         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4470         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4471         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4472         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4473         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4474         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4475         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4476         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4477         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4478         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
4479         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
4480         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
4481         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
4482         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
4483         'acc_device_radeon' testing.
4484         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
4485         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4486         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4487         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
4488         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4489         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4490         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
4491         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
4492         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4493         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4494         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
4495         for non-'openacc_nvidia_accel_selected'.
4496         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4497         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
4498         all implement this checking".
4499         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4500         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4501         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4502         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4503         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4505 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
4507         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
4508         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
4510 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
4512         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
4513         for 'acc_device_radeon'.
4515 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
4517         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
4518         for non-'acc_device_nvidia'.
4520 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
4522         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
4523         'acc_device_radeon' testing.
4524         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4525         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4526         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4528 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
4530         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
4531         require 'openacc_nvidia_accel_selected'.  Fix up for
4532         'ACC_DEVICE_TYPE_radeon'.
4534 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
4536         * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
4537         'openacc_nvidia_accel_selected'.
4538         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
4540 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
4542         * testsuite/lib/libgomp.exp
4543         (check_effective_target_openacc_radeon_accel_selected):
4544         Streamline.
4546 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
4548         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
4549         PR80547 workaround.
4551 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
4553         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4554         <acc_device_nvidia>: Update comment.
4556 2021-05-28  Tobias Burnus  <tobias@codesourcery.com>
4558         * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
4560 2021-05-27  Jakub Jelinek  <jakub@redhat.com>
4562         * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
4563         check_effective_target_openacc_cublas,
4564         check_effective_target_openacc_cudart): New.
4565         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
4566         target openacc_cublas.
4567         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
4568         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
4569         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
4570         target openacc_cuda.
4571         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
4572         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
4573         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
4574         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
4575         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
4576         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
4577         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
4578         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
4579         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
4580         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4581         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
4582         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4583         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
4584         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
4585         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
4586         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
4587         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
4588         targets openacc_cublas and openacc_cudart.
4589         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4590         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4591         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4592         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4593         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
4594         Require effective target openacc_cudart.
4595         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
4596         for effective target openacc_cuda and add && defined USE_CUDA_H to
4597         preprocessor conditionals.  Guard -lcuda also on openacc_cuda
4598         effective target.
4600 2021-05-26  Jakub Jelinek  <jakub@redhat.com>
4602         PR libgomp/100573
4603         * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
4604         GOMP_target_end_data, GOMP_target_update_ext,
4605         GOMP_target_enter_exit_data): New dummy entrypoints.
4606         * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
4607         GOMP_target_end_data, GOMP_target_update_ext,
4608         GOMP_target_enter_exit_data): Likewise.
4609         * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
4610         OMPFROM, OMPTO): Define.
4611         (main): Remove #pragma omp target teams around all the tests.
4612         * testsuite/libgomp.c-c++-common/target-41.c: New test.
4613         * testsuite/libgomp.c-c++-common/target-42.c: New test.
4615 2021-05-25  Jakub Jelinek  <jakub@redhat.com>
4617         PR middle-end/99928
4618         * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
4620 2021-05-24  Tobias Burnus  <tobias@codesourcery.com>
4622         PR fortran/86470
4623         * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
4624         * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
4625         * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
4627 2021-05-22  Thomas Schwinge  <thomas@codesourcery.com>
4629         PR testsuite/90115
4630         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
4631         uninteresting/varying diagnostics.
4633 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
4635         PR middle-end/90115
4636         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
4637         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4639 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
4641         PR middle-end/90115
4642         * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
4643         file.
4644         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
4645         * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
4646         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4647         Likewise.
4648         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4649         Likewise.
4650         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4651         Likewise.
4652         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4653         Likewise.
4654         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4655         Likewise.
4656         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4657         Likewise.
4658         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4659         Likewise.
4660         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4661         Likewise.
4662         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4663         Likewise.
4664         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4665         Likewise.
4666         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4667         Likewise.
4668         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4669         Likewise.
4670         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4671         Likewise.
4672         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4673         Likewise.
4674         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4675         Likewise.
4676         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4677         Likewise.
4678         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4679         Likewise.
4680         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4681         Likewise.
4682         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4683         Likewise.
4684         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4685         Likewise.
4686         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4687         Likewise.
4688         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4689         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4690         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4691         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4692         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4693         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4694         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4695         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4696         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4697         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4698         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4699         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4700         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4701         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4702         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
4703         Likewise.
4704         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
4705         Likewise.
4706         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
4707         Likewise.
4708         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
4709         Likewise.
4710         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
4711         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
4712         Likewise.
4713         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4714         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4715         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4716         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4717         * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
4718         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4719         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4720         Likewise.
4721         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4722         Likewise.
4723         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4724         Likewise.
4725         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4726         Likewise.
4727         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4728         Likewise.
4729         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4730         Likewise.
4731         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4732         Likewise.
4733         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4734         Likewise.
4735         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4736         Likewise.
4737         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4738         Likewise.
4739         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4740         Likewise.
4741         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4742         Likewise.
4743         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4744         Likewise.
4745         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
4746         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4747         * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
4748         Likewise.
4749         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
4750         Likewise.
4751         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4752         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4753         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4755 2021-05-21  Julian Brown  <julian@codesourcery.com>
4756             Chung-Lin Tang  <cltang@codesourcery.com>
4757             Thomas Schwinge  <thomas@codesourcery.com>
4759         PR middle-end/90115
4760         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
4761         test.
4762         * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
4763         Likewise.
4764         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
4765         Likewise.
4767 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
4769         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
4770         for nvptx offloading.
4772 2021-05-21  Tobias Burnus  <tobias@codesourcery.com>
4774         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
4776 2021-05-19  Thomas Schwinge  <thomas@codesourcery.com>
4778         PR target/83812
4779         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
4781 2021-05-19  Julian Brown  <julian@codesourcery.com>
4783         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
4785 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
4787         * testsuite/lib/libgomp.exp
4788         (check_effective_target_offload_target_nvptx): Don't shadow global
4789         'offload_targets' variable.
4791 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
4793         * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
4794         '-latomic' to nvptx offloading compilation.
4795         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
4797 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
4799         * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
4800         offloading compilation.
4802 2021-05-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
4804         * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
4805         if new tasks generated.
4806         * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
4808 2021-05-14  Tobias Burnus  <tobias@codesourcery.com>
4810         * testsuite/libgomp.fortran/parallel-master.f90: New test.
4812 2021-05-13  Martin Liska  <mliska@suse.cz>
4814         PR testsuite/100569
4815         * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
4816         * testsuite/libgomp.c/pr46032-2.c: Likewise.
4817         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
4818         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
4820 2021-05-12  Tobias Burnus  <tobias@codesourcery.com>
4822         * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
4823         * testsuite/libgomp.fortran/task-detach-12.f90: New test.
4825 2021-05-11  Jakub Jelinek  <jakub@redhat.com>
4827         PR middle-end/100471
4828         * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
4829         GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
4830         reduction pointer.
4831         * testsuite/libgomp.c/task-reduction-4.c: New test.
4833 2021-05-07  Tobias Burnus  <tobias@codesourcery.com>
4834             Tom de Vries  <tdevries@suse.de>
4836         * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
4837         complex/floating-point || + && reduction with 'omp target'.
4838         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
4840 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
4842         * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
4843         * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
4844         * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
4845         * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
4847 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
4849         PR testsuite/100397
4850         * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
4851         declaration to scope of non-'depend'-guarded assignment to avoid races.
4853 2021-05-03  Tom de Vries  <tdevries@suse.de>
4855         PR target/100321
4856         * testsuite/libgomp.c/target-44.c: New test.
4858 2021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
4860         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
4862 2021-04-29  Tom de Vries  <tdevries@suse.de>
4864         * testsuite/libgomp.c/pr81778.c: New test.
4866 2021-04-29  Tom de Vries  <tdevries@suse.de>
4868         PR target/100232
4869         * testsuite/libgomp.c/target-43.c: New file.
4871 2021-04-28  Jakub Jelinek  <jakub@redhat.com>
4872             Tobias Burnus  <tobias@codesourcery.com>
4874         * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
4875         * target.c (gomp_load_plugin_for_device): If set and if a plugin
4876         can't be dlopened, silently assume it has no devices.
4877         * Makefile.in: Regenerate.
4878         * config.h.in: Regenerate.
4879         * configure: Regenerate.
4881 2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
4883         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
4884         Use [Ww]arning in dg-bogus as FE diagnostic and default
4885         diagnostic differ and the result depends on ENABLE_OFFLOAD.
4886         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4887         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4888         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4890 2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
4892         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
4893         Correct spelling in dg-bogus to match -Wopenacc-parallelism.
4894         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4895         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4896         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4898 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
4899             Nathan Sidwell  <nathan@codesourcery.com>
4900             Tom de Vries  <vries@codesourcery.com>
4901             Julian Brown  <julian@codesourcery.com>
4902             Kwok Cheung Yeung  <kcy@codesourcery.com>
4904         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
4905         '-Wopenacc-parallelism', and match diagnostics, as appropriate.
4906         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4907         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4908         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4909         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4910         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
4911         Likewise.
4912         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
4913         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4914         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4915         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
4916         Likewise.
4917         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
4918         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
4919         Likewise.
4920         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4921         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4922         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4923         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4924         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
4925         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
4926         Likewise.
4927         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
4928         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4929         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4930         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4931         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4932         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4933         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4934         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4935         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4936         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4937         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4939 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
4941         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
4942         compile with '-w'.
4943         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4944         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
4945         Likewise.
4946         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4947         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
4948         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4949         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4950         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4951         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4952         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4954 2021-04-22  Richard Biener  <rguenther@suse.de>
4956         * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
4957         only on nvptx-none.
4959 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
4961         * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
4962         omp_depend_kind instead of defining it as 16.
4964 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
4966         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
4967         New, based on check_effective_target_offload_target_nvptx.
4968         (check_effective_target_offload_target_nvptx): Call it.
4969         (check_effective_target_offload_target_amdgcn): New.
4970         * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
4971         Require target offload_target_nvptx || offload_target_amdgcn.
4972         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
4973         * testsuite/libgomp.c/pr86416-1.c: Likewise.
4974         * testsuite/libgomp.c/pr86416-2.c: Likewise.
4976 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
4978         * testsuite/libgomp.fortran/depobj-1.f90: New test.
4980 2021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
4982         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4983         '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
4984         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4985         Likewise.
4986         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4987         Likewise.
4988         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4990 2021-04-15  Thomas Schwinge  <thomas@codesourcery.com>
4992         PR target/99555
4993         * testsuite/lib/libgomp.exp
4994         (check_effective_target_offload_device_nvptx): New.
4995         * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
4996         resolved, make sure that we exit quickly, with error status,
4997         XFAILed.
4998         * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
4999         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
5001 2021-04-14  Jakub Jelinek  <jakub@redhat.com>
5003         PR testsuite/100071
5004         * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
5005         cp = omp_alloc with cp, p arguments instead of cq, q and call
5006         c_f_pointer after last cq = omp_alloc with cq, q.
5008 2021-04-11  Hafiz Abid Qadeer  <abidh@codesourcery.com>
5010         PR middle-end/98088
5011         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
5012         for loop with GT/GE condition.
5013         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
5015 2021-04-09  Thomas Schwinge  <thomas@codesourcery.com>
5017         PR middle-end/84991
5018         PR middle-end/84992
5019         PR middle-end/90779
5020         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
5022 2021-04-09  Jakub Jelinek  <jakub@redhat.com>
5024         PR libgomp/99984
5025         * team.c (gomp_thread_start): Call pthread_setspecific for
5026         !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
5027         has been initialized to avoid false positive warning.
5029 2021-03-29  Tobias Burnus  <tobias@codesourcery.com>
5031         PR target/99555
5032         * testsuite/lib/on_device_arch.c: Move to ...
5033         * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
5034         * testsuite/libgomp.fortran/on_device_arch.c: New file;
5035         #include on_device_arch.h.
5036         * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
5037         on_device_arch.h instead of using dg-additional-source.
5038         * testsuite/libgomp.c/pr99555-1.c: Likewise.
5039         * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
5040         on_device_arch.c without relative paths.
5042 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
5044         * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
5045         the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
5046         * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
5047         * config.h.in: Regenerate.
5048         * configure: Likewise.
5050 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
5052         PR target/99555
5053         * testsuite/lib/on_device_arch.c: New file.
5054         * testsuite/libgomp.c/pr99555-1.c: Likewise.
5055         * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
5056         skip for nvptx offloading, with error status.
5057         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
5059 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
5061         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
5062         OpenACC 'serial' construct diagnostic for nvptx offloading.
5064 2021-03-15  Tobias Burnus  <tobias@codesourcery.com>
5066         PR c++/99509
5067         * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
5069 2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
5071         PR fortran/98858
5072         * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
5074 2021-03-04  Jakub Jelinek  <jakub@redhat.com>
5076         * configure.ac: Add AC_CHECK_SIZEOF([void *]).
5077         * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
5078         checking of -m32 or -mx32 options on the command line.
5079         * config.h.in: Regenerated.
5080         * configure: Regenerated.
5082 2021-02-27  Iain Sandoe  <iain@sandoe.co.uk>
5084         * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
5085         support from the target.
5087 2021-02-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
5088             Jakub Jelinek  <jakub@redhat.com>
5090         PR libgomp/98738
5091         * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
5092         (struct gomp_task): Replace detach and completion_sem fields with
5093         union containing completion_sem and detach_team.  Add deferred_p
5094         field.
5095         (struct gomp_team): Remove task_detach_queue.
5096         * task.c: Include assert.h.
5097         (gomp_init_task): Initialize deferred_p and completion_sem fields.
5098         Rearrange initialization order of fields.
5099         (task_fulfilled_p): Delete.
5100         (GOMP_task): Use address of task as the event handle.  Remove
5101         initialization of detach field.  Initialize deferred_p field.
5102         Use automatic local for completion_sem.  Initialize detach_team field
5103         for deferred tasks.
5104         (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
5105         Set kind of suspended detach task to GOMP_TASK_DETACHED and
5106         decrement task_running_count.  Move finish_cancelled block out of
5107         else branch.  Relocate call to gomp_team_barrier_done.
5108         (GOMP_taskwait): Handle tasks with completion events that have not
5109         been fulfilled.
5110         (GOMP_taskgroup_end): Likewise.
5111         (omp_fulfill_event): Use address of task as event handle.  Post to
5112         completion_sem for undeferred tasks.  Clear detach_team if task
5113         has not finished.  For finished tasks, handle post-execution tasks,
5114         call gomp_team_barrier_wake if necessary, and free task.
5115         * team.c (gomp_new_team): Remove initialization of task_detach_queue.
5116         (free_team): Remove free of task_detach_queue.
5117         * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
5118         * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
5119         * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
5120         * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
5121         * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
5122         Change data-sharing of detach events on enclosing parallel to private.
5123         * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.  Remove
5124         taskwait directive.
5125         * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
5126         * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
5127         * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
5128         * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
5129         * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
5130         * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
5131         * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
5132         * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
5133         * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
5134         * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
5135         Change data-sharing of detach events on enclosing parallel to private.
5136         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.  Remove
5137         taskwait directive.
5138         * testsuite/libgomp.fortran/task-detach-7.f90: New.
5139         * testsuite/libgomp.fortran/task-detach-8.f90: New.
5140         * testsuite/libgomp.fortran/task-detach-9.f90: New.
5141         * testsuite/libgomp.fortran/task-detach-10.f90: New.
5142         * testsuite/libgomp.fortran/task-detach-11.f90: New.
5144 2021-02-22  Tobias Burnus  <tobias@codesourcery.com>
5146         PR fortran/99171
5147         * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
5149 2021-02-17  Julian Brown  <julian@codesourcery.com>
5151         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
5152         expected errors.
5154 2021-02-17  Julian Brown  <julian@codesourcery.com>
5156         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
5157         * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
5159 2021-02-11  UroÅ¡ Bizjak  <ubizjak@gmail.com>
5161         * config/linux/x86/futex.h (__futex_wait):
5162         Revert output type back to long.
5163         (__futex_wake): Ditto.
5164         (futex_wait): Update for revert.
5165         (futex_wake): Ditto.
5167 2021-02-11  UroÅ¡ Bizjak  <ubizjak@gmail.com>
5169         * config/linux/x86/futex.h (__futex_wait): New static inline
5170         wrapper function.  Correct output type to int and
5171         timeout type to void *.
5172         (__futex_wake): New static inline wrapper function.
5173         Correct output type to int.
5174         (futex_wait): Use __futex_wait.
5175         (futex_wake): Use __futex_wake.
5177 2021-02-10  Julian Brown  <julian@codesourcery.com>
5179         PR fortran/98979
5180         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
5181         errors.
5183 2021-02-04  Julian Brown  <julian@codesourcery.com>
5185         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
5187 2021-02-03  Andrew Stubbs  <ams@codesourcery.com>
5189         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
5190         EF_AMDGPU_MACH_AMDGCN_GFX908.
5191         (gcn_gfx908_s): New constant string.
5192         (isa_hsa_name): Add gfx908.
5193         (isa_code): Add gfx908.
5195 2021-01-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
5197         * libgomp.texi (omp_fulfill_event): New entry.
5199 2021-01-20  Jakub Jelinek  <jakub@redhat.com>
5201         * task.c (GOMP_task): Rename priority argument to priority_arg,
5202         add priority automatic variable and modify that variable.  Instead of
5203         clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
5204         check flags for that bit.
5206 2021-01-19  Tobias Burnus  <tobias@codesourcery.com>
5208         PR fortran/98476
5209         * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
5211 2021-01-18  Andreas Schwab  <schwab@suse.de>
5213         * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
5215 2021-01-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5217         * config/rtems/sem.h (gomp_sem_getcount): New function.
5219 2021-01-18  Jakub Jelinek  <jakub@redhat.com>
5221         * config/linux/sem.h (gomp_sem_getcount): New function.
5222         * config/posix/sem.h (gomp_sem_getcount): New function.
5223         * config/posix/sem.c (gomp_sem_getcount): New function.
5224         * config/accel/sem.h (gomp_sem_getcount): New function.
5225         * task.c (task_fulfilled_p): Use gomp_sem_getcount.
5226         (omp_fulfill_event): Likewise.
5228 2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
5230         * fortran.c (omp_fulfill_event_): New.
5231         * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
5232         (struct gomp_team): Add task_detach_queue and task_detach_count
5233         fields.
5234         * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
5235         * libgomp_g.h (GOMP_task): Add extra argument.
5236         * omp.h.in (enum omp_event_handle_t): New.
5237         (omp_fulfill_event): New.
5238         * omp_lib.f90.in (omp_event_handle_kind): New.
5239         (omp_fulfill_event): New.
5240         * omp_lib.h.in (omp_event_handle_kind): New.
5241         (omp_fulfill_event): Declare.
5242         * priority_queue.c (priority_tree_find): New.
5243         (priority_list_find): New.
5244         (priority_queue_find): New.
5245         * priority_queue.h (priority_queue_predicate): New.
5246         (priority_queue_find): New.
5247         * task.c (gomp_init_task): Initialize detach field.
5248         (task_fulfilled_p): New.
5249         (GOMP_task): Add detach argument.  Ignore detach argument if
5250         GOMP_TASK_FLAG_DETACH not set in flags.  Initialize completion_sem
5251         field.  Copy address of completion_sem into detach argument and
5252         into the start of the data record.  Wait for detach event if task
5253         not deferred.
5254         (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
5255         Remove completed tasks and requeue dependent tasks.
5256         (omp_fulfill_event): New.
5257         * team.c (gomp_new_team): Initialize task_detach_queue and
5258         task_detach_count fields.
5259         (free_team): Free task_detach_queue field.
5260         * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
5261         * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
5262         * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
5263         * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
5264         * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
5265         * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
5266         * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
5267         * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
5268         * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
5269         * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
5270         * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
5271         * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
5273 2021-01-15  Jakub Jelinek  <jakub@redhat.com>
5275         PR target/70454
5276         * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
5277         be added through preprocessor check on
5278         __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
5280 2021-01-14  Thomas Schwinge  <thomas@codesourcery.com>
5282         PR libgomp/65099
5283         * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
5284         configurations.
5285         * configure: Regenerate.
5286         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
5287         check.
5289 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
5291         * configure: Re-generate.
5293 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
5295         * configure: Re-generate.
5297 2021-01-05  Julian Brown  <julian@codesourcery.com>
5299         * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
5300         (struct ptx_device): Add omp_stacks struct.
5301         (nvptx_open_device): Initialise cached-stacks housekeeping info.
5302         (nvptx_close_device): Free cached stacks block and mutex.
5303         (nvptx_stacks_free): New function.
5304         (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
5305         (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
5306         (nvptx_stacks_alloc): Rename to...
5307         (nvptx_stacks_acquire): This.  Cache stacks block between runs if same
5308         size or smaller is required.
5309         (nvptx_stacks_free): Remove.
5310         (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
5311         during kernel execution.
5313 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
5315         * libgomp.texi: Bump @copying's copyright year.
5317 2020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
5319         * libgomp.texi (Top): Avoid bad "up" link.
5321 2020-12-18  Jakub Jelinek  <jakub@redhat.com>
5323         * testsuite/libgomp.c/task-6.c: New test.
5325 2020-12-09  Andrew Stubbs  <ams@codesourcery.com>
5327         * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
5328         (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
5330 2020-12-08  Tobias Burnus  <tobias@codesourcery.com>
5332         * testsuite/libgomp.fortran/scan-1.f90: New test.
5334 2020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
5336         PR target/97865
5337         * configure: Regenerate.
5339 2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
5341         * configure: Regenerate.
5343 2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
5345         * testsuite/libgomp.oacc-c++/cache-1.C: New.
5346         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
5348 2020-11-25  Andrew Stubbs  <ams@codesourcery.com>
5350         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
5351         expected results.
5353 2020-11-24  Andrew Stubbs  <ams@codesourcery.com>
5355         * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
5356         (reserved): Delete unused define.
5358 2020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
5360         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
5361         Tcl 8.5-specific behavior.
5362         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
5364 2020-11-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
5366         * env.c (gomp_global_icv): Remove nest_var field.  Add
5367         max_active_levels_var field.
5368         (gomp_max_active_levels_var): Remove.
5369         (parse_boolean): Return true on success.
5370         (handle_omp_display_env): Express OMP_NESTED in terms of
5371         max_active_levels_var.  Change format specifier for
5372         max_active_levels_var.
5373         (initialize_env): Set max_active_levels_var from
5374         OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
5375         OMP_PROC_BIND.
5376         * icv.c (omp_set_nested): Express in terms of
5377         max_active_levels_var.
5378         (omp_get_nested): Likewise.
5379         (omp_set_max_active_levels): Use max_active_levels_var field instead
5380         of gomp_max_active_levels_var.
5381         (omp_get_max_active_levels): Likewise.
5382         * libgomp.h (struct gomp_task_icv): Remove nest_var field.  Add
5383         max_active_levels_var field.
5384         (gomp_supported_active_levels): Set to UCHAR_MAX.
5385         (gomp_max_active_levels_var): Delete.
5386         * libgomp.texi (omp_get_nested): Update documentation.
5387         (omp_set_nested): Likewise.
5388         (OMP_MAX_ACTIVE_LEVELS): Likewise.
5389         (OMP_NESTED): Likewise.
5390         (OMP_NUM_THREADS): Likewise.
5391         (OMP_PROC_BIND): Likewise.
5392         * parallel.c (gomp_resolve_num_threads): Replace reference
5393         to nest_var with max_active_levels_var.  Use max_active_levels_var
5394         field instead of gomp_max_active_levels_var.
5396 2020-11-18  Tobias Burnus  <tobias@codesourcery.com>
5398         * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
5399         nvptx_usleep; use also for device={arch(gcn)}.
5401 2020-11-14  Jakub Jelinek  <jakub@redhat.com>
5403         * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
5404         (foo): Add tests for non-VLA private and firstprivate clauses on
5405         omp task.
5406         (bar): Likewise.  Remove taking of address from private/firstprivate
5407         variables.
5408         * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
5409         (foo): Add p, q, px and s arguments.  Add tests for array reductions
5410         and for non-VLA private and firstprivate clauses on omp task.
5411         (bar): Removed.
5412         (main): Adjust foo caller.  Don't call bar.
5414 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
5415             Thomas Schwinge  <thomas@codesourcery.com>
5417         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
5418         New.
5419         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
5420         Likewise.
5421         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5422         Likewise.
5423         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
5424         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
5426 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
5427             Thomas Schwinge  <thomas@codesourcery.com>
5429         PR fortran/94358
5430         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
5432 2020-11-13  Jakub Jelinek  <jakub@redhat.com>
5434         * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
5435         for array reductions.
5436         (main): Adjust foo callers.
5438 2020-11-12  Jakub Jelinek  <jakub@redhat.com>
5440         * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
5441         * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
5442         * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
5443         * allocator.c (omp_aligned_alloc): New for now static function,
5444         add alignment argument and handle it.
5445         (omp_alloc): Reimplement using omp_aligned_alloc.
5446         (GOMP_alloc, GOMP_free): New functions.
5447         (omp_free): Add ialias.
5448         * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
5449         * testsuite/libgomp.c++/allocate-1.C: New test.
5451 2020-11-12  Thomas Schwinge  <thomas@codesourcery.com>
5453         PR fortran/97782
5454         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
5456 2020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
5458         * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
5459         usable.
5460         * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
5461         'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
5462         (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
5463         (goacc_enter_data_internal): Likewise.
5464         * target.c (gomp_map_vars_internal):
5465         Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
5466         of gomp_attach_pointer for OpenMP cases.
5467         (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
5468         (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
5469         * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
5471 2020-11-05  Ulrich Drepper  <drepper@redhat.com>
5472             Kwok Cheung Yeung  <kcy@codesourcery.com>
5474         * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
5475         * Makefile.in: Regenerate.
5476         * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
5477         pragmas to ignore -Wdeprecated-declarations warnings.
5478         * icv.c: Likewise.
5479         * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
5480         Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
5481         and omp_get_nested with __GOMP_DEPRECATED_5_0.
5482         * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
5483         deprecated.
5484         * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
5485         to test options.
5486         * testsuite/libgomp.c/affinity-1.c: Likewise.
5487         * testsuite/libgomp.c/affinity-2.c: Likewise.
5488         * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
5489         * testsuite/libgomp.c/lib-1.c: Likewise.
5490         * testsuite/libgomp.c/nested-1.c: Likewise.
5491         * testsuite/libgomp.c/nested-2.c: Likewise.
5492         * testsuite/libgomp.c/nested-3.c: Likewise.
5493         * testsuite/libgomp.c/pr32362-1.c: Likewise.
5494         * testsuite/libgomp.c/pr32362-2.c: Likewise.
5495         * testsuite/libgomp.c/pr32362-3.c: Likewise.
5496         * testsuite/libgomp.c/pr35549.c: Likewise.
5497         * testsuite/libgomp.c/pr42942.c: Likewise.
5498         * testsuite/libgomp.c/pr61200.c: Likewise.
5499         * testsuite/libgomp.c/sort-1.c: Likewise.
5500         * testsuite/libgomp.c/target-5.c: Likewise.
5501         * testsuite/libgomp.c/target-6.c: Likewise.
5502         * testsuite/libgomp.c/teams-1.c: Likewise.
5503         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
5504         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5505         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
5506         * testsuite/libgomp.fortran/affinity1.f90: Likewise.
5507         * testsuite/libgomp.fortran/lib1.f90: Likewise.
5508         * testsuite/libgomp.fortran/lib2.f: Likewise.
5509         * testsuite/libgomp.fortran/nested1.f90: Likewise.
5510         * testsuite/libgomp.fortran/teams1.f90: Likewise.
5512 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
5514         PR target/85486
5515         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
5516         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5517         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5519 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
5521         PR testsuite/80219
5522         PR testsuite/85303
5523         * testsuite/lib/libgomp.exp (libgomp_init): Set
5524         'gcc_warning_prefix', 'gcc_error_prefix'.
5526 2020-10-30  Jakub Jelinek  <jakub@redhat.com>
5528         * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
5529         even in field_tgt_clear initializer.
5531 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
5533         * testsuite/libgomp.c/target-42.c: New test.
5535 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
5536             Tom de Vries  <tdevries@suse.de>
5538         PR testsuite/81690
5539         * testsuite/libgomp.c/usleep.h: New file.
5540         * testsuite/libgomp.c/target-32.c: Include usleep.h.
5541         (main): Use tgt_usleep instead of usleep.
5542         * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
5543         (main): Use tgt_usleep instead of usleep.
5545 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
5547         PR lto/96680
5548         * testsuite/libgomp.c/declare-variant-1.c: New test.
5550 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
5552         * testsuite/libgomp.c/target-41.c: New test.
5554 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
5556         * icv.c (omp_get_initial_device): Remove including corresponding
5557         ialias.
5558         * icv-device.c (omp_get_initial_device): New function.  Return
5559         gomp_get_num_devices ().  Add ialias.
5560         * target.c (resolve_device): Don't fail with
5561         OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
5562         gomp_get_num_devices ().
5563         (omp_target_alloc, omp_target_free, omp_target_is_present,
5564         omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
5565         omp_target_disassociate_ptr, omp_pause_resource): Use
5566         gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
5567         first use in the functions, in uses dominated by the
5568         gomp_get_num_devices call use num_devices_openmp instead.
5569         * libgomp.texi (omp_get_initial_device): Document.
5570         * config/gcn/icv-device.c (omp_get_initial_device): New function.
5571         Add ialias.
5572         * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
5573         * testsuite/libgomp.c/target-40.c: New test.
5575 2020-10-21  Jakub Jelinek  <jakub@redhat.com>
5577         * env.c (parse_target_offload): Change new_offload var type to int,
5578         preinitialize to -1, remove found var and test new_offload != -1
5579         instead of found.
5581 2020-10-20  Jakub Jelinek  <jakub@redhat.com>
5583         * target.c (gomp_target_init): Inside of the function, use automatic
5584         variables corresponding to num_devices, num_devices_openmp and devices
5585         global variables and update the globals only at the end of the
5586         function.
5588 2020-10-20  Kwok Cheung Yeung  <kcy@codesourcery.com>
5590         * env.c (gomp_target_offload_var): New.
5591         (parse_target_offload): New.
5592         (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
5593         (initialize_env): Parse OMP_TARGET_OFFLOAD.
5594         * libgomp.h (gomp_target_offload_t): New.
5595         (gomp_target_offload_var): New.
5596         * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
5597         * target.c (resolve_device): Generate error if device not found and
5598         offloading is mandatory.
5599         (gomp_target_fallback): Generate error if offloading is mandatory.
5600         (GOMP_target): Add argument in call to gomp_target_fallback.
5601         (GOMP_target_ext): Likewise.
5602         (gomp_target_data_fallback): Generate error if offloading is mandatory.
5603         (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
5604         (GOMP_target_data_ext): Likewise.
5605         (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
5606         (gomp_target_init): Return early if offloading is disabled.
5608 2020-10-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
5610         * libgomp.texi (omp_get_max_active_levels): Modify description.
5611         (omp_get_supported_active_levels): Make descriptions consistent.
5613 2020-10-14  Jakub Jelinek  <jakub@redhat.com>
5615         * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
5617 2020-10-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
5619         * env.c (gomp_max_active_levels_var): Initialize to
5620         gomp_supported_active_levels.
5621         (initialize_env): Limit gomp_max_active_levels_var to be at most
5622         equal to gomp_supported_active_levels.
5623         * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
5624         (omp_get_supported_active_levels_): New.
5625         * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
5626         to at most equal to gomp_supported_active_levels.
5627         (omp_get_supported_active_levels): New.
5628         * libgomp.h (gomp_supported_active_levels): New.
5629         * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
5630         omp_get_supported_active_levels_.
5631         * libgomp.texi (omp_get_supported_active_levels): New.
5632         (omp_set_max_active_levels): Update.  Add reference to
5633         omp_get_supported_active_levels.
5634         * omp.h.in (omp_get_supported_active_levels): New.
5635         * omp_lib.f90.in (omp_get_supported_active_levels): New.
5636         * omp_lib.h.in (omp_get_supported_active_levels): New.
5637         * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
5638         against omp_get_supported_active_levels.
5639         * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
5641 2020-10-11  Clement Chigot  <clement.chigot@atos.net>
5643         * config/t-aix: Delete and recreate libgomp before creating
5644         FAT library.
5646 2020-10-08  Tom de Vries  <tdevries@suse.de>
5648         PR libgomp/81802
5649         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
5650         dimensions.
5652 2020-10-06  Tom de Vries  <tdevries@suse.de>
5654         * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
5656 2020-10-06  Tom de Vries  <tdevries@suse.de>
5658         PR middle-end/90861
5659         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
5661 2020-10-05  Tom de Vries  <tdevries@suse.de>
5663         PR fortran/95654
5664         * testsuite/libgomp.fortran/pr95654.f90: New test.
5666 2020-10-02  Tobias Burnus  <tobias@codesourcery.com>
5668         * Makefile.in: Regenerate with automake 1.15.1.
5669         * aclocal.m4: Likewise.
5670         * configure: Likewise.
5671         * testsuite/Makefile.in: Likewise.
5673 2020-09-30  Andrew Stubbs  <ams@codesourcery.com>
5675         * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
5676         and amdgcn targets.
5678 2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
5680         * testsuite/libgomp.fortran/declare-target-3.f90: New test.
5682 2020-09-29  Andrew Stubbs  <ams@codesourcery.com>
5684         * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
5685         total number of threads is one.
5686         (gomp_team_barrier_wake): Likewise.
5687         (gomp_team_barrier_wait_end): Likewise.
5688         (gomp_team_barrier_wait_cancel_end): Likewise.
5689         * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
5690         (gomp_team_barrier_wake): Likewise.
5691         (gomp_team_barrier_wait_end): Likewise.
5692         (gomp_team_barrier_wait_cancel_end): Likewise.
5693         * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
5695 2020-09-28  Tobias Burnus  <tobias@codesourcery.com>
5697         PR middle-end/96390
5698         * testsuite/libgomp.c++/pr96390.C: New test.
5699         * testsuite/libgomp.c-c++-common/pr96390.c: New test.
5701 2020-09-27  Clement Chigot  <clement.chigot@atos.net>
5703         * config/t-aix: Use $(AR) without -X32_64.
5705 2020-09-25  Jakub Jelinek  <jakub@redhat.com>
5707         * testsuite/libgomp.c/loop-25.c: New test.
5709 2020-09-22  Tobias Burnus  <tobias@codesourcery.com>
5711         PR fortran/95654
5712         * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
5714 2020-09-22  Tom de Vries  <tdevries@suse.de>
5716         * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
5717         fails.
5719 2020-09-16  Nathan Sidwell  <nathan@acm.org>
5721         * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
5723 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
5725         PR fortran/96668
5726         * target.c (gomp_map_vars_internal): Initialize has_nullptr.
5728 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
5730         PR fortran/96668
5731         * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
5732         * target.c (gomp_map_vars_existing): Add always_to_flag flag.
5733         (gomp_map_vars_existing): Update call to it.
5734         (gomp_map_fields_existing): Likewise
5735         (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
5736         now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
5737         remapped.
5738         (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
5739         GOMP_MAP_POINTER.
5740         * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
5741         * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
5743 2020-09-14  Tom de Vries  <tdevries@suse.de>
5745         * config/nvptx/atomic.c: New file.  Add
5746         __sync_val_compare_and_swap_16.
5747         * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
5748         target offload_target_nvptx.
5750 2020-09-08  Julian Brown  <julian@codesourcery.com>
5752         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
5753         iteration-ordering assumptions.
5755 2020-09-08  Julian Brown  <julian@codesourcery.com>
5757         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
5758         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
5760 2020-08-20  Chung-Lin Tang  <cltang@codesourcery.com>
5762         * plugin/plugin-nvptx.c (nvptx_free):
5763         Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
5764         CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
5765         comments.
5767 2020-08-20  Tobias Burnus  <tobias@codesourcery.com>
5769         * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
5771 2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
5773         * testsuite/libgomp.c-c++-common/reduction-16.c: New.
5775 2020-08-13  Jakub Jelinek  <jakub@redhat.com>
5777         * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
5778         * testsuite/libgomp.c/loop-23.c (main): Likewise.
5779         * testsuite/libgomp.c/loop-24.c: New test.
5781 2020-08-08  Jakub Jelinek  <jakub@redhat.com>
5782             Tobias Burnus  <tobias@codesourcery.com>
5784         PR fortran/93553
5785         * testsuite/libgomp.fortran/pr93553.f90: New test.
5787 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
5789         * testsuite/libgomp.c/loop-22.c: New test.
5790         * testsuite/libgomp.c/loop-23.c: New test.
5792 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
5794         PR middle-end/96459
5795         * testsuite/libgomp.c/teams-3.c: New test.
5796         * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
5797         if not defined yet.
5798         (N(test)): Use it before all N(f*) calls.
5799         * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
5800         (main): Don't call all test_* functions from within
5801         #pragma omp teams reduction(|:err), call them directly.
5803 2020-08-04  Tom de Vries  <tdevries@suse.de>
5805         PR target/96428
5806         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
5807         * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
5809 2020-08-03  Julian Brown  <julian@codesourcery.com>
5810             Thomas Schwinge  <thomas@codesourcery.com>
5812         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
5813         shared-memory devices.  Extend with further checking.
5815 2020-08-03  Martin Jambor  <mjambor@suse.cz>
5817         * plugin/Makefrag.am: Remove configuration of HSA plugin.
5818         * aclocal.m4: Regenerated.
5819         * Makefile.in: Regenerated.
5820         * config.h.in: Regenerated.
5821         * configure: Regenerated.
5822         * plugin/configfrag.ac: Likewise.
5823         * plugin/hsa_ext_finalize.h: Removed.
5824         * plugin/plugin-hsa.c: Likewise.
5825         * testsuite/Makefile.in: Regenerated.
5826         * testsuite/lib/libgomp.exp
5827         (offload_target_to_openacc_device_type): Remove hsa case.
5828         (check_effective_target_hsa_offloading_selected_nocache): Removed
5829         (check_effective_target_hsa_offloading_selected): Likewise.
5830         (libgomp_init): Do not add -Wno-hsa to additional_flags.
5831         * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
5832         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
5833         * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
5834         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
5835         * testsuite/libgomp.hsa.c/c.exp: Likewise.
5836         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
5837         * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
5838         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
5839         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
5840         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
5841         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
5842         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
5843         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
5844         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
5845         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
5846         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
5847         * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
5848         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
5849         * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
5850         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
5851         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
5852         * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
5853         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
5854         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5856 2020-07-27  Julian Brown  <julian@codesourcery.com>
5857             Thomas Schwinge  <thomas@codesourcery.com>
5859         * libgomp.h (struct target_var_desc): Rename do_detach field to
5860         is_attach.
5861         * oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
5862         GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
5863         (goacc_enter_data_internal): Don't affect reference counts
5864         for attach mappings.
5865         (goacc_exit_data_internal): Don't affect reference counts for detach
5866         mappings.
5867         * target.c (gomp_map_vars_existing): Don't affect reference counts for
5868         attach mappings.
5869         (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
5870         mark attach mappings.
5871         (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
5872         reference count for attach mappings.
5873         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
5874         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
5875         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
5876         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
5877         test as shouldfail.
5878         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
5879         gracefully in no-finalize mode.
5880         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
5882 2020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
5884         * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
5885         use.
5886         * testsuite/libgomp.oacc-c/c.exp: Likewise.
5887         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5889 2020-07-23  Julian Brown  <julian@codesourcery.com>
5890             Thomas Schwinge  <thomas@codesourcery.com>
5892         * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
5893         finalization for detach operation.
5894         * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
5895         New test.
5897 2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
5899         * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
5900         * libgomp_f.h.in (omp_check_defines): Check whether
5901         sizeof of determined Fortran kind and C typedef match.
5902         * omp_lib.f90.in: Add omp_depened_kind.
5903         * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
5904         * configure: Regenerate.
5905         * Makefile.in: Regenerate.
5906         * testsuite/Makefile.in: Regenerate.
5908 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
5910         * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
5911         gcc/testsuite/c-c++-common/gomp/.
5912         * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
5913         * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
5914         from gcc/testsuite/gfortran.dg/gomp/.
5915         * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
5917 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
5919         * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
5920         * omp_lib.h.in: Likewise.
5922 2020-07-18  H.J. Lu  <hjl.tools@gmail.com>
5924         PR target/95620
5925         * testsuite/libgomp.c/pr95620.c: New test.
5927 2020-07-16  Julian Brown  <julian@codesourcery.com>
5928             Thomas Schwinge  <thomas@codesourcery.com>
5930         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
5931         * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
5933 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
5935         * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
5936         avoid conversion on 32bit systems from 32bit to 64bit due
5937         to -fdefault-integer-8.
5939 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
5941         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
5942         variables; add character(kind=4) tests; update TODO comment.
5944 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
5946         * allocator.c: Add ialias for omp_init_allocator and
5947         omp_destroy_allocator.
5948         * configure.ac: Set INTPTR_T_KIND.
5949         * configure: Regenerate.
5950         * Makefile.in: Regenerate.
5951         * testsuite/Makefile.in: Regenerate.
5952         * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
5953         omp_set_default_allocator_, omp_get_default_allocator_): New
5954         functions and ialias_redirect.
5955         * icv.c: Add ialias for omp_set_default_allocator and
5956         omp_get_default_allocator.
5957         * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
5958         omp_destroy_allocator_, omp_set_default_allocator_ and
5959         omp_get_default_allocator_.
5960         * omp_lib.f90.in: Add allocator traits parameters, declare
5961         allocator routines and add related kind parameters.
5962         * omp_lib.h.in: Likewise.
5963         * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
5964         * testsuite/libgomp.fortran/alloc-1.F90: New test.
5965         * testsuite/libgomp.fortran/alloc-2.F90: New test.
5966         * testsuite/libgomp.fortran/alloc-3.F: New test.
5967         * testsuite/libgomp.fortran/alloc-4.f90: New test.
5968         * testsuite/libgomp.fortran/alloc-5.f90: New test.
5970 2020-07-14  Tom de Vries  <tom@codesourcery.com>
5971             Cesar Philippidis  <cesar@codesourcery.com>
5972             Thomas Schwinge  <thomas@codesourcery.com>
5973             Kwok Cheung Yeung  <kcy@codesourcery.com>
5975         * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
5976         New variable.
5977         (acc_init_1): Set acc_init_thread to pthread_self ().  Set
5978         acc_init_state to initializing at the start, and to initialized at the
5979         end.
5980         (self_initializing_p): New function.
5981         (acc_get_device_type): Return acc_device_none if called by thread that
5982         is currently executing acc_init_1.
5983         * libgomp.texi (acc_get_device_type): Update documentation.
5984         (Implementation Status and Implementation-Defined Behavior): Likewise.
5985         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
5987 2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
5989         * config/t-aix: Set BITS from compiler cpp macro.
5991 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
5993         * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
5995 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
5997         PR fortran/67311
5998         * testsuite/libgomp.fortran/target-map-1.f90: New test.
6000 2020-07-14  Jakub Jelinek  <jakub@redhat.com>
6002         * testsuite/libgomp.c/loop-21.c: New test.
6004 2020-07-13  Julian Brown  <julian@codesourcery.com>
6005             Thomas Schwinge  <thomas@codesourcery.com>
6007         * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
6009 2020-07-10  Julian Brown  <julian@codesourcery.com>
6010             Thomas Schwinge  <thomas@codesourcery.com>
6012         * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
6013         dynamic_refcount.
6014         (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
6015         * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
6016         dynamic_refcount.
6017         (acc_unmap_data): Update comment.
6018         (goacc_map_var_existing, goacc_enter_datum): Adjust for
6019         dynamic_refcount semantics.
6020         (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
6021         Adjust for dynamic_refcount semantics.
6022         (goacc_enter_data_internal): Implement "present" case of dynamic
6023         memory-map handling here.  Update "non-present" case for
6024         dynamic_refcount semantics.
6025         (goacc_exit_data_internal): Use goacc_exit_datum_1.
6026         * target.c (gomp_map_vars_internal): Remove
6027         GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
6028         handling.
6029         (gomp_unmap_vars_internal): Remove virtual_refcount handling.
6030         (gomp_load_image_to_device): Substitute dynamic_refcount for
6031         virtual_refcount.
6032         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
6033         * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
6034         * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
6035         * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
6036         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
6037         trace output.
6038         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
6039         trace output.
6040         * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
6041         test.
6042         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
6043         Remove stale comment.
6044         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
6045         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
6046         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6047         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6048         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6049         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
6051 2020-07-10  Julian Brown  <julian@codesourcery.com>
6052             Thomas Schwinge  <thomas@codesourcery.com>
6054         * oacc-mem.c (goacc_map_var_existing): New function.
6055         (goacc_enter_datum): Use above function.
6056         (goacc_exit_datum_1): New function.
6057         (goacc_exit_datum): Use above function.
6059 2020-07-09  Julian Brown  <julian@codesourcery.com>
6060             Thomas Schwinge  <thomas@codesourcery.com>
6062         PR middle-end/95270
6063         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
6064         * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
6066 2020-07-09  Julian Brown  <julian@codesourcery.com>
6068         * oacc-mem.c (find_group_last): Group data-movement clauses
6069         (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
6070         GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
6072 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
6074         * testsuite/libgomp.c/loop-19.c: New test.
6075         * testsuite/libgomp.c/loop-20.c: New test.
6077 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
6079         * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
6080         2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
6081         it.  Remove __omp_alloctrait_value_max__.
6082         * allocator.c (omp_init_allocator): Handle omp_atv_default for
6083         omp_atk_alignment and omp_atk_pool_size.
6085 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
6087         * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
6088         behavior for 'GOMP_MAP_FORCE_FROM'.
6089         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
6091 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
6093         * oacc-mem.c (goacc_exit_data_internal): Remove
6094         'GOMP_MAP_ALWAYS_FROM' handling.
6096 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
6098         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
6099         'scan-assembler' with 'scan-offload-rtl'.
6100         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6101         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
6102         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
6103         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
6105 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
6107         * target.c (gomp_map_vars_existing): Assert 'kind !=
6108         GOMP_MAP_ATTACH'.
6109         (gomp_map_vars_internal): Clean up.
6111 2020-06-27  Jakub Jelinek  <jakub@redhat.com>
6113         * testsuite/libgomp.c/loop-17.c: New test.
6114         * testsuite/libgomp.c/loop-18.c: New test.
6116 2020-06-26  Marek Polacek  <polacek@redhat.com>
6118         * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
6120 2020-06-23  Alexandre Oliva  <oliva@adacore.com>
6122         * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
6123         * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
6125 2020-06-22  David Edelsohn  <dje.gcc@gmail.com>
6127         * Makefile.am: Use -include.
6128         * Makefile.in: Regenerate.
6130 2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
6132         * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
6133         * Makefile.in: Regenerate
6134         * configure.ac (tmake_file): Substitute.
6135         * configure: Regenerate.
6136         * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
6137         * config/t-aix: New file.
6139 2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
6141         PR lto/94848
6142         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
6143         'dg-do run'.
6145 2020-06-17  Andrew Stubbs  <ams@codesourcery.com>
6147         * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
6148         variant for HSA_RUNTIME_LIB name.
6149         (find_executable_symbol_1): Delete.
6150         (find_executable_symbol): Delete.
6151         (init_kernel_properties): Add ".kd" suffix to symbol names.
6152         (find_load_offset): Delete.
6153         (create_and_finalize_hsa_program): Remove relocation handling.
6155 2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
6157         * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
6159 2020-06-08  Tobias Burnus  <tobias@codesourcery.com>
6161         PR lto/94848
6162         PR middle-end/95551
6163         * testsuite/libgomp.fortran/target-var.f90: New test.
6165 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
6166             Julian Brown  <julian@codesourcery.com>
6168         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
6169         special handling.
6171 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
6172             Julian Brown  <julian@codesourcery.com>
6174         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6175         Simplify.
6177 2020-06-05  Julian Brown  <julian@codesourcery.com>
6179         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
6180         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
6182 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6184         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6185         Evaluate 'copyfrom' individually for each entry.
6186         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
6188 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6190         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6191         Evaluate 'finalize' individually for each entry.
6192         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
6193         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
6194         file.
6196 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6198         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
6199         usage.
6200         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
6202 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6203             Julian Brown  <julian@codesourcery.com>
6205         * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
6206         checking.
6207         (acc_unmap_data, goacc_exit_data_internal): Restore
6208         'is_tgt_unmapped' checking.
6209         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
6210         file.
6211         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
6212         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
6213         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6214         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6215         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6216         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
6218 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6219             Julian Brown  <julian@codesourcery.com>
6221         * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
6223 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6225         PR libgomp/92854
6226         * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
6228 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6230         PR libgomp/92854
6231         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
6232         more.
6234 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6235             Julian Brown  <julian@codesourcery.com>
6237         * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
6238         'gomp_map_vars'.
6239         (acc_map_data): Clean up accordingly.
6241 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6243         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
6244         of over-eager 'finalize' clause.
6245         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
6246         file.
6247         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
6248         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
6249         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6250         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6251         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6252         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
6253         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
6254         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
6256 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6258         * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
6260 2020-06-04  Julian Brown  <julian@codesourcery.com>
6262         * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
6263         error path.
6264         (goacc_detach_internal): Likewise.
6266 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6268         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
6269         the checkpoint.
6270         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
6271         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
6272         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
6273         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
6274         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
6276 2020-06-02  Jakub Jelinek  <jakub@redhat.com>
6278         * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
6279         defined.
6281 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
6283         * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
6285 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
6287         * allocator.c (omp_alloc): For size == 0, return NULL early.
6289 2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
6291         PR bootstrap/95413
6292         * configure: Regenerated.
6294 2020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
6296         PR libfortran/95191
6297         * testsuite/libgomp.fortran/async_io_9.f90: New test.
6299 2020-05-19  Jakub Jelinek  <jakub@redhat.com>
6301         * omp.h.in (omp_uintptr_t): New typedef.
6302         (__GOMP_UINTPTR_T_ENUM): Define.
6303         (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
6304         omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
6305         (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
6306         (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
6307         omp_get_default_allocator, omp_alloc, omp_free): Declare.
6308         * libgomp.h (struct gomp_team_state): Add def_allocator field.
6309         (gomp_def_allocator): Declare.
6310         * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
6311         omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
6312         omp_alloc and omp_free.
6313         * team.c (gomp_team_start): Copy over ts.def_allocator.
6314         * env.c (gomp_def_allocator): New variable.
6315         (parse_wait_policy): Adjust function comment.
6316         (parse_allocator): New function.
6317         (handle_omp_display_env): Print OMP_ALLOCATOR.
6318         (initialize_env): Call parse_allocator.
6319         * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
6320         * allocator.c: New file.
6321         * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
6322         functions.
6323         * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
6324         * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
6325         * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
6326         * Makefile.in: Regenerated.
6328 2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
6330         PR bootstrap/95147
6331         * configure: Regenerated.
6333 2020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
6335         PR libfortran/95119
6336         * testsuite/libgomp.fortran/close_errors_1.f90: New test.
6338 2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
6340         * configure: Regenerated.
6342 2020-05-14  Jakub Jelinek  <jakub@redhat.com>
6344         * testsuite/libgomp.c-c++-common/target-40.c: New test.
6346 2020-05-13  Tobias Burnus  <tobias@codesourcery.com>
6348         PR fortran/94690
6349         * testsuite/libgomp.fortran/pr66199-3.f90: New.
6350         * testsuite/libgomp.fortran/pr66199-4.f90: New.
6351         * testsuite/libgomp.fortran/pr66199-5.f90: New.
6352         * testsuite/libgomp.fortran/pr66199-6.f90: New.
6353         * testsuite/libgomp.fortran/pr66199-7.f90: New.
6354         * testsuite/libgomp.fortran/pr66199-8.f90: New.
6355         * testsuite/libgomp.fortran/pr66199-9.f90: New.
6357 2020-05-12  Jakub Jelinek  <jakub@redhat.com>
6359         * testsuite/libgomp.c/target-39.c: New test.
6361 2020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
6363         * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
6364         * openacc.f90 (acc_device_current): Likewise.
6365         * openacc.h (acc_device_current): Likewise.
6366         * openacc_lib.h (acc_device_current): Likewise.
6368         PR target/94282
6369         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
6370         'dg-allow-blank-lines-in-output'.
6372         * oacc-init.c (get_openacc_name): Handle 'gcn'.
6373         * testsuite/lib/libgomp.exp
6374         (offload_target_to_openacc_device_type) [amdgcn*]: Return
6375         'radeon'.  Adjust all users.
6376         (check_effective_target_openacc_amdgcn_accel_present): Rename
6377         to...
6378         (check_effective_target_openacc_radeon_accel_present): ... this.
6379         Adjust all users.
6380         (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
6381         (check_effective_target_openacc_radeon_accel_selected): ... this.
6382         Adjust all users.
6384         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
6385         'dg-do run'.
6387 2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
6389         PR other/94629
6391         * plugin/plugin-gcn.c (init_hsa_context): Check return value from
6392         hsa_iterate_agents.
6393         (GOMP_OFFLOAD_init_device): Check return values from both calls to
6394         hsa_agent_iterate_regions.
6396 2020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
6398         PR middle-end/94635
6399         * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
6400         run'.
6402 2020-04-20  Tobias Burnus  <tobias@codesourcery.com>
6404         PR middle-end/94120
6405         * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
6406         test case.
6408 2020-04-17  Tobias Burnus  <tobias@codesourcery.com>
6410         PR middle-end/94635
6411         * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
6413 2020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
6415         PR libgomp/92843
6416         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
6417         Rename to...
6418         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
6419         ... this.
6420         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
6421         Rename to...
6422         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
6423         ... this.
6424         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
6425         Rename to...
6426         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
6427         ... this.
6428         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
6429         Rename to...
6430         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
6431         ... this.
6432         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
6433         Rename to...
6434         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
6435         ... this.
6436         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
6437         Rename to...
6438         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
6439         ... this.
6440         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
6441         Rename to...
6442         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
6443         ... this.
6444         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
6445         Rename to...
6446         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
6447         ... this.
6448         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
6449         Rename to...
6450         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
6451         ... this.
6452         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
6453         Rename to...
6454         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
6455         ... this.
6456         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
6457         Rename to...
6458         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
6459         ... this.
6460         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
6461         Rename to...
6462         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
6463         ... this.
6464         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
6465         Rename to...
6466         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
6467         ... this.
6468         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
6469         Rename to...
6470         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
6471         ... this.
6472         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
6473         Rename to...
6474         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
6475         ... this.
6476         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
6477         Rename to...
6478         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
6479         ... this.
6481 2020-04-10  Julian Brown  <julian@codesourcery.com>
6482             Thomas Schwinge  <thomas@codesourcery.com>
6484         PR libgomp/92843
6485         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
6486         New file.
6487         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
6488         Likewise.
6489         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
6490         Likewise.
6491         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
6492         Likewise.
6493         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
6494         Likewise.
6495         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
6496         Likewise.
6497         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
6498         Likewise.
6499         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
6500         Likewise.
6501         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
6502         Likewise.
6503         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
6504         Likewise.
6505         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
6506         Likewise.
6507         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
6508         Likewise.
6509         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
6510         Likewise.
6511         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
6512         Likewise.
6513         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
6514         Likewise.
6515         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
6516         Likewise.
6518 2020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
6520         * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
6521         run'.
6523 2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
6525         PR middle-end/94120
6526         * libgomp.oacc-c++/declare-pr94120.C: New.
6528 2020-04-06  Maciej W. Rozycki  <macro@wdc.com>
6530         * configure.ac: Add testsuite/libgomp-site-extra.exp to output
6531         files.
6532         * configure: Regenerate.
6533         * testsuite/libgomp-site-extra.exp.in: New file.
6534         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
6535         variable.
6536         * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
6537         variable.
6538         * testsuite/Makefile.in: Regenerate.
6540 2020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
6542         PR tree-optimization/89713
6543         PR c/94392
6544         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
6545         'bar.sync'.
6546         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
6548 2020-03-31  Tobias Burnus  <tobias@codesourcery.com>
6550         * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
6551         * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
6553 2020-03-24  Tobias Burnus  <tobias@codesourcery.com>
6555         PR libgomp/81689
6556         * testsuite/libgomp.c/target-link-1.c: Remove xfail.
6558 2020-03-20  Tobias Burnus  <tobias@codesourcery.com>
6560         PR libgomp/94251
6561         * target.c (gomp_load_image_to_device): Fix link
6562         variable handling.
6564 2020-03-19  Jakub Jelinek  <jakub@redhat.com>
6566         PR c++/93931
6567         * testsuite/libgomp.c++/pr93931.C: New test.
6569 2020-03-19  Tobias Burnus  <tobias@codesourcery.com>
6571         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
6572         dg-allow-blank-lines-in-output.
6574 2020-03-18  Julian Brown <julian@codesourcery.com>
6575             Tobias Burnus  <tobias@codesourcery.com>
6577         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
6578         it work concurrently.
6580 2020-03-18  Tobias Burnus  <tobias@codesourcery.com>
6582         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
6583         #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
6584         * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
6586 2020-03-14  Jakub Jelinek  <jakub@redhat.com>
6588         PR middle-end/93566
6589         * testsuite/libgomp.c/pr93566.c: New test.
6591 2020-02-21  Frederik Harwath  <frederik@codesourcery.com>
6593         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
6594         changes from 2020-02-19, i.e. use integer(c_size_t) instead of
6595         integer(acc_device_property) for the type of the return value of
6596         acc_get_property.
6598 2020-02-19  Tobias Burnus  <tobias@codesourcery.com>
6600         * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
6601         * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
6602         (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
6603         * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
6604         (acc_set_device_num): Fix Fortran argument name, use same name for C.
6605         (acc_get_property): Update Fortran interface to post-OpenACC 3.0
6606         corrections; add note about the previous interface and named constant.
6607         (OpenACC library and environment variables): Fix two typos.
6608         * openacc.f90: Use for all procedures the argument names from the spec
6609         as for â€¦_h they are user visible.
6610         (openacc_kinds): Rename acc_device_property to
6611         acc_device_property_kinds and change value to int32 ; and update users.
6612         Re-add acc_device_property for for backward compatibility.
6613         (acc_get_property_string_h): Clean up as acc_device_property_kind
6614         changed.
6615         (acc_get_property_h): Likewise and return c_size_t instead of
6616         acc_device_property.
6617         (openacc): Also export acc_device_property_kinds.
6618         (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
6619         acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
6620         handling; check against /= 0 instead of == 1 to match C.
6621         * openacc_lib.h: Use for all procedures the argument names from the spec
6622         as for â€¦_h they are user visible. Place !GCC$ into the first column to
6623         be active also for fixed-form souce form.
6624         (acc_device_current, acc_device_property_kind, acc_device_property,
6625         acc_property_memory, acc_property_free_memory, acc_property_name,
6626         acc_property_vendor, acc_property_driver): New named constants.
6627         (acc_get_property, acc_get_property_string): New generic interface.
6629 2020-02-13  Frederik Harwath  <frederik@codesourcery.com>
6631         PR libgomp/93481
6632         * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
6633         * target.c (gomp_load_plugin_for_device): Make "async_run" loading
6634         optional.
6635         (gomp_target_task_fn): Assert "devicep->async_run_func".
6636         (clear_unsupported_flags): New function to remove unsupported flags
6637         (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
6638         (GOMP_target_ext): Apply clear_unsupported_flags to flags.
6639         * testsuite/libgomp.c/target-33.c:
6640         Remove xfail for offload_target_nvptx.
6641         * testsuite/libgomp.c/target-34.c: Likewise.
6643 2020-02-10  Frederik Harwath  <frederik@codesourcery.com>
6645         * testsuite/libgomp.c/target-33.c: Add xfail for execution on
6646         offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
6647         * testsuite/libgomp.c/target-34.c: Likewise.
6648         * testsuite/libgomp.c/target-link-1.c: Add xfail for
6649         offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
6651 2020-02-09  Jakub Jelinek  <jakub@redhat.com>
6653         * testsuite/libgomp.c/target-38.c: New test.
6655 2020-02-06  Jakub Jelinek  <jakub@redhat.com>
6657         PR libgomp/93515
6658         * testsuite/libgomp.c-c++-common/pr93515.c: New test.
6660 2020-02-05  Tobias Burnus  <tobias@codesourcery.com>
6662         * testsuite/lib/libgomp.exp
6663         (check_effective_target_offload_target_nvptx): Pass flags as 'options'
6664         and not as 'source' argument to libgomp_target_compile.
6666 2020-02-03  Andrew Stubbs  <ams@codesourcery.com>
6668         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
6669         (gcn_gfx801_s): Remove.
6670         (isa_hsa_name): Remove gfx801.
6671         (isa_gcc_name): Remove gfx801/carizzo.
6672         (isa_code): Remove gfx801.
6674 2020-02-03  Julian Brown  <julian@codesourcery.com>
6675             Tobias Burnus  <tobias@codesourcery.com>
6677         * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
6678         and *_finalize variants; document acc_attach and acc_detach; update
6679         references from OpenACC 2.0 to 2.6.
6680         * openacc.f90 (openacc_version): Update to 201711.
6681         * openacc_lib.h (openacc_version): Update to 201711.
6682         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
6683         openacc_version to 201711.
6684         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6686 2020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
6688         * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
6689         and vgpr_count fields.
6690         (struct kernel_info): Add a field for a hsa_kernel_description.
6691         (run_kernel): Reduce the number of threads/workers if the requested
6692         number would require too many VGPRs.
6693         (init_basic_kernel_info): Initialize description field with
6694         the hsa_kernel_description entry for the kernel.
6696 2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
6698         PR bootstrap/93409
6699         * plugin/configfrag.ac (enable_offload_targets): Skip
6700         HSA and GCN plugin besides -m32 also for -mx32.
6701         * configure: Regenerate.
6703 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
6705         * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
6707 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
6709         * plugin-gcn.c (struct agent_info): Add fields "name" and
6710         "vendor_name" ...
6711         (GOMP_OFFLOAD_init_device): ... and init from here.
6712         (struct hsa_context_info): Add field "driver_version_s" ...
6713         (init_hsa_contest): ... and init from here.
6714         (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
6715         implementation.
6716         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
6717         Enable test execution for amdgcn and host offloading targets.
6718         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
6719         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
6720         (expect_device_properties): Split function into ...
6721         (expect_device_string_properties): ... this new function ...
6722         (expect_device_memory): ... and this new function.
6723         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
6724         Add test.
6726 2020-01-28  Julian Brown  <julian@codesourcery.com>
6728         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
6729         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
6730         component/non-component variable refs in a single directive.
6731         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
6733 2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
6735         * configure.ac: Handle `--with-toolexeclibdir='.
6736         * Makefile.in: Regenerate.
6737         * aclocal.m4: Regenerate.
6738         * configure: Regenerate.
6739         * testsuite/Makefile.in: Regenerate.
6741 2020-01-24  Frederik Harwath  <frederik@codesourcery.com>
6743         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
6744         (expect_device_properties): Remove "expected_free_mem" argument,
6745         change "expected_total_mem" argument type to size_t;
6746         change types of acc_get_property results to size_t,
6747         adapt format strings.
6748         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
6749         Use %zu instead of %zd to print size_t values.
6750         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
6751         rename to ...
6752         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
6753         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
6754         rename to ...
6755         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
6757 2020-01-23  Andrew Stubbs  <ams@codesourcery.com>
6759         * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
6760         the device id.
6762 2020-01-20  Andrew Stubbs  <ams@codesourcery.com>
6764         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
6765         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
6766         Adjust test dimensions for amdgcn.
6767         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
6768         gang/worker/vector expectations dynamically.
6769         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
6770         (main): Likewise.
6771         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
6772         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
6773         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
6774         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
6775         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
6776         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
6777         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
6778         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
6779         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
6780         (acc_gang): Recognise acc_device_radeon.
6781         (acc_worker): Likewise.
6782         (acc_vector): Likewise.
6783         (main): Set expectations for amdgcn.
6784         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
6785         (main): Adjust gang/worker/vector expectations dynamically.
6786         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
6787         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
6788         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
6789         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
6790         for amdgcn.
6792 2020-01-17  Andrew Stubbs  <ams@codesourcery.com>
6794         * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
6795         acc_device_radeon.
6796         (openacc): Likewise.
6797         * openacc.f90 (openacc_kinds): Likewise.
6798         (openacc): Likewise.
6799         * openacc.h (acc_device_t): Likewise.
6800         * openacc_lib.h: Likewise.
6801         * testsuite/lib/libgomp.exp
6802         (check_effective_target_openacc_amdgcn_accel_present): Likewise.
6803         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
6804         (cb_compute_construct_end): Likewise.
6805         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
6806         (cb_enqueue_launch_start): Likewise.
6807         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
6808         (cb_enter_data_end): Likewise.
6809         (cb_exit_data_start): Likewise.
6810         (cb_exit_data_end): Likewise.
6811         (cb_compute_construct_end): Likewise.
6812         (cb_enqueue_launch_start): Likewise.
6813         (cb_enqueue_launch_end): Likewise.
6814         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
6815         (main): Likewise.
6817 2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
6819         * libgomp-plugin.h (enum goacc_property): New.  Adjust all users
6820         to use this instead of 'enum gomp_device_property'.
6821         (GOMP_OFFLOAD_get_property): Rename to...
6822         (GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
6823         * libgomp.h (struct gomp_device_descr): Move
6824         'GOMP_OFFLOAD_openacc_get_property'...
6825         (struct acc_dispatch_t): ... here.  Adjust all users.
6826         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
6828         * target.c (gomp_map_vars_internal)
6829         <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
6830         paths.
6832 2020-01-10  Jakub Jelinek  <jakub@redhat.com>
6834         PR libgomp/93219
6835         * libgomp.h (gomp_print_string): Change return type from void to int.
6836         * affinity-fmt.c (gomp_print_string): Likewise.  Return true if
6837         not all characters have been written.
6839 2020-01-08  Tobias Burnus  <tobias@codesourcery.com>
6841         * libgomp.texi: Fix typos, use https.
6843 2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
6845         * testsuite/libgomp.fortran/optional-map.f90: Add test for
6846         unallocated/disassociated actual arguments to nonallocatable/nonpointer
6847         dummy arguments; those are/shall be regarded as absent arguments.
6848         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
6849         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
6851 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
6853         Update copyright years.
6855         * libgomp.texi: Bump @copying's copyright year.
6857 2019-12-31  Ayush Mittal  <ayush.m@samsung.com>
6859         PR libgomp/93065
6860         * oacc-init.c (goacc_runtime_deinitialize): New function.
6862 2019-12-28  Jakub Jelinek  <jakub@redhat.com>
6864         PR bootstrap/93074
6865         * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
6866         (cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
6868 2019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
6869             Frederik Harwath  <frederik@codesourcery.com>
6870             Thomas Schwinge  <tschwinge@codesourcery.com>
6872         * libgomp.h (gomp_device_descr): Add `get_property_func' member.
6873         * libgomp-plugin.h (gomp_device_property_value): New union.
6874         (gomp_device_property_value): New prototype.
6875         * openacc.h (acc_device_t): Add `acc_device_current' enumeration
6876         constant.
6877         (acc_device_property_t): New enum.
6878         (acc_get_property, acc_get_property_string): New prototypes.
6879         * oacc-init.c (acc_get_device_type): Also assert that result
6880         is not `acc_device_current'.
6881         (get_property_any, acc_get_property, acc_get_property_string):
6882         New functions.
6883         * openacc.f90 (openacc_kinds): Add `acc_device_current' and
6884         `acc_property_memory', `acc_property_free_memory',
6885         `acc_property_name', `acc_property_vendor' and
6886         `acc_property_driver' constants.  Add `acc_device_property' data
6887         type.
6888         (openacc_internal): Add `acc_get_property' and
6889         `acc_get_property_string' interfaces.  Add `acc_get_property_h',
6890         `acc_get_property_string_h', `acc_get_property_l' and
6891         `acc_get_property_string_l'.
6892         * oacc-host.c (host_get_property): New function.
6893         (host_dispatch): Wire it.
6894         * target.c (gomp_load_plugin_for_device): Handle `get_property'.
6895         * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
6896         `acc_get_property_string' and `acc_get_property_string_h_' symbols.
6897         * libgomp.texi (OpenACC Runtime Library Routines): Add
6898         `acc_get_property'.
6899         (acc_get_property): New node.
6900         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
6901         function (stub).
6902         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
6903         * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
6904         `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
6905         calls.
6906         (GOMP_OFFLOAD_get_property): New function.
6907         (struct ptx_device): Add new field "name".
6908         (cuda_driver_version_s): Add new static variable ...
6909         (nvptx_init): ... and init from here.
6911         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
6912         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
6913         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
6914         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
6915         with test helper functions.
6917         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
6919 2019-12-22  Maciej W. Rozycki  <macro@wdc.com>
6921         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
6922         variable.
6924 2019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
6926         * target.c (gomp_map_vars_internal): Restore 'omp declare target
6927         link' handling.
6929 2019-12-19  Julian Brown  <julian@codesourcery.com>
6931         * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
6932         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
6933         * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
6935 2019-12-19  Julian Brown  <julian@codesourcery.com>
6936             Cesar Philippidis  <cesar@codesourcery.com>
6938         * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
6939         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
6940         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
6941         * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
6942         * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
6943         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
6944         * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
6945         * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
6946         * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
6947         * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
6948         * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
6949         * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
6950         * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
6952 2019-12-19  Julian Brown  <julian@codesourcery.com>
6954         * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
6955         * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
6956         * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
6957         * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
6958         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
6959         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
6960         * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
6961         * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
6962         * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
6963         * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
6964         * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
6965         * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
6967 2019-12-19  Julian Brown  <julian@codesourcery.com>
6969         * libgomp.h (struct target_var_desc): Add do_detach flag.
6970         * oacc-init.c (acc_shutdown_1): Free aux block if present.
6971         * oacc-mem.c (find_group_last): Add SIZES parameter. Support
6972         struct components.  Tidy up and add some new checks.
6973         (goacc_enter_data_internal): Update call to find_group_last.
6974         (goacc_exit_data_internal): Support detach operations and
6975         GOMP_MAP_STRUCT.
6976         (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
6977         GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
6978         attach/detach in enter/exit data detection code.
6979         * target.c (gomp_map_vars_existing): Initialise do_detach field of
6980         tgt_var_desc.
6981         (gomp_map_vars_internal): Support attach.
6982         (gomp_unmap_vars_internal): Support detach.
6984 2019-12-19  Julian Brown  <julian@codesourcery.com>
6985             Thomas Schwinge  <thomas@codesourcery.com>
6987         * libgomp.h (struct splay_tree_aux): Add attach_count field.
6988         (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
6989         * libgomp.map (OACC_2.6): New section. Add acc_attach,
6990         acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
6991         acc_detach_finalize_async.
6992         * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
6993         acc_detach, acc_detach_async, acc_detach_finalize,
6994         acc_detach_finalize_async): New functions.
6995         * openacc.h (acc_attach, acc_attach_async, acc_detach,
6996         (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
6997         prototypes.
6998         * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
6999         (gomp_remove_var_internal): Free attachment counts if present.
7000         * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
7001         * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
7003 2019-12-19  Julian Brown  <julian@codesourcery.com>
7004             Cesar Philippidis  <cesar@codesourcery.com>
7006         * libgomp.h (gomp_map_val): Add prototype.
7007         * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
7008         open-coding device-address calculation.
7009         * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
7010         non-present case.
7012 2019-12-19  Julian Brown  <julian@codesourcery.com>
7014         * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
7015         field for virtual_refcount.
7016         (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7017         (gomp_free_memmap): Remove prototype.
7018         * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
7019         instead of calling gomp_free_memmap.
7020         * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
7021         dynamic_refcount.
7022         (acc_unmap_data): Open code instead of forcing target_mem_desc's
7023         to_free field to NULL then calling gomp_unmap_vars.  Handle
7024         REFCOUNT_INFINITY on target blocks.
7025         (goacc_enter_data): Rename to...
7026         (goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
7027         handling for mapping groups.  Use virtual_refcount instead of
7028         dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
7029         map_map_vars_async call.  Re-do lookup for target pointer return value.
7030         (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
7031         renamed goacc_enter_datum function.
7032         (goacc_exit_data): Rename to...
7033         (goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
7034         (acc_delete, acc_delete_async, acc_delete_finalize,
7035         acc_delete_finalize_async, acc_copyout, acc_copyout_async,
7036         acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
7037         goacc_exit_datum function.
7038         (gomp_acc_remove_pointer, find_pointer): Remove functions.
7039         (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
7040         New functions.
7041         (GOACC_enter_exit_data): Use goacc_enter_data_internal and
7042         goacc_exit_data_internal helper functions.
7043         * target.c (gomp_map_vars_internal): Handle
7044         GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
7045         semantics.
7046         (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
7047         (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
7048         virtual_refcount field instead of dynamic_refcount.
7049         (gomp_free_memmap): Remove function.
7050         * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
7051         * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
7052         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
7054 2019-12-19  Julian Brown  <julian@codesourcery.com>
7055             Thomas Schwinge  <thomas@codesourcery.com>
7057         * libgomp.h (struct splay_tree_aux): New.
7058         (struct splay_tree_key_s): Replace link_key field with aux pointer.
7059         * target.c (gomp_map_vars_internal): Adjust for link_key being moved
7060         to aux struct.
7061         (gomp_remove_var_internal): Free aux block if present.
7062         (gomp_load_image_to_device): Zero-initialise aux field instead of
7063         link_key field.
7064         (omp_target_associate_pointer): Zero-initialise aux field.
7066 2019-12-18  Jakub Jelinek  <jakub@redhat.com>
7068         PR middle-end/86416
7069         * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
7070         q or none.
7071         * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
7072         L or none.
7074 2019-12-19  Julian Brown  <julian@codesourcery.com>
7075             Maciej W. Rozycki  <macro@codesourcery.com>
7076             Tobias Burnus  <tobias@codesourcery.com>
7077             Thomas Schwinge  <thomas@codesourcery.com>
7079         * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
7080         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
7081         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
7082         * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
7083         * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
7084         * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
7085         * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
7086         * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
7087         * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
7089 2019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
7091         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
7092         called...
7093         (goacc_insert_pointer): ... from here, "present" case.
7094         (goacc_insert_pointer): Inline function into...
7095         (GOACC_enter_exit_data): ... here, and simplify.
7097         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
7098         called...
7099         (goacc_insert_pointer): ... from here, "not present" case.
7101         * oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
7102         all users.
7104         * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
7105         'goacc_enter_data', 'goacc_exit_data'.
7107         * oacc-mem.c (delete_copyout): Refactor into...
7108         (goacc_exit_data): ... this.  Adjust all users.
7110         * oacc-mem.c (present_create_copy): Refactor into...
7111         (goacc_enter_data): ... this.  Adjust all users.
7113         * target.c (gomp_unmap_vars_internal): Add a safeguard to
7114         'gomp_remove_var'.
7116         * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
7117         like 'GOMP_MAP_FROM'.
7119         PR libgomp/92726
7120         PR libgomp/92970
7121         PR libgomp/92984
7122         * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
7123         fails.
7124         (GOACC_enter_exit_data): Simplify accordingly.
7125         * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
7126         subsuming...
7127         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
7128         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
7129         file.
7130         * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
7131         subsuming...
7132         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
7133         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
7134         file.
7135         * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
7136         subsuming...
7137         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
7139         * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
7140         'finalize' handling.
7142         PR libgomp/92848
7143         * oacc-mem.c (acc_map_data, present_create_copy)
7144         (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
7145         (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
7146         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
7147         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
7148         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
7149         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
7150         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
7151         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
7152         Remove "XFAIL"s.
7154         * target.c (gomp_unmap_tgt): Make it 'static'.
7155         * libgomp.h (gomp_unmap_tgt): Remove.
7157 2019-12-18  Tobias Burnus  <tobias@codesourcery.com>
7159         PR middle-end/86416
7160         * testsuite/libgomp.c/pr86416-1.c: New.
7161         * testsuite/libgomp.c/pr86416-2.c: New.
7163 2019-12-17  Tobias Burnus  <tobias@codesourcery.com>
7165         * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
7166         all symbols as public except for the 'use â€¦, only' imported symbol,
7167         which is private.
7168         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
7169         all symbols from module openacc_kinds as PUBLIC
7170         * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
7171         fix comment typo.
7172         * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
7174 2019-12-13  Julian Brown  <julian@codesourcery.com>
7176         PR libgomp/92881
7178         * libgomp.h (gomp_remove_var_async): Add prototype.
7179         * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
7180         gomp_remove_var.
7181         * target.c (gomp_unref_tgt): Change return type to bool, indicating
7182         whether target_mem_desc was unmapped.
7183         (gomp_unref_tgt_void): New.
7184         (gomp_remove_var): Reimplement in terms of...
7185         (gomp_remove_var_internal): ...this new helper function.
7186         (gomp_remove_var_async): New, implemented using above helper function.
7187         (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
7188         gomp_unref_tgt.
7190 2019-12-13  Andrew Stubbs  <ams@codesourcery.com>
7192         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
7193         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
7194         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
7195         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
7196         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
7197         Likewise.
7198         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
7199         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
7201 2019-12-13  Tobias Burnus  <tobias@codesourcery.com>
7203         * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
7204         as public except for the 'use â€¦, only' imported symbol, which is
7205         private.
7206         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
7207         all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
7208         attributes for acc_copyout_finalize and acc_delete_finalize.
7210 2019-12-11  Jakub Jelinek  <jakub@redhat.com>
7212         PR fortran/92899
7213         * testsuite/libgomp.fortran/atomic1.f90: New test.
7215 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
7217         PR libgomp/92843
7218         * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
7219         reference counting for structured 'REFCOUNT_INFINITY'.  Add some
7220         assertions.
7221         (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
7222         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
7223         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
7224         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
7225         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7227         * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
7228         * oacc-mem.c: ... here.
7229         (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
7230         'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
7231         * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7232         Remove.
7233         * libgomp_g.h: Update.
7235         * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
7236         * oacc-async.c: ... here.
7237         * oacc-int.h (goacc_wait): Declare.
7238         * libgomp_g.h: Update
7240         PR libgomp/92854
7241         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
7242         New file.
7243         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
7244         Likewise.
7245         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
7246         Likewise.
7247         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
7248         Likewise.
7249         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
7250         Likewise.
7251         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
7252         Likewise.
7254 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
7255             Julian Brown  <julian@codesourcery.com>
7257         * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
7258         Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
7260 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
7262         * omp_lib.h.in: Fix spelling of function declaration
7263         omp_get_cancell(l)ation.
7264         * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
7265         Fix typos.
7266         * env.c: Fix comment typos.
7267         * oacc-host.c: Likewise.
7268         * ordered.c: Likewise.
7269         * task.c: Likewise.
7270         * team.c: Likewise.
7271         * config/gcn/task.c: Likewise.
7272         * config/gcn/team.c: Likewise.
7273         * config/nvptx/task.c: Likewise.
7274         * config/nvptx/team.c: Likewise.
7275         * plugin/plugin-gcn.c: Likewise.
7276         * testsuite/libgomp.fortran/jacobi.f: Likewise.
7277         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7278         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
7280 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
7282         * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
7283         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
7284         unnecessary 'dg-additional-options "-w"'.
7286 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
7287             Julian Brown  <julian@codesourcery.com>
7289         PR libgomp/92116
7290         PR libgomp/92877
7292         * oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
7293         * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
7294         Adjust all users.
7295         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
7296         Remove XFAIL.
7297         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
7298         Likewise.
7299         * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
7301 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
7303         PR libgomp/92503
7304         * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
7305         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
7306         file.
7307         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
7308         Likewise.
7309         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
7310         Likewise.
7311         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
7312         Likewise.
7313         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
7314         Likewise.
7315         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
7316         Likewise.
7317         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
7318         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
7319         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
7320         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
7321         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
7322         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
7323         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7324         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7325         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
7326         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7328         PR libgomp/92840
7329         * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
7330         (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
7331         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
7332         New file.
7333         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
7334         Likewise.
7335         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
7336         Likewise.
7337         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
7338         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
7340         PR libgomp/92511
7341         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
7342         this file...
7343         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
7344         this file...
7345         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
7346         file...
7347         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
7348         file...
7349         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
7350         ... with their content moved into, and extended in this new file.
7351         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
7352         New file.
7353         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
7354         Likewise.
7355         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
7356         Likewise.
7357         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
7358         Likewise.
7360         * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
7362         PR libgomp/92854
7363         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
7365         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
7367         * target.c (gomp_exit_data): Use 'gomp_remove_var'.
7369 2019-12-09  Tobias Burnus  <tobias@codesourcery.com>
7371         * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
7372         unique.
7373         * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
7374         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
7375         * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
7376         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
7377         Ditto.
7378         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
7379         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
7381 2019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
7383         * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
7385 2019-12-06  Tobias Burnus  <tobias@codesourcery.com>
7386             Kwok Cheung Yeung <kcy@codesourcery.com>
7388         * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
7389         if input it a NULL pointer.
7390         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
7391         diagnostic of NULL pointer.
7392         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
7393         * testsuite/libgomp.fortran/optional-map.f90: New.
7394         * testsuite/libgomp.fortran/use_device_addr-1.f90
7395         (test_dummy_opt_callee_1_absent): New.
7396         (test_dummy_opt_call_1): Call it.
7397         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
7398         * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
7399         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
7400         * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
7401         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
7402         * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
7403         * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
7404         * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
7405         * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
7406         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
7407         * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
7408         * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
7409         * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
7410         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
7411         * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
7412         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
7414 2019-12-05  Tobias Burnus  <tobias@codesourcery.com>
7416         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
7417         expect dg-output of 'Error termination.' for GCN.
7418         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7419         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7421 2019-12-04  Jakub Jelinek  <jakub@redhat.com>
7423         PR fortran/92756
7424         * testsuite/libgomp.fortran/teams1.f90: New test.
7425         * testsuite/libgomp.fortran/teams2.f90: New test.
7427 2019-12-03  Frederik Harwath  <frederik@codesourcery.com>
7429         * oacc-init.c (acc_known_device_type): Add function.
7430         (unknown_device_type_error): Add function.
7431         (name_of_acc_device_t): Change to call unknown_device_type_error
7432         on unknown type.
7433         (resolve_device): Use acc_known_device_type.
7434         (acc_init): Fail if acc_device_t argument is not valid.
7435         (acc_shutdown): Likewise.
7436         (acc_get_num_devices): Likewise.
7437         (acc_set_device_type): Likewise.
7438         (acc_get_device_num): Likewise.
7439         (acc_set_device_num): Likewise.
7440         (acc_on_device): Add comment that argument validity is not checked.
7442 2019-12-03  Andrew Stubbs  <ams@codesourcery.com>
7444         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
7445         Recognize amdgcn.
7446         (check_effective_target_openacc_amdgcn_accel_present): New proc.
7447         (check_effective_target_openacc_amdgcn_accel_selected): New proc.
7448         * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
7449         * testsuite/libgomp.oacc-c/c.exp: Likewise.
7450         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7452 2019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
7454         PR libgomp/91938
7455         * configure.tgt: Avoid IE tls on *-*-musl*.
7457 2019-11-29  Tobias Burnus  <tobias@codesourcery.com>
7459         * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
7460         adding a common-block test case.
7462 2019-11-29  Jakub Jelinek  <jakub@redhat.com>
7464         PR c++/60228
7465         * testsuite/libgomp.c++/udr-20.C: New test.
7466         * testsuite/libgomp.c++/udr-21.C: New test.
7468 2019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
7470         * testsuite/lib/libgomp.exp
7471         (check_effective_target_offload_target_nvptx): New proc.
7472         * testsuite/libgomp.fortran/target-print-1.f90: Use it with
7473         'dg-skip-if'.
7474         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
7475         * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
7476         * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
7478 2019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
7480         * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
7481         * testsuite/libgomp.c/pr39591-2.c: Likewise.
7482         * testsuite/libgomp.c/pr39591-3.c: Likewise.
7483         * testsuite/libgomp.c/private-1.c: Likewise.
7484         * testsuite/libgomp.c/task-1.c: Likewise.
7485         * testsuite/libgomp.c/task-5.c: Renamed err to serr.
7487 2019-11-20  Julian Brown  <julian@codesourcery.com>
7489         * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
7490         aq->mutex here.
7491         (queue_push_launch): Lock aq->mutex before calling
7492         wait_for_queue_nonfull.
7493         (queue_push_callback): Likewise.
7494         (queue_push_asyncwait): Likewise.
7495         (queue_push_placeholder): Likewise.
7497 2019-11-20  Julian Brown  <julian@codesourcery.com>
7499         * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
7500         (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
7501         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
7502         return code.
7504 2019-11-20  Julian Brown  <julian@codesourcery.com>
7506         PR libgomp/92511
7508         * oacc-mem.c (present_create_copy): Fix device pointer return value in
7509         case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
7510         in non-present/create case.
7511         (delete_copyout): Change error condition to fail only on copies outside
7512         of mapped block.  Adjust error message accordingly.
7513         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
7514         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
7515         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
7516         message.
7517         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7518         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
7519         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7521 2019-11-20  Maciej W. Rozycki  <macro@wdc.com>
7523         * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
7524         libatomic in build-tree testing.
7526 2019-11-18  Maciej W. Rozycki  <macro@wdc.com>
7528         * testsuite/Makefile.in: Regenerate.
7530 2019-11-15  Andrew Stubbs  <ams@codesourcery.com>
7532         * testsuite/libgomp.c/target-print-1.c: New file.
7533         * testsuite/libgomp.fortran/target-print-1.f90: New file.
7534         * testsuite/libgomp.oacc-c/print-1.c: New file.
7535         * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
7537 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
7538             Kwok Cheung Yeung  <kcy@codesourcery.com>
7539             Julian Brown  <julian@codesourcery.com>
7540             Tom de Vries  <tom@codesourcery.com>
7542         * plugin/Makefrag.am: Add amdgcn plugin support.
7543         * plugin/configfrag.ac: Likewise.
7544         * plugin/plugin-gcn.c: New file.
7545         * configure: Regenerate.
7546         * Makefile.in: Regenerate.
7547         * testsuite/Makefile.in: Regenerate.
7549 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
7551         * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
7552         and use team_malloc variants.
7553         (gomp_gcn_exit_kernel): Use team_free.
7554         * libgomp.h (TEAM_ARENA_SIZE): Define.
7555         (TEAM_ARENA_START): Define.
7556         (TEAM_ARENA_FREE): Define.
7557         (TEAM_ARENA_END): Define.
7558         (team_malloc): New function.
7559         (team_malloc_cleared): New function.
7560         (team_free): New function.
7561         * team.c (gomp_new_team): Initialize and use team_malloc.
7562         (free_team): Use team_free.
7563         (gomp_free_thread): Use team_free.
7564         (gomp_pause_host): Use team_free.
7565         * work.c (gomp_init_work_share): Use team_malloc.
7566         (gomp_fini_work_share): Use team_free.
7568 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
7569             Kwok Cheung Yeung  <kcy@codesourcery.com>
7570             Julian Brown  <julian@codesourcery.com>
7571             Tom de Vries  <tom@codesourcery.com>
7573         * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
7574         * Makefile.in: Regenerate.
7575         * config.h.in (PLUGIN_GCN): Add new undef.
7576         * config/accel/openacc.f90 (acc_device_gcn): New parameter.
7577         * config/gcn/affinity-fmt.c: New file.
7578         * config/gcn/bar.c: New file.
7579         * config/gcn/bar.h: New file.
7580         * config/gcn/doacross.h: New file.
7581         * config/gcn/icv-device.c: New file.
7582         * config/gcn/oacc-target.c: New file.
7583         * config/gcn/simple-bar.h: New file.
7584         * config/gcn/target.c: New file.
7585         * config/gcn/task.c: New file.
7586         * config/gcn/team.c: New file.
7587         * config/gcn/time.c: New file.
7588         * configure.ac: Add amdgcn*-*-*.
7589         * configure: Regenerate.
7590         * configure.tgt: Add amdgcn*-*-*.
7591         * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
7592         * libgomp.h (gcn_thrs): Add amdgcn variant.
7593         (set_gcn_thrs): Likewise.
7594         (gomp_thread): Likewise.
7595         * oacc-int.h (goacc_thread): Likewise.
7596         * oacc-target.c: New file.
7597         * openacc.f90 (acc_device_gcn): New parameter.
7598         * openacc.h (acc_device_t): Add acc_device_gcn.
7599         * team.c (gomp_free_pool_helper): Add amdgcn support.
7601 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
7602             Julian Brown  <julian@codesourcery.com>
7604         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
7605         parameter.
7606         * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
7607         queue constructor.
7608         * oacc-host.c (host_openacc_async_construct): Add device parameter.
7609         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
7610         device parameter.
7612 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
7614         * configure.tgt (nvptx*-*-*): Add "accel" directory.
7615         * config/nvptx/libgomp-plugin.c: Move ...
7616         * config/accel/libgomp-plugin.c: ... to here.
7617         * config/nvptx/lock.c: Move ...
7618         * config/accel/lock.c: ... to here.
7619         * config/nvptx/mutex.c: Move ...
7620         * config/accel/mutex.c: ... to here.
7621         * config/nvptx/mutex.h: Move ...
7622         * config/accel/mutex.h: ... to here.
7623         * config/nvptx/oacc-async.c: Move ...
7624         * config/accel/oacc-async.c: ... to here.
7625         * config/nvptx/oacc-cuda.c: Move ...
7626         * config/accel/oacc-cuda.c: ... to here.
7627         * config/nvptx/oacc-host.c: Move ...
7628         * config/accel/oacc-host.c: ... to here.
7629         * config/nvptx/oacc-init.c: Move ...
7630         * config/accel/oacc-init.c: ... to here.
7631         * config/nvptx/oacc-mem.c: Move ...
7632         * config/accel/oacc-mem.c: ... to here.
7633         * config/nvptx/oacc-plugin.c: Move ...
7634         * config/accel/oacc-plugin.c: ... to here.
7635         * config/nvptx/omp-lock.h: Move ...
7636         * config/accel/omp-lock.h: ... to here.
7637         * config/nvptx/openacc.f90: Move ...
7638         * config/accel/openacc.f90: ... to here.
7639         * config/nvptx/pool.h: Move ...
7640         * config/accel/pool.h: ... to here.
7641         * config/nvptx/proc.c: Move ...
7642         * config/accel/proc.c: ... to here.
7643         * config/nvptx/ptrlock.c: Move ...
7644         * config/accel/ptrlock.c: ... to here.
7645         * config/nvptx/ptrlock.h: Move ...
7646         * config/accel/ptrlock.h: ... to here.
7647         * config/nvptx/sem.c: Move ...
7648         * config/accel/sem.c: ... to here.
7649         * config/nvptx/sem.h: Move ...
7650         * config/accel/sem.h: ... to here.
7651         * config/nvptx/thread-stacksize.h: Move ...
7652         * config/accel/thread-stacksize.h: ... to here.
7654 2019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
7655             Tobias Burnus  <tobias@codesourcery.com>
7656             Frederik Harwath  <frederik@codesourcery.com>
7657             Thomas Schwinge  <thomas@codesourcery.com>
7659         libgomp/
7660         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
7661         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
7662         * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
7664 2019-11-11  Tobias Burnus  <tobias@codesourcery.com>
7665             Kwok Cheung Yeung  <kcy@codesourcery.com>
7667         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
7668         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
7670 2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
7672         * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
7674         * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
7675         run'.
7676         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
7677         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
7679 2019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
7681         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
7682         Add expected warnings about missing reduction clauses.
7683         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
7684         Likewise.
7685         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
7686         Likewise.
7687         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
7688         Likewise.
7690 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
7692         * testsuite/libgomp.fortran/pr66199-1.f90: Remove
7693         'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
7694         * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
7695         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
7696         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
7697         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
7699 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
7701         PR fortran/92305
7702         * testsuite/libgomp.fortran/allocatable2.f90: Use
7703         unique numbers with 'stop'.
7704         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
7705         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
7706         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
7707         * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
7708         * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
7710 2019-11-01  Tobias Burnus  <tobias@codesourcery.com>
7712         * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
7713         test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
7714         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
7715         * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
7716         * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
7717         * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
7719 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
7721         * testsuite/libgomp.fortran/target9.f90: New.
7723 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
7725         * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
7726         * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
7727         * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
7728         * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
7729         * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
7730         * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
7731         * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
7732         * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
7733         * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
7734         * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
7735         * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
7736         * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
7737         * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
7738         * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
7739         * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
7740         * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
7741         * testsuite/libgomp.fortran/associate1.f90: Ditto.
7742         * testsuite/libgomp.fortran/associate2.f90: Ditto.
7743         * testsuite/libgomp.fortran/associate3.f90: Ditto.
7744         * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
7745         * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
7746         * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
7747         * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
7748         * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
7749         * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
7750         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
7751         * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
7752         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
7753         * testsuite/libgomp.fortran/character1.f90: Ditto.
7754         * testsuite/libgomp.fortran/character2.f90: Ditto.
7755         * testsuite/libgomp.fortran/collapse1.f90: Ditto.
7756         * testsuite/libgomp.fortran/collapse2.f90: Ditto.
7757         * testsuite/libgomp.fortran/collapse3.f90: Ditto.
7758         * testsuite/libgomp.fortran/collapse4.f90: Ditto.
7759         * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
7760         * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
7761         * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
7762         * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
7763         * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
7764         * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
7765         * testsuite/libgomp.fortran/depend-1.f90: Ditto.
7766         * testsuite/libgomp.fortran/depend-2.f90: Ditto.
7767         * testsuite/libgomp.fortran/depend-3.f90: Ditto.
7768         * testsuite/libgomp.fortran/do1.f90: Ditto.
7769         * testsuite/libgomp.fortran/do2.f90: Ditto.
7770         * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
7771         * testsuite/libgomp.fortran/doacross1.f90: Ditto.
7772         * testsuite/libgomp.fortran/doacross2.f90: Ditto.
7773         * testsuite/libgomp.fortran/doacross3.f90: Ditto.
7774         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
7775         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
7776         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
7777         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
7778         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
7779         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
7780         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
7781         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
7782         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
7783         * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
7784         * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
7785         * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
7786         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
7787         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
7788         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
7789         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
7790         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
7791         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
7792         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
7793         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
7794         * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
7795         * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
7796         * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
7797         * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
7798         * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
7799         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
7800         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
7801         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
7802         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
7803         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
7804         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
7805         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
7806         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
7807         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
7808         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
7809         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
7810         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
7811         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
7812         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
7813         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
7814         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
7815         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
7816         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
7817         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
7818         * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
7819         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
7820         * testsuite/libgomp.fortran/lib1.f90: Ditto.
7821         * testsuite/libgomp.fortran/lib4.f90: Ditto.
7822         * testsuite/libgomp.fortran/lock-1.f90: Ditto.
7823         * testsuite/libgomp.fortran/lock-2.f90: Ditto.
7824         * testsuite/libgomp.fortran/nested1.f90: Ditto.
7825         * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
7826         * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
7827         * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
7828         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
7829         * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
7830         * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
7831         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7832         * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
7833         * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
7834         * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
7835         * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
7836         * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
7837         * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
7838         * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
7839         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7840         * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
7841         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7842         * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
7843         * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
7844         * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
7845         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
7846         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
7847         * testsuite/libgomp.fortran/pointer1.f90: Ditto.
7848         * testsuite/libgomp.fortran/pointer2.f90: Ditto.
7849         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
7850         * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
7851         * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
7852         * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
7853         * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
7854         * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
7855         * testsuite/libgomp.fortran/pr28390.f: Ditto.
7856         * testsuite/libgomp.fortran/pr29629.f90: Ditto.
7857         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
7858         * testsuite/libgomp.fortran/pr33880.f90: Ditto.
7859         * testsuite/libgomp.fortran/pr34020.f90: Ditto.
7860         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
7861         * testsuite/libgomp.fortran/pr42162.f90: Ditto.
7862         * testsuite/libgomp.fortran/pr46753.f90: Ditto.
7863         * testsuite/libgomp.fortran/pr48894.f90: Ditto.
7864         * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
7865         * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
7866         * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
7867         * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
7868         * testsuite/libgomp.fortran/pr65597.f90: Ditto.
7869         * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
7870         * testsuite/libgomp.fortran/pr71014.f90: Ditto.
7871         * testsuite/libgomp.fortran/pr81304.f90: Ditto.
7872         * testsuite/libgomp.fortran/pr81841.f90: Ditto.
7873         * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
7874         * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
7875         * testsuite/libgomp.fortran/procptr1.f90: Ditto.
7876         * testsuite/libgomp.fortran/recursion1.f90: Ditto.
7877         * testsuite/libgomp.fortran/reduction1.f90: Ditto.
7878         * testsuite/libgomp.fortran/reduction2.f90: Ditto.
7879         * testsuite/libgomp.fortran/reduction3.f90: Ditto.
7880         * testsuite/libgomp.fortran/reduction4.f90: Ditto.
7881         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
7882         * testsuite/libgomp.fortran/reduction6.f90: Ditto.
7883         * testsuite/libgomp.fortran/reference1.f90: Ditto.
7884         * testsuite/libgomp.fortran/reference2.f90: Ditto.
7885         * testsuite/libgomp.fortran/retval1.f90: Ditto.
7886         * testsuite/libgomp.fortran/retval2.f90: Ditto.
7887         * testsuite/libgomp.fortran/sharing1.f90: Ditto.
7888         * testsuite/libgomp.fortran/sharing2.f90: Ditto.
7889         * testsuite/libgomp.fortran/simd1.f90: Ditto.
7890         * testsuite/libgomp.fortran/simd2.f90: Ditto.
7891         * testsuite/libgomp.fortran/simd3.f90: Ditto.
7892         * testsuite/libgomp.fortran/simd4.f90: Ditto.
7893         * testsuite/libgomp.fortran/simd5.f90: Ditto.
7894         * testsuite/libgomp.fortran/simd6.f90: Ditto.
7895         * testsuite/libgomp.fortran/simd7.f90: Ditto.
7896         * testsuite/libgomp.fortran/stack.f90: Ditto.
7897         * testsuite/libgomp.fortran/strassen.f90: Ditto.
7898         * testsuite/libgomp.fortran/tabs1.f90: Ditto.
7899         * testsuite/libgomp.fortran/tabs2.f: Ditto.
7900         * testsuite/libgomp.fortran/target1.f90: Ditto.
7901         * testsuite/libgomp.fortran/target2.f90: Ditto.
7902         * testsuite/libgomp.fortran/target3.f90: Ditto.
7903         * testsuite/libgomp.fortran/target4.f90: Ditto.
7904         * testsuite/libgomp.fortran/target5.f90: Ditto.
7905         * testsuite/libgomp.fortran/target6.f90: Ditto.
7906         * testsuite/libgomp.fortran/target7.f90: Ditto.
7907         * testsuite/libgomp.fortran/target8.f90: Ditto.
7908         * testsuite/libgomp.fortran/task1.f90: Ditto.
7909         * testsuite/libgomp.fortran/task2.f90: Ditto.
7910         * testsuite/libgomp.fortran/task3.f90: Ditto.
7911         * testsuite/libgomp.fortran/task4.f90: Ditto.
7912         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
7913         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
7914         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
7915         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
7916         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
7917         * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
7918         * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
7919         * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
7920         * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
7921         * testsuite/libgomp.fortran/udr1.f90: Ditto.
7922         * testsuite/libgomp.fortran/udr10.f90: Ditto.
7923         * testsuite/libgomp.fortran/udr11.f90: Ditto.
7924         * testsuite/libgomp.fortran/udr12.f90: Ditto.
7925         * testsuite/libgomp.fortran/udr13.f90: Ditto.
7926         * testsuite/libgomp.fortran/udr14.f90: Ditto.
7927         * testsuite/libgomp.fortran/udr15.f90: Ditto.
7928         * testsuite/libgomp.fortran/udr2.f90: Ditto.
7929         * testsuite/libgomp.fortran/udr3.f90: Ditto.
7930         * testsuite/libgomp.fortran/udr4.f90: Ditto.
7931         * testsuite/libgomp.fortran/udr5.f90: Ditto.
7932         * testsuite/libgomp.fortran/udr6.f90: Ditto.
7933         * testsuite/libgomp.fortran/udr7.f90: Ditto.
7934         * testsuite/libgomp.fortran/udr8.f90: Ditto.
7935         * testsuite/libgomp.fortran/udr9.f90: Ditto.
7936         * testsuite/libgomp.fortran/vla1.f90: Ditto.
7937         * testsuite/libgomp.fortran/vla2.f90: Ditto.
7938         * testsuite/libgomp.fortran/vla3.f90: Ditto.
7939         * testsuite/libgomp.fortran/vla4.f90: Ditto.
7940         * testsuite/libgomp.fortran/vla5.f90: Ditto.
7941         * testsuite/libgomp.fortran/vla6.f90: Ditto.
7942         * testsuite/libgomp.fortran/vla7.f90: Ditto.
7943         * testsuite/libgomp.fortran/vla8.f90: Ditto.
7944         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
7945         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
7947 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
7949         * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
7950         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
7951         Ditto; add 'dg-do run' for torture testing.
7952         * testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
7953         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
7954         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
7955         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
7956         * testsuite/libgomp.fortran/pr28390.f: Ditto.
7957         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
7958         * testsuite/libgomp.fortran/pr90779.f90: Ditto.
7959         * testsuite/libgomp.fortran/task2.f90: Ditto.
7960         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
7961         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
7962         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
7963         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
7964         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
7965         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
7967 2019-10-28  Tobias Burnus  <tobias@codesourcery.com>
7969         * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
7970         * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
7971         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
7972         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
7973         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
7974         * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
7975         * testsuite/libgomp.oacc-fortran/common-block-1.f90:
7976         Use 'stop' not abort().
7977         * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
7978         * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
7979         * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
7980         * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
7981         * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
7982         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
7983         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
7984         * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
7985         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
7986         * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
7987         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
7988         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
7989         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
7990         * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
7991         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
7992         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
7993         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
7994         Ditto.
7995         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
7996         Ditto.
7997         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
7998         Ditto.
7999         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
8000         Ditto.
8001         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
8002         Ditto.
8003         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
8004         Ditto.
8005         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
8006         Ditto.
8007         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
8008         Ditto.
8009         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
8010         Ditto.
8011         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
8012         Ditto.
8013         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
8014         Ditto.
8015         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
8016         Ditto.
8017         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
8018         Ditto.
8019         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
8020         Ditto.
8021         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
8022         * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
8023         * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
8024         * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
8025         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
8026         Likewise and also add 'dg-do run'.
8027         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
8028         Ditto.
8030 2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
8031             Tobias Burnus  <tobias@codesourcery.com>
8033         * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
8034         * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
8035         * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
8037 2019-10-14  Jakub Jelinek  <jakub@redhat.com>
8039         PR libgomp/92081
8040         * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
8041         than 0.
8043 2019-10-11  Tobias Burnus  <tobias@codesourcery.com>
8045         * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
8046         * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
8048 2019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
8050         PR middle-end/92036
8051         * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
8052         file.
8054 2019-10-09  Tobias Burnus  <tobias@codesourcery.com>
8056         PR testsuite/91884
8057         * testsuite/libgomp.fortran/fortran.exp: Conditionally
8058         add -lquadmath.
8059         * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
8061 2019-10-09  Jakub Jelinek  <jakub@redhat.com>
8063         PR libgomp/92028
8064         * target.c (gomp_map_vars_internal): Readd the previous
8065         GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
8066         though do that just in the !not_found_cnt case.
8068 2019-10-08  Tobias Burnus  <tobias@codesourcery.com>
8070         * gfortran.dg/gomp/target-simd.f90: New.
8072 2019-10-02  Julian Brown  <julian@codesourcery.com>
8073             Cesar Philippidis  <cesar@codesourcery.com>
8075         * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
8076         * target.c (FIELD_TGT_EMPTY): Define.
8077         (gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
8078         as switch instead of list of ifs.
8079         (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
8081 2019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
8083         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
8084         include. Replace alloca () with __builtin_alloca ().
8085         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
8087 2019-10-01  Jakub Jelinek  <jakub@redhat.com>
8089         * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
8090         * libgomp.h: Include <stdint.h> instead of "gstdint.h".
8091         * oacc-parallel.c: Don't include "libgomp_g.h".
8092         * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
8093         * plugin/plugin-nvptx.c: Don't include "gstdint.h".
8094         * aclocal.m4: Regenerated.
8095         * config.h.in: Regenerated.
8096         * configure: Regenerated.
8097         * Makefile.in: Regenerated.
8099 2019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
8101         * libgomp_g.h: Include stdint.h instead of gstdint.h.
8103 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
8105         * configure: Regenerate.
8107 2019-09-13  Tobias Burnus  <tobias@codesourcery.com>
8109         * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
8110         string is initialized.
8112 2019-09-06  Florian Weimer  <fweimer@redhat.com>
8114         * configure: Regenerate.
8116 2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
8118         PR other/79543
8119         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
8120         scanning to conform to the GNU Coding Standards.
8121         * configure: Regenerate.
8123 2019-08-28  Jakub Jelinek  <jakub@redhat.com>
8125         PR libgomp/91530
8126         * testsuite/libgomp.c/scan-21.c: New test.
8127         * testsuite/libgomp.c/scan-22.c: New test.
8129 2019-08-27  Jakub Jelinek  <jakub@redhat.com>
8131         PR libgomp/91530
8132         * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
8133         targets.
8134         * testsuite/libgomp.c/scan-12.c: Likewise.
8135         * testsuite/libgomp.c/scan-13.c: Likewise.
8136         * testsuite/libgomp.c/scan-14.c: Likewise.
8137         * testsuite/libgomp.c/scan-15.c: Likewise.
8138         * testsuite/libgomp.c/scan-16.c: Likewise.
8139         * testsuite/libgomp.c/scan-17.c: Likewise.
8140         * testsuite/libgomp.c/scan-18.c: Likewise.
8141         * testsuite/libgomp.c/scan-19.c: Likewise.
8142         * testsuite/libgomp.c/scan-20.c: Likewise.
8143         * testsuite/libgomp.c++/scan-9.C: Likewise.
8144         * testsuite/libgomp.c++/scan-10.C: Likewise.
8145         * testsuite/libgomp.c++/scan-11.C: Likewise.
8146         * testsuite/libgomp.c++/scan-12.C: Likewise.
8147         * testsuite/libgomp.c++/scan-14.C: Likewise.
8148         * testsuite/libgomp.c++/scan-15.C: Likewise.
8149         * testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
8150         instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
8151         * testsuite/libgomp.c++/scan-16.C: Likewise.
8153 2019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
8155         PR fortran/91473
8156         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
8157         -std=legacy so invalid code in the test case is accepted.
8159 2019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
8161         PR fortran/91422
8162         * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
8163         dimension.
8165 2019-08-08  Jakub Jelinek  <jakub@redhat.com>
8167         * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
8168         perform the lookup in the first loop only if !not_found_cnt, otherwise
8169         perform lookups for it in the second loop guarded with
8170         if (not_found_cnt || has_firstprivate).
8171         * testsuite/libgomp.c/target-37.c: New test.
8172         * testsuite/libgomp.c++/target-22.C: New test.
8174 2019-08-07  Jakub Jelinek  <jakub@redhat.com>
8176         * testsuite/libgomp.c/target-18.c (struct S): New type.
8177         (foo): Use use_device_addr clause instead of use_device_ptr clause
8178         where required by OpenMP 5.0, add further tests for both use_device_ptr
8179         and use_device_addr clauses.
8180         * testsuite/libgomp.c++/target-9.C (struct S): New type.
8181         (foo): Use use_device_addr clause instead of use_device_ptr clause
8182         where required by OpenMP 5.0, add further tests for both use_device_ptr
8183         and use_device_addr clauses.  Add t and u arguments.
8184         (main): Adjust caller.
8186 2019-08-06  Jakub Jelinek  <jakub@redhat.com>
8188         * testsuite/libgomp.c++/loop-13.C: New test.
8189         * testsuite/libgomp.c++/loop-14.C: New test.
8190         * testsuite/libgomp.c++/loop-15.C: New test.
8192 2019-07-31  Jakub Jelinek  <jakub@redhat.com>
8194         PR middle-end/91301
8195         * testsuite/libgomp.c++/for-27.C: New test.
8197 2019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
8199         * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8200         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
8202 2019-07-20  Jakub Jelinek  <jakub@redhat.com>
8204         * testsuite/libgomp.c-c++-common/loop-1.c: New test.
8206 2019-07-08  Jakub Jelinek  <jakub@redhat.com>
8208         * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
8209         * testsuite/libgomp.c++/scan-16.C: Likewise.
8211 2019-07-06  Jakub Jelinek  <jakub@redhat.com>
8213         * testsuite/libgomp.c/scan-19.c: New test.
8214         * testsuite/libgomp.c/scan-20.c: New test.
8216         * testsuite/libgomp.c/scan-11.c: New test.
8217         * testsuite/libgomp.c/scan-12.c: New test.
8218         * testsuite/libgomp.c/scan-13.c: New test.
8219         * testsuite/libgomp.c/scan-14.c: New test.
8220         * testsuite/libgomp.c/scan-15.c: New test.
8221         * testsuite/libgomp.c/scan-16.c: New test.
8222         * testsuite/libgomp.c/scan-17.c: New test.
8223         * testsuite/libgomp.c/scan-18.c: New test.
8224         * testsuite/libgomp.c++/scan-9.C: New test.
8225         * testsuite/libgomp.c++/scan-10.C: New test.
8226         * testsuite/libgomp.c++/scan-11.C: New test.
8227         * testsuite/libgomp.c++/scan-12.C: New test.
8228         * testsuite/libgomp.c++/scan-13.C: New test.
8229         * testsuite/libgomp.c++/scan-14.C: New test.
8230         * testsuite/libgomp.c++/scan-15.C: New test.
8231         * testsuite/libgomp.c++/scan-16.C: New test.
8233 2019-07-04  Jakub Jelinek  <jakub@redhat.com>
8235         * testsuite/libgomp.c/scan-9.c: New test.
8236         * testsuite/libgomp.c/scan-10.c: New test.
8238 2019-07-03  Jakub Jelinek  <jakub@redhat.com>
8240         * testsuite/libgomp.c++/scan-1.C: New test.
8241         * testsuite/libgomp.c++/scan-2.C: New test.
8242         * testsuite/libgomp.c++/scan-3.C: New test.
8243         * testsuite/libgomp.c++/scan-4.C: New test.
8244         * testsuite/libgomp.c++/scan-5.C: New test.
8245         * testsuite/libgomp.c++/scan-6.C: New test.
8246         * testsuite/libgomp.c++/scan-7.C: New test.
8247         * testsuite/libgomp.c++/scan-8.C: New test.
8248         * testsuite/libgomp.c/scan-1.c: New test.
8249         * testsuite/libgomp.c/scan-2.c: New test.
8250         * testsuite/libgomp.c/scan-3.c: New test.
8251         * testsuite/libgomp.c/scan-4.c: New test.
8252         * testsuite/libgomp.c/scan-5.c: New test.
8253         * testsuite/libgomp.c/scan-6.c: New test.
8254         * testsuite/libgomp.c/scan-7.c: New test.
8255         * testsuite/libgomp.c/scan-8.c: New test.
8257 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
8259         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
8260         * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
8261         Likewise.
8263         * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
8264         check.
8266 2019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
8268         * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
8269         file.
8271 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
8273         PR fortran/90743
8274         * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
8275         case.
8276         * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
8277         * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
8278         * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
8279         * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
8281         PR testsuite/90861
8282         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
8284         PR middle-end/90862
8285         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
8287 2019-06-16  Tom de Vries  <tdevries@suse.de>
8289         PR tree-optimization/89376
8290         * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
8292 2019-06-15  Tom de Vries  <tdevries@suse.de>
8294         PR tree-optimization/89713
8295         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
8296         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
8298 2019-06-15  Jakub Jelinek  <jakub@redhat.com>
8300         PR middle-end/90779
8301         * testsuite/libgomp.c/pr90779.c: New test.
8302         * testsuite/libgomp.fortran/pr90779.f90: New test.
8304 2019-06-15  Tom de Vries  <tdevries@suse.de>
8306         PR tree-optimization/90009
8307         * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
8309 2019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
8311         PR tree-optimization/89713
8312         * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
8314 2019-06-11  Jakub Jelinek  <jakub@redhat.com>
8316         PR target/90811
8317         * testsuite/libgomp.c/pr90811.c: New test.
8319 2019-06-05  Jakub Jelinek  <jakub@redhat.com>
8321         * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
8322         * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
8324 2019-06-04  Jakub Jelinek  <jakub@redhat.com>
8326         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
8327         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
8328         * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
8329         * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
8331 2019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8333         * configure.ac: Call AX_COUNT_CPUS.
8334         Substitute CPU_COUNT.
8335         * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
8336         count fallback.
8337         * aclocal.m4: Regenerate.
8338         * configure: Regenerate.
8339         * Makefile.in, testsuite/Makefile.in: Regenerate.
8341 2019-05-29  Jakub Jelinek  <jakub@redhat.com>
8343         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
8344         to ...
8345         * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
8346         * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
8347         * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
8349 2019-05-27  Jakub Jelinek  <jakub@redhat.com>
8351         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
8353         * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
8355         PR libgomp/90641
8356         * work.c (gomp_init_work_share): Instead of aligning final ordered
8357         value to multiples of long long alignment, align to that the
8358         first part (ordered team ids) and if inline_ordered_team_ids
8359         is not on a long long alignment boundary within the structure,
8360         use __alignof__ (long long) - 1 pad size always.
8361         * loop.c (GOMP_loop_start): Fix *mem computation if
8362         inline_ordered_team_ids is not aligned on long long alignment boundary
8363         within the structure.
8364         * loop-ull.c (GOMP_loop_ull_start): Likewise.
8365         * sections.c (GOMP_sections2_start): Likewise.
8367 2019-05-24  Jakub Jelinek  <jakub@redhat.com>
8369         * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
8370         * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
8372         PR libgomp/90585
8373         * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
8374         HAVE_INTTYPES_H is defined.
8375         (print_uint64_t): New typedef.
8376         (PRIu64): Define if HAVE_INTTYPES_H is not defined.
8377         (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
8378         "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
8379         (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
8380         before casting to void *.
8381         * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
8382         * oacc-mem.c: Don't include config.h nor stdint.h.
8383         * target.c: Don't include config.h.
8384         * oacc-cuda.c: Likewise.
8385         * oacc-host.c: Don't include stdint.h.
8387 2019-05-20  Jakub Jelinek  <jakub@redhat.com>
8389         PR libgomp/90527
8390         * alloc.c (_GNU_SOURCE): Define.
8392 2019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
8394         * acc_prof.h: New file.
8395         * oacc-profiling.c: Likewise.
8396         * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
8397         Add these, respectively.
8398         * Makefile.in: Regenerate.
8399         * env.c (initialize_env): Call goacc_profiling_initialize.
8400         * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
8401         (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
8402         * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
8403         (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
8404         * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
8405         acc_prof_register, acc_prof_unregister, and acc_register_library.
8406         (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
8407         GOMP_PLUGIN_goacc_thread.
8408         * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
8409         prof_callbacks_enabled members.
8410         (goacc_prof_enabled, goacc_profiling_initialize)
8411         (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
8412         (goacc_profiling_dispatch): Declare.
8413         (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
8414         (GOACC_PROFILING_SETUP_P): Define.
8415         * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
8416         (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
8417         OpenACC Profiling Interface.
8418         * oacc-cuda.c (acc_get_current_cuda_device)
8419         (acc_get_current_cuda_context, acc_get_cuda_stream)
8420         (acc_set_cuda_stream): Likewise.
8421         * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
8422         (acc_init, acc_set_device_type, acc_get_device_type)
8423         (acc_get_device_num, goacc_lazy_initialize): Likewise.
8424         * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
8425         (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
8426         (acc_unmap_data, present_create_copy, delete_copyout)
8427         (update_dev_host): Likewise.
8428         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
8429         (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
8430         Likewise.
8431         * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
8432         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
8433         Likewise.
8434         * libgomp.texi: Update.
8435         * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
8436         file.
8437         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
8438         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
8439         Likewise.
8440         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
8441         Likewise.
8442         * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
8443         Likewise.
8444         * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
8445         Likewise.
8447 2019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
8449         * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
8450         (struct goacc_asyncqueue_list): Likewise.
8451         (goacc_aq): Likewise.
8452         (goacc_aq_list): Likewise.
8453         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
8454         (GOMP_OFFLOAD_openacc_async_test): Remove.
8455         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
8456         (GOMP_OFFLOAD_openacc_async_wait): Remove.
8457         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
8458         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
8459         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
8460         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
8461         (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
8462         (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
8463         (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
8464         (GOMP_OFFLOAD_openacc_async_exec): Declare.
8465         (GOMP_OFFLOAD_openacc_async_construct): Declare.
8466         (GOMP_OFFLOAD_openacc_async_destruct): Declare.
8467         (GOMP_OFFLOAD_openacc_async_test): Declare.
8468         (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
8469         (GOMP_OFFLOAD_openacc_async_serialize): Declare.
8470         (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
8471         (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
8472         (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
8474         * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
8475         (gomp_acc_insert_pointer): Adjust declaration.
8476         (gomp_copy_host2dev): New declaration.
8477         (gomp_copy_dev2host): Likewise.
8478         (gomp_map_vars_async): Likewise.
8479         (gomp_unmap_tgt): Likewise.
8480         (gomp_unmap_vars_async): Likewise.
8481         (gomp_fini_device): Likewise.
8483         * oacc-async.c (get_goacc_thread): New function.
8484         (get_goacc_thread_device): New function.
8485         (lookup_goacc_asyncqueue): New function.
8486         (get_goacc_asyncqueue): New function.
8487         (acc_async_test): Adjust code to use new async design.
8488         (acc_async_test_all): Likewise.
8489         (acc_wait): Likewise.
8490         (acc_wait_async): Likewise.
8491         (acc_wait_all): Likewise.
8492         (acc_wait_all_async): Likewise.
8493         (goacc_async_free): New function.
8494         (goacc_init_asyncqueues): Likewise.
8495         (goacc_fini_asyncqueues): Likewise.
8496         * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
8497         design.
8498         (acc_set_cuda_stream): Likewise.
8499         * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
8500         (host_openacc_register_async_cleanup): Remove.
8501         (host_openacc_async_exec): New function.
8502         (host_openacc_async_test): Adjust parameters.
8503         (host_openacc_async_test_all): Remove.
8504         (host_openacc_async_wait): Remove.
8505         (host_openacc_async_wait_async): Remove.
8506         (host_openacc_async_wait_all): Remove.
8507         (host_openacc_async_wait_all_async): Remove.
8508         (host_openacc_async_set_async): Remove.
8509         (host_openacc_async_synchronize): New function.
8510         (host_openacc_async_serialize): New function.
8511         (host_openacc_async_host2dev): New function.
8512         (host_openacc_async_dev2host): New function.
8513         (host_openacc_async_queue_callback): New function.
8514         (host_openacc_async_construct): New function.
8515         (host_openacc_async_destruct): New function.
8516         (struct gomp_device_descr host_dispatch): Remove initialization of old
8517         interface, add initialization of new async sub-struct.
8518         * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
8519         (goacc_attach_host_thread_to_device): Remove old async code usage.
8520         * oacc-int.h (goacc_init_asyncqueues): New declaration.
8521         (goacc_fini_asyncqueues): Likewise.
8522         (goacc_async_copyout_unmap_vars): Likewise.
8523         (goacc_async_free): Likewise.
8524         (get_goacc_asyncqueue): Likewise.
8525         (lookup_goacc_asyncqueue): Likewise.
8526         * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
8527         design.
8528         (present_create_copy): Adjust code to use new async design.
8529         (delete_copyout): Likewise.
8530         (update_dev_host): Likewise.
8531         (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
8532         async design.
8533         (gomp_acc_remove_pointer): Adjust code to use new async design.
8534         * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
8535         design.
8536         (GOACC_enter_exit_data): Likewise.
8537         (goacc_wait): Likewise.
8538         (GOACC_update): Likewise.
8539         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
8540         when called, warn as obsolete in comment.
8541         * target.c (goacc_device_copy_async): New function.
8542         (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
8543         add goacc_device_copy_async case.
8544         (gomp_copy_dev2host): Likewise.
8545         (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
8546         (gomp_map_pointer): Likewise.
8547         (gomp_map_fields_existing): Likewise.
8548         (gomp_map_vars_internal): New always_inline function, renamed from
8549         gomp_map_vars.
8550         (gomp_map_vars): Implement by calling gomp_map_vars_internal.
8551         (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
8552         passing goacc_asyncqueue argument.
8553         (gomp_unmap_tgt): Remove static, add attribute_hidden.
8554         (gomp_unref_tgt): New function.
8555         (gomp_unmap_vars_internal): New always_inline function, renamed from
8556         gomp_unmap_vars.
8557         (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
8558         (gomp_unmap_vars_async): Implement by calling
8559         gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
8560         (gomp_fini_device): New function.
8561         (gomp_exit_data): Adjust gomp_copy_dev2host call.
8562         (gomp_load_plugin_for_device): Remove old interface, adjust to load
8563         new async interface.
8564         (gomp_target_fini): Adjust code to call gomp_fini_device.
8566         * plugin/plugin-nvptx.c (struct cuda_map): Remove.
8567         (struct ptx_stream): Remove.
8568         (struct nvptx_thread): Remove current_stream field.
8569         (cuda_map_create): Remove.
8570         (cuda_map_destroy): Remove.
8571         (map_init): Remove.
8572         (map_fini): Remove.
8573         (map_pop): Remove.
8574         (map_push): Remove.
8575         (struct goacc_asyncqueue): Define.
8576         (struct nvptx_callback): Define.
8577         (struct ptx_free_block): Define.
8578         (struct ptx_device): Remove null_stream, active_streams, async_streams,
8579         stream_lock, and next fields.
8580         (enum ptx_event_type): Remove.
8581         (struct ptx_event): Remove.
8582         (ptx_event_lock): Remove.
8583         (ptx_events): Remove.
8584         (init_streams_for_device): Remove.
8585         (fini_streams_for_device): Remove.
8586         (select_stream_for_async): Remove.
8587         (nvptx_init): Remove ptx_events and ptx_event_lock references.
8588         (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
8589         case.
8590         (nvptx_open_device): Add free_blocks initialization, remove
8591         init_streams_for_device call.
8592         (nvptx_close_device): Remove fini_streams_for_device call, add
8593         free_blocks destruct code.
8594         (event_gc): Remove.
8595         (event_add): Remove.
8596         (nvptx_exec): Adjust parameters and code.
8597         (nvptx_free): Likewise.
8598         (nvptx_host2dev): Remove.
8599         (nvptx_dev2host): Remove.
8600         (nvptx_set_async): Remove.
8601         (nvptx_async_test): Remove.
8602         (nvptx_async_test_all): Remove.
8603         (nvptx_wait): Remove.
8604         (nvptx_wait_async): Remove.
8605         (nvptx_wait_all): Remove.
8606         (nvptx_wait_all_async): Remove.
8607         (nvptx_get_cuda_stream): Remove.
8608         (nvptx_set_cuda_stream): Remove.
8609         (GOMP_OFFLOAD_alloc): Adjust code.
8610         (GOMP_OFFLOAD_free): Likewise.
8611         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
8612         (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
8613         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
8614         (GOMP_OFFLOAD_openacc_async_wait): Remove.
8615         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
8616         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
8617         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
8618         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
8619         (cuda_free_argmem): New function.
8620         (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
8621         (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
8622         (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
8623         (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
8624         (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
8625         (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
8626         (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
8627         (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
8628         (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
8629         (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
8630         (cuda_callback_wrapper): New function.
8631         (cuda_memcpy_sanity_check): New function.
8632         (GOMP_OFFLOAD_host2dev): Remove and re-implement.
8633         (GOMP_OFFLOAD_dev2host): Remove and re-implement.
8634         (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
8635         (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
8637 2019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
8639         PR target/87835
8640         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
8642 2019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
8644         * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
8646 2019-03-27  Kevin Buettner  <kevinb@redhat.com>
8648         * team.c (gomp_team_start): Initialize pool->threads[0].
8650 2019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
8652         * testsuite/libgomp.oacc-c++/c++.exp: Specify
8653         "-foffload=$offload_target".
8654         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8655         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8656         * testsuite/lib/libgomp.exp
8657         (check_effective_target_openacc_nvidia_accel_configured): Remove,
8658         as (conceptually) merged into
8659         check_effective_target_openacc_nvidia_accel_selected.  Adjust all
8660         users.
8662         * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
8663         * testsuite/libgomp-test-support.exp.in: Adjust.
8664         * testsuite/lib/libgomp.exp: Likewise.  Don't populate
8665         openacc_device_types_s.
8666         (offload_target_to_openacc_device_type): New proc.
8667         * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
8668         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8669         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8670         * Makefile.in: Regenerate.
8671         * configure: Likewise.
8672         * testsuite/Makefile.in: Likewise.
8674         * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
8675         instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
8676         instead of OFFLOAD_TARGETS.
8677         * target.c (gomp_target_init): Adjust.
8678         * testsuite/libgomp-test-support.exp.in: Likewise.
8679         * testsuite/lib/libgomp.exp: Likewise.  Populate
8680         openacc_device_types_s instead of offload_targets_s_openacc.
8681         (check_effective_target_openacc_nvidia_accel_selected)
8682         (check_effective_target_openacc_host_selected): Adjust.
8683         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8684         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8685         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8686         * Makefile.in: Regenerate.
8687         * config.h.in: Likewise.
8688         * configure: Likewise.
8689         * testsuite/Makefile.in: Likewise.
8691         * testsuite/lib/libgomp.exp: Error out for unknown offload target.
8692         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
8693         "offloading: supported, but hardware not accessible".
8694         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8695         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8697 2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
8699         PR c/87924
8700         * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
8701         goacc_wait().
8702         (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
8703         and related adjustment.
8705 2019-01-30  Jakub Jelinek  <jakub@redhat.com>
8707         PR c++/88988
8708         * testsuite/libgomp.c++/pr88988.C: New test.
8710 2019-01-28  Jakub Jelinek  <jakub@redhat.com>
8712         PR middle-end/89002
8713         * testsuite/libgomp.c/pr89002.c: New test.
8715 2019-01-28  Richard Biener  <rguenther@suse.de>
8717         PR testsuite/89064
8718         PR tree-optimization/86865
8719         * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
8721 2019-01-24  Tom de Vries  <tdevries@suse.de>
8723         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
8724         once instantiated_devices drops to 0.
8726 2019-01-23  Tom de Vries  <tdevries@suse.de>
8728         PR target/PR88946
8729         * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
8730         cuMemFree.
8731         (nvptx_exec): Don't call map_push if mapnum == 0.
8732         * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
8734 2019-01-23  Tom de Vries  <tdevries@suse.de>
8736         PR target/88941
8737         PR target/88939
8738         * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
8739         (map_fini): Remove "assert (!s->map->active)".
8740         * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
8742 2019-01-23  Tom de Vries  <tdevries@suse.de>
8744         PR target/87835
8745         * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
8746         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
8748 2019-01-15  Tom de Vries  <tdevries@suse.de>
8750         PR target/80547
8751         * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
8752         New test.
8754 2019-01-12  Tom de Vries  <tdevries@suse.de>
8756         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
8757         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
8758         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
8759         * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
8761 2019-01-12  Tom de Vries  <tdevries@suse.de>
8763         * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
8765 2019-01-12  Tom de Vries  <tdevries@suse.de>
8767         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
8768         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
8769         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
8771 2019-01-12  Tom de Vries  <tdevries@suse.de>
8773         PR target/85486
8774         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
8775         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
8777 2019-01-12  Tom de Vries  <tdevries@suse.de>
8779         PR target/85381
8780         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
8781         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
8783 2019-01-12  Tom de Vries  <tdevries@suse.de>
8785         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
8786         * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
8787         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
8789 2019-01-12  Tom de Vries  <tdevries@suse.de>
8791         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
8792         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
8793         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
8795 2019-01-12  Tom de Vries  <tdevries@suse.de>
8797         * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
8798         resources diagnostic.
8800 2019-01-12  Tom de Vries  <tdevries@suse.de>
8802         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
8803         vector length to be 128.
8804         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
8805         length 2097152 to be reduced to 1024 instead of 32.
8807 2019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
8808             James Norris  <jnorris@codesourcery.com>
8810         * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
8811         Library Routines", and "Environment Variables".
8813 2019-01-11  Tom de Vries  <tdevries@suse.de>
8815         * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
8816         num_workers 16.
8818 2019-01-11  Tom de Vries  <tdevries@suse.de>
8820         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
8821         -foffload=-w.
8822         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
8823         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
8824         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
8825         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
8827 2019-01-11  Tom de Vries  <tdevries@suse.de>
8829         * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
8830         test.
8832 2019-01-10  Nathan Sidwell  <nathan@acm.org>
8833             Julian Brown  <julian@codesourcery.com>
8835         PR lto/71959
8836         * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
8837         * testsuite/libgomp.oacc-c++/pr71959.C: New.
8839 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8841         * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
8842         and paste code.
8844 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8846         * config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
8847         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
8848         write.
8850 2019-01-09  Tom de Vries  <tdevries@suse.de>
8852         PR target/88756
8853         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
8854         #define instead of "const int".
8855         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
8856         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
8857         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
8858         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
8860 2019-01-09  Tom de Vries  <tdevries@suse.de>
8862         * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
8863         one worker.
8865 2019-01-07  Tom de Vries  <tdevries@suse.de>
8867         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
8868         GOMP_OPENACC_DIM argument.
8870 2019-01-03  Tom de Vries  <tdevries@suse.de>
8872         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
8873         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
8875 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
8877         Update copyright years.
8879 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
8881         * libgomp.texi: Bump @copying's copyright year.
8883 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
8885         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
8886         (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
8887         (GOACC_declare): Redefine the "device" argument to "flags".
8889 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
8890             Cesar Philippidis  <cesar@codesourcery.com>
8892         * target.c (struct gomp_coalesce_chunk): New structure.
8893         (struct gomp_coalesce_buf): Update the chunks member to use that
8894         type.  Adjust all users.
8896 2018-12-19  Tom de Vries  <tdevries@suse.de>
8898         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
8899         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
8900         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
8902 2018-12-19  Tom de Vries  <tdevries@suse.de>
8904         * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
8905         * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
8906         gcc/testsuite/gcc.dg/goacc.
8907         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
8909 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
8910             Chung-Lin Tang  <cltang@codesourcery.com>
8912         * oacc-mem.c (acc_present_or_create): Remove definition and change
8913         to alias of acc_create.
8914         (acc_present_or_copyin): Remove definition and change to alias of
8915         acc_copyin.
8916         * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
8917         of acc_present_or_create.
8918         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
8919         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8920         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8921         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8922         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8923         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8924         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8925         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8926         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8927         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8928         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8929         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8930         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8931         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8932         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8933         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8935 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
8937         PR libgomp/88495
8938         * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
8939         "identical parameters".
8940         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
8941         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
8943         PR libgomp/88484
8944         * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
8945         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
8947         PR libgomp/88407
8948         * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
8949         (nvptx_wait_async): Unseen async-argument is a no-op.
8950         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
8951         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
8952         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8953         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
8954         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
8955         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
8956         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
8957         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
8958         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
8960         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
8961         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8963 2018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
8965         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
8966         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8967         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8969 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
8971         PR libgomp/88370
8972         * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
8973         (acc_set_cuda_stream): Clarify.
8974         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
8975         "async_valid_p".
8976         * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
8977         acc_async_sync".
8978         * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
8979         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
8980         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
8981         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
8983 2018-12-14  Tom de Vries  <tdevries@suse.de>
8985         * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
8986         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
8987         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
8988         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
8989         * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
8991 2018-12-13  Tom de Vries  <tdevries@suse.de>
8993         * affinity-fmt.c (gomp_print_string): New function, factored out of ...
8994         (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
8995         * fortran.c (omp_display_affinity_): ... here.
8996         * libgomp.h (gomp_print_string): Declare.
8997         * config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
8998         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
8999         write.
9001 2018-12-13  Jakub Jelinek  <jakub@redhat.com>
9003         PR libgomp/88460
9004         * testsuite/libgomp.c++/for-24.C (results): Include it in
9005         omp declare target region.
9006         (main): Use map (always, tofrom: results) instead of
9007         map (tofrom: results).
9009 2018-12-12  Jakub Jelinek  <jakub@redhat.com>
9011         PR fortran/88463
9012         * testsuite/libgomp.fortran/pr88463-1.f90: New test.
9013         * testsuite/libgomp.fortran/pr88463-2.f90: New test.
9015         * testsuite/libgomp.c-c++-common/for-16.c: New test.
9017 2018-12-12  Andreas Schwab  <schwab@suse.de>
9019         * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
9020         clobbered.
9022 2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
9024         PR fortran/88411
9025         * testsuite/libgomp.fortran/async_io_8.f90: New test.
9027 2018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
9028             Jakub Jelinek  <jakub@redhat.com>
9030         * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
9031         devicep->host2dev_func.
9033 2018-12-08  Jakub Jelinek  <jakub@redhat.com>
9035         PR libgomp/87995
9036         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
9037         tls_runtime effective target.
9038         (t): New threadprivate variable.
9039         (main): Set t in threads which execute iterations of the worksharing
9040         loop.  Propagate that to the task after the loop and don't abort
9041         if the current taskgroup hasn't been cancelled.
9043 2018-12-02  Jakub Jelinek  <jakub@redhat.com>
9045         * testsuite/libgomp.c/task-reduction-3.c: New test.
9047         * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
9049 2018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
9051         PR libgomp/88288
9052         * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
9053         * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
9055 2018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
9057         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
9059 2018-10-19  Richard Biener  <rguenther@suse.de>
9061         PR tree-optimization/88182
9062         * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
9064 2018-11-26  Jakub Jelinek  <jakub@redhat.com>
9066         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
9067         (RUNTEST): Don't define.
9068         (RUNTESTDEFAULTFLAGS): Add.
9069         (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
9070         (distclean-am): Depend on distclean-DEJAGNU.
9071         (check-am): If -j% option is present in MFLAGS and if
9072         `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
9073         (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
9074         * testsuite/Makefile.in: Regenerated.
9076 2018-11-26  Richard Biener  <rguenther@suse.de>
9078         PR tree-optimization/88182
9079         * testsuite/libgomp.c++/pr88182.C: New testcase.
9081 2018-11-20  Jakub Jelinek  <jakub@redhat.com>
9083         PR bootstrap/88106
9084         * config/mingw32/affinity-fmt.c: New file.
9086 2018-11-09  Jakub Jelinek  <jakub@redhat.com>
9088         * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
9089         (gomp_display_affinity): Use __builtin_choose_expr to handle
9090         properly handle argument having integral, or pointer or some other
9091         type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
9092         with uint64_t type instead of %llx and unsigned long long.
9094         * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
9095         * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
9097 2018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9099         * affinity.c: Include <string.h>, <stdio.h>.
9100         (gomp_display_affinity_place): Remove cpusetp.
9101         * teams.c: Include <limits.h>.
9103 2018-11-08  Jakub Jelinek  <jakub@redhat.com>
9105         * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
9106         in_reduction clause for s[0].
9108         * affinity.c (gomp_display_affinity_place): New function.
9109         * affinity-fmt.c: New file.
9110         * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
9111         * config/linux/affinity.c (gomp_display_affinity_place): New function.
9112         * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
9113         Move these functions to ...
9114         * config/nvptx/teams.c: ... here.  New file.
9115         * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
9116         New functions.
9117         * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
9118         functions.
9119         * configure.ac: Check for aligned_alloc, posix_memalign, memalign
9120         and _aligned_malloc.
9121         (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
9122         * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
9123         * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
9124         gomp_affinity_format_len): New variables.
9125         (parse_schedule): Parse monotonic and nonmonotonic modifiers in
9126         OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
9127         (handle_omp_display_env): Display monotonic/nonmonotonic schedule
9128         modifiers.  Display (non-default) chunk sizes.  Print
9129         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
9130         (initialize_env): Don't call pthread_attr_setdetachstate.  Handle
9131         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
9132         * fortran.c: Include stdio.h and string.h.
9133         (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
9134         (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
9135         (omp_set_affinity_format_, omp_get_affinity_format_,
9136         omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
9137         omp_pause_resource_all_): New functions.
9138         * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
9139         switch.
9140         * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
9141         functions to ...
9142         * teams.c: ... here.  New file.
9143         * libgomp_g.h: Include gstdint.h.
9144         (GOMP_loop_nonmonotonic_runtime_start,
9145         GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
9146         GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
9147         GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
9148         GOMP_parallel_loop_nonmonotonic_runtime,
9149         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9150         GOMP_loop_ull_nonmonotonic_runtime_start,
9151         GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
9152         GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
9153         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9154         GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
9155         GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
9156         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9157         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
9158         GOMP_teams_reg): Declare.
9159         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
9160         gomp_aligned_alloc uses fallback implementation.
9161         (gomp_aligned_alloc, gomp_aligned_free): Declare.
9162         (enum gomp_schedule_type): Add GFS_MONOTONIC.
9163         (struct gomp_doacross_work_share): Add extra field.
9164         (struct gomp_work_share): Add task_reductions field.
9165         (struct gomp_taskgroup): Add workshare and reductions fields.
9166         (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
9167         (gomp_thread_handle): New typedef.
9168         (gomp_display_affinity_place, gomp_set_affinity_format,
9169         gomp_display_string, gomp_display_affinity,
9170         gomp_display_affinity_thread): Declare.
9171         (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
9172         (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
9173         gomp_workshare_task_reduction_register): Declare.
9174         (gomp_team_start): Add taskgroup argument.
9175         (gomp_pause_host): Declare.
9176         (gomp_init_work_share, gomp_work_share_start): Change bool argument
9177         to size_t.
9178         (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
9179         * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
9180         GOMP_loop_ordered_start, GOMP_loop_doacross_start,
9181         GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
9182         GOMP_loop_ull_doacross_start,
9183         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
9184         GOMP_loop_maybe_nonmonotonic_runtime_next,
9185         GOMP_loop_maybe_nonmonotonic_runtime_start,
9186         GOMP_loop_nonmonotonic_runtime_next,
9187         GOMP_loop_nonmonotonic_runtime_start,
9188         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9189         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
9190         GOMP_loop_ull_nonmonotonic_runtime_next,
9191         GOMP_loop_ull_nonmonotonic_runtime_start,
9192         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9193         GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
9194         GOMP_taskgroup_reduction_register,
9195         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9196         GOMP_teams_reg and GOMP_taskwait_depend.
9197         (OMP_5.0): Export omp_pause_resource{,_all}{,_},
9198         omp_{capture,display}_affinity{,_}, and
9199         omp_[gs]et_affinity_format{,_}.
9200         * loop.c: Include string.h.
9201         (GOMP_loop_runtime_next): Add ialias.
9202         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9203         (gomp_loop_static_start, gomp_loop_dynamic_start,
9204         gomp_loop_guided_start, gomp_loop_ordered_static_start,
9205         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
9206         gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
9207         gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
9208         or gomp_doacross_init callers.
9209         (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
9210         GOMP_loop_doacross_start): New functions.
9211         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
9212         GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
9213         Mask off GFS_MONOTONIC bit.
9214         (GOMP_loop_maybe_nonmonotonic_runtime_next,
9215         GOMP_loop_maybe_nonmonotonic_runtime_start,
9216         GOMP_loop_nonmonotonic_runtime_next,
9217         GOMP_loop_nonmonotonic_runtime_start,
9218         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9219         GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
9220         functions.
9221         (gomp_parallel_loop_start): Pass NULL as taskgroup to
9222         gomp_team_start.
9223         * loop_ull.c: Include string.h.
9224         (GOMP_loop_ull_runtime_next): Add ialias.
9225         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9226         (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
9227         gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
9228         gomp_loop_ull_ordered_dynamic_start,
9229         gomp_loop_ull_ordered_guided_start,
9230         gomp_loop_ull_doacross_static_start,
9231         gomp_loop_ull_doacross_dynamic_start,
9232         gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
9233         and gomp_doacross_ull_init callers.
9234         (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
9235         GOMP_loop_ull_doacross_start): New functions.
9236         (GOMP_loop_ull_runtime_start,
9237         GOMP_loop_ull_ordered_runtime_start,
9238         GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
9239         (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9240         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
9241         GOMP_loop_ull_nonmonotonic_runtime_next,
9242         GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
9243         * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
9244         * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
9245         (omp_pause_resource_t, omp_depend_t): New typedefs.
9246         (enum omp_lock_hint_t): Renamed to ...
9247         (enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
9248         enumerators using numbers and omp_lock_hint_* as their aliases.
9249         (omp_lock_hint_t): New typedef.  Rename to ...
9250         (omp_sync_hint_t): ... this.
9251         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
9252         omp_sync_hint_t instead of omp_lock_hint_t.
9253         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
9254         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
9255         Declare.
9256         (omp_target_is_present, omp_target_disassociate_ptr):
9257         Change first argument from void * to const void *.
9258         (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
9259         from void * to const void *.
9260         (omp_target_associate_ptr): Change first and second arguments from
9261         void * to const void *.
9262         * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
9263         omp_pause_hard): New parameters.
9264         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
9265         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
9266         New interfaces.
9267         * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
9268         omp_pause_hard): New parameters.
9269         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
9270         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
9271         New externals.
9272         * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
9273         EXTRA argument.  If not needed to prepare array, if extra is 0,
9274         clear ws->doacross, otherwise allocate just doacross structure and
9275         extra payload.  If array is needed, allocate also extra payload.
9276         (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
9277         GOMP_doacross_ull_wait): Handle doacross->array == NULL like
9278         doacross == NULL.
9279         * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
9280         gomp_team_start.
9281         (GOMP_parallel): Likewise.  Formatting fix.
9282         (GOMP_parallel_reductions): New function.
9283         (GOMP_cancellation_point): If taskgroup has workshare
9284         flag set, check cancelled of prev taskgroup if any.
9285         (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
9286         on prev taskgroup if any.
9287         * sections.c: Include string.h.
9288         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9289         (GOMP_sections_start): Adjust gomp_work_share_start caller.
9290         (GOMP_sections2_start): New function.
9291         (GOMP_parallel_sections_start, GOMP_parallel_sections):
9292         Pass NULL as taskgroup to gomp_team_start.
9293         * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
9294         gomp_work_share_start callers.
9295         * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
9296         If taskgroup has workshare flag set, check cancelled on prev
9297         taskgroup if any.  Guard all cancellation tests with
9298         gomp_cancel_var test.
9299         (omp_target_is_present, omp_target_disassociate_ptr):
9300         Change ptr argument from void * to const void *.
9301         (omp_target_memcpy): Change src argument from void * to const void *.
9302         (omp_target_memcpy_rect): Likewise.
9303         (omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
9304         instead of char * where needed.
9305         (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
9306         from void * to const void *.
9307         (omp_pause_resource, omp_pause_resource_all): New functions.
9308         * task.c (gomp_task_handle_depend): Handle new depend array format
9309         in addition to the old.  Handle mutexinoutset kinds the same as
9310         inout for now, handle unspecified kinds.
9311         (gomp_create_target_task): If taskgroup has workshare flag set, check
9312         cancelled on prev taskgroup if any.  Guard all cancellation tests with
9313         gomp_cancel_var test.  Handle new depend array format count in
9314         addition to the old.
9315         (GOMP_task): Likewise.  Adjust function comment.
9316         (gomp_task_run_pre): If taskgroup has workshare flag set, check
9317         cancelled on prev taskgroup if any.  Guard all cancellation tests with
9318         gomp_cancel_var test.
9319         (GOMP_taskwait_depend): New function.
9320         (gomp_task_maybe_wait_for_dependencies): Handle new depend array
9321         format in addition to the old.  Handle mutexinoutset kinds the same as
9322         inout for now, handle unspecified kinds.  Fix a function comment typo.
9323         (gomp_taskgroup_init): New function.
9324         (GOMP_taskgroup_start): Use it.
9325         (gomp_reduction_register, gomp_create_artificial_team,
9326         GOMP_taskgroup_reduction_register,
9327         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9328         gomp_parallel_reduction_register,
9329         gomp_workshare_task_reduction_register,
9330         gomp_workshare_taskgroup_start,
9331         GOMP_workshare_task_reduction_unregister): New functions.
9332         * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
9333         check cancelled on prev taskgroup if any.  Guard all cancellation
9334         tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
9335         by calling GOMP_taskgroup_reduction_register.
9336         * team.c (gomp_thread_attr): Remove comment.
9337         (struct gomp_thread_start_data): Add handle field.
9338         (gomp_thread_start): Call pthread_detach.
9339         (gomp_new_team): Adjust gomp_init_work_share caller.
9340         (gomp_free_pool_helper): Call pthread_detach.
9341         (gomp_team_start): Add taskgroup argument, initialize implicit
9342         tasks' taskgroup field to that.  Don't call
9343         pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
9344         (gomp_team_end): Determine nesting by thr->ts.level != 0
9345         rather than thr->ts.team != NULL.
9346         (gomp_pause_pool_helper, gomp_pause_host): New functions.
9347         * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
9348         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
9349         (gomp_init_work_share): Change ORDERED argument from bool to size_t,
9350         if more than 1 allocate also extra payload at the end of array.  Never
9351         keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
9352         (gomp_work_share_start): Change ORDERED argument from bool to size_t,
9353         return true instead of ws.
9354         * Makefile.in: Regenerated.
9355         * configure: Regenerated.
9356         * config.h.in: Regenerated.
9357         * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
9358         in some cases.
9359         * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
9360         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
9361         * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
9362         * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
9363         * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
9364         * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
9365         * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
9366         * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
9367         * testsuite/libgomp.c-c++-common/for-10.c: New test.
9368         * testsuite/libgomp.c-c++-common/for-11.c: New test.
9369         * testsuite/libgomp.c-c++-common/for-12.c: New test.
9370         * testsuite/libgomp.c-c++-common/for-13.c: New test.
9371         * testsuite/libgomp.c-c++-common/for-14.c: New test.
9372         * testsuite/libgomp.c-c++-common/for-15.c: New test.
9373         * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
9374         define a different N(test), don't define N(f0) to N(f14), but instead
9375         define N(f20) to N(f34) using != comparisons.
9376         * testsuite/libgomp.c-c++-common/for-7.c: New test.
9377         * testsuite/libgomp.c-c++-common/for-8.c: New test.
9378         * testsuite/libgomp.c-c++-common/for-9.c: New test.
9379         * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
9380         * testsuite/libgomp.c-c++-common/pause-1.c: New test.
9381         * testsuite/libgomp.c-c++-common/pause-2.c: New test.
9382         * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
9383         * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
9384         * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
9385         * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
9386         * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
9387         * testsuite/libgomp.c-c++-common/simd-1.c: New test.
9388         * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
9389         * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
9390         * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
9391         * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
9392         * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
9393         * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
9394         * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
9395         * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
9396         * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
9397         * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
9398         * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
9399         * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
9400         * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
9401         * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
9402         * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
9403         * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
9404         * testsuite/libgomp.c++/depend-1.C: New test.
9405         * testsuite/libgomp.c++/depend-iterator-1.C: New test.
9406         * testsuite/libgomp.c++/depobj-1.C: New test.
9407         * testsuite/libgomp.c++/for-16.C: New test.
9408         * testsuite/libgomp.c++/for-21.C: New test.
9409         * testsuite/libgomp.c++/for-22.C: New test.
9410         * testsuite/libgomp.c++/for-23.C: New test.
9411         * testsuite/libgomp.c++/for-24.C: New test.
9412         * testsuite/libgomp.c++/for-25.C: New test.
9413         * testsuite/libgomp.c++/for-26.C: New test.
9414         * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
9415         * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
9416         * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
9417         * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
9418         * testsuite/libgomp.c++/task-reduction-10.C: New test.
9419         * testsuite/libgomp.c++/task-reduction-11.C: New test.
9420         * testsuite/libgomp.c++/task-reduction-12.C: New test.
9421         * testsuite/libgomp.c++/task-reduction-13.C: New test.
9422         * testsuite/libgomp.c++/task-reduction-14.C: New test.
9423         * testsuite/libgomp.c++/task-reduction-15.C: New test.
9424         * testsuite/libgomp.c++/task-reduction-16.C: New test.
9425         * testsuite/libgomp.c++/task-reduction-17.C: New test.
9426         * testsuite/libgomp.c++/task-reduction-18.C: New test.
9427         * testsuite/libgomp.c++/task-reduction-19.C: New test.
9428         * testsuite/libgomp.c/task-reduction-1.c: New test.
9429         * testsuite/libgomp.c++/task-reduction-1.C: New test.
9430         * testsuite/libgomp.c/task-reduction-2.c: New test.
9431         * testsuite/libgomp.c++/task-reduction-2.C: New test.
9432         * testsuite/libgomp.c++/task-reduction-3.C: New test.
9433         * testsuite/libgomp.c++/task-reduction-4.C: New test.
9434         * testsuite/libgomp.c++/task-reduction-5.C: New test.
9435         * testsuite/libgomp.c++/task-reduction-6.C: New test.
9436         * testsuite/libgomp.c++/task-reduction-7.C: New test.
9437         * testsuite/libgomp.c++/task-reduction-8.C: New test.
9438         * testsuite/libgomp.c++/task-reduction-9.C: New test.
9439         * testsuite/libgomp.c/teams-1.c: New test.
9440         * testsuite/libgomp.c/teams-2.c: New test.
9441         * testsuite/libgomp.c/thread-limit-4.c: New test.
9442         * testsuite/libgomp.c/thread-limit-5.c: New test.
9443         * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
9445 2018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
9447         * oacc-mem.c (memcpy_tofrom_device): New function, combined from
9448         acc_memcpy_to/from_device functions, now with async parameter.
9449         (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
9450         (acc_memcpy_from_device): Likewise.
9451         (acc_memcpy_to_device_async): New API function.
9452         (acc_memcpy_from_device_async): Likewise.
9453         (present_create_copy): Add async parameter and async setting/unsetting.
9454         (acc_create): Adjust present_create_copy call.
9455         (acc_copyin): Likewise.
9456         (acc_present_or_create): Likewise.
9457         (acc_present_or_copyin): Likewise.
9458         (acc_create_async): New API function.
9459         (acc_copyin_async): New API function.
9460         (delete_copyout): Add async parameter and async setting/unsetting.
9461         (acc_delete): Adjust delete_copyout call.
9462         (acc_copyout): Likewise.
9463         (acc_delete_async): New API function.
9464         (acc_copyout_async): Likewise.
9465         (update_dev_host): Add async parameter and async setting/unsetting.
9466         (acc_update_device): Adjust update_dev_host call.
9467         (acc_update_self): Likewise.
9468         (acc_update_device_async): New API function.
9469         (acc_update_self_async): Likewise.
9470         * openacc.h (acc_copyin_async): Declare new API function.
9471         (acc_create_async): Likewise.
9472         (acc_copyout_async): Likewise.
9473         (acc_delete_async): Likewise.
9474         (acc_update_device_async): Likewise.
9475         (acc_update_self_async): Likewise.
9476         (acc_memcpy_to_device_async): Likewise.
9477         (acc_memcpy_from_device_async): Likewise.
9478         * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
9479         (acc_copyin_async_64_h): New subroutine.
9480         (acc_copyin_async_array_h): New subroutine.
9481         (acc_create_async_32_h): New subroutine.
9482         (acc_create_async_64_h): New subroutine.
9483         (acc_create_async_array_h): New subroutine.
9484         (acc_copyout_async_32_h): New subroutine.
9485         (acc_copyout_async_64_h): New subroutine.
9486         (acc_copyout_async_array_h): New subroutine.
9487         (acc_delete_async_32_h): New subroutine.
9488         (acc_delete_async_64_h): New subroutine.
9489         (acc_delete_async_array_h): New subroutine.
9490         (acc_update_device_async_32_h): New subroutine.
9491         (acc_update_device_async_64_h): New subroutine.
9492         (acc_update_device_async_array_h): New subroutine.
9493         (acc_update_self_async_32_h): New subroutine.
9494         (acc_update_self_async_64_h): New subroutine.
9495         (acc_update_self_async_array_h): New subroutine.
9496         * openacc.f90 (acc_copyin_async_32_h): New subroutine.
9497         (acc_copyin_async_64_h): New subroutine.
9498         (acc_copyin_async_array_h): New subroutine.
9499         (acc_create_async_32_h): New subroutine.
9500         (acc_create_async_64_h): New subroutine.
9501         (acc_create_async_array_h): New subroutine.
9502         (acc_copyout_async_32_h): New subroutine.
9503         (acc_copyout_async_64_h): New subroutine.
9504         (acc_copyout_async_array_h): New subroutine.
9505         (acc_delete_async_32_h): New subroutine.
9506         (acc_delete_async_64_h): New subroutine.
9507         (acc_delete_async_array_h): New subroutine.
9508         (acc_update_device_async_32_h): New subroutine.
9509         (acc_update_device_async_64_h): New subroutine.
9510         (acc_update_device_async_array_h): New subroutine.
9511         (acc_update_self_async_32_h): New subroutine.
9512         (acc_update_self_async_64_h): New subroutine.
9513         (acc_update_self_async_array_h): New subroutine.
9514         * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
9515         acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
9516         acc_delete_finalize_async*, acc_memcpy_from_device_async*,
9517         acc_memcpy_to_device_async*, acc_update_device_async*, and
9518         acc_update_self_async* entries.
9519         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
9520         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
9521         * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
9523 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
9525         PR bootstrap/82856
9526         * Makefile.am: Include multilib.am
9527         (AUTOMAKE_OPTIONS): Add info-in-builddir.
9528         (CLEANFILES): Remove libgomp.info.
9529         * configure.ac: Remove AC_PREREQ.
9530         * testsuite/Makefile.am (RUNTEST): Remove quotes.
9531         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
9532         Regenerate.
9534 2018-10-29  Joseph Myers  <joseph@codesourcery.com>
9535             Julian Brown  <julian@codesourcery.com>
9537         * testsuite/libgomp.oacc-c++/this.C: New.
9539 2018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
9541         * plugin/plugin-nvptx.c (struct cuda_map): New.
9542         (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
9543         h_tail with (cuda_map *) map.
9544         (cuda_map_create): New function.
9545         (cuda_map_destroy): New function.
9546         (map_init): Update to use a linked list of cuda_map objects.
9547         (map_fini): Likewise.
9548         (map_pop): Likewise.
9549         (map_push): Likewise.  Return CUdeviceptr instead of void.
9550         (init_streams_for_device): Remove stales references to ptx_stream
9551         members.
9552         (select_stream_for_async): Likewise.
9553         (nvptx_exec): Update call to map_init.
9555 2018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
9556             Julian Brown  <julian@codesourcery.com>
9558         PR middle-end/86336
9559         * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
9561 2018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
9562         Thomas Koenig <tkoenig@gcc.gnu.org>
9564         PR fortran/25829
9565         * testsuite/libgomp.fortran/async_io_1.f90: New test.
9566         * testsuite/libgomp.fortran/async_io_2.f90: New test.
9567         * testsuite/libgomp.fortran/async_io_3.f90: New test.
9568         * testsuite/libgomp.fortran/async_io_4.f90: New test.
9569         * testsuite/libgomp.fortran/async_io_5.f90: New test.
9570         * testsuite/libgomp.fortran/async_io_6.f90: New test.
9571         * testsuite/libgomp.fortran/async_io_7.f90: New test.
9573 2018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
9574             Tom de Vries  <tdevries@suse.de>
9576         PR target/85590
9577         * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
9578         (cuOccupancyMaxPotentialBlockSize): Declare.
9579         * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
9580         CUDA_ONE_CALL_MAYBE_NULL.
9581         * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
9582         CUoccupancyB2DSize and declare
9583         cuOccupancyMaxPotentialBlockSize.
9584         (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
9585         default num_gangs and num_workers when the driver supports it.
9587 2018-08-08  Tom de Vries  <tdevries@suse.de>
9589         * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
9590         CUDA_ONE_CALL_MAYBE_NULL.
9591         * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
9592         (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
9593         (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
9594         are not found.
9596 2018-08-08  Tom de Vries  <tdevries@suse.de>
9598         * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
9599         * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
9600         present.
9602 2018-08-08  Tom de Vries  <tdevries@suse.de>
9604         * plugin/plugin-nvptx.c
9605         (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
9606         (nvptx_open_device): Use
9607         CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
9609 2018-08-08  Tom de Vries  <tdevries@suse.de>
9611         * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
9612         (cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
9614 2018-08-07  Tom de Vries  <tdevries@suse.de>
9616         * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
9617         (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
9618         (init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
9619         corresponding call in CUDA_ONE_CALL.  Add def/undef of
9620         CUDA_ONE_CALL_MAYBE_NULL.
9621         (CUDA_CALL_EXISTS): Define.
9623 2018-08-07  Tom de Vries  <tdevries@suse.de>
9625         * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
9626         CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
9627         corresponding undefs right after.
9629 2018-08-04  Tom de Vries  <tdevries@suse.de>
9631         * plugin/configfrag.ac: For --without-cuda-driver, set
9632         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
9633         CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
9634         * configure: Regenerate.
9636 2018-08-02  Tom de Vries  <tdevries@suse.de>
9638         PR target/86660
9639         * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
9640         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
9641         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9642         Same.
9643         * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
9644         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
9645         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
9647 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
9648             Thomas Schwinge <thomas@codesourcery.com>
9650         * config/nvptx/oacc-parallel.c: Truncate.
9652 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
9653             James Norris <jnorris@codesourcery.com>
9655         * plugin/plugin-nvptx.c (struct map): Removed.
9656         (map_init, map_pop): Remove use of struct map.
9657         (map_push): Likewise and change argument list.
9658         * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
9660 2018-08-01  Tom de Vries  <tdevries@suse.de>
9662         * plugin/cuda-lib.def: New file.  Factor out of ...
9663         * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
9664         (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
9665         using CUDA_CALLS.
9667 2018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
9669         Revert 'AsyncI/O patch committed'.
9670         2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
9671                 Thomas Koenig <tkoenig@gcc.gnu.org>
9673         PR fortran/25829
9674         * testsuite/libgomp.fortran/async_io_1.f90: New test.
9675         * testsuite/libgomp.fortran/async_io_2.f90: New test.
9676         * testsuite/libgomp.fortran/async_io_3.f90: New test.
9677         * testsuite/libgomp.fortran/async_io_4.f90: New test.
9678         * testsuite/libgomp.fortran/async_io_5.f90: New test.
9679         * testsuite/libgomp.fortran/async_io_6.f90: New test.
9680         * testsuite/libgomp.fortran/async_io_7.f90: New test.
9682 2018-07-30  Tom de Vries  <tdevries@suse.de>
9684         * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
9685         (nvptx_exec): Ensure worker and vector default dims don't exceed
9686         targ_fn->max_threads_per_block.
9688 2018-07-30  Tom de Vries  <tdevries@suse.de>
9690         * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
9691         (nvptx_open_device): Init default_dims for device.
9692         (nvptx_exec): Use default_dims from device.
9694 2018-07-26  Jakub Jelinek  <jakub@redhat.com>
9696         PR testsuite/86660
9697         * testsuite/libgomp.c++/for-15.C (results): Include it in
9698         omp declare target region.
9699         (main): Use map (always, tofrom: results) instead of
9700         map (tofrom: results).
9702         PR middle-end/86660
9703         * testsuite/libgomp.c/pr86660.c: New test.
9705 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
9706             Tom de Vries  <tdevries@suse.de>
9708         * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
9709         sufficient resources to launch a kernel, and give a hint on how to fix
9710         it.
9712 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
9713             Tom de Vries  <tdevries@suse.de>
9715         * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
9716         max_threads_per_block and max_threads_per_multiprocessor fields.
9717         (nvptx_open_device): Initialize new fields.
9718         (nvptx_exec): Use num_sms, and new fields.
9720 2018-07-26  Tom de Vries  <tdevries@suse.de>
9722         * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
9723         to correct locations.  Remove xfail.
9725 2018-07-26  Tom de Vries  <tdevries@suse.de>
9727         * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
9728         acc_wait.  Move acc_async_test calls to correct locations.  Remove
9729         xfail.
9731 2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
9732         Thomas Koenig <tkoenig@gcc.gnu.org>
9734         PR fortran/25829
9735         * testsuite/libgomp.fortran/async_io_1.f90: New test.
9736         * testsuite/libgomp.fortran/async_io_2.f90: New test.
9737         * testsuite/libgomp.fortran/async_io_3.f90: New test.
9738         * testsuite/libgomp.fortran/async_io_4.f90: New test.
9739         * testsuite/libgomp.fortran/async_io_5.f90: New test.
9740         * testsuite/libgomp.fortran/async_io_6.f90: New test.
9741         * testsuite/libgomp.fortran/async_io_7.f90: New test.
9743 2018-07-17  Jakub Jelinek  <jakub@redhat.com>
9745         PR middle-end/86542
9746         * testsuite/libgomp.c++/pr86542.C: New test.
9748         PR middle-end/86539
9749         * testsuite/libgomp.c++/pr86539.C: New test.
9751 2018-07-11  Jakub Jelinek  <jakub@redhat.com>
9753         PR c++/86443
9754         * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
9755         (results): Make sure the variable is not inside declare target region.
9756         (qux): Remove unused function.
9758 2018-07-10  Jakub Jelinek  <jakub@redhat.com>
9760         PR c++/86443
9761         * testsuite/libgomp.c++/for-15.C: New test.
9763 2018-06-26  Jakub Jelinek  <jakub@redhat.com>
9765         PR c++/86291
9766         * testsuite/libgomp.c++/pr86291.C: New test.
9768 2018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
9770         * libgomp.texi (Top): Move www.openmp.org to https.
9771         (Enabling OpenMP): Ditto.
9772         (omp_get_active_level): Ditto.
9773         (omp_get_ancestor_thread_num): Ditto.
9774         (omp_get_cancellation): Ditto.
9775         (omp_get_default_device): Ditto.
9776         (omp_get_dynamic): Ditto.
9777         (omp_get_level): Ditto.
9778         (omp_get_max_active_levels): Ditto.
9779         (omp_get_max_task_priority): Ditto.
9780         (omp_get_max_threads): Ditto.
9781         (omp_get_nested): Ditto.
9782         (omp_get_num_devices): Ditto.
9783         (omp_get_num_procs): Ditto.
9784         (omp_get_num_teams): Ditto.
9785         (omp_get_num_threads): Ditto.
9786         (omp_get_proc_bind): Ditto.
9787         (omp_get_schedule): Ditto.
9788         (omp_get_team_num): Ditto.
9789         (omp_get_team_size): Ditto.
9790         (omp_get_thread_limit): Ditto.
9791         (omp_get_thread_num): Ditto.
9792         (omp_in_parallel): Ditto.
9793         (omp_in_final): Ditto.
9794         (omp_is_initial_device): Ditto.
9795         (omp_set_default_device): Ditto.
9796         (omp_set_dynamic): Ditto.
9797         (omp_set_max_active_levels): Ditto.
9798         (omp_set_nested): Ditto.
9799         (omp_set_num_threads): Ditto.
9800         (omp_set_schedule): Ditto.
9801         (omp_init_lock): Ditto.
9802         (omp_set_lock): Ditto.
9803         (omp_test_lock): Ditto.
9804         (omp_unset_lock): Ditto.
9805         (omp_destroy_lock): Ditto.
9806         (omp_init_nest_lock): Ditto.
9807         (omp_set_nest_lock): Ditto.
9808         (omp_test_nest_lock): Ditto.
9809         (omp_unset_nest_lock): Ditto.
9810         (omp_destroy_nest_lock): Ditto.
9811         (omp_get_wtick): Ditto.
9812         (omp_get_wtime): Ditto.
9813         (OMP_CANCELLATION): Ditto.
9814         (OMP_DISPLAY_ENV): Ditto.
9815         (OMP_DEFAULT_DEVICE): Ditto.
9816         (OMP_DYNAMIC): Ditto.
9817         (OMP_MAX_ACTIVE_LEVELS): Ditto.
9818         (OMP_MAX_TASK_PRIORITY): Ditto.
9819         (OMP_NESTED): Ditto.
9820         (OMP_NUM_THREADS): Ditto.
9821         (OMP_PROC_BIND): Ditto.
9822         (OMP_PLACES): Ditto.
9823         (OMP_STACKSIZE): Ditto.
9824         (OMP_SCHEDULE): Ditto.
9825         (OMP_THREAD_LIMIT): Ditto.
9826         (OMP_WAIT_POLICY): Ditto.
9828 2018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
9829             James Norris  <jnorris@codesourcery.com>
9830             Julian Brown  <julian@codesourcery.com>
9831             Thomas Schwinge  <thomas@codesourcery.com>
9832             Tom de Vries  <tom@codesourcery.com>
9834         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
9835         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
9836         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
9837         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
9838         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9839         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9840         * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
9841         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
9842         * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
9843         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
9844         Likewise.
9845         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
9846         Likewise.
9847         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
9848         Likewise.
9849         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
9850         Likewise.
9851         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
9852         Likewise.
9853         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
9854         Likewise.
9855         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
9856         Likewise.
9857         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
9858         Likewise.
9859         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
9860         Likewise.
9861         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
9862         Likewise.
9863         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
9864         Likewise.
9865         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
9866         Likewise.
9867         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
9868         Likewise.
9869         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
9870         Likewise.
9871         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
9872         Likewise.
9873         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
9874         Likewise.
9875         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
9876         Likewise.
9877         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
9878         Likewise.
9879         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
9880         Likewise.
9881         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
9882         Likewise.
9883         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
9884         Likewise.
9885         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
9886         Likewise.
9887         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
9888         Likewise.
9889         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
9890         Likewise.
9891         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
9892         Likewise.
9893         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
9894         Likewise.
9895         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
9896         Likewise.
9897         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
9898         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
9899         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
9900         * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
9901         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
9902         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
9903         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
9904         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
9905         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9906         Likewise.
9907         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9908         Likewise.
9909         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
9910         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
9911         * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
9912         Likewise.
9913         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
9914         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
9915         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9916         Likewise.
9917         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9918         Likewise.
9919         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9920         Likewise.
9921         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9922         Likewise.
9923         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9924         Likewise.
9925         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
9926         Likewise.
9927         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
9928         Likewise.
9929         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
9930         Likewise.
9931         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
9932         Likewise.
9933         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
9934         Likewise.
9935         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
9936         Likewise.
9937         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
9938         Likewise.
9939         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
9940         Likewise.
9941         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
9942         Likewise.
9943         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
9944         Likewise.
9945         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
9946         * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
9947         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
9948         * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
9949         * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
9950         * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
9951         * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
9953 2018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
9954             Thomas Schwinge <thomas@codesourcery.com>
9955             Cesar Philippidis  <cesar@codesourcery.com>
9957         * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
9958         (gomp_acc_remove_pointer): Update declaration.
9959         (gomp_acc_declare_allocate): Declare.
9960         (gomp_remove_var): Declare.
9961         * libgomp.map (OACC_2.5): Define.
9962         * oacc-mem.c (acc_map_data): Update refcount.
9963         (acc_unmap_data): Likewise.
9964         (present_create_copy): Likewise.
9965         (acc_create): Add FLAG_PRESENT when calling present_create_copy.
9966         (acc_copyin): Likewise.
9967         (FLAG_FINALIZE): Define.
9968         (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
9969         (acc_delete_finalize): New function.
9970         (acc_delete_finalize_async): New function.
9971         (acc_copyout_finalize): New function.
9972         (acc_copyout_finalize_async): New function.
9973         (gomp_acc_insert_pointer): Update refcounts.
9974         (gomp_acc_remove_pointer): Return if data is not present on the
9975         accelerator.
9976         * oacc-parallel.c (find_pset): Rename to find_pointer.
9977         (find_pointer): Add support for GOMP_MAP_POINTER.
9978         (handle_ftn_pointers): New function.
9979         (GOACC_parallel_keyed): Update refcounts of variables.
9980         (GOACC_enter_exit_data): Add support for finalized data mappings.
9981         Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
9982         of fortran arrays.
9983         (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
9984         (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
9985         for GOMP_MAP_FORCE_FROM.
9986         * openacc.f90 (module openacc_internal): Add
9987         acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
9988         acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
9989         acc_copyout_finalize and acc_delete_finalize.
9990         (acc_copyout_finalize_32_h): New subroutine.
9991         (acc_copyout_finalize_64_h): New subroutine.
9992         (acc_copyout_finalize_array_h): New subroutine.
9993         (acc_delete_finalize_32_h): New subroutine.
9994         (acc_delete_finalize_64_h): New subroutine.
9995         (acc_delete_finalize_array_h): New subroutine.
9996         * openacc.h (acc_copyout_finalize): Declare.
9997         (acc_copyout_finalize_async): Declare.
9998         (acc_delete_finalize): Declare.
9999         (acc_delete_finalize_async): Declare.
10000         * openacc_lib.h (acc_copyout_finalize): New interface.
10001         (acc_delete_finalize): New interface.
10002         * target.c (gomp_map_vars): Update dynamic_refcount.
10003         (gomp_remove_var): New function.
10004         (gomp_unmap_vars): Use it.
10005         (gomp_unload_image_from_device): Likewise.
10006         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
10007         case to utilize OpenACC 2.5 data clause semantics.
10008         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10009         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10010         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10011         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10012         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10013         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10014         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10015         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10016         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10017         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
10018         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
10019         * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
10020         * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
10021         utilize OpenACC 2.5 data clause semantics.
10022         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10023         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10024         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10025         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10026         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10027         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10028         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10029         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
10030         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
10032 2018-05-21  Janus Weil  <janus@gcc.gnu.org>
10034         PR fortran/85841
10035         PR testsuite/85865
10036         * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
10037         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
10038         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
10039         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
10040         * testsuite/libgomp.fortran/task2.f90: Ditto.
10041         * testsuite/libgomp.fortran/vla1.f90: Ditto.
10042         * testsuite/libgomp.fortran/vla2.f90: Ditto.
10043         * testsuite/libgomp.fortran/vla3.f90: Ditto.
10044         * testsuite/libgomp.fortran/vla4.f90: Ditto.
10045         * testsuite/libgomp.fortran/vla5.f90: Ditto.
10046         * testsuite/libgomp.fortran/vla6.f90: Ditto.
10047         * testsuite/libgomp.fortran/vla8.f90: Ditto.
10048         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
10049         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
10051 2018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
10053         PR c++/85782
10054         * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
10056 2018-05-09  Tom de Vries  <tom@codesourcery.com>
10058         PR libgomp/82901
10059         * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
10060         to GOACC_enter_exit_data.
10062 2018-05-09  Tom de Vries  <tom@codesourcery.com>
10064         PR libgomp/83792
10065         * oacc-int.h (async_valid_stream_id_p, async_valid_p)
10066         (async_synchronous_p): New function.
10067         * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
10068         async_valid_p.
10069         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10070         async_valid_stream_id_p.
10071         * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
10072         * oacc-parallel.c (GOACC_parallel_keyed): Same.
10074 2018-05-07  Tom de Vries  <tom@codesourcery.com>
10076         PR testsuite/85677
10077         * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
10078         include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
10080 2018-05-03  Tom de Vries  <tom@codesourcery.com>
10082         PR testsuite/85106
10083         * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
10084         extra_tool_flags if it contains an -foffload=-fdump-* flag.
10085         * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
10086         * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
10088 2018-05-02  Tom de Vries  <tom@codesourcery.com>
10090         PR libgomp/85411
10091         * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
10092         GOMP_OPENACC_DIM ...
10093         * env.c (parse_gomp_openacc_dim): ... here.  New function.
10094         (initialize_env): Call parse_gomp_openacc_dim.
10095         (goacc_default_dims): Define.
10096         * libgomp.h (goacc_default_dims): Declare.
10097         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
10098         * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
10099         * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
10100         GOMP_PLUGIN_acc_default_dim.
10101         * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
10102         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
10104 2018-05-02  Tom de Vries  <tom@codesourcery.com>
10106         PR testsuite/83791
10107         * testsuite/libgomp.c++/udr-9.C: Update.
10108         * testsuite/libgomp.c++/atomic-16.C: Remove.
10109         * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
10110         * testsuite/libgomp.c++/loop-13.C: Remove.
10111         * testsuite/libgomp.c++/loop-14.C: Remove.
10112         * testsuite/libgomp.c++/loop-15.C: Remove.
10113         * testsuite/libgomp.c++/monotonic-1.C: Remove.
10114         * testsuite/libgomp.c++/monotonic-2.C: Remove.
10115         * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
10116         * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
10117         * testsuite/libgomp.c++/ordered-1.C: Remove.
10118         * testsuite/libgomp.c++/pr45784.C: Remove.
10119         * testsuite/libgomp.c++/pr64824.C: Remove.
10120         * testsuite/libgomp.c++/pr64868.C: Remove.
10121         * testsuite/libgomp.c++/pr66199-1.C: Remove.
10122         * testsuite/libgomp.c++/pr66199-2.C: Remove.
10123         * testsuite/libgomp.c++/pr66199-3.C: Remove.
10124         * testsuite/libgomp.c++/pr66199-4.C: Remove.
10125         * testsuite/libgomp.c++/pr66199-5.C: Remove.
10126         * testsuite/libgomp.c++/pr66199-6.C: Remove.
10127         * testsuite/libgomp.c++/pr66199-7.C: Remove.
10128         * testsuite/libgomp.c++/pr66199-8.C: Remove.
10129         * testsuite/libgomp.c++/pr66199-9.C: Remove.
10130         * testsuite/libgomp.c++/pr69389.C: Remove.
10131         * testsuite/libgomp.c++/simd10.C: Remove.
10132         * testsuite/libgomp.c++/simd11.C: Remove.
10133         * testsuite/libgomp.c++/simd12.C: Remove.
10134         * testsuite/libgomp.c++/simd13.C: Remove.
10135         * testsuite/libgomp.c++/target-1.C: Remove.
10136         * testsuite/libgomp.c++/target-3.C: Remove.
10137         * testsuite/libgomp.c++/target-4.C: Remove.
10138         * testsuite/libgomp.c++/target-5.C: Remove.
10139         * testsuite/libgomp.c++/taskgroup-1.C: Remove.
10140         * testsuite/libgomp.c++/taskloop-1.C: Remove.
10141         * testsuite/libgomp.c++/taskloop-2.C: Remove.
10142         * testsuite/libgomp.c++/taskloop-3.C: Remove.
10143         * testsuite/libgomp.c++/taskloop-4.C: Remove.
10144         * testsuite/libgomp.c++/udr-9.C: Remove.
10145         * testsuite/libgomp.c++/for-10.C: Remove.
10146         * testsuite/libgomp.c++/for-11.C: Remove.
10147         * testsuite/libgomp.c++/for-12.C: Remove.
10148         * testsuite/libgomp.c++/for-13.C: Remove.
10149         * testsuite/libgomp.c++/for-14.C: Remove.
10150         * testsuite/libgomp.c++/for-9.C: Remove.
10151         * testsuite/libgomp.c/atomic-18.c: Move ...
10152         * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
10153         * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
10154         * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
10155         * testsuite/libgomp.c/loop-13.c: Move ...
10156         * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
10157         * testsuite/libgomp.c/loop-14.c: Move ...
10158         * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
10159         * testsuite/libgomp.c/loop-15.c: Remove.
10160         * testsuite/libgomp.c-c++-common/loop-15.c: New test.
10161         * testsuite/libgomp.c/monotonic-1.c: Move ...
10162         * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
10163         * testsuite/libgomp.c/monotonic-2.c: Move ...
10164         * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
10165         * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
10166         * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
10167         * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
10168         * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
10169         * testsuite/libgomp.c/ordered-4.c: Move ...
10170         * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
10171         * testsuite/libgomp.c/pr45784.c: Move ...
10172         * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
10173         * testsuite/libgomp.c/pr64824.c: Move ...
10174         * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
10175         * testsuite/libgomp.c/pr64868.c: Move ...
10176         * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
10177         * testsuite/libgomp.c/pr66199-1.c: Move ...
10178         * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
10179         * testsuite/libgomp.c/pr66199-2.c: Move ...
10180         * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
10181         * testsuite/libgomp.c/pr66199-3.c: Move ...
10182         * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
10183         * testsuite/libgomp.c/pr66199-4.c: Move ...
10184         * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
10185         * testsuite/libgomp.c/pr66199-5.c: Move ...
10186         * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
10187         * testsuite/libgomp.c/pr66199-6.c: Move ...
10188         * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
10189         * testsuite/libgomp.c/pr66199-7.c: Move ...
10190         * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
10191         * testsuite/libgomp.c/pr66199-8.c: Move ...
10192         * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
10193         * testsuite/libgomp.c/pr66199-9.c: Move ...
10194         * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
10195         * testsuite/libgomp.c/pr69389.c: Move ...
10196         * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
10197         * testsuite/libgomp.c/simd-14.c: Move ...
10198         * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
10199         * testsuite/libgomp.c/simd-15.c: Move ...
10200         * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
10201         * testsuite/libgomp.c/simd-16.c: Move ...
10202         * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
10203         * testsuite/libgomp.c/simd-17.c: Move ...
10204         * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
10205         * testsuite/libgomp.c/target-1.c: Move ...
10206         * testsuite/libgomp.c-c++-common/target-1.c: ... here.
10207         * testsuite/libgomp.c/target-10.c: Move ...
10208         * testsuite/libgomp.c-c++-common/target-10.c: ... here.
10209         * testsuite/libgomp.c/target-13.c: Move ...
10210         * testsuite/libgomp.c-c++-common/target-13.c: ... here.
10211         * testsuite/libgomp.c/target-2.c: Move ...
10212         * testsuite/libgomp.c-c++-common/target-2.c: ... here.
10213         * testsuite/libgomp.c/taskgroup-1.c: Move ...
10214         * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
10215         * testsuite/libgomp.c/taskloop-1.c: Move ...
10216         * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
10217         * testsuite/libgomp.c/taskloop-2.c: Move ...
10218         * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
10219         * testsuite/libgomp.c/taskloop-3.c: Move ...
10220         * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
10221         * testsuite/libgomp.c/taskloop-4.c: Move ...
10222         * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
10223         * testsuite/libgomp.c/udr-1.c: Move ...
10224         * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
10225         * testsuite/libgomp.c/for-1.c: Move ...
10226         * testsuite/libgomp.c-c++-common/for-1.c: ... here.
10227         * testsuite/libgomp.c/for-1.h: Move ...
10228         * testsuite/libgomp.c-c++-common/for-1.h: ... here.
10229         * testsuite/libgomp.c/for-2.c: Move ...
10230         * testsuite/libgomp.c-c++-common/for-2.c: ... here.
10231         * testsuite/libgomp.c/for-2.h: Move ...
10232         * testsuite/libgomp.c-c++-common/for-2.h: ... here.
10233         * testsuite/libgomp.c/for-3.c: Move ...
10234         * testsuite/libgomp.c-c++-common/for-3.c: ... here.
10235         * testsuite/libgomp.c/for-4.c: Move ...
10236         * testsuite/libgomp.c-c++-common/for-4.c: ... here.
10237         * testsuite/libgomp.c/for-5.c: Move ...
10238         * testsuite/libgomp.c-c++-common/for-5.c: ... here.
10239         * testsuite/libgomp.c/for-6.c: Move ...
10240         * testsuite/libgomp.c-c++-common/for-6.c: ... here.
10242 2018-05-02  Tom de Vries  <tom@codesourcery.com>
10244         PR libgomp/82428
10245         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
10246         __builtin_goacc_parlevel_{id,size}.
10247         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
10248         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
10249         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
10250         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
10251         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
10252         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
10253         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
10254         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
10255         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
10256         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
10257         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
10258         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
10259         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
10260         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
10261         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
10262         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
10263         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
10264         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
10265         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
10266         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
10267         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
10268         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
10269         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
10271 2018-05-02  Tom de Vries  <tom@codesourcery.com>
10273         PR testsuite/85106
10274         * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
10276 2018-05-02  Tom de Vries  <tom@codesourcery.com>
10278         PR testsuite/85106
10279         * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
10281 2018-04-29  Julian Brown  <julian@codesourcery.com>
10282             Tom de Vries  <tom@codesourcery.com>
10284         PR testsuite/85527
10285         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
10286         arbitrary order for iterations of atomic subtract check.
10288 2018-04-28  Tom de Vries  <tom@codesourcery.com>
10290         PR testsuite/85527
10291         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
10292         atomic capture results obtained in parallel loop to an array, instead of
10293         to a scalar.
10295 2018-04-26  Tom de Vries  <tom@codesourcery.com>
10297         PR libgomp/84020
10298         * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
10299         * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
10300         (process_GOMP_NVPTX_JIT): New function.
10301         (link_ptx): Use process_GOMP_NVPTX_JIT.
10303 2018-04-26  Richard Biener <rguenther@suse.de>
10304             Tom de Vries  <tom@codesourcery.com>
10306         PR lto/85422
10307         * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
10309 2018-04-26  Tom de Vries  <tom@codesourcery.com>
10311         PR target/85519
10312         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
10313         recursion depth from 25 to 23.
10314         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
10316 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
10318         * configure: Regenerated.
10320 2018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
10321             Tom de Vries  <tom@codesourcery.com>
10323         PR target/85445
10324         * testsuite/libgomp.oacc-c++/ref-1.C: New.
10326 2018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
10328         PR libgomp/85463
10329         * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
10330         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
10331         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
10332         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
10333         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
10334         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
10336         PR libfortran/85166
10337         * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
10338         abort".
10339         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
10341 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
10343         * configure: Regenerated.
10345 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
10347         PR jit/85384
10348         * configure: Regenerate.
10350 2018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
10351             Tom de Vries  <tom@codesourcery.com>
10353         PR middle-end/84955
10354         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
10355         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
10357 2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
10359         PR fortran/83064
10360         PR testsuite/85346
10361         * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
10362         test from gfortran.dg to here.
10364 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
10366         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
10367         * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
10369 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
10371         PR middle-end/84955
10372         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
10373         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
10375 2018-04-05  Tom de Vries  <tom@codesourcery.com>
10377         PR target/85204
10378         * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
10380 2018-03-26  Tom de Vries  <tom@codesourcery.com>
10382         PR tree-optimization/85063
10383         * testsuite/libgomp.c/switch-conversion-2.c: New test.
10384         * testsuite/libgomp.c/switch-conversion.c: New test.
10385         * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
10386         * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
10388 2018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
10390         PR fortran/84381
10391         * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
10392         call abort by STOP n.
10393         * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
10394         * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
10395         * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
10396         * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
10397         * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
10398         * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
10399         * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
10400         * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
10401         * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
10402         * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
10403         * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
10404         * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
10405         * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
10406         * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
10407         * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
10408         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
10409         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
10410         * testsuite/libgomp.fortran/associate1.f90: Likewise.
10411         * testsuite/libgomp.fortran/associate2.f90: Likewise.
10412         * testsuite/libgomp.fortran/associate3.f90: Likewise.
10413         * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
10414         * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
10415         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
10416         * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
10417         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
10418         * testsuite/libgomp.fortran/character1.f90: Likewise.
10419         * testsuite/libgomp.fortran/character2.f90: Likewise.
10420         * testsuite/libgomp.fortran/collapse1.f90: Likewise.
10421         * testsuite/libgomp.fortran/collapse2.f90: Likewise.
10422         * testsuite/libgomp.fortran/collapse3.f90: Likewise.
10423         * testsuite/libgomp.fortran/collapse4.f90: Likewise.
10424         * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
10425         * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
10426         * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
10427         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
10428         * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
10429         * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
10430         * testsuite/libgomp.fortran/depend-1.f90: Likewise.
10431         * testsuite/libgomp.fortran/depend-2.f90: Likewise.
10432         * testsuite/libgomp.fortran/depend-3.f90: Likewise.
10433         * testsuite/libgomp.fortran/do1.f90: Likewise.
10434         * testsuite/libgomp.fortran/do2.f90: Likewise.
10435         * testsuite/libgomp.fortran/doacross1.f90: Likewise.
10436         * testsuite/libgomp.fortran/doacross2.f90: Likewise.
10437         * testsuite/libgomp.fortran/doacross3.f90: Likewise.
10438         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
10439         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
10440         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
10441         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10442         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
10443         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
10444         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
10445         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
10446         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
10447         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10448         * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
10449         * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
10450         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
10451         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
10452         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
10453         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
10454         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
10455         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
10456         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
10457         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
10458         * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
10459         * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
10460         * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
10461         * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
10462         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10463         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
10464         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
10465         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
10466         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
10467         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
10468         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10469         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10470         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
10471         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
10472         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
10473         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
10474         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
10475         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
10476         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
10477         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
10478         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
10479         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10480         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
10481         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
10482         * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
10483         * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
10484         * testsuite/libgomp.fortran/lib1.f90: Likewise.
10485         * testsuite/libgomp.fortran/lib2.f: Likewise.
10486         * testsuite/libgomp.fortran/lib3.f: Likewise.
10487         * testsuite/libgomp.fortran/lib4.f90: Likewise.
10488         * testsuite/libgomp.fortran/lock-1.f90: Likewise.
10489         * testsuite/libgomp.fortran/lock-2.f90: Likewise.
10490         * testsuite/libgomp.fortran/nested1.f90: Likewise.
10491         * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
10492         * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
10493         * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
10494         * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
10495         * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
10496         * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
10497         * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
10498         * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
10499         * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
10500         * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
10501         * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
10502         * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
10503         * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
10504         * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
10505         * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
10506         * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
10507         * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
10508         * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
10509         * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
10510         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10511         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
10512         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
10513         * testsuite/libgomp.fortran/pointer1.f90: Likewise.
10514         * testsuite/libgomp.fortran/pointer2.f90: Likewise.
10515         * testsuite/libgomp.fortran/pr25162.f: Likewise.
10516         * testsuite/libgomp.fortran/pr25219.f90: Likewise.
10517         * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
10518         * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
10519         * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
10520         * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
10521         * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
10522         * testsuite/libgomp.fortran/pr28390.f: Likewise.
10523         * testsuite/libgomp.fortran/pr29629.f90: Likewise.
10524         * testsuite/libgomp.fortran/pr32550.f90: Likewise.
10525         * testsuite/libgomp.fortran/pr33880.f90: Likewise.
10526         * testsuite/libgomp.fortran/pr34020.f90: Likewise.
10527         * testsuite/libgomp.fortran/pr35130.f90: Likewise.
10528         * testsuite/libgomp.fortran/pr42162.f90: Likewise.
10529         * testsuite/libgomp.fortran/pr46753.f90: Likewise.
10530         * testsuite/libgomp.fortran/pr48894.f90: Likewise.
10531         * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
10532         * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
10533         * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
10534         * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
10535         * testsuite/libgomp.fortran/pr65597.f90: Likewise.
10536         * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
10537         * testsuite/libgomp.fortran/pr71014.f90: Likewise.
10538         * testsuite/libgomp.fortran/pr81304.f90: Likewise.
10539         * testsuite/libgomp.fortran/pr81841.f90: Likewise.
10540         * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
10541         * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
10542         * testsuite/libgomp.fortran/procptr1.f90: Likewise.
10543         * testsuite/libgomp.fortran/recursion1.f90: Likewise.
10544         * testsuite/libgomp.fortran/reduction1.f90: Likewise.
10545         * testsuite/libgomp.fortran/reduction2.f90: Likewise.
10546         * testsuite/libgomp.fortran/reduction3.f90: Likewise.
10547         * testsuite/libgomp.fortran/reduction4.f90: Likewise.
10548         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10549         * testsuite/libgomp.fortran/reduction6.f90: Likewise.
10550         * testsuite/libgomp.fortran/reference1.f90: Likewise.
10551         * testsuite/libgomp.fortran/reference2.f90: Likewise.
10552         * testsuite/libgomp.fortran/retval1.f90: Likewise.
10553         * testsuite/libgomp.fortran/retval2.f90: Likewise.
10554         * testsuite/libgomp.fortran/sharing1.f90: Likewise.
10555         * testsuite/libgomp.fortran/sharing2.f90: Likewise.
10556         * testsuite/libgomp.fortran/simd1.f90: Likewise.
10557         * testsuite/libgomp.fortran/simd2.f90: Likewise.
10558         * testsuite/libgomp.fortran/simd3.f90: Likewise.
10559         * testsuite/libgomp.fortran/simd4.f90: Likewise.
10560         * testsuite/libgomp.fortran/simd5.f90: Likewise.
10561         * testsuite/libgomp.fortran/simd6.f90: Likewise.
10562         * testsuite/libgomp.fortran/simd7.f90: Likewise.
10563         * testsuite/libgomp.fortran/stack.f90: Likewise.
10564         * testsuite/libgomp.fortran/strassen.f90: Likewise.
10565         * testsuite/libgomp.fortran/tabs1.f90: Likewise.
10566         * testsuite/libgomp.fortran/tabs2.f: Likewise.
10567         * testsuite/libgomp.fortran/target1.f90: Likewise.
10568         * testsuite/libgomp.fortran/target2.f90: Likewise.
10569         * testsuite/libgomp.fortran/target3.f90: Likewise.
10570         * testsuite/libgomp.fortran/target4.f90: Likewise.
10571         * testsuite/libgomp.fortran/target5.f90: Likewise.
10572         * testsuite/libgomp.fortran/target6.f90: Likewise.
10573         * testsuite/libgomp.fortran/target7.f90: Likewise.
10574         * testsuite/libgomp.fortran/target8.f90: Likewise.
10575         * testsuite/libgomp.fortran/task1.f90: Likewise.
10576         * testsuite/libgomp.fortran/task2.f90: Likewise.
10577         * testsuite/libgomp.fortran/task3.f90: Likewise.
10578         * testsuite/libgomp.fortran/task4.f90: Likewise.
10579         * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
10580         * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
10581         * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
10582         * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
10583         * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
10584         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10585         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10586         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10587         * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
10588         * testsuite/libgomp.fortran/udr1.f90: Likewise.
10589         * testsuite/libgomp.fortran/udr10.f90: Likewise.
10590         * testsuite/libgomp.fortran/udr11.f90: Likewise.
10591         * testsuite/libgomp.fortran/udr12.f90: Likewise.
10592         * testsuite/libgomp.fortran/udr13.f90: Likewise.
10593         * testsuite/libgomp.fortran/udr14.f90: Likewise.
10594         * testsuite/libgomp.fortran/udr15.f90: Likewise.
10595         * testsuite/libgomp.fortran/udr2.f90: Likewise.
10596         * testsuite/libgomp.fortran/udr3.f90: Likewise.
10597         * testsuite/libgomp.fortran/udr4.f90: Likewise.
10598         * testsuite/libgomp.fortran/udr5.f90: Likewise.
10599         * testsuite/libgomp.fortran/udr6.f90: Likewise.
10600         * testsuite/libgomp.fortran/udr7.f90: Likewise.
10601         * testsuite/libgomp.fortran/udr8.f90: Likewise.
10602         * testsuite/libgomp.fortran/udr9.f90: Likewise.
10603         * testsuite/libgomp.fortran/vla1.f90: Likewise.
10604         * testsuite/libgomp.fortran/vla2.f90: Likewise.
10605         * testsuite/libgomp.fortran/vla3.f90: Likewise.
10606         * testsuite/libgomp.fortran/vla4.f90: Likewise.
10607         * testsuite/libgomp.fortran/vla5.f90: Likewise.
10608         * testsuite/libgomp.fortran/vla6.f90: Likewise.
10609         * testsuite/libgomp.fortran/vla7.f90: Likewise.
10610         * testsuite/libgomp.fortran/vla8.f90: Likewise.
10611         * testsuite/libgomp.fortran/workshare1.f90: Likewise.
10612         * testsuite/libgomp.fortran/workshare2.f90: Likewise.
10613         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
10614         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
10615         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
10616         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
10617         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
10618         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
10619         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
10620         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
10621         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10622         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
10623         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10624         * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
10625         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
10626         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
10627         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
10628         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
10629         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
10630         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
10631         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
10632         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
10633         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
10634         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
10635         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
10636         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
10637         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
10638         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
10639         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
10640         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
10641         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
10642         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10643         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10644         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10645         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10646         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
10647         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
10648         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
10649         * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
10650         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
10651         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
10652         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
10653         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
10654         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
10655         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
10656         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
10657         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10658         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10659         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
10660         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
10661         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
10662         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
10663         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
10664         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
10665         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
10666         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
10667         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
10668         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
10669         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
10670         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
10671         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
10672         * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
10673         * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
10674         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
10675         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
10676         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
10677         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
10678         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
10679         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
10680         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
10681         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
10682         * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
10683         * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
10684         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
10685         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
10686         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
10687         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
10688         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10689         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10690         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10691         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
10692         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10693         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
10694         * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
10695         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
10696         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
10697         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
10698         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
10699         * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
10700         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
10701         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
10702         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
10703         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
10704         * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
10706 2018-03-20  Richard Biener  <rguenther@suse.de>
10708         * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
10709         parallelizable loop.
10711 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
10713         PR target/84148
10714         * configure: Regenerate.
10716 2018-02-16  Jakub Jelinek  <jakub@redhat.com>
10718         PR fortran/84418
10719         * libgomp.fortran/pr84418-1.f90: New test.
10720         * libgomp.fortran/pr84418-2.f90: New test.
10722 2018-02-14  Jakub Jelinek  <jakub@redhat.com>
10724         PR fortran/84313
10725         * testsuite/libgomp.fortran/threadprivate4.f90: Add
10726         -std=f2003 -fall-intrinsics into dg-additional-options.
10728 2018-02-08  Martin Jambor  <mjambor@suse.cz>
10730         * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
10731         clonable.
10733 2018-02-08  Martin Jambor  <mjambor@suse.cz>
10735         * testsuite/libgomp.hsa.c/staticvar.c: New test.
10737 2018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10739         * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
10740         [__cplusplus]: Declare extern "C".
10742 2018-02-07  Tom de Vries  <tom@codesourcery.com>
10744         PR libgomp/84217
10745         * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
10747 2018-01-29  Christoph Spiel  <cspiel@freenet.de>
10748             Jakub Jelinek  <jakub@redhat.com>
10750         PR libgomp/84096
10751         * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
10752         instead of omp_lock_t.
10754 2018-01-25  Tom de Vries  <tom@codesourcery.com>
10756         PR target/84028
10757         * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
10759 2018-01-24  Tom de Vries  <tom@codesourcery.com>
10761         PR target/83589
10762         * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
10764 2018-01-24  Tom de Vries  <tom@codesourcery.com>
10766         PR target/81352
10767         * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
10769 2018-01-19  Tom de Vries  <tom@codesourcery.com>
10770             Cesar Philippidis  <cesar@codesourcery.com>
10772         PR target/83920
10773         * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
10774         * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
10776 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
10778         Update copyright years.
10780         * libgomp.texi: Bump @copying's copyright year.
10782 2017-12-30  Tom de Vries  <tom@codesourcery.com>
10784         PR libgomp/83046
10785         * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
10786         * testsuite/libgomp.c-c++-common/pr83046.c: New test.
10788 2017-12-27  Tom de Vries  <tom@codesourcery.com>
10790         PR c++/83046
10791         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
10792         (test_nonstatic): Fix return type to workaround PR83046.
10794 2017-12-05  Jakub Jelinek  <jakub@redhat.com>
10796         PR testsuite/83281
10797         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
10798         j suffix instead of i.
10799         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
10800         Likewise.
10802 2017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
10804         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
10805         call to acc_wait (1).
10807 2017-11-24  Jakub Jelinek  <jakub@redhat.com>
10809         PR fortran/81304
10810         * testsuite/libgomp.fortran/pr81304.f90: New test.
10812 2017-11-23  Jakub Jelinek  <jakub@redhat.com>
10814         PR fortran/81841
10815         * libgomp.fortran/pr81841.f90: New test.
10817 2017-11-22  Jakub Jelinek  <jakub@redhat.com>
10819         PR libgomp/83106
10820         * target.c (gomp_target_init): Compute lengths just once and
10821         use them in both malloc size and subsequent copying.
10823 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
10825         * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
10826         * acinclude.m4: Add cet.m4.
10827         * configure: Regenerate.
10828         * Makefile.in: Likewise.
10829         * testsuite/Makefile.in: Likewise.
10831 2017-11-15  Tom de Vries  <tom@codesourcery.com>
10833         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
10834         from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
10835         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
10836         from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
10837         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
10838         from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
10840 2017-11-14  Tom de Vries  <tom@codesourcery.com>
10842         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
10843         non-nvidia devices.
10845 2017-11-07  Jakub Jelinek  <jakub@redhat.com>
10847         PR c++/82835
10848         * testsuite/libgomp.c++/pr82835.C: New test.
10850 2017-11-06  Martin Liska  <mliska@suse.cz>
10852         * testsuite/libgomp.c++/loop-2.C: Return a value
10853         for functions with non-void return type, or change type to void,
10854         or add -Wno-return-type for test.
10855         * testsuite/libgomp.c++/loop-4.C: Likewise.
10856         * testsuite/libgomp.c++/parallel-1.C: Likewise.
10857         * testsuite/libgomp.c++/shared-1.C: Likewise.
10858         * testsuite/libgomp.c++/single-1.C: Likewise.
10859         * testsuite/libgomp.c++/single-2.C: Likewise.
10861 2017-10-31  Tom de Vries  <tom@codesourcery.com>
10863         * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
10864         "do {} while (false)".
10865         (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
10866         after HSA_DEBUG call.
10868 2017-10-28  Jakub Jelinek  <jakub@redhat.com>
10870         * target.c (struct gomp_coalesce_buf): New type.
10871         (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
10872         (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
10873         (gomp_copy_host2dev): Add CBUF argument, if copying into
10874         the cached ranges, memcpy into buffer instead of copying
10875         into device.
10876         (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
10877         Add CBUF argument, pass it through to other calls.
10878         (gomp_map_vars): Aggregate copies from host to device if small enough
10879         and with small enough gaps in between into memcpy into a buffer and
10880         fewer host to device copies from the buffer.
10881         (gomp_update): Adjust gomp_copy_host2dev caller.
10883 2017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
10885         * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
10886         run" directive.
10887         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10888         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10889         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10890         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10892 2017-10-16  Tom de Vries  <tom@codesourcery.com>
10894         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
10895         openacc_nvidia_accel_selected.
10896         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
10897         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
10898         * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
10899         * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
10900         * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
10901         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
10902         openacc_nvidia_accel_selected. Skip for shared memory device.
10903         * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
10904         * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
10906 2017-10-09  Martin Jambor  <mjambor@suse.cz>
10908         PR hsa/82416
10909         * testsuite/libgomp.hsa.c/pr82416.c: New test.
10911 2017-10-07  Tom de Vries  <tom@codesourcery.com>
10913         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
10914         Remove acc_device_nvidia references.
10915         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
10916         Same.
10918 2017-10-05  Tom de Vries  <tom@codesourcery.com>
10920         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
10921         vector_length(32) clause from acc parallel directive.
10922         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
10924 2017-10-04  Tom de Vries  <tom@codesourcery.com>
10926         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
10927         (main): Reduce sum of arr elements.  Assert that hres is exactly
10928         representable in 32-bit floating point.
10929         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
10930         (main): Reduce sum of arr elements.  Assert that hres and hmres are
10931         exactly representable in 32-bit floating point.
10932         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
10934 2017-09-28  Tom de Vries  <tom@codesourcery.com>
10936         * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
10937         setting.
10938         * testsuite/libgomp.c++/pr69393.C: Same.
10939         * testsuite/libgomp.c++/taskloop-1.C: Same.
10940         * testsuite/libgomp.c++/taskloop-3.C: Same.
10941         * testsuite/libgomp.c++/taskloop-4.C: Same.
10942         * testsuite/libgomp.c/for-4.c: Same.
10943         * testsuite/libgomp.c/pr66199-3.c: Same.
10944         * testsuite/libgomp.c/pr66199-4.c: Same.
10945         * testsuite/libgomp.c/pr66199-6.c: Same.
10946         * testsuite/libgomp.c/taskloop-1.c: Same.
10947         * testsuite/libgomp.c/taskloop-3.c: Same.
10948         * testsuite/libgomp.c/taskloop-4.c: Same.
10949         * testsuite/libgomp.fortran/aligned1.f03: Same.
10950         * testsuite/libgomp.fortran/condinc1.f: Same.
10951         * testsuite/libgomp.fortran/condinc3.f90: Same.
10952         * testsuite/libgomp.fortran/crayptr1.f90: Same.
10953         * testsuite/libgomp.fortran/crayptr2.f90: Same.
10954         * testsuite/libgomp.fortran/crayptr3.f90: Same.
10955         * testsuite/libgomp.fortran/omp_cond1.f: Same.
10956         * testsuite/libgomp.fortran/omp_cond3.F90: Same.
10957         * testsuite/libgomp.fortran/pr66199-1.f90: Same.
10958         * testsuite/libgomp.fortran/pr66199-2.f90: Same.
10959         * testsuite/libgomp.fortran/recursion1.f90: Same.
10960         * testsuite/libgomp.fortran/target2.f90: Same.
10961         * testsuite/libgomp.fortran/target5.f90: Same.
10962         * testsuite/libgomp.fortran/task3.f90: Same.
10964 2017-09-28  Tom de Vries  <tom@codesourcery.com>
10966         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
10967         vector_length(32) clause from acc parallel directive.
10968         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
10970 2017-09-27  Tom de Vries  <tom@codesourcery.com>
10972         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
10973         Remove acc_device_nvidia references.
10975 2017-09-16  Tom de Vries  <tom@codesourcery.com>
10977         PR c/81875
10978         * testsuite/libgomp.c-c++-common/pr81875.c: New test.
10980 2017-09-14  Tom de Vries  <tom@codesourcery.com>
10982         * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
10983         * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
10984         * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
10985         * testsuite/libgomp.c/c.exp: Include test-cases from
10986         libgomp.c-c++-common.
10987         * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
10988         files.
10990 2017-09-14  Jakub Jelinek  <jakub@redhat.com>
10992         PR c++/81314
10993         * testsuite/libgomp.c++/pr81314.C: New test.
10995 2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
10997         * libgomp.texi (Top): www.openacc.org now uses https.
10998         (Enabling OpenACC): Ditto.
10999         (acc_get_num_devices): Ditto.
11000         (acc_set_device_type): Ditto.
11001         (acc_get_device_type): Ditto.
11002         (acc_set_device_num): Ditto.
11003         (acc_get_device_num): Ditto.
11004         (acc_async_test): Ditto.
11005         (acc_async_test_all): Ditto.
11006         (acc_wait): Ditto.
11007         (acc_wait_all): Ditto.
11008         (acc_wait_all_async): Ditto.
11009         (acc_wait_async): Ditto.
11010         (acc_init): Ditto.
11011         (acc_shutdown): Ditto.
11012         (acc_on_device): Ditto.
11013         (acc_malloc): Ditto.
11014         (acc_free): Ditto.
11015         (acc_copyin): Ditto.
11016         (acc_present_or_copyin): Ditto.
11017         (acc_create): Ditto.
11018         (acc_present_or_create): Ditto.
11019         (acc_copyout): Ditto.
11020         (acc_delete): Ditto.
11021         (acc_update_device): Ditto.
11022         (acc_update_self): Ditto.
11023         (acc_map_data): Ditto.
11024         (acc_unmap_data): Ditto.
11025         (acc_deviceptr): Ditto.
11026         (acc_hostptr): Ditto.
11027         (acc_is_present): Ditto.
11028         (acc_memcpy_to_device): Ditto.
11029         (acc_memcpy_from_device): Ditto.
11030         (acc_get_current_cuda_device): Ditto.
11031         (acc_get_current_cuda_context): Ditto.
11032         (acc_get_cuda_stream): Ditto.
11033         (acc_set_cuda_stream): Ditto.
11034         (ACC_DEVICE_TYPE): Ditto.
11035         (ACC_DEVICE_NUM): Ditto.
11036         (OpenACC Library Interoperability): Ditto.
11038 2017-08-09  Jakub Jelinek  <jakub@redhat.com>
11040         PR c/81687
11041         * testsuite/libgomp.c/pr81687-1.c: New test.
11042         * testsuite/libgomp.c/pr81687-2.c: New test.
11044 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
11046         PR c/69389
11047         * testsuite/libgomp.c/pr69389.c: New test.
11048         * testsuite/libgomp.c++/pr69389.C: New test.
11050 2017-08-07  Tom de Vries  <tom@codesourcery.com>
11052         PR middle-end/78266
11053         * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
11054         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
11056 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
11058         PR c/45784
11059         * testsuite/libgomp.c/pr45784.c: New test.
11060         * testsuite/libgomp.c++/pr45784.C: New test.
11062 2017-07-19  Tom de Vries  <tom@codesourcery.com>
11064         * testsuite/libgomp.oacc-c/vec.c: New test.
11066 2017-07-03  Tom de Vries  <tom@codesourcery.com>
11068         * plugin/plugin-hsa.c: Fix secure_getenv.h include.
11070 2017-06-27  Tom de Vries  <tom@codesourcery.com>
11072         * plugin/plugin-nvptx.c (notify_var): New function.
11073         (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
11075 2017-06-27  Tom de Vries  <tom@codesourcery.com>
11077         * env.c (parse_unsigned_long_1): Factor out of ...
11078         (parse_unsigned_long): ... here.
11079         (parse_int_1): Factor out of ...
11080         (parse_int): ... here.
11081         (parse_int_secure): New function.
11082         (initialize_env): Use parse_int_secure for GOMP_DEBUG.
11083         * secure_getenv.h: Factor out of ...
11084         * plugin/plugin-hsa.c: ... here.
11085         * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
11087 2017-06-21  Jakub Jelinek  <jakub@redhat.com>
11089         PR c++/81130
11090         * testsuite/libgomp.c++/pr81130.C: New test.
11092 2017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11094         * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
11095         default args.
11096         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
11097         dg-xfail-run-if default args.
11099 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
11101         * testsuite/libgomp.c/pr39591-2.c: Fix test case.
11102         * testsuite/libgomp.c/pr39591-3.c: Likewise.
11104 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
11106         PR libgomp/80822
11107         * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
11108         (gomp_affinity_init_level): Use it.  Always analyze the core and thread
11109         sibling lists, depending on level just pick up what CPUs to put
11110         together into a place vs. whether add multiple ordered places.
11112 2017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
11114         * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
11115         * libgomp.map (OACC_2.0.1): Add these.
11116         * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
11117         for "acc_wait", and "acc_wait_all", respectively.
11118         * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
11119         for "acc_wait", and "acc_wait_all", respectively.
11120         * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
11121         * libgomp.texi (acc_wait, acc_wait_all): Update.
11122         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
11123         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
11124         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11126         * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
11127         acc_present_or_copyin and acc_present_or_create procedures,
11128         respectively.
11129         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
11130         generally different variants of OpenACC Runtime Library functions.
11131         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11133         * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
11134         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11136         * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
11137         of preprocessor definitions.
11138         * libgomp.h (strong_alias): Guard by "#ifdef
11139         HAVE_ATTRIBUTE_ALIAS".
11140         * oacc-mem.c: Provide "acc_pcreate" as alias for
11141         "acc_present_or_create", and "acc_pcopyin" as alias for
11142         "acc_present_or_copyin".
11143         * libgomp.map: New version "OACC_2.0.1".
11144         (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
11145         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
11146         its content into...
11147         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
11148         Extend testing.
11150         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
11151         when disabling nvptx offloading.
11153 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
11155         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
11156         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
11157         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11159         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
11160         * testsuite/lib/libgomp.exp
11161         (check_effective_target_openacc_nvidia_accel_configured): New
11162         proc.
11163         * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
11164         (check_effective_target_c++): New procs.
11165         * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
11166         (check_effective_target_c++): Likewise.
11168 2017-05-22  Jakub Jelinek  <jakub@redhat.com>
11170         PR middle-end/80809
11171         * testsuite/libgomp.c/pr80809-2.c: New test.
11172         * testsuite/libgomp.c/pr80809-3.c: New test.
11174         PR middle-end/80809
11175         * testsuite/libgomp.c/pr80809-1.c: New test.
11177         PR middle-end/80853
11178         * testsuite/libgomp.c/pr80853.c: New test.
11180 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
11182         * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
11183         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
11184         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11185         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11186         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11188         * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
11189         Debug output for failure.
11191 2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11193         * testsuite/lib/libgomp.exp: Load scanlang.exp.
11195 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
11197         PR bootstrap/80531
11198         * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
11199         bootstrap compare failures.
11201 2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
11203         * testsuite/libgomp.c/target-36.c: New testcase.
11205 2017-04-13  Jakub Jelinek  <jakub@redhat.com>
11207         * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
11208         instead of char.
11210 2017-04-11  Jakub Jelinek  <jakub@redhat.com>
11212         PR libgomp/80394
11213         * testsuite/libgomp.c/pr80394.c: New test.
11215 2017-04-04  Jakub Jelinek  <jakub@redhat.com>
11217         PR libgomp/79876
11218         * config/posix/thread-stacksize.h: New file.
11219         * config/darwin/thread-stacksize.h: New file.
11220         * config/nvptx/thread-stacksize.h: New file.
11221         * env.c: Include thread-stacksize.h.
11222         (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
11223         instead of 0.  Call pthread_attr_setstacksize even if
11224         GOMP_DEFAULT_STACKSIZE is non-zero.
11226 2017-03-30  Jakub Jelinek  <jakub@redhat.com>
11228         * env.c (initialize_env): Initialize stacksize to 0.
11230 2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
11232         PR c++/80029
11233         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
11235 2017-03-08  Jakub Jelinek  <jakub@redhat.com>
11237         PR c/79940
11238         * testsuite/libgomp.c/pr79940.c: New test.
11240 2017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11242         * testsuite/libgomp.c/pr48591.c: Enable on all __float128
11243         targets.
11244         Add __float128 options.
11246 2017-02-11  John David Anglin  <danglin@gcc.gnu.org>
11248         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
11249         hppa*-*-* dg-skip-if directive.
11251 2017-02-09  Jakub Jelinek  <jakub@redhat.com>
11253         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
11254         dg-skip-if directive into a comment.
11256 2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
11257             Chung-Lin Tang  <cltang@codesourcery.com>
11259         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
11260         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
11261         add additional case.
11262         * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
11263         "openacc_nvidia_accel_selected".
11264         * libgomp.oacc-fortran/nested-function-1.f90 (test2):
11265         Add num_workers(8) clause.
11267 2017-02-08  John David Anglin  <danglin@gcc.gnu.org>
11269         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
11270         hppa*-*-*.
11271         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
11272         include complex.h on hppa*-*-hpux*.
11273         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
11275 2017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
11277         * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
11279         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
11280         GOMP_OFFLOAD_openacc_exec.  Adjust all users.
11281         (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
11282         GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
11283         (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
11284         GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
11285         (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
11286         GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
11287         (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
11288         GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
11290 2017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
11292         * libgomp-plugin.h: #include <stdbool.h>.
11293         (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
11294         (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
11295         (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
11296         (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
11297         (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
11298         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
11299         (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
11300         (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
11301         (GOMP_OFFLOAD_openacc_register_async_cleanup)
11302         (GOMP_OFFLOAD_openacc_async_test)
11303         (GOMP_OFFLOAD_openacc_async_test_all)
11304         (GOMP_OFFLOAD_openacc_async_wait)
11305         (GOMP_OFFLOAD_openacc_async_wait_async)
11306         (GOMP_OFFLOAD_openacc_async_wait_all)
11307         (GOMP_OFFLOAD_openacc_async_wait_all_async)
11308         (GOMP_OFFLOAD_openacc_async_set_async)
11309         (GOMP_OFFLOAD_openacc_create_thread_data)
11310         (GOMP_OFFLOAD_openacc_destroy_thread_data)
11311         (GOMP_OFFLOAD_openacc_get_current_cuda_device)
11312         (GOMP_OFFLOAD_openacc_get_current_cuda_context)
11313         (GOMP_OFFLOAD_openacc_get_cuda_stream)
11314         (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
11315         * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
11316         these.
11317         * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
11318         (GOMP_OFFLOAD_unload_image): Fix argument types.
11320 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
11322         * testsuite/lib/libgomp.exp
11323         (check_effective_target_hsa_offloading_selected_nocache): Fix up
11324         check_compile invocation.  Fix up removal of executable.  Drop
11325         bogus "2>&1" argument.
11327         * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
11328         directive.
11330 2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
11331             Martin Jambor  <mjambor@suse.cz>
11333         * plugin/hsa.h: Moved to top level include.
11334         * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
11336 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
11338         PR other/79046
11339         * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
11340         of cat to get version from BASE-VER file.
11341         * testsuite/Makefile.in: Regenerated.
11343 2017-01-19  Jakub Jelinek  <jakub@redhat.com>
11345         * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
11346         for _WIN64.
11348 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
11350         * plugin/hsa.h: Add GCC runtime library exception.
11351         * plugin/hsa_ext_finalize.h: Likewise.
11353         * plugin/configfrag.ac: For --without-cuda-driver don't initialize
11354         CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
11355         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
11356         cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
11357         plugin/include/cuda as include dir and -ldl instead of -lcuda as
11358         library to link ptx plugin against.
11359         * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
11360         (CUDA_CALLS): Define.
11361         (cuda_lib, cuda_lib_inited): New variables.
11362         (init_cuda_lib): New function.
11363         (CUDA_CALL_PREFIX): Define.
11364         (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
11365         (CUDA_CALL): Use FN instead of (FN).
11366         (CUDA_CALL_NOCHECK): Define.
11367         (cuda_error, fini_streams_for_device, select_stream_for_async,
11368         nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
11369         event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
11370         nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
11371         nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
11372         CUDA_CALL_NOCHECK.
11373         (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
11374         CUDA_CALL_NOCHECK.
11375         (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
11376         Use CUDA_CALL_NOCHECK.
11377         * plugin/cuda/cuda.h: New file.
11378         * config.h.in: Regenerated.
11379         * configure: Regenerated.
11381         PR other/79046
11382         * configure.ac: Add GCC_BASE_VER.
11383         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
11384         get version from BASE-VER file.
11385         * testsuite/Makefile.in: Regenerated.
11386         * configure: Regenerated.
11387         * Makefile.in: Regenerated.
11389 2017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
11391         PR libgomp/60670
11392         * Makefile.am: Make fincludedir multilib-aware.
11393         * Makefile.in: Regenerate.
11395 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
11397         Update copyright years.
11399         * libgomp.texi: Bump @copying's copyright year.
11401 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11403         * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
11404         pthread_spinlock_t instead of gomp_mutex_t lock.
11405         (gomp_get_thread_pool): Likewise.
11406         (gomp_release_thread_pool): Likewise.
11407         * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
11408         Likewise.
11410 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
11412         * config/rtems/pool.h (gomp_get_thread_pool): Return proper
11413         thread pool in case nthreads == 1.
11415 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
11417         * config/nvptx/env.c: Delete.
11418         * icv.c: Move definitions of ICV variables back ...
11419         * env.c: ...here.  Do not compile environment-related functionality if
11420         LIBGOMP_OFFLOADED_ONLY is set.
11422 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
11424         * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
11425         (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
11426         * configure: Regenerate.
11427         * config.h.in: Likewise.
11429 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
11431         * Makefile.in: Regenerate with automake-1.11.6.
11432         * aclocal.m4: Likewise.
11433         * configure: Likewise.
11434         * testsuite/Makefile.in: Likewise.
11436 2016-11-28  Alexander Monakov  <amonakov@ispras.ru>
11438         * config/nvptx/critical.c: Delete to use generic implementation.
11440 2016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
11442         * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
11443         ../../affinity.c as fallback.
11444         * config/nvptx/affinity.c: Delete to use fallback implementation.
11446 2016-11-23  Alexander Monakov  <amonakov@ispras.ru>
11447             Jakub Jelinek  <jakub@redhat.com>
11448             Dmitry Melnik  <dm@ispras.ru>
11450         * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
11451         * Makefile.in. Regenerate.
11452         * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
11453         (LIBGOMP_USE_PTHREADS): ...here; new define.
11454         * configure: Regenerate.
11455         * config.h.in: Likewise.
11456         * config/posix/affinity.c: Move to...
11457         * affinity.c: ...here (new file).  Guard use of Pthreads-specific
11458         interface by LIBGOMP_USE_PTHREADS. 
11459         * critical.c: Split out GOMP_atomic_{start,end} into...
11460         * atomic.c: ...here (new file).
11461         * env.c: Split out ICV definitions into...
11462         * icv.c: ...here (new file) and...
11463         * icv-device.c: ...here. New file.
11464         * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
11465         (gomp_destroy_lock_30): Ditto.
11466         (gomp_set_lock_30): Ditto.
11467         (gomp_unset_lock_30): Ditto.
11468         (gomp_test_lock_30): Ditto.
11469         (gomp_init_nest_lock_30): Ditto.
11470         (gomp_destroy_nest_lock_30): Ditto.
11471         (gomp_set_nest_lock_30): Ditto.
11472         (gomp_unset_nest_lock_30): Ditto.
11473         (gomp_test_nest_lock_30): Ditto.
11474         * lock.c: New.
11475         * config/nvptx/lock.c: New.
11476         * config/nvptx/bar.c: New.
11477         * config/nvptx/bar.h: New.
11478         * config/nvptx/doacross.h: New.
11479         * config/nvptx/error.c: New.
11480         * config/nvptx/icv-device.c: New.
11481         * config/nvptx/mutex.h: New.
11482         * config/nvptx/pool.h: New.
11483         * config/nvptx/proc.c: New.
11484         * config/nvptx/ptrlock.h: New.
11485         * config/nvptx/sem.h: New.
11486         * config/nvptx/simple-bar.h: New.
11487         * config/nvptx/target.c: New.
11488         * config/nvptx/task.c: New.
11489         * config/nvptx/team.c: New.
11490         * config/nvptx/time.c: New.
11491         * config/posix/simple-bar.h: New.
11492         * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
11493         (gomp_num_teams_var): Declare.
11494         (struct gomp_thread_pool): Change threads_dock member to
11495         gomp_simple_barrier_t.
11496         [__nvptx__] (gomp_thread): New implementation.
11497         (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
11498         (gomp_thread_destructor): Ditto.
11499         (gomp_init_thread_affinity): Ditto.
11500         * team.c: Guard uses of Pthreads-specific interfaces by
11501         LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
11502         (gomp_free_thread) [__nvptx__]: Do not call 'free'.
11503         * config/nvptx/alloc.c: Delete.
11504         * config/nvptx/barrier.c: Ditto.
11505         * config/nvptx/fortran.c: Ditto.
11506         * config/nvptx/iter.c: Ditto.
11507         * config/nvptx/iter_ull.c: Ditto.
11508         * config/nvptx/loop.c: Ditto.
11509         * config/nvptx/loop_ull.c: Ditto.
11510         * config/nvptx/ordered.c: Ditto.
11511         * config/nvptx/parallel.c: Ditto.
11512         * config/nvptx/priority_queue.c: Ditto.
11513         * config/nvptx/sections.c: Ditto.
11514         * config/nvptx/single.c: Ditto.
11515         * config/nvptx/splay-tree.c: Ditto.
11516         * config/nvptx/work.c: Ditto.
11517         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
11518         -foffload=-lgfortran in addition to -lgfortran.
11519         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
11520         * plugin/plugin-nvptx.c: Include <limits.h>.
11521         (struct targ_fn_descriptor): Add new fields.
11522         (struct ptx_device): Ditto.  Set them...
11523         (nvptx_open_device): ...here.
11524         (nvptx_adjust_launch_bounds): New.
11525         (nvptx_host2dev): Allow NULL 'nvthd'.
11526         (nvptx_dev2host): Ditto.
11527         (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
11528         (link_ptx): Adjust log sizes.
11529         (nvptx_host2dev): Allow NULL 'nvthd'.
11530         (nvptx_dev2host): Ditto.
11531         (nvptx_set_clocktick): New.  Use it...
11532         (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
11533         fields.
11534         (GOMP_OFFLOAD_dev2dev): New.
11535         (nvptx_adjust_launch_bounds): New.
11536         (nvptx_stacks_size): New.
11537         (nvptx_stacks_alloc): New.
11538         (nvptx_stacks_free): New.
11539         (GOMP_OFFLOAD_run): New.
11540         (GOMP_OFFLOAD_async_run): New (stub).
11542 2016-11-23  Martin Jambor  <mjambor@suse.cz>
11544         * testsuite/libgomp.hsa.c/bits-insns.c: New test.
11545         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
11546         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
11548 2016-11-23  Martin Liska  <mliska@suse.cz>
11549             Martin Jambor  <mjambor@suse.cz>
11551         * plugin/hsa.h: New file.
11552         * plugin/hsa_ext_finalize.h: New file.
11553         * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
11554         header file unistd.h, and functions secure_getenv, __secure_getenv,
11555         getuid, geteuid, getgid and getegid.
11556         * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
11557         -D_GNU_SOURCE.
11558         * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
11559         Handle various cases of secure_getenv presence, add an implementation
11560         when we can test effective UID and GID.
11561         (struct hsa_runtime_fn_info): New structure.
11562         (hsa_runtime_fn_info hsa_fns): New variable.
11563         (hsa_runtime_lib): Likewise.
11564         (support_cpu_devices): Likewise.
11565         (init_enviroment_variables): Load newly introduced ENV
11566         variables.
11567         (hsa_warn): Call hsa run-time functions via hsa_fns structure.
11568         (hsa_fatal): Likewise.
11569         (DLSYM_FN): New macro.
11570         (init_hsa_runtime_functions): New function.
11571         (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
11572         structure.  Depending on environment, also allow CPU devices.
11573         (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
11574         (get_kernarg_memory_region): Likewise.
11575         (GOMP_OFFLOAD_init_device): Likewise.
11576         (destroy_hsa_program): Likewise.
11577         (init_basic_kernel_info): New function.
11578         (GOMP_OFFLOAD_load_image): Use it.
11579         (create_and_finalize_hsa_program): Call hsa run-time functions via
11580         hsa_fns structure.
11581         (create_single_kernel_dispatch): Likewise.
11582         (release_kernel_dispatch): Likewise.
11583         (init_single_kernel): Likewise.
11584         (parse_target_attributes): Allow up multiple HSA grid dimensions.
11585         (get_group_size): New function.
11586         (run_kernel): Likewise.
11587         (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
11588         (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
11589         structure.
11590         * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
11591         * testsuite/libgomp-test-support.exp.in: Likewise.
11592         * Makefile.in: Regenerated.
11593         * aclocal.m4: Likewise.
11594         * config.h.in: Likewise.
11595         * configure: Likewise.
11596         * testsuite/Makefile.in: Likewise.
11598 2016-11-15  Martin Jambor  <mjambor@suse.cz>
11599             Alexander Monakov  <amonakov@ispras.ru>
11601         * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
11602         mapping clauses to target constructs.
11603         * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
11605 2016-11-15  Matthias Klose  <doko@ubuntu.com>
11607         * configure: Regenerate.
11609 2016-11-10  Jakub Jelinek  <jakub@redhat.com>
11611         * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
11612         * omp_lib.h.in (openmp_version): Likewise.
11613         * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
11614         of 201307.
11615         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11617         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
11618         (fib_wrapper): Add map(from: x) clause.
11619         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
11620         (e_53_2): Likewise.
11621         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
11622         (accum): Add map(tmp) clause.
11623         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
11624         (accum): Add map(tofrom: tmp) clause.
11625         * testsuite/libgomp.fortran/examples-4/target_data-3.f90
11626         (gramSchmidt): Likewise.
11627         * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
11628         map(tofrom: sum) clause.
11629         * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
11630         map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
11631         * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
11632         only allowed on the loop iterator.
11633         * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
11634         * testsuite/libgomp.fortran/taskloop2.f90: New test.
11635         * testsuite/libgomp.fortran/taskloop4.f90: New test.
11636         * testsuite/libgomp.fortran/doacross1.f90: New test.
11637         * testsuite/libgomp.fortran/doacross3.f90: New test.
11638         * testsuite/libgomp.fortran/taskloop1.f90: New test.
11639         * testsuite/libgomp.fortran/taskloop3.f90: New test.
11640         * testsuite/libgomp.fortran/doacross2.f90: New test.
11641         * testsuite/libgomp.c/doacross-1.c (main): Add missing
11642         #pragma omp atomic read.
11643         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
11644         * testsuite/libgomp.c/doacross-3.c (main): Likewise.
11646 2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
11647             Nathan Sidwell  <nathan@acm.org>
11649         * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
11650         to determine default geometry.
11651         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
11652         dimension.
11654 2016-11-01  Jakub Jelinek  <jakub@redhat.com>
11656         * hashtab.h: Use standard GPLv3 with runtime exception
11657         boilerplate.
11659 2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
11661         * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
11662         size when allocating new thread.
11664 2016-09-14  Marek Polacek  <polacek@redhat.com>
11666         * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
11668 2016-08-19  Jakub Jelinek  <jakub@redhat.com>
11670         PR fortran/71014
11671         * testsuite/libgomp.fortran/pr71014.f90: New test.
11673 2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
11675         PR middle-end/70895
11676         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
11677         firstprivate clauses.
11678         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
11679         copy clauses.
11680         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
11681         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
11682         * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
11683         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
11684         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
11685         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
11686         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
11687         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
11688         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
11689         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
11690         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
11691         * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
11693 2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
11695         PR fortran/70598
11696         * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
11698 2016-08-08  Jakub Jelinek  <jakub@redhat.com>
11700         PR c++/58706
11701         * testsuite/libgomp.c++/pr58706.C: New test.
11703 2016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
11705         * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
11706         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
11707         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
11708         Likewise.
11709         * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
11710         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
11711         Likewise.
11712         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
11714         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
11715         test, and don't hardcode -O0.
11717 2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
11719         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
11721 2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
11723         * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
11724         test.
11726 2016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
11728         PR middle-end/71734
11729         * testsuite/libgomp.fortran/pr71734-1.f90: New test.
11730         * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
11732 2016-07-01  Jakub Jelinek  <jakub@redhat.com>
11734         PR fortran/71717
11735         * testsuite/libgomp.fortran/associate3.f90: New test.
11737 2016-06-17  Jakub Jelinek  <jakub@redhat.com>
11739         * testsuite/libgomp.c++/target-21.C: New test.
11741 2016-06-16  Jakub Jelinek  <jakub@redhat.com>
11743         * testsuite/libgomp.c++/target-20.C: New test.
11745 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
11746             Cesar Philippidis  <cesar@codesourcery.com>
11748         PR middle-end/71373
11749         * libgomp.oacc-c/nested-function-1.c: New file.
11750         * libgomp.oacc-c/nested-function-2.c: Likewise.
11751         * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
11752         * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
11753         * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
11755 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
11757         PR c/71381
11758         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
11759         "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
11760         * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
11762 2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
11764         * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
11765         * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
11767 2016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
11769         PR c/70688
11770         * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
11772 2016-05-26  Jakub Jelinek  <jakub@redhat.com>
11774         * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
11775         instead of invalid schedule(static, 0).
11776         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
11778 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
11780         * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
11781         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
11782         parameter, use to set async stream around call to gomp_unmap_vars,
11783         call gomp_unmap_vars() with 'do_copyfrom' set to true.
11784         * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
11785         (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
11786         events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
11787         (event_add): Add int parameter, initialize 'val' field when
11788         adding new ptx_event struct.
11789         (nvptx_evec): Adjust event_add() call arguments.
11790         (nvptx_host2dev): Likewise.
11791         (nvptx_dev2host): Likewise.
11792         (nvptx_wait_async): Likewise.
11793         (nvptx_wait_all_async): Likewise.
11794         (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
11795         pass to event_add() call.
11796         * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
11797         parameter.
11798         * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
11799         call openacc.register_async_cleanup_func() hook.
11800         * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
11801         * target.c (gomp_copy_from_async): Delete function.
11802         (gomp_map_vars): Remove async_refcount.
11803         (gomp_unmap_vars): Likewise.
11804         (gomp_load_image_to_device): Likewise.
11805         (omp_target_associate_ptr): Likewise.
11806         * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
11807         (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
11808         (gomp_copy_from_async): Remove.
11810 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
11812         * target.c (gomp_device_copy): New function.
11813         (gomp_copy_host2dev): Likewise.
11814         (gomp_copy_dev2host): Likewise.
11815         (gomp_free_device_memory): Likewise.
11816         (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
11817         (gomp_map_pointer): Likewise.
11818         (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
11819         NULL value from alloc_func plugin hook.
11820         (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
11821         (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
11822         (gomp_unmap_vars): Likewise.
11823         (gomp_update): Adjust to call gomp_copy_dev2host and
11824         gomp_copy_host2dev functions.
11825         (gomp_unload_image_from_device): Handle false value from
11826         unload_image_func plugin hook.
11827         (gomp_init_device): Handle false value from init_device_func
11828         plugin hook.
11829         (gomp_exit_data): Adjust to call gomp_copy_dev2host.
11830         (omp_target_free): Adjust to call gomp_free_device_memory.
11831         (omp_target_memcpy): Handle return values from host2dev_func,
11832         dev2host_func, and dev2dev_func plugin hooks.
11833         (omp_target_memcpy_rect_worker): Likewise.
11834         (gomp_target_fini): Handle false value from fini_device_func
11835         plugin hook.
11836         * libgomp.h (struct gomp_device_descr): Adjust return type of
11837         init_device_func, fini_device_func, unload_image_func, free_func,
11838         dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
11839         * oacc-init.c (acc_shutdown_1): Handle false value from
11840         fini_device_func plugin hook.
11841         * oacc-host.c (host_init_device): Change return type to bool.
11842         (host_fini_device): Likewise.
11843         (host_unload_image): Likewise.
11844         (host_free): Likewise.
11845         (host_dev2host): Likewise.
11846         (host_host2dev): Likewise.
11847         * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
11848         (acc_memcpy_to_device): Likewise.
11849         (acc_memcpy_from_device): Likewise.
11850         (delete_copyout): Add libfnname parameter, handle free_func
11851         hook fatal error case.
11852         (acc_delete): Adjust delete_copyout call.
11853         (acc_copyout): Likewise.
11854         (update_dev_host): Move gomp_mutex_unlock to after
11855         host2dev/dev2host hook calls.
11857         * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
11858         to 'hsa_error_msg', for clarity.
11859         (hsa_fatal): Likewise.
11860         (hsa_error): New function.
11861         (init_hsa_context): Change return type to bool, adjust to return
11862         false on error.
11863         (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
11864         return value.
11865         (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
11866         return false on error.
11867         (get_agent_info): Adjust to return NULL on error.
11868         (destroy_hsa_program): Change return type to bool, adjust to
11869         return false on error.
11870         (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
11871         (destroy_module): Change return type to bool, adjust to
11872         return false on error.
11873         (GOMP_OFFLOAD_unload_image): Likewise.
11874         (GOMP_OFFLOAD_fini_device): Likewise.
11875         (GOMP_OFFLOAD_alloc): Change to return NULL when called.
11876         (GOMP_OFFLOAD_free): Change to return false when called.
11877         (GOMP_OFFLOAD_dev2host): Likewise.
11878         (GOMP_OFFLOAD_host2dev): Likewise.
11879         (GOMP_OFFLOAD_dev2dev): Likewise.
11881         * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
11882         (CUDA_CALL): Likewise.
11883         (CUDA_CALL_ASSERT): Likewise.
11884         (map_init): Change return type to bool, use CUDA_CALL* macros.
11885         (map_fini): Likewise.
11886         (init_streams_for_device): Change return type to bool, adjust
11887         call to map_init.
11888         (fini_streams_for_device): Change return type to bool, adjust
11889         call to map_fini.
11890         (select_stream_for_async): Release stream_lock before calls to
11891         GOMP_PLUGIN_fatal, adjust call to map_init.
11892         (nvptx_init): Use CUDA_CALL* macros.
11893         (nvptx_attach_host_thread_to_device): Change return type to bool,
11894         use CUDA_CALL* macros.
11895         (nvptx_open_device): Use CUDA_CALL* macros.
11896         (nvptx_close_device): Change return type to bool, use CUDA_CALL*
11897         macros.
11898         (nvptx_get_num_devices): Use CUDA_CALL* macros.
11899         (link_ptx): Change return type to bool, use CUDA_CALL* macros.
11900         (nvptx_exec): Use CUDA_CALL* macros.
11901         (nvptx_alloc): Use CUDA_CALL* macros.
11902         (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
11903         (nvptx_host2dev): Likewise.
11904         (nvptx_dev2host): Likewise.
11905         (nvptx_wait): Use CUDA_CALL* macros.
11906         (nvptx_wait_async): Likewise.
11907         (nvptx_wait_all): Likewise.
11908         (nvptx_wait_all_async): Likewise.
11909         (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
11910         use CUDA_CALL* macros, adjust call to map_fini.
11911         (GOMP_OFFLOAD_init_device): Change return type to bool,
11912         adjust code accordingly.
11913         (GOMP_OFFLOAD_fini_device): Likewise.
11914         (GOMP_OFFLOAD_load_image): Adjust calls to
11915         nvptx_attach_host_thread_to_device/link_ptx to handle errors,
11916         use CUDA_CALL* macros.
11917         (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
11918         return code.
11919         (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
11920         (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
11921         handle error return.
11922         (GOMP_OFFLOAD_dev2host): Likewise.
11923         (GOMP_OFFLOAD_host2dev): Likewise.
11924         (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
11925         (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
11927 2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
11929         * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
11930         (acc_free): Likewise.
11931         (acc_memcpy_to_device): Likewise.
11932         (acc_memcpy_from_device): Likewise.
11933         (acc_deviceptr): Likewise.
11934         (acc_hostptr): Likewise.
11935         (acc_is_present): Likewise.
11936         (acc_map_data): Likewise.
11937         (acc_unmap_data): Likewise.
11938         (present_create_copy): Likewise.
11939         (delete_copyout): Likewise.
11940         (update_dev_host): Likewise.
11941         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
11942         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
11943         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
11944         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
11945         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
11946         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
11947         it only runs on nvptx targets.
11948         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
11949         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
11950         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11951         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11952         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11953         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11954         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11955         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11956         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11957         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
11958         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11959         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11960         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11961         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11962         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11963         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11964         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11965         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11966         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11967         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11968         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11969         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11970         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11972 2016-05-23  Martin Jambor  <mjambor@suse.cz>
11974         * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
11976 2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
11978         * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
11979         to gomp_init_targets_once.
11980         (acc_set_device_type): Remove !cached_base_dev condition on call to
11981         gomp_init_targets_once, move call to before acc_device_lock acquire,
11982         to avoid deadlock.
11983         (acc_get_device_num): Remove !cached_base_dev condition on call to
11984         gomp_init_targets_once.
11985         (acc_set_device_num): Likewise.
11987 2016-05-16  Martin Jambor  <mjambor@suse.cz>
11989         * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
11991 2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
11993         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
11994         expected partitioning.
11996 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
11998         PR middle-end/70626
11999         * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
12000         * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
12001         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
12003 2016-04-21  Alexander Monakov  <amonakov@ispras.ru>
12005         * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
12006         non-fatal.
12008 2016-04-19  Jakub Jelinek  <jakub@redhat.com>
12010         PR middle-end/70680
12011         * testsuite/libgomp.c/pr70680-1.c: New test.
12012         * testsuite/libgomp.c/pr70680-2.c: New test.
12014 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
12016         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
12017         pass parameter variables to subroutines.
12019 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
12021         PR middle-end/70643
12022         * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
12024 2016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
12026         PR testsuite/68242
12027         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
12028         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12030 2016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
12032         * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
12033         GOACC_parallel_keyed, restore GOACC_parallel prototype, new
12034         GOACC_declare prototype.
12036         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
12037         Merge this file, and...
12038         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
12039         ... this file, and...
12040         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
12041         ... this file, and...
12042         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
12043         ... this file, and...
12044         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
12045         ... this file, and...
12046         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
12047         ... this file, and...
12048         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
12049         ... this file, and...
12050         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
12051         ... this file, and...
12052         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
12053         ... this file, and...
12054         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
12055         ... this file, and...
12056         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
12057         ... this file, and...
12058         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
12059         ... this file, and...
12060         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
12061         ... this file into...
12062         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
12063         file.
12065         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
12066         Make failure observable.
12068 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
12070         * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
12071         field.
12072         * target.c (gomp_target_fallback_firstprivate,
12073         gomp_target_unshare_firstprivate): Removed.
12074         (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
12075         before waiting for dependencies.
12076         (gomp_target_task_fn): Don't copy firstprivate vars here.
12077         * task.c (GOMP_PLUGIN_target_task_completion): Don't free
12078         firstprivate_copies here.
12079         (gomp_create_target_task): Don't initialize firstprivate_copies field.
12080         * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
12081         explicit/implicit firstprivate.
12083 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
12085         PR lto/70289
12086         PR ipa/70348
12087         PR tree-optimization/70373
12088         PR middle-end/70533
12089         PR middle-end/70534
12090         PR middle-end/70535
12091         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
12092         test.
12093         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
12094         test.
12095         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
12096         test.
12097         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
12098         test.
12099         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
12100         test.
12101         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
12102         test.
12103         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
12104         test.
12105         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
12106         test.
12107         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
12108         test.
12109         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
12110         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
12111         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
12112         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
12113         test.
12114         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
12115         test.
12116         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
12117         test.
12118         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
12119         test.
12120         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
12121         coverage.
12122         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
12123         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12124         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
12125         * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
12126         * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
12127         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
12128         coverage.
12129         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12130         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12131         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12132         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12133         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
12134         * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
12135         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
12136         * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
12137         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
12138         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12139         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12140         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12141         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12142         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12143         * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
12145 2016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
12146             James Norris  <jnorris@codesourcery.com>
12147             Nathan Sidwell  <nathan@codesourcery.com>
12148             Julian Brown  <julian@codesourcery.com>
12149             Cesar Philippidis  <cesar@codesourcery.com>
12150             Chung-Lin Tang  <cltang@codesourcery.com>
12151             Tom de Vries  <tom@codesourcery.com>
12153         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
12154         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12155         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12156         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
12157         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12158         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12159         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12160         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
12161         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12162         XFAIL.
12163         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
12164         Incorporate...
12165         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
12166         file.
12167         * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
12168         * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
12169         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
12170         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
12171         Likewise.
12172         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
12173         Likewise.
12174         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12175         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
12176         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
12177         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
12178         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
12179         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12180         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
12181         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
12182         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
12183         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
12184         Likewise.
12185         * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
12186         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
12187         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
12188         file...
12189         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
12190         file into...
12191         * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
12192         file.  Update.
12193         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
12194         file.
12195         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
12196         Likewise.
12197         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
12198         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
12199         ... this new file.  Update.
12200         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
12201         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
12202         ... this new file.  Update.
12203         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
12204         file.  Incorporate...
12205         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
12206         file, and...
12207         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
12208         file, and...
12209         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
12210         file.
12211         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
12213 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
12215         * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
12216         set-torture-options.
12218 2016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
12220         * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
12221         gcc-dg-runtest.
12222         * testsuite/libgomp.oacc-c/c.exp: Likewise.
12223         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
12224         -fno-builtin-acc_on_device instead of -O0.
12225         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
12226         -O0.
12227         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
12228         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
12229         Likewise.
12230         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
12231         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
12232         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
12233         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12234         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12235         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12236         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
12237         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12238         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
12239         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
12240         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
12241         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
12242         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
12243         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
12244         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
12245         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
12246         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
12247         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
12248         Don't specify -O2.
12249         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
12250         Likewise.
12251         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
12252         Likewise.
12254 2016-03-24  Martin Liska  <mliska@suse.cz>
12256         * plugin/plugin-hsa.c (packet_store_release): New function
12257         that is taken from the HSA runtime manual.
12258         (GOMP_OFFLOAD_run): Use the function.
12260 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
12262         PR c++/70376
12263         * testsuite/libgomp.c++/pr70376.C: New test.
12265 2016-03-23  Tom de Vries  <tom@codesourcery.com>
12267         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
12268         initialization of lresult and lvresult.
12269         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
12271 2016-03-23  James Norris  <jnorris@codesourcery.com>
12272             Daichi Fukuoka <dc-fukuoka@sgi.com>
12274         PR libgomp/69414
12275         * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
12276         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
12277         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12278         * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
12280 2016-03-23  Martin Liska  <mliska@suse.cz>
12282         PR hsa/70337
12283         * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
12284         argument just in case a dispatched kernel uses that argument.
12286 2016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
12288         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
12289         -ftree-parallelize-loops/-fopenacc changes.
12290         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
12291         Likewise.
12292         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
12293         Likewise.
12294         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
12295         Likewise.
12296         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
12297         Likewise.
12298         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
12299         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
12301 2016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
12303         * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
12304         always_ld_library_path the path to libgcc_s.
12306 2016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
12308         PR testsuite/70009
12309         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
12311 2016-03-09  Tom de Vries  <tom@codesourcery.com>
12313         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
12314         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
12315         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
12316         Same.
12317         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
12318         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
12319         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
12320         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
12322 2016-03-07  Martin Jambor  <mjambor@suse.cz>
12324         * testsuite/lib/libgomp.exp
12325         (check_effective_target_hsa_offloading_selected_nocache): New.
12326         (check_effective_target_hsa_offloading_selected): Likewise.
12327         * testsuite/libgomp.hsa.c/c.exp: Likewise.
12328         * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
12329         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
12330         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
12331         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
12332         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
12333         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
12334         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
12335         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
12336         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
12337         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
12338         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
12339         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
12340         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
12341         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
12342         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
12343         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
12345 2016-03-07  Martin Jambor  <mjambor@suse.cz>
12347         * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
12348         non-shared memory accelerators.
12349         * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
12350         * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
12351         * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
12352         * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
12353         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
12354         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
12355         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
12356         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
12357         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
12359 2016-03-07  Martin Jambor  <mjambor@suse.cz>
12361         * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
12362         ALWAYS_CFLAGS.
12364 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
12366         PR libgomp/69555
12367         * testsuite/libgomp.c++/pr69555-1.C: New test.
12368         * testsuite/libgomp.c++/pr69555-2.C: New test.
12370 2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
12371             Martin Jambor  <mjambor@suse.cz>
12373         * testsuite/lib/libgomp.exp
12374         (check_effective_target_offload_device_shared_as): New proc.
12375         * testsuite/libgomp.c++/declare_target-1.C: New test.
12377 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
12379         PR driver/68463
12380         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
12382 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
12384         * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
12385         * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
12386         dims.
12387         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
12388         -ftree-parallelize-loops/-fopenacc changes.
12389         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
12390         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
12391         Likewise.
12392         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
12393         Likewise.
12394         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
12395         Likewise.
12396         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
12397         Likewise.
12398         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
12399         Likewise.
12400         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
12401         Likewise.
12402         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
12403         Likewise.
12404         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
12405         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
12406         Likewise.
12407         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
12408         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
12409         Likewise.
12410         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
12411         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
12412         Likewise.
12414 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
12416         * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
12418 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
12420         PR driver/69805
12421         * testsuite/libgomp.c/pr69805.c: New test.
12423 2016-02-16  Tom de Vries  <tom@codesourcery.com>
12425         PR lto/67709
12426         * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
12428 2016-02-09  Tom de Vries  <tom@codesourcery.com>
12430         PR tree-optimization/69599
12431         * testsuite/libgomp.c/omp-nested-3.c: New test.
12432         * testsuite/libgomp.c/pr46032-2.c: New test.
12433         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
12434         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
12436 2016-02-09  Tom de Vries  <tom@codesourcery.com>
12438         PR lto/69707
12439         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
12441 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
12443         * testsuite/libgomp.c/target-31.c: Fix testcase.
12445 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
12447         * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
12448         clause.
12449         * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
12450         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
12451         reduction and map clauses.
12452         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
12454 2016-02-02  James Norris  <jnorris@codesourcery.com>
12456         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
12458 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
12460         * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
12461         * oacc-parallel.c (GOACC_host_data): Remove function definition.
12463         * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
12464         cases.
12466         * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
12467         variables.
12468         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
12469         (hsa_kmt_lib): Set variables.
12470         * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
12471         always_ld_library_path.
12472         * Makefile.in: Regenerate.
12473         * configure: Likewise.
12474         * testsuite/Makefile.in: Likewise.
12476         * plugin/configfrag.ac (offload_additional_options)
12477         (offload_additional_lib_paths): Don't amend for hsa offloading.
12478         * configure: Regenerate.
12480         * plugin/configfrag.ac: Don't configure for offloading target if
12481         we don't build the corresponding plugin.
12482         * configure: Regenerate.
12484 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
12486         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
12487         * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
12489 2016-01-26  Tom de Vries  <tom@codesourcery.com>
12491         PR tree-optimization/69110
12492         * testsuite/libgomp.c/pr69110.c: New test.
12494 2016-01-25  Richard Biener  <rguenther@suse.de>
12496         PR lto/69393
12497         * testsuite/libgomp.c++/pr69393.C: New testcase.
12499 2016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
12501         * target.c (gomp_get_target_fn_addr): Allow host fallback if target
12502         function wasn't mapped to the device with non-shared memory.
12504 2016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
12506         * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
12508 2016-01-19  Martin Jambor  <mjambor@suse.cz>
12509             Martin Liska  <mliska@suse.cz>
12511         * plugin/Makefrag.am: Add HSA plugin requirements.
12512         * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
12513         (HSA_RUNTIME_LIB): Likewise.
12514         (HSA_RUNTIME_CPPFLAGS): Likewise.
12515         (HSA_RUNTIME_INCLUDE): New substitution.
12516         (HSA_RUNTIME_LIB): Likewise.
12517         (HSA_RUNTIME_LDFLAGS): Likewise.
12518         (hsa-runtime): New configure option.
12519         (hsa-runtime-include): Likewise.
12520         (hsa-runtime-lib): Likewise.
12521         (PLUGIN_HSA): New substitution variable.
12522         Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
12523         configure options.
12524         (PLUGIN_HSA_CPPFLAGS): Likewise.
12525         (PLUGIN_HSA_LDFLAGS): Likewise.
12526         (PLUGIN_HSA_LIBS): Likewise.
12527         Check that we have access to HSA run-time.
12528         * libgomp-plugin.h (offload_target_type): New element
12529         OFFLOAD_TARGET_TYPE_HSA.
12530         * libgomp.h (gomp_target_task): New fields firstprivate_copies and
12531         args.
12532         (bool gomp_create_target_task): Updated.
12533         (gomp_device_descr): Extra parameter of run_func and async_run_func,
12534         new field can_run_func.
12535         * libgomp_g.h (GOMP_target_ext): Update prototype.
12536         * oacc-host.c (host_run): Added a new parameter args.
12537         * target.c (calculate_firstprivate_requirements): New function.
12538         (copy_firstprivate_data): Likewise.
12539         (gomp_target_fallback_firstprivate): Use them.
12540         (gomp_target_unshare_firstprivate): New function.
12541         (gomp_get_target_fn_addr): Allow returning NULL for shared memory
12542         devices.
12543         (GOMP_target): Do host fallback for all shared memory devices.  Do not
12544         pass any args to plugins.
12545         (GOMP_target_ext): Introduce device-specific argument parameter args.
12546         Allow host fallback if device shares memory.  Do not remap data if
12547         device has shared memory.
12548         (gomp_target_task_fn): Likewise.  Also treat shared memory devices
12549         like host fallback for mappings.
12550         (GOMP_target_data): Treat shared memory devices like host fallback.
12551         (GOMP_target_data_ext): Likewise.
12552         (GOMP_target_update): Likewise.
12553         (GOMP_target_update_ext): Likewise.  Also pass NULL as args to
12554         gomp_create_target_task.
12555         (GOMP_target_enter_exit_data): Likewise.
12556         (omp_target_alloc): Treat shared memory devices like host fallback.
12557         (omp_target_free): Likewise.
12558         (omp_target_is_present): Likewise.
12559         (omp_target_memcpy): Likewise.
12560         (omp_target_memcpy_rect): Likewise.
12561         (omp_target_associate_ptr): Likewise.
12562         (gomp_load_plugin_for_device): Also load can_run.
12563         * task.c (GOMP_PLUGIN_target_task_completion): Free
12564         firstprivate_copies.
12565         (gomp_create_target_task): Accept new argument args and store it to
12566         ttask.
12567         * plugin/plugin-hsa.c: New file.
12569 2016-01-18  Tom de Vries  <tom@codesourcery.com>
12571         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
12572         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
12573         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
12574         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
12575         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
12576         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
12577         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
12578         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
12579         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
12580         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
12581         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
12582         Same.
12583         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
12584         Same.
12585         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
12586         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
12587         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
12588         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
12589         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
12590         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
12591         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
12592         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
12593         Same.
12594         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
12596 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
12598         * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
12600 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
12602         * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
12604 2016-01-12  James Norris  <jnorris@codesourcery.com>
12606         * libgomp.texi: Updates for OpenACC.
12608 2016-01-11  Alexander Monakov  <amonakov@ispras.ru>
12610         * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
12612 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
12614         PR fortran/66680
12615         * testsuite/libgomp.fortran/pr66680.f90: New test.
12617 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
12619         PR middle-end/68960
12620         * testsuite/libgomp.c/pr68960.c: New test.
12622 2016-01-06  Nathan Sidwell  <nathan@acm.org>
12624         * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
12625         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
12627 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
12629         Update copyright years.
12631         * libgomp.texi: Bump @copying's copyright year.
12633 2015-12-31  Nathan Sidwell  <nathan@acm.org>
12635         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
12636         dg-additional-options syntax.
12637         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
12638         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
12639         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
12640         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12641         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
12642         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
12643         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
12644         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
12645         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
12646         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
12647         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12648         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
12649         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
12650         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
12651         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
12652         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
12653         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12654         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12656 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
12658         * libgomp.h (REFCOUNT_LINK): Define.
12659         (struct splay_tree_key_s): Add link_key.
12660         * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
12661         Replace target address of the pointer with target address of newly
12662         mapped object in the splay tree.  Set link pointer on target to the
12663         device address of the mapped object.
12664         (gomp_unmap_vars): Restore target address of the pointer in the splay
12665         tree for REFCOUNT_LINK objects after unmapping.
12666         (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
12667         declare target link" objects.
12668         (gomp_unload_image_from_device): Replace j with i.  Force unmap of all
12669         "omp declare target link" objects, which were mapped for the image.
12670         (gomp_exit_data): Restore target address of the pointer in the splay
12671         tree for REFCOUNT_LINK objects after unmapping.
12672         * testsuite/libgomp.c/target-link-1.c: New file.
12674 2015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
12676         * libgomp.h (gomp_device_state): New enum.
12677         (struct gomp_device_descr): Replace is_initialized with state.
12678         (gomp_fini_device): Remove declaration.
12679         * oacc-host.c (host_dispatch): Use state instead of is_initialized.
12680         * oacc-init.c (acc_init_1): Use state instead of is_initialized.
12681         (acc_shutdown_1): Likewise.  Inline gomp_fini_device.
12682         (acc_set_device_type): Use state instead of is_initialized.
12683         (acc_set_device_num): Likewise.
12684         * target.c (resolve_device): Use state instead of is_initialized.
12685         Do not initialize finalized device.
12686         (gomp_map_vars): Do nothing if device is finalized.
12687         (gomp_unmap_vars): Likewise.
12688         (gomp_update): Likewise.
12689         (GOMP_offload_register_ver): Use state instead of is_initialized.
12690         (GOMP_offload_unregister_ver): Likewise.
12691         (gomp_init_device): Likewise.
12692         (gomp_unload_device): Likewise.
12693         (gomp_fini_device): Remove.
12694         (gomp_get_target_fn_addr): Do nothing if device is finalized.
12695         (GOMP_target): Go to host fallback if device is finalized.
12696         (GOMP_target_ext): Likewise.
12697         (gomp_exit_data): Do nothing if device is finalized.
12698         (gomp_target_task_fn): Go to host fallback if device is finalized.
12699         (gomp_target_fini): New static function.
12700         (gomp_target_init): Use state instead of is_initialized.
12701         Call gomp_target_fini at exit.
12703 2015-12-09  Tom de Vries  <tom@codesourcery.com>
12705         PR tree-optimization/68716
12706         * testsuite/libgomp.c/omp-nested-2.c: New test.
12708 2015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
12710         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
12711         target openacc_nvidia_accel_selected.
12712         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
12713         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
12714         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
12715         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
12717 2015-12-01  Julian Brown  <julian@codesourcery.com>
12718             James Norris  <James_Norris@mentor.com>
12720         * oacc-parallel.c (GOACC_host_data): New function.
12721         * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
12722         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
12723         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
12724         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
12725         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
12726         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
12727         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
12729 2015-11-30  James Norris  <jnorris@codesourcery.com>
12730             Cesar Philippidis  <cesar@codesourcery.com>
12732         libgomp/
12733         * libgomp.oacc-fortran/routine-5.f90: New test.
12734         * libgomp.oacc-fortran/routine-7.f90: New test.
12735         * libgomp.oacc-fortran/routine-9.f90: New test.
12737 2015-11-30  Tom de Vries  <tom@codesourcery.com>
12739         PR tree-optimization/46032
12740         * testsuite/libgomp.c/pr46032.c: New test.
12742 2015-11-27  Jakub Jelinek  <jakub@redhat.com>
12744         PR libgomp/68579
12745         * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
12746         (gomp_create_target_task): Call it before freeing
12747         GOMP_TARGET_TASK_DATA tasks.
12749         PR c/63326
12750         * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
12751         in between case label and OpenMP standalone directives.
12752         * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
12754 2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
12756         * configure: Regenerate.
12758 2015-11-26  Jakub Jelinek  <jakub@redhat.com>
12760         * testsuite/libgomp.c/target-35.c: New test.
12762 2015-11-22  James Norris  <jnorris@codesourcery.com>
12763             Cesar Philippidis  <cesar@codesourcery.com>
12765         * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
12766         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12767         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12768         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12769         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12771 2015-11-20  Jakub Jelinek  <jakub@redhat.com>
12773         PR middle-end/68221
12774         * testsuite/libgomp.c/reduction-11.c: Remove xfail.
12775         * testsuite/libgomp.c/reduction-12.c: Likewise.
12776         * testsuite/libgomp.c++/reduction-11.C: Likewise.
12777         * testsuite/libgomp.c++/reduction-12.C: Likewise.
12779 2015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
12781         * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
12782         * libgomp.oacc-c-c++-common/reduction-flt.c: New.
12783         * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
12784         * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
12785         * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
12786         and fix.
12787         * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12788         * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12790 2015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
12792         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
12793         worker & gang cases.
12794         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
12796 2015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
12798         * config/nvptx/priority_queue.c: New file.
12800 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
12802         * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
12803         sections.
12805 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
12806             Aldy Hernandez  <aldyh@redhat.com>
12807             Ilya Verbin  <ilya.verbin@intel.com>
12809         * ordered.c (gomp_doacross_init, GOMP_doacross_post,
12810         GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
12811         GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
12812         iterators or IV by chunk size.
12813         * parallel.c (gomp_resolve_num_threads): Don't assume that
12814         if thr->ts.team is non-NULL, then pool must be non-NULL.
12815         * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
12816         * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
12817         GOMP_PLUGIN_target_task_completion.
12818         * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
12819         * Makefile.in: Regenerate.
12820         * libgomp.h: Shuffle prototypes and forward definitions around so
12821         priority queues can be defined.
12822         (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
12823         (enum gomp_target_task_state): New enum.
12824         (struct gomp_target_task): Add state, tgt, task and team fields.
12825         (gomp_create_target_task): Change return type to bool, add
12826         state argument.
12827         (gomp_target_task_fn): Change return type to bool.
12828         (struct gomp_device_descr): Add async_run_func.
12829         (struct gomp_task): Remove children, next_child, prev_child,
12830         next_queue, prev_queue, next_taskgroup, prev_taskgroup.
12831         Add pnode field.
12832         (struct gomp_taskgroup): Remove children.
12833         Add taskgroup_queue.
12834         (struct gomp_team): Change task_queue type to a priority queue.
12835         (splay_compare): Define inline.
12836         (priority_queue_offset): New.
12837         (priority_node_to_task): New.
12838         (task_to_priority_node): New.
12839         * oacc-mem.c: Do not include splay-tree.h.
12840         * priority_queue.c: New file.
12841         * priority_queue.h: New file.
12842         * splay-tree.c: Do not include splay-tree.h.
12843         (splay_tree_foreach_internal): New.
12844         (splay_tree_foreach): New.
12845         * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
12846         (splay_tree_callback): Define typedef.
12847         * target.c (splay_compare): Move to libgomp.h.
12848         (GOMP_target): Don't adjust *thr in any way around running offloaded
12849         task.
12850         (GOMP_target_ext): Likewise.  Handle target nowait.
12851         (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
12852         return value from gomp_create_target_task, if false, fallthrough
12853         as if no dependencies exist.
12854         (gomp_target_task_fn): Change return type to bool, return true
12855         if the task should have another part scheduled later.  Handle
12856         target nowait.
12857         (gomp_load_plugin_for_device): Initialize async_run.
12858         * task.c (gomp_init_task): Initialize children_queue.
12859         (gomp_clear_parent_in_list): New.
12860         (gomp_clear_parent_in_tree): New.
12861         (gomp_clear_parent): Handle priorities.
12862         (GOMP_task): Likewise.
12863         (priority_queue_move_task_first,
12864         gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
12865         New functions.
12866         (gomp_create_target_task): Use priority queues.  Change return type
12867         to bool, add state argument, return false if for async
12868         {{enter,exit} data,update} constructs no dependencies need to be
12869         waited for, handle target nowait.  Set task->fn to NULL instead of
12870         gomp_target_task_fn.
12871         (verify_children_queue): Remove.
12872         (priority_list_upgrade_task): New.
12873         (priority_queue_upgrade_task): New.
12874         (verify_task_queue): Remove.
12875         (priority_list_downgrade_task): New.
12876         (priority_queue_downgrade_task): New.
12877         (gomp_task_run_pre): Use priority queues.
12878         Abstract code out to priority_queue_downgrade_task.
12879         (gomp_task_run_post_handle_dependers): Use priority queues.
12880         (gomp_task_run_post_remove_parent): Likewise.
12881         (gomp_task_run_post_remove_taskgroup): Likewise.
12882         (gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
12883         tasks specially.
12884         (GOMP_taskwait): Likewise.
12885         (gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
12886         priority-queue_upgrade_task.
12887         (GOMP_taskgroup_start): Use priority queues.
12888         (GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
12889         specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
12890         barrier.
12891         * taskloop.c (GOMP_taskloop): Handle priorities.
12892         * team.c (gomp_new_team): Call priority_queue_init.
12893         (free_team): Call priority_queue_free.
12894         (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
12895         team created for target nowait in implicit parallel region.
12896         (gomp_team_start): For nested check, test thr->ts.level instead of
12897         thr->ts.team != NULL.
12898         * testsuite/libgomp.c/doacross-3.c: New test.
12899         * testsuite/libgomp.c/ordered-5.c: New test.
12900         * testsuite/libgomp.c/priority.c: New test.
12901         * testsuite/libgomp.c/target-31.c: New test.
12902         * testsuite/libgomp.c/target-32.c: New test.
12903         * testsuite/libgomp.c/target-33.c: New test.
12904         * testsuite/libgomp.c/target-34.c: New test.
12906 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
12908         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
12910         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
12911         loop is sequential.
12913 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
12915         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
12916         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
12918 2015-11-12  James Norris  <jnorris@codesourcery.com>
12919             Joseph Myers  <joseph@codesourcery.com>
12921         * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
12922         * oacc-parallel.c (GOACC_declare): New function.
12923         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
12924         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
12925         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
12926         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
12927         * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
12929 2015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
12931         * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
12933 2015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
12935         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
12936         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
12938 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
12940         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
12941         inadvertent commit.
12943 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
12945         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
12946         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
12947         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
12948         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
12949         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
12951 2015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
12953         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
12954         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
12956 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
12957             Ilya Verbin  <ilya.verbin@intel.com>
12959         * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
12960         GOMP_loop_nonmonotonic_dynamic_start,
12961         GOMP_loop_nonmonotonic_guided_next,
12962         GOMP_loop_nonmonotonic_guided_start,
12963         GOMP_loop_ull_nonmonotonic_dynamic_next,
12964         GOMP_loop_ull_nonmonotonic_dynamic_start,
12965         GOMP_loop_ull_nonmonotonic_guided_next,
12966         GOMP_loop_ull_nonmonotonic_guided_start,
12967         GOMP_parallel_loop_nonmonotonic_dynamic,
12968         GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
12969         (GOMP_target_41): Renamed to ...
12970         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
12971         arguments.
12972         (GOMP_target_data_41): Renamed to ...
12973         (GOMP_target_data_ext): ... this.
12974         (GOMP_target_update_41): Renamed to ...
12975         (GOMP_target_update_ext): ... this.
12976         * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
12977         GOMP_target_data_ext and GOMP_target_update_ext instead of
12978         GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
12979         Export GOMP_loop_nonmonotonic_dynamic_next,
12980         GOMP_loop_nonmonotonic_dynamic_start,
12981         GOMP_loop_nonmonotonic_guided_next,
12982         GOMP_loop_nonmonotonic_guided_start,
12983         GOMP_loop_ull_nonmonotonic_dynamic_next,
12984         GOMP_loop_ull_nonmonotonic_dynamic_start,
12985         GOMP_loop_ull_nonmonotonic_guided_next,
12986         GOMP_loop_ull_nonmonotonic_guided_start,
12987         GOMP_parallel_loop_nonmonotonic_dynamic and
12988         GOMP_parallel_loop_nonmonotonic_guided.
12989         * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
12990         GOMP_parallel_loop_nonmonotonic_guided,
12991         GOMP_loop_nonmonotonic_dynamic_start,
12992         GOMP_loop_nonmonotonic_guided_start,
12993         GOMP_loop_nonmonotonic_dynamic_next,
12994         GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
12995         * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
12996         GOMP_loop_ull_nonmonotonic_guided_start,
12997         GOMP_loop_ull_nonmonotonic_dynamic_next,
12998         GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
12999         * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
13000         functions.
13001         (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
13002         GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
13003         Use gomp_map_val function.
13004         (gomp_target_fallback_firstprivate): New static function.
13005         (GOMP_target_41): Renamed to ...
13006         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
13007         arguments.  Move firstprivate fallback handling into a new
13008         function.
13009         (GOMP_target_data_41): Renamed to ...
13010         (GOMP_target_data_ext): ... this.
13011         (GOMP_target_update_41): Renamed to ...
13012         (GOMP_target_update_ext): ... this.
13013         (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
13014         gomp_map_0len_lookup instead of gomp_map_lookup.
13015         (omp_target_is_present): Use gomp_map_0len_lookup instead of
13016         gomp_map_lookup.
13017         * testsuite/libgomp.c/target-28.c: Likewise.
13018         * testsuite/libgomp.c/monotonic-1.c: New test.
13019         * testsuite/libgomp.c/monotonic-2.c: New test.
13020         * testsuite/libgomp.c/nonmonotonic-1.c: New test.
13021         * testsuite/libgomp.c/nonmonotonic-2.c: New test.
13022         * testsuite/libgomp.c/pr66199-5.c: New test.
13023         * testsuite/libgomp.c/pr66199-6.c: New test.
13024         * testsuite/libgomp.c/pr66199-7.c: New test.
13025         * testsuite/libgomp.c/pr66199-8.c: New test.
13026         * testsuite/libgomp.c/pr66199-9.c: New test.
13027         * testsuite/libgomp.c/reduction-11.c: New test.
13028         * testsuite/libgomp.c/reduction-12.c: New test.
13029         * testsuite/libgomp.c/reduction-13.c: New test.
13030         * testsuite/libgomp.c/reduction-14.c: New test.
13031         * testsuite/libgomp.c/reduction-15.c: New test.
13032         * testsuite/libgomp.c/target-12.c (main): Adjust for
13033         omp_target_is_present change for one-past-last element.
13034         * testsuite/libgomp.c/target-17.c (foo): Drop tests where
13035         the same var is both mapped and privatized.
13036         * testsuite/libgomp.c/target-19.c (foo): Adjust for different
13037         handling of zero-length array sections.
13038         * testsuite/libgomp.c/target-28.c: New test.
13039         * testsuite/libgomp.c/target-29.c: New test.
13040         * testsuite/libgomp.c/target-30.c: New test.
13041         * testsuite/libgomp.c/target-teams-1.c: New test.
13042         * testsuite/libgomp.c++/member-6.C: New test.
13043         * testsuite/libgomp.c++/member-7.C: New test.
13044         * testsuite/libgomp.c++/monotonic-1.C: New test.
13045         * testsuite/libgomp.c++/monotonic-2.C: New test.
13046         * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
13047         * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
13048         * testsuite/libgomp.c++/pr66199-3.C: New test.
13049         * testsuite/libgomp.c++/pr66199-4.C: New test.
13050         * testsuite/libgomp.c++/pr66199-5.C: New test.
13051         * testsuite/libgomp.c++/pr66199-6.C: New test.
13052         * testsuite/libgomp.c++/pr66199-7.C: New test.
13053         * testsuite/libgomp.c++/pr66199-8.C: New test.
13054         * testsuite/libgomp.c++/pr66199-9.C: New test.
13055         * testsuite/libgomp.c++/reduction-11.C: New test.
13056         * testsuite/libgomp.c++/reduction-12.C: New test.
13057         * testsuite/libgomp.c++/target-13.C: New test.
13058         * testsuite/libgomp.c++/target-14.C: New test.
13059         * testsuite/libgomp.c++/target-15.C: New test.
13060         * testsuite/libgomp.c++/target-16.C: New test.
13061         * testsuite/libgomp.c++/target-17.C: New test.
13062         * testsuite/libgomp.c++/target-18.C: New test.
13063         * testsuite/libgomp.c++/target-19.C: New test.
13065 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
13067         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
13068         and reduction copy.
13069         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13070         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13071         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13072         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13073         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
13074         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13075         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13076         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13077         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13078         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
13079         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
13080         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13081         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13082         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
13084 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
13086         * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
13087         * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
13088         * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
13089         * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
13090         * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
13091         * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
13092         * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
13093         * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
13095 2015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
13097         * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
13098         * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
13099         (GOMP_OFFLOAD_openacc_parallel): Likewise.
13100         * oacc-host.c (host_openacc_exec): Likewise.
13101         * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
13103 2015-11-03  Julian Brown  <julian@codesourcery.com>
13104             Thomas Schwinge  <thomas@codesourcery.com>
13106         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
13107         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13108         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
13109         Likewise.
13110         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
13111         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
13113 2015-11-03  James Norris  <jnorris@codesourcery.com>
13115         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
13116         file.
13117         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
13118         Likewise.
13119         * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
13120         * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
13121         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
13122         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
13123         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
13125 2015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
13127         * openacc.h (enum acc_device_t): Reformat. Ensure layout
13128         compatibility.
13129         (enum acc_async_t): Reformat.
13130         (acc_on_device): Declare compatible with builtin and provide C++
13131         wrapper.
13132         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
13134 2015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
13135             Cesar Philippidis  <cesar@codesourcery.com>
13137         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
13138         * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
13139         ... this.  Add a description of the test at the top of the file.
13140         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
13141         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
13142         ... this.  Add a description of the test at the top of the file.
13144 2015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
13146         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
13147         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
13148         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
13149         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
13150         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
13151         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
13153 2015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
13155         * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
13156         dimensions.
13158 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
13160         PR testsuite/68063
13161         * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
13163 2015-10-27  James Norris  <jnorris@codesourcery.com>
13165         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
13166         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
13168 2015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
13170         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
13171         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
13173         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
13174         acc_device_nvidia usage.
13175         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
13176         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
13177         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
13179         * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
13180         * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
13182         PR libgomp/66518
13183         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
13185         PR libgomp/65437
13186         PR libgomp/66518
13187         * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
13188         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
13190 2015-10-23  Tom de Vries  <tom@codesourcery.com>
13192         PR testsuite/68063
13193         * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
13195 2015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
13197         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
13198         vector_length.
13199         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13201 2015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
13202             Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
13204         * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
13205         to 0 when mapnum is 0.
13207 2015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
13209         * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
13210         Cast to int from int32_t.
13212 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
13213             Aldy Hernandez  <aldyh@redhat.com>
13214             Ilya Verbin  <ilya.verbin@intel.com>
13216         * config/linux/affinity.c (omp_get_place_num_procs,
13217         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
13218         * config/linux/doacross.h: New file.
13219         * config/posix/affinity.c (omp_get_place_num_procs,
13220         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
13221         * config/posix/doacross.h: New file.
13222         * env.c: Include gomp-constants.h.
13223         (struct gomp_task_icv): Rename run_sched_modifier to
13224         run_sched_chunk_size.
13225         (gomp_max_task_priority_var): New variable.
13226         (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
13227         (handle_omp_display_env): Change _OPENMP value from 201307 to
13228         201511.  Print OMP_MAX_TASK_PRIORITY.
13229         (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
13230         (omp_set_schedule, omp_get_schedule): Rename modifier argument to
13231         chunk_size and run_sched_modifier to run_sched_chunk_size.
13232         (omp_get_max_task_priority, omp_get_initial_device,
13233         omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
13234         omp_get_partition_place_nums): New functions.
13235         * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
13236         omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
13237         to chunk_size.
13238         (omp_get_num_places_, omp_get_place_num_procs_,
13239         omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
13240         omp_get_place_proc_ids_8_, omp_get_place_num_,
13241         omp_get_partition_num_places_, omp_get_partition_place_nums_,
13242         omp_get_partition_place_nums_8_, omp_get_initial_device_,
13243         omp_get_max_task_priority_): New functions.
13244         * libgomp_g.h (GOMP_loop_doacross_static_start,
13245         GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
13246         GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
13247         GOMP_loop_ull_doacross_dynamic_start,
13248         GOMP_loop_ull_doacross_guided_start,
13249         GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
13250         GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
13251         GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
13252         GOMP_target_data_41, GOMP_target_update_41,
13253         GOMP_target_enter_exit_data): New prototypes.
13254         (GOMP_task): Add prototype argument.
13255         * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
13256         (struct gomp_doacross_work_share): New type.
13257         (struct gomp_work_share): Add doacross field.
13258         (struct gomp_task_icv): Rename run_sched_modifier to
13259         run_sched_chunk_size.
13260         (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
13261         GOMP_TASK_UNDEFERRED.  Add comments.
13262         (struct gomp_task_depend_entry): Add comments.
13263         (struct gomp_task): Likewise.
13264         (struct gomp_taskgroup): Likewise.
13265         (struct gomp_target_task): New type.
13266         (struct gomp_team): Add comment.
13267         (gomp_get_place_proc_ids_8, gomp_doacross_init,
13268         gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
13269         gomp_create_target_task, gomp_target_task_fn): New prototypes.
13270         (struct target_var_desc): New type.
13271         (struct target_mem_desc): Adjust comment.  Use struct
13272         target_var_desc instead of splay_tree_key for list.
13273         (REFCOUNT_INFINITY): Define.
13274         (struct splay_tree_key_s): Remove copy_from field.
13275         (struct gomp_device_descr): Add dev2dev_func field.
13276         (enum gomp_map_vars_kind): New enum.
13277         (gomp_map_vars): Add one argument.
13278         * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
13279         omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
13280         omp_get_place_num_procs, omp_get_place_num_procs_,
13281         omp_get_place_num_procs_8_, omp_get_place_proc_ids,
13282         omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
13283         omp_get_place_num_, omp_get_partition_num_places,
13284         omp_get_partition_num_places_, omp_get_partition_place_nums,
13285         omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
13286         omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
13287         omp_target_free, omp_target_is_present, omp_target_memcpy,
13288         omp_target_memcpy_rect, omp_target_associate_ptr and
13289         omp_target_disassociate_ptr.
13290         (GOMP_4.0.2): Renamed to ...
13291         (GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
13292         GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
13293         GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
13294         GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
13295         GOMP_loop_doacross_static_start, GOMP_doacross_post,
13296         GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
13297         GOMP_loop_ull_doacross_guided_start,
13298         GOMP_loop_ull_doacross_runtime_start,
13299         GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
13300         GOMP_doacross_ull_wait.
13301         * libgomp.texi: Document omp_get_max_task_priority.
13302         Rename modifier argument to chunk_size for omp_set_schedule and
13303         omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
13304         * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
13305         to run_sched_chunk_size renaming.
13306         (GOMP_loop_ordered_runtime_start): Likewise.
13307         (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
13308         gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
13309         GOMP_parallel_loop_runtime_start): New functions.
13310         (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
13311         to run_sched_chunk_size renaming.
13312         (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
13313         GOMP_loop_doacross_guided_start): New functions or aliases.
13314         * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
13315         run_sched_modifier to run_sched_chunk_size renaming.
13316         (GOMP_loop_ull_ordered_runtime_start): Likewise.
13317         (gomp_loop_ull_doacross_static_start,
13318         gomp_loop_ull_doacross_dynamic_start,
13319         gomp_loop_ull_doacross_guided_start,
13320         GOMP_loop_ull_doacross_runtime_start): New functions.
13321         (GOMP_loop_ull_doacross_static_start,
13322         GOMP_loop_ull_doacross_dynamic_start,
13323         GOMP_loop_ull_doacross_guided_start): New functions or aliases.
13324         * oacc-mem.c (acc_map_data, present_create_copy,
13325         gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
13326         to gomp_map_vars.
13327         (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
13328         * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
13329         instead of false to gomp_map_vars.
13330         (GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
13331         * omp.h.in (omp_lock_hint_t): New type.
13332         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
13333         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
13334         omp_get_place_num, omp_get_partition_num_places,
13335         omp_get_partition_place_nums, omp_get_initial_device,
13336         omp_get_max_task_priority, omp_target_alloc, omp_target_free,
13337         omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
13338         omp_target_associate_ptr, omp_target_disassociate_ptr): New
13339         prototypes.
13340         * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
13341         (omp_lock_hint_none, omp_lock_hint_uncontended,
13342         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
13343         omp_lock_hint_speculative): New parameters.
13344         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
13345         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
13346         omp_get_place_num, omp_get_partition_num_places,
13347         omp_get_partition_place_nums, omp_get_initial_device,
13348         omp_get_max_task_priority): New interfaces.
13349         (omp_set_schedule, omp_get_schedule): Rename modifier argument
13350         to chunk_size.
13351         * omp_lib.h.in (omp_lock_hint_kind): New parameter.
13352         (omp_lock_hint_none, omp_lock_hint_uncontended,
13353         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
13354         omp_lock_hint_speculative): New parameters.
13355         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
13356         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
13357         omp_get_place_num, omp_get_partition_num_places,
13358         omp_get_partition_place_nums, omp_get_initial_device,
13359         omp_get_max_task_priority): New functions and subroutines.
13360         * ordered.c: Include stdarg.h and string.h.
13361         (MAX_COLLAPSED_BITS): Define.
13362         (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
13363         gomp_doacross_ull_init, GOMP_doacross_ull_post,
13364         GOMP_doacross_ull_wait): New functions.
13365         * target.c: Include errno.h.
13366         (resolve_device): If device is not initialized, call
13367         gomp_init_device on it.
13368         (gomp_map_lookup): New function.
13369         (gomp_map_vars_existing): Add tgt_var argument, fill it in.
13370         Don't bump refcount if REFCOUNT_INFINITY.  Handle
13371         GOMP_MAP_ALWAYS_TO_P.
13372         (get_kind): Rename is_openacc argument to short_mapkind.
13373         (gomp_map_pointer): Use gomp_map_lookup.
13374         (gomp_map_fields_existing): New function.
13375         (gomp_map_vars): Rename is_openacc argument to short_mapkind
13376         and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
13377         handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
13378         GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
13379         Adjust for tgt->list changed type and copy_from living in there.
13380         (gomp_copy_from_async): Adjust for tgt->list changed type and
13381         copy_from living in there.
13382         (gomp_unmap_vars): Likewise.
13383         (gomp_update): Likewise.  Rename is_openacc argument to
13384         short_mapkind.  Don't fail if object is not mapped.
13385         (gomp_load_image_to_device): Initialize refcount to
13386         REFCOUNT_INFINITY.
13387         (gomp_target_fallback): New function.
13388         (gomp_get_target_fn_addr): Likewise.
13389         (GOMP_target): Adjust gomp_map_vars caller, use
13390         gomp_get_target_fn_addr and gomp_target_fallback.
13391         (GOMP_target_41): New function.
13392         (gomp_target_data_fallback): New function.
13393         (GOMP_target_data): Use it, adjust gomp_map_vars caller.
13394         (GOMP_target_data_41): New function.
13395         (GOMP_target_update): Adjust gomp_update caller.
13396         (GOMP_target_update_41): New function.
13397         (gomp_exit_data, GOMP_target_enter_exit_data,
13398         gomp_target_task_fn, omp_target_alloc, omp_target_free,
13399         omp_target_is_present, omp_target_memcpy,
13400         omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
13401         omp_target_associate_ptr, omp_target_disassociate_ptr,
13402         gomp_load_plugin_for_device): New functions.
13403         * task.c: Include gomp-constants.h.  Include taskloop.c
13404         twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
13405         (gomp_task_handle_depend): New function.
13406         (GOMP_task): Use it.  Add priority argument.  Use
13407         gomp-constant.h constants instead of hardcoded numbers.
13408         Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
13409         (gomp_create_target_task): New function.
13410         (verify_children_queue, verify_taskgroup_queue,
13411         verify_task_queue): New functions.
13412         (gomp_task_run_pre): Call verify_*_queue functions.
13413         If an upcoming tied task is about to leave the sibling or
13414         taskgroup queues in an invalid state, adjust appropriately.
13415         Remove taskgroup argument.  Add comments.
13416         (gomp_task_run_post_handle_dependers): Add comments.
13417         (gomp_task_run_post_remove_parent): Likewise.
13418         (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
13419         (GOMP_taskwait): Likewise.  Add comments.
13420         (gomp_task_maybe_wait_for_dependencies): Fix scheduling
13421         problem such that the first non parent_depends_on task does not
13422         end up at the end of the children queue.
13423         (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
13424         GOMP_TASK_UNDEFERRED.
13425         (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
13426         * taskloop.c: New file.
13427         * testsuite/lib/libgomp.exp
13428         (check_effective_target_offload_device_nonshared_as): New proc.
13429         * testsuite/libgomp.c/affinity-2.c: New test.
13430         * testsuite/libgomp.c/doacross-1.c: New test.
13431         * testsuite/libgomp.c/doacross-2.c: New test.
13432         * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
13433         Add map clause to target.
13434         * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
13435         * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
13436         * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
13437         * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
13438         * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
13439         Likewise.
13440         * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
13441         * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
13442         * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
13443         * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
13444         not defined.  Use those where needed.
13445         * testsuite/libgomp.c/for-4.c: New test.
13446         * testsuite/libgomp.c/for-5.c: New test.
13447         * testsuite/libgomp.c/for-6.c: New test.
13448         * testsuite/libgomp.c/linear-1.c: New test.
13449         * testsuite/libgomp.c/ordered-4.c: New test.
13450         * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
13451         only allowed on the loop iterator.
13452         * testsuite/libgomp.c/pr66199-3.c: New test.
13453         * testsuite/libgomp.c/pr66199-4.c: New test.
13454         * testsuite/libgomp.c/reduction-7.c: New test.
13455         * testsuite/libgomp.c/reduction-8.c: New test.
13456         * testsuite/libgomp.c/reduction-9.c: New test.
13457         * testsuite/libgomp.c/reduction-10.c: New test.
13458         * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
13459         map(tofrom:s).
13460         * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
13461         * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
13462         * testsuite/libgomp.c/target-11.c: New test.
13463         * testsuite/libgomp.c/target-12.c: New test.
13464         * testsuite/libgomp.c/target-13.c: New test.
13465         * testsuite/libgomp.c/target-14.c: New test.
13466         * testsuite/libgomp.c/target-15.c: New test.
13467         * testsuite/libgomp.c/target-16.c: New test.
13468         * testsuite/libgomp.c/target-17.c: New test.
13469         * testsuite/libgomp.c/target-18.c: New test.
13470         * testsuite/libgomp.c/target-19.c: New test.
13471         * testsuite/libgomp.c/target-20.c: New test.
13472         * testsuite/libgomp.c/target-21.c: New test.
13473         * testsuite/libgomp.c/target-22.c: New test.
13474         * testsuite/libgomp.c/target-23.c: New test.
13475         * testsuite/libgomp.c/target-24.c: New test.
13476         * testsuite/libgomp.c/target-25.c: New test.
13477         * testsuite/libgomp.c/target-26.c: New test.
13478         * testsuite/libgomp.c/target-27.c: New test.
13479         * testsuite/libgomp.c/taskloop-1.c: New test.
13480         * testsuite/libgomp.c/taskloop-2.c: New test.
13481         * testsuite/libgomp.c/taskloop-3.c: New test.
13482         * testsuite/libgomp.c/taskloop-4.c: New test.
13483         * testsuite/libgomp.c++/ctor-13.C: New test.
13484         * testsuite/libgomp.c++/doacross-1.C: New test.
13485         * testsuite/libgomp.c++/examples-4/declare_target-2.C:
13486         Replace offload_device with offload_device_nonshared_as.
13487         * testsuite/libgomp.c++/for-12.C: New test.
13488         * testsuite/libgomp.c++/for-13.C: New test.
13489         * testsuite/libgomp.c++/for-14.C: New test.
13490         * testsuite/libgomp.c++/linear-1.C: New test.
13491         * testsuite/libgomp.c++/member-1.C: New test.
13492         * testsuite/libgomp.c++/member-2.C: New test.
13493         * testsuite/libgomp.c++/member-3.C: New test.
13494         * testsuite/libgomp.c++/member-4.C: New test.
13495         * testsuite/libgomp.c++/member-5.C: New test.
13496         * testsuite/libgomp.c++/ordered-1.C: New test.
13497         * testsuite/libgomp.c++/reduction-5.C: New test.
13498         * testsuite/libgomp.c++/reduction-6.C: New test.
13499         * testsuite/libgomp.c++/reduction-7.C: New test.
13500         * testsuite/libgomp.c++/reduction-8.C: New test.
13501         * testsuite/libgomp.c++/reduction-9.C: New test.
13502         * testsuite/libgomp.c++/reduction-10.C: New test.
13503         * testsuite/libgomp.c++/reference-1.C: New test.
13504         * testsuite/libgomp.c++/simd14.C: New test.
13505         * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
13506         * testsuite/libgomp.c++/target-5.C: New test.
13507         * testsuite/libgomp.c++/target-6.C: New test.
13508         * testsuite/libgomp.c++/target-7.C: New test.
13509         * testsuite/libgomp.c++/target-8.C: New test.
13510         * testsuite/libgomp.c++/target-9.C: New test.
13511         * testsuite/libgomp.c++/target-10.C: New test.
13512         * testsuite/libgomp.c++/target-11.C: New test.
13513         * testsuite/libgomp.c++/target-12.C: New test.
13514         * testsuite/libgomp.c++/taskloop-1.C: New test.
13515         * testsuite/libgomp.c++/taskloop-2.C: New test.
13516         * testsuite/libgomp.c++/taskloop-3.C: New test.
13517         * testsuite/libgomp.c++/taskloop-4.C: New test.
13518         * testsuite/libgomp.c++/taskloop-5.C: New test.
13519         * testsuite/libgomp.c++/taskloop-6.C: New test.
13520         * testsuite/libgomp.c++/taskloop-7.C: New test.
13521         * testsuite/libgomp.c++/taskloop-8.C: New test.
13522         * testsuite/libgomp.c++/taskloop-9.C: New test.
13523         * testsuite/libgomp.fortran/affinity1.f90: New test.
13524         * testsuite/libgomp.fortran/affinity2.f90: New test.
13526 2015-10-13  Tom de Vries  <tom@codesourcery.com>
13528         PR tree-optimization/67476
13529         * testsuite/libgomp.c/autopar-3.c: New test.
13530         * testsuite/libgomp.c/autopar-4.c: New test.
13531         * testsuite/libgomp.c/autopar-5.c: New test.
13532         * testsuite/libgomp.c/autopar-6.c: New test.
13533         * testsuite/libgomp.c/autopar-7.c: New test.
13534         * testsuite/libgomp.c/autopar-8.c: New test.
13536 2015-10-12  James Norris  <jnorris@codesourcery.com>
13538         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
13539         initializer.
13541 2015-10-09  David Malcolm  <dmalcolm@redhat.com>
13543         * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
13544         using load_gcc_lib.
13546 2015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
13548         * oacc-ptx.h: Remove file, moving its content into...
13549         * config/nvptx/fortran.c: ... here...
13550         * config/nvptx/oacc-init.c: ..., here...
13551         * config/nvptx/oacc-parallel.c: ..., and here.
13552         * config/nvptx/openacc.f90: New file.
13553         * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
13554         (link_ptx): Don't link in predefined bits of PTX code.
13556 2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
13557             Bernd Schmidt <bernds@codesourcery.com>
13559         * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
13560         (struct targ_ptx_obj): New.
13561         (nvptx_tdata): Move earlier, change data format.
13562         (link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
13563         objects.
13564         (GOMP_OFFLOAD_load_image): Adjust.
13566 2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
13568         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
13569         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
13570         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
13571         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
13572         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
13573         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
13574         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
13575         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
13576         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
13577         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
13578         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
13579         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
13580         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
13581         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13582         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13583         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13584         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
13585         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13586         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13587         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13588         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13589         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13590         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
13591         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
13592         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13593         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13594         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
13595         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13596         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13597         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
13598         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
13599         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
13600         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
13601         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
13602         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13603         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13604         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13605         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13606         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13607         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13608         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13609         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13610         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
13611         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
13612         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
13613         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
13614         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
13615         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
13616         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
13617         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
13618         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
13619         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
13620         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
13621         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
13622         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
13623         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
13624         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
13625         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
13626         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
13627         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
13628         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
13629         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
13630         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
13632 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
13634         * oacc-init.c (acc_on_device): Force optimization level.
13636 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
13638         * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
13639         (cuda_errlist): Delete.
13640         (cuda_error): Reimplement.
13642 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
13644         * libgomp.h (acc_dispatch_t): Replace separate geometry args with
13645         array.
13646         * libgomp.map (GOACC_parallel_keyed): New.
13647         * oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
13648         all callers.
13649         (GOACC_parallel_keyed): New interface.  Lose geometry arguments
13650         and take keyed varargs list.  Adjust call to exec_func.
13651         (GOACC_parallel): Force host fallback.
13652         * libgomp_g.h (GOACC_parallel): Remove.
13653         (GOACC_parallel_keyed): Declare.
13654         * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
13655         (struct targ_gn_descriptor): Replace name field with launch field.
13656         (nvptx_exec): Lose separate geometry args, take array.  Process
13657         dynamic dimensions and adjust.
13658         (struct nvptx_tdata): Replace fn_names field with fn_descs.
13659         (GOMP_OFFLOAD_load_image): Adjust for change in function table
13660         data.
13661         (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
13662         passing.
13663         * oacc-host.c (host_openacc_exec): Adjust for change in dimension
13664         passing.
13666 2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
13668         PR libgomp/67141
13669         * oacc-int.h (goacc_host_init): Add declaration.
13670         * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
13671         * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
13673 2015-09-08  Aditya Kumar  <hiraditya@msn.com>
13674             Sebastian Pop  <s.pop@samsung.com>
13676         * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
13677         match o/p.
13678         * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
13679         * testsuite/libgomp.graphite/force-parallel-4.c: Same.
13680         * testsuite/libgomp.graphite/force-parallel-5.c: Same.
13681         * testsuite/libgomp.graphite/force-parallel-7.c: Same.
13682         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
13684 2015-09-03  Jakub Jelinek  <jakub@redhat.com>
13686         * configure.tgt: Add missing ;; in between nvptx and rtems
13687         snippets.
13689 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
13691         * config/posix/pool.h (gomp_adjust_thread_attr): New.
13692         * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
13693         (gomp_thread_pool_reservoir): Add priority member.
13694         * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
13695         priority.
13696         (parse_thread_pools): Likewise.
13697         * team.c (gomp_team_start): Call configuration provided
13698         gomp_adjust_thread_attr(). Destroy thread attributes if
13699         necessary.
13700         * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
13702 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
13704         * config/posix/pool.h: New.
13705         * config/rtems/pool.h: Likewise.
13706         * config/rtems/proc.c: Likewise.
13707         * libgomp.h (gomp_thread_destructor): Declare.
13708         * team.c: Include configuration provided "pool.h".
13709         (gomp_get_thread_pool): Define in configuration.
13710         (gomp_team_end): Call configuration defined
13711         gomp_release_thread_pool().
13713 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
13715         * config/rtems/bar.c: New.
13716         * config/rtems/bar.h: Likewise.
13717         * config/rtems/mutex.c: Likewise.
13718         * config/rtems/mutex.h: Likewise.
13719         * config/rtems/sem.c: Likewise.
13720         * config/rtems/sem.h: Likewise.
13721         * configure.ac (*-*-rtems*): Check that Newlib provides a proper
13722         <sys/lock.h> header file.
13723         * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
13724         supported by Newlib.
13725         * configure: Regenerate.
13727 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
13729         * team.c (gomp_new_thread_pool): Delete and move content to ...
13730         (gomp_get_thread_pool): ... new function.  Allocate and
13731         initialize thread pool on demand.
13732         (get_last_team): Use gomp_get_thread_pool().
13733         (gomp_team_start): Delete thread pool initialization.
13735 2015-09-03  Tom de Vries  <tom@codesourcery.com>
13737         PR tree-optimization/65637
13738         * testsuite/libgomp.c/autopar-2.c: New test.
13740 2015-08-29  Tom de Vries  <tom@codesourcery.com>
13742         PR tree-optimization/46193
13743         * testsuite/libgomp.c/pr46193.c: New test.
13745 2015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
13747         libgomp/
13748         * libgomp.map: Add 4.0.2 version.
13749         * target.c (offload_image_descr): Add version field.
13750         (gomp_load_image_to_device): Add version argument.  Adjust plugin
13751         call.  Improve load mismatch diagnostic.
13752         (gomp_unload_image_from_device): Add version argument.  Adjust plugin
13753         call.
13754         (GOMP_offload_regster): Make stub function, move bulk to ...
13755         (GOMP_offload_register_ver): ... here.  Process version argument.
13756         (GOMP_offload_unregister): Make stub function, move bulk to ...
13757         (GOMP_offload_unregister_ver): ... here.  Process version argument.
13758         (gomp_init_device): Process version field.
13759         (gomp_unload_device): Process version field.
13760         (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
13761         macros.  Check plugin version.
13762         * libgomp.h (gomp_device_descr): Add version function field.  Adjust
13763         loader and unloader types.
13764         * oacc-host.c: Include gomp-constants.h.
13765         (host_version): New.
13766         (host_load_image, host_unload_image): Adjust.
13767         (host_dispatch): Add host_version.
13768         * plugin/plugin-nvptx.c: Include gomp-constants.h.
13769         (GOMP_OFFLOAD_version): New.
13770         (GOMP_OFFLOAD_load_image): Add version arg and check it.
13771         (GOMP_OFFLOAD_unload_image): Likewise.
13772         * plugin/plugin-host.c: Include gomp-constants.h.
13773         (GOMP_OFFLOAD_version): New.
13774         (GOMP_OFFLOAD_load_image): Add version arg.
13775         (GOMP_OFFLOAD_unload_image): Likewise.
13777 2015-08-24  Tom de Vries  <tom@codesourcery.com>
13779         PR tree-optimization/65468
13780         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
13782 2015-08-24  Tom de Vries  <tom@codesourcery.com>
13784         PR tree-optimization/65468
13785         * testsuite/libgomp.c/static-chunk-size-one.c: New test.
13787 2015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
13789         PR libgomp/66761
13790         PR libgomp/67303
13791         * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
13792         (gomp_iter_guided_next): Idem.
13793         * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
13794         (gomp_iter_ull_guided_next): Idem.
13795         * config/linux/wait.h (do_spin): Idem.
13797 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
13799         * libgomp-plugin.h (enum offload_target_type): Remove
13800         OFFLOAD_TARGET_TYPE_HOST_NONSHM.
13801         * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
13802         * openacc.h (enum acc_device_t): Likewise.
13803         * openacc_lib.h: Likewise.
13804         * oacc-init.c (name_of_acc_device_t): Don't handle it.
13805         (acc_on_device): Just use __builtin_acc_on_device.
13806         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
13807         of acc_on_device builtin.
13808         * plugin/plugin-host.h: Remove file.
13809         * plugin/plugin-host.c: Likewise, but salvage some content into...
13810         * oacc-host.c: ... this file.
13811         * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
13812         * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
13813         * Makefile.in: Regenerate.
13814         * configure: Likewise.
13815         * testsuite/lib/libgomp.exp
13816         (check_effective_target_openacc_host_nonshm_selected): Remove.
13817         * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
13818         ACC_DEVICE_TYPE=host_nonshm.
13819         * testsuite/libgomp.oacc-c/c.exp: Likewise.
13820         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
13821         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
13822         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
13823         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
13824         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
13826 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
13827             Jakub Jelinek  <jakub@redhat.com>
13829         * config/nvptx/affinity.c: New file.
13830         * config/nvptx/alloc.c: Likewise.
13831         * config/nvptx/bar.c: Likewise.
13832         * config/nvptx/barrier.c: Likewise.
13833         * config/nvptx/critical.c: Likewise.
13834         * config/nvptx/env.c: Likewise.
13835         * config/nvptx/error.c: Likewise.
13836         * config/nvptx/fortran.c: Likewise.
13837         * config/nvptx/iter.c: Likewise.
13838         * config/nvptx/iter_ull.c: Likewise.
13839         * config/nvptx/libgomp-plugin.c: Likewise.
13840         * config/nvptx/lock.c: Likewise.
13841         * config/nvptx/loop.c: Likewise.
13842         * config/nvptx/loop_ull.c: Likewise.
13843         * config/nvptx/mutex.c: Likewise.
13844         * config/nvptx/oacc-async.c: Likewise.
13845         * config/nvptx/oacc-cuda.c: Likewise.
13846         * config/nvptx/oacc-host.c: Likewise.
13847         * config/nvptx/oacc-init.c: Likewise.
13848         * config/nvptx/oacc-mem.c: Likewise.
13849         * config/nvptx/oacc-parallel.c: Likewise.
13850         * config/nvptx/oacc-plugin.c: Likewise.
13851         * config/nvptx/omp-lock.h: Likewise.
13852         * config/nvptx/ordered.c: Likewise.
13853         * config/nvptx/parallel.c: Likewise.
13854         * config/nvptx/proc.c: Likewise.
13855         * config/nvptx/ptrlock.c: Likewise.
13856         * config/nvptx/sections.c: Likewise.
13857         * config/nvptx/sem.c: Likewise.
13858         * config/nvptx/single.c: Likewise.
13859         * config/nvptx/splay-tree.c: Likewise.
13860         * config/nvptx/target.c: Likewise.
13861         * config/nvptx/task.c: Likewise.
13862         * config/nvptx/team.c: Likewise.
13863         * config/nvptx/time.c: Likewise.
13864         * config/nvptx/work.c: Likewise.
13865         * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
13866         * configure: Regenerate.
13867         * configure.tgt (config_path): Set to "nvptx" for target
13868         nvptx*-*-*.
13870 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
13872         * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
13874 2015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
13876         * plugin/plugin-nvptx.c: Don't include dlfcn.h.
13877         (cuda_errlist): Constify.
13878         (errmsg):  Move into ...
13879         (cuda_error): ... here.  Make smaller.
13880         (_XSTR, _STR): Delete.
13881         (cuda_synames): Delete.
13882         (verify_device_library): Delete.
13883         (nvptx_init): Don't call it.
13885 2015-07-28  Tom de Vries  <tom@codesourcery.com>
13887         * testsuite/libgomp.c/uns-outer-4.c: New test.
13889 2015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
13891         * testsuite/libgomp.c/pr66714.c: New test.
13893 2015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
13895         PR libgomp/66950
13896         * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
13897         (fib_ref): New function.
13898         (fib): Correct corner cases in the recursion.
13899         (main): Replace the non-simd loop with fib_ref call.
13900         * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
13901         subroutine.
13902         (fibonacci): Lower the parameter N to 30.  Correct accordingly check
13903         for the last array element value.  Replace the non-simd loop with
13904         fib_ref call.  Remove redundant b_ref array.  Remove the comparison
13905         of the last array element with according Fibonacci sequence element.
13906         (fib): Correct corner cases in the recursion.
13908 2015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
13910         * target.c (gomp_offload_image_to_device): Rename to ...
13911         (gomp_load_image_to_device): ... here.
13912         (GOMP_offload_register): Adjust call.
13913         (gomp_init_device): Likewise.
13914         (gomp_unload_image_from_device): New.  Broken out of ...
13915         (GOMP_offload_unregister): ... here.  Call it.
13916         (gomp_unload_device): New.
13917         * libgomp.h (gomp_unload_device): Declare.
13918         * oacc-init.c (acc_shutdown_1): Unload from device before deleting
13919         mem maps.
13921 2015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
13923         * oacc-parallel.c (GOACC_parallel): Move variadic handling into
13924         wait=-specific if.
13925         (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
13926         !=0 condition.
13927         (goacc_waits): Move !num_waits handling to ...
13928         (GOACC_wait): ... here, the only caller that might have zero waits.
13930         * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
13931         (struct ptx_image_data): Move earlier, add fns field.
13932         (struct ptx_device): Add images and image_lock fields.
13933         (ptx_images, ptx_image_lock): Delete.
13934         (nvptx_open_device): Initialize images and image_lock fields.
13935         (nvptx_close_device): Destroy image_lock.
13936         (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
13937         (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
13938         fields.
13940 2015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
13942         * target.c (GOMP_offload_register): Use int for device type arg.
13943         (GOMP_offload_unregister): Likewise.
13945         * target.c (struct_offload_image_descr): Constify host_table.
13946         (gomp_offload_image_to_device): Likewise.
13947         (GOMP_offload_register, GOMP_offload_unregister): Likewise.
13949         * libgomp.h (gomp_device_descr): Constify target data arguments.
13950         * target.c (struct offload_image_descr): Constify target_data.
13951         (gomp_offload_image_to_device): Likewise.
13952         (GOMP_offload_register): Likewise.
13953         (GOMP_offload_unregister): Likewise.
13954         * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
13955         GOMP_OFFLOAD_unload_image): Constify target data.
13956         * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
13957         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
13959 2015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
13961         * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
13962         Workaround driver library const error.
13963         (struct nvptx_tdata, nvptx_tdata_t): New.
13964         (GOMP_OFFLOAD_load_image): Use struct for target_data's real
13965         type.
13967 2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
13969         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
13970         of EPS parameter from integer to real.
13971         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
13972         type of EPS parameter from integer to real.
13974 2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
13976         * team.c (get_last_team): New.
13977         (gomp_new_team): Recycle last non-nested team if possible.
13978         (gomp_team_end): Move team work share list free lock destruction
13979         to ...
13980         (free_team): ... here.
13982 2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
13984         * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
13985         and ref from int to double.  Replaced their comparison with
13986         an inequality of their difference and EPS.
13987         * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
13988         comparison of pri and a reference number with an inequality of their
13989         difference and EPS.
13990         * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
13991         the comparison of sum and sum_ref with an inequality of their
13992         difference and EPS.
13993         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
13994         the comparison of pri and a reference number with an inequality of
13995         their difference and EPS.
13997 2015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
13999         * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
14000         * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
14001         * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
14002         * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
14003         * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
14004         * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
14005         * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
14006         * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
14007         * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
14008         * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
14009         * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
14010         * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
14011         (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
14012         variables.
14013         (vec_mult): Likewise.  Add #pragma omp taskwait.
14014         (main): Adjust caller.
14015         * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
14016         * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
14017         * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
14018         * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
14019         * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
14020         * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
14021         * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
14022         * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
14023         * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
14024         * testsuite/libgomp.c/examples-4/device-1.c: ...this.
14025         * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
14026         * testsuite/libgomp.c/examples-4/device-2.c: ...this.
14027         * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
14028         * testsuite/libgomp.c/examples-4/device-3.c: ...this.
14029         * testsuite/libgomp.c/examples-4/simd-1.c: New file.
14030         * testsuite/libgomp.c/examples-4/simd-2.c: New file.
14031         * testsuite/libgomp.c/examples-4/simd-3.c: New file.
14032         * testsuite/libgomp.c/examples-4/simd-4.c: New file.
14033         * testsuite/libgomp.c/examples-4/simd-5.c: New file.
14034         * testsuite/libgomp.c/examples-4/simd-6.c: New file.
14035         * testsuite/libgomp.c/examples-4/simd-7.c: New file.
14036         * testsuite/libgomp.c/examples-4/simd-8.c: New file.
14037         * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
14038         * testsuite/libgomp.c/examples-4/target-1.c: ...this.
14039         * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
14040         * testsuite/libgomp.c/examples-4/target-2.c: ...this.
14041         * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
14042         * testsuite/libgomp.c/examples-4/target-3.c: ...this.
14043         * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
14044         * testsuite/libgomp.c/examples-4/target-4.c: ...this.
14045         * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
14046         * testsuite/libgomp.c/examples-4/target-5.c: ...this.
14047         * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
14048         * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
14049         * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
14050         * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
14051         * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
14052         * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
14053         * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
14054         * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
14055         * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
14056         * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
14057         * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
14058         * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
14059         * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
14060         * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
14061         * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
14062         * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
14063         * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
14064         * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
14065         * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
14066         * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
14067         * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
14068         * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
14069         * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
14070         * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
14071         * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
14072         * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
14073         * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
14074         * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
14075         * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
14076         * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
14077         * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
14078         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
14079         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
14080         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
14081         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
14082         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
14083         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
14084         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
14085         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
14086         (vec_mult): Add !$omp taskwait.
14087         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
14088         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
14089         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
14090         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
14091         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
14092         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
14093         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
14094         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
14095         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
14096         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
14097         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
14098         * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
14099         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
14100         * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
14101         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
14102         * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
14103         * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
14104         * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
14105         * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
14106         * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
14107         * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
14108         * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
14109         * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
14110         * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
14111         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
14112         * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
14113         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
14114         * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
14115         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
14116         * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
14117         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
14118         * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
14119         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
14120         * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
14121         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
14122         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
14123         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
14124         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
14125         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
14126         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
14127         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
14128         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
14129         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
14130         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
14131         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
14132         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
14133         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
14134         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
14135         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
14136         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
14137         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
14138         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
14139         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
14140         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
14141         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
14142         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
14143         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
14144         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
14145         * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
14146         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
14147         * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
14148         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
14149         * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
14150         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
14151         * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
14152         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
14153         * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
14155 2015-07-10  Tom de Vries  <tom@codesourcery.com>
14157         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
14158         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
14160 2015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
14162         PR libgomp/65099
14163         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
14164         in a 64-bit configuration.
14165         * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
14166         offloading testing if no such device is available.
14167         * testsuite/libgomp.oacc-c/c.exp: Likewise.
14168         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
14170 2015-07-08  Tom de Vries  <tom@codesourcery.com>
14172         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
14173         second call to f.
14174         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14176 2015-07-07  Tom de Vries  <tom@codesourcery.com>
14178         PR tree-optimization/66642
14179         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
14180         iteration count case.
14181         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
14182         function, factor out of ...
14183         (main): ... here.  Test low iteration count case.
14185 2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14187         * libgomp.h (gomp_thread_pool): Comment last_team field.
14189 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
14191         * testsuite/libgomp.c++/pr66702-1.C: Require
14192         vect_simd_clones effective target.
14193         * testsuite/libgomp.c++/pr66702-2.C: Ditto.
14195 2015-06-30  Tom de Vries  <tom@codesourcery.com>
14197         * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
14198         already set.  Use DEFAULT_CFLAGS in dg-runtest.
14199         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
14200         "-O2".
14202 2015-06-30  Tom de Vries  <tom@codesourcery.com>
14204         * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
14205         already set.  Use DEFAULT_CFLAGS in dg-runtest.
14206         * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
14207         * testsuite/libgomp.c++/pr64824.C: Same.
14208         * testsuite/libgomp.c++/pr64868.C: Same.
14209         * testsuite/libgomp.c++/pr66199-1.C: Same.
14210         * testsuite/libgomp.c++/pr66199-2.C: Same.
14211         * testsuite/libgomp.c++/target-2.C: Same.
14212         * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
14213         -std=<standard> option.
14214         * testsuite/libgomp.c++/udr-11.C: Same.
14215         * testsuite/libgomp.c++/udr-12.C: Same.
14216         * testsuite/libgomp.c++/udr-13.C: Same.
14217         * testsuite/libgomp.c++/udr-14.C: Same.
14218         * testsuite/libgomp.c++/udr-15.C: Same.
14219         * testsuite/libgomp.c++/udr-16.C: Same.
14220         * testsuite/libgomp.c++/udr-17.C: Same.
14221         * testsuite/libgomp.c++/udr-18.C: Same.
14222         * testsuite/libgomp.c++/udr-19.C: Same.
14223         * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
14224         * testsuite/libgomp.c++/simd-1.C: Same.
14225         * testsuite/libgomp.c++/simd-2.C: Same.
14226         * testsuite/libgomp.c++/simd-3.C: Same.
14227         * testsuite/libgomp.c++/simd-4.C: Same.
14228         * testsuite/libgomp.c++/simd-5.C: Same.
14229         * testsuite/libgomp.c++/simd-6.C: Same.
14230         * testsuite/libgomp.c++/simd-7.C: Same.
14231         * testsuite/libgomp.c++/simd-8.C: Same.
14232         * testsuite/libgomp.c++/simd-9.C: Same.
14233         * testsuite/libgomp.c++/simd10.C: Same.
14234         * testsuite/libgomp.c++/simd11.C: Same.
14235         * testsuite/libgomp.c++/simd12.C: Same.
14236         * testsuite/libgomp.c++/simd13.C: Same.
14238 2015-06-30  Jakub Jelinek  <jakub@redhat.com>
14240         PR middle-end/66702
14241         * testsuite/libgomp.c++/pr66702-1.C: New test.
14242         * testsuite/libgomp.c++/pr66702-2.C: New test.
14244 2015-06-30  Tom de Vries  <tom@codesourcery.com>
14246         * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
14247         * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
14248         * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
14249         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
14251 2015-06-30  Tom de Vries  <tom@codesourcery.com>
14253         PR tree-optimization/66652
14254         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
14255         using restrict pointers.
14256         (main): Add arguments to calls to f.
14257         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14259 2015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
14261         * configure.ac: Fix check for header <sys/sysctl.h>.
14262         * configure: Regenerate.
14263         * config.h.in: Likewise.
14265 2015-06-23  Tom de Vries  <tom@codesourcery.com>
14267         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
14268         abort.
14269         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
14271 2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
14273         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
14274         acc_device_nvidia.
14276         PR libgomp/66518
14277         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
14278         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14280 2015-06-15  Tom de Vries  <tom@codesourcery.com>
14282         * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
14283         dg-additional-options for any remaining options.
14284         * testsuite/libgomp.c/atomic-2.c: Same.
14285         * testsuite/libgomp.c/atomic-4.c: Same.
14286         * testsuite/libgomp.c/atomic-5.c: Same.
14287         * testsuite/libgomp.c/atomic-6.c: Same.
14288         * testsuite/libgomp.c/autopar-1.c: Same.
14289         * testsuite/libgomp.c/copyin-1.c: Same.
14290         * testsuite/libgomp.c/copyin-2.c: Same.
14291         * testsuite/libgomp.c/copyin-3.c: Same.
14292         * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
14293         * testsuite/libgomp.c/nestedfn-5.c: Same.
14294         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
14295         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
14296         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
14297         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14298         * testsuite/libgomp.c/pr32362-1.c: Same.
14299         * testsuite/libgomp.c/pr32362-2.c: Same.
14300         * testsuite/libgomp.c/pr32362-3.c: Same.
14301         * testsuite/libgomp.c/pr39591-1.c: Same.
14302         * testsuite/libgomp.c/pr39591-2.c: Same.
14303         * testsuite/libgomp.c/pr39591-3.c: Same.
14304         * testsuite/libgomp.c/pr58392.c: Same.
14305         * testsuite/libgomp.c/pr58756.c: Same.
14306         * testsuite/libgomp.c/simd-1.c: Same.
14307         * testsuite/libgomp.c/simd-10.c: Same.
14308         * testsuite/libgomp.c/simd-11.c: Same.
14309         * testsuite/libgomp.c/simd-12.c: Same.
14310         * testsuite/libgomp.c/simd-13.c: Same.
14311         * testsuite/libgomp.c/simd-14.c: Same.
14312         * testsuite/libgomp.c/simd-15.c: Same.
14313         * testsuite/libgomp.c/simd-2.c: Same.
14314         * testsuite/libgomp.c/simd-3.c: Same.
14315         * testsuite/libgomp.c/simd-4.c: Same.
14316         * testsuite/libgomp.c/simd-5.c: Same.
14317         * testsuite/libgomp.c/simd-6.c: Same.
14318         * testsuite/libgomp.c/simd-7.c: Same.
14319         * testsuite/libgomp.c/simd-8.c: Same.
14320         * testsuite/libgomp.c/simd-9.c: Same.
14322 2015-06-15  Tom de Vries  <tom@codesourcery.com>
14324         * testsuite/libgomp.c/pr35625.c: Fix typo.
14326 2015-06-15  Tom de Vries  <tom@codesourcery.com>
14328         * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
14329         in dg-options.
14330         * testsuite/libgomp.c/atomic-3.c: Same.
14331         * testsuite/libgomp.c/debug-1.c: Same.
14332         * testsuite/libgomp.c/nqueens-1.c: Same.
14333         * testsuite/libgomp.c/pr26171.c: Same.
14334         * testsuite/libgomp.c/pr48591.c: Same.
14335         * testsuite/libgomp.c/pr64824.c: Same.
14336         * testsuite/libgomp.c/pr64868.c: Same.
14337         * testsuite/libgomp.c/pr66133.c: Same.
14338         * testsuite/libgomp.c/pr66199-1.c: Same.
14339         * testsuite/libgomp.c/pr66199-2.c: Same.
14340         * testsuite/libgomp.c/target-8.c: Same.
14342 2015-06-15  Tom de Vries  <tom@codesourcery.com>
14344         * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
14345         -std={gnu99,c99}.
14346         * testsuite/libgomp.c/for-1.c: Same.
14347         * testsuite/libgomp.c/for-2.c: Same.
14348         * testsuite/libgomp.c/for-3.c: Same.
14349         * testsuite/libgomp.c/pr35625.c: Same.
14350         * testsuite/libgomp.c/pr39154.c: Same.
14351         * testsuite/libgomp.c/simd-16.c: Same.
14352         * testsuite/libgomp.c/simd-17.c: Same.
14354 2015-06-13  Tom de Vries  <tom@codesourcery.com>
14356         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
14358 2015-06-13  Tom de Vries  <tom@codesourcery.com>
14360         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
14361         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14362         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
14363         (N): Define.
14364         (main): Use N instead of hardcoded constants.
14366 2015-06-05  Tom de Vries  <tom@codesourcery.com>
14368         merge from gomp4 branch:
14369         2015-05-28  Tom de Vries  <tom@codesourcery.com>
14371         PR tree-optimization/65443
14372         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
14373         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
14374         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
14376 2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
14378         * testsuite/libgomp.graphite/bounds.c: Adjust for
14379         cleanup-tree-dump removal.
14380         * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
14381         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14382         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14383         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
14384         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14385         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14386         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14387         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14388         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14389         * testsuite/libgomp.graphite/pr41118.c: Likewise.
14391 2015-05-28  Uros Bizjak  <ubizjak@gmail.com>
14393         * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
14394         (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
14395         (futex_wake) [!__x86_64__]: Ditto.
14397 2015-05-28  Julian Brown  <julian@codesourcery.com>
14399         * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
14400         function comment. Only call gomp_fatal if new argument is true.
14401         (acc_dev_num_out_of_range): New function.
14402         (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
14403         acc_dev_num_out_of_range as appropriate.
14404         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
14405         (acc_get_device_num, acc_set_device_num): Update calls to
14406         resolve_device.
14407         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
14408         output.
14410 2015-05-28  Julian Brown  <julian@codesourcery.com>
14412         PR libgomp/65742
14413         * oacc-init.c (plugin/plugin-host.h): Include.
14414         (acc_on_device): Check whether we're in an offloaded region for
14415         host_nonshm
14416         plugin. Don't use __builtin_acc_on_device.
14417         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
14418         nonshm_exec flag in thread-local data.
14419         (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
14420         data for host_nonshm plugin.
14421         (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
14422         for host_nonshm plugin.
14423         * plugin/plugin-host.h: New.
14425 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
14427         * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
14429 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
14431         * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
14432         Declare as int.
14433         (FUTEX_PRIVATE_FLAG): Remove L suffix.
14434         * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
14435         Declare as int.
14437 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
14439         * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
14441 2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
14443         * target.c (gomp_map_pointer): New function abstracting out
14444         GOMP_MAP_POINTER handling.
14445         (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
14446         gomp_map_pointer().
14448 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
14450         PR middle-end/66199
14451         * testsuite/libgomp.c/pr66199-1.c: New test.
14452         * testsuite/libgomp.c/pr66199-2.c: New test.
14453         * testsuite/libgomp.c++/pr66199-1.C: New test.
14454         * testsuite/libgomp.c++/pr66199-2.C: New test.
14455         * testsuite/libgomp.fortran/pr66199-1.f90: New test.
14456         * testsuite/libgomp.fortran/pr66199-2.f90: New test.
14458 2015-05-19  Julian Brown  <julian@codesourcery.com>
14460         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
14461         on cuInit failure.
14463 2015-05-13  Jakub Jelinek  <jakub@redhat.com>
14465         PR middle-end/66133
14466         * testsuite/libgomp.c/pr66133.c: New test.
14468 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
14470         * Makefile.in: Regenerated with automake-1.11.6.
14471         * aclocal.m4: Likewise.
14472         * config.h.in: Likewise.
14473         * configure: Likewise.
14474         * testsuite/Makefile.in: Likewise.
14476 2015-05-08  Jason Merrill  <jason@redhat.com>
14478         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
14479         _Complex.
14481         * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
14483 2015-05-06  Julian Brown  <julian@codesourcery.com>
14485         * oacc-init.c (acc_device_lock): Add explanatory comment.
14486         (resolve_device): Add comment about locking requirement.
14487         (acc_init_1, acc_shutdown_1): Likewise. Add locking around
14488         gomp_init_device and gomp_fini_device calls.
14489         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
14490         (acc_get_device_num, acc_set_device_num): Add locking around
14491         resolve_device and gomp_init_device calls.
14493 2015-05-06  Julian Brown  <julian@codesourcery.com>
14495         * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
14496         goacc_thread_lock on error paths.
14497         * oacc-mem.c (lookup_host): Remove locking from function. Note
14498         locking requirement for caller in function comment.
14499         (lookup_dev): Likewise.
14500         (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
14501         (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
14502         (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
14503         Add locking.
14505 2015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
14507         PR testsuite/65205
14508         PR libgomp/65993
14509         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
14510         don't expect "0x" prefix for "%p" format specifier, don't expect
14511         "(nil)" for NULL pointer.
14512         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14513         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14514         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14515         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14516         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14517         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14518         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14519         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14520         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14521         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14522         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14523         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14524         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14525         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14526         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14527         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14528         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14529         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14530         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14531         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14532         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14533         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14534         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14535         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14536         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14537         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14538         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14539         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14540         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
14541         accurately specify what we're looking for.
14542         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14543         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14544         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14545         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14546         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14548 2015-04-30  James Norris  <jnorris@codesourcery.com>
14550         PR testsuite/65205
14551         * testsuite/lib/libgomp.exp
14552         (check_effective_target_openacc_host_selected)
14553         (check_effective_target_openacc_host_nonshm_selected): New
14554         procedures.
14555         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
14556         dg-shouldfail.
14557         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14558         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14559         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14560         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14561         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14562         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14563         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14564         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14565         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14566         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14567         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14568         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14569         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14570         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14571         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14572         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14573         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14574         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14575         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14576         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14577         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14578         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14579         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14580         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14581         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14582         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14583         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14584         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14585         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14586         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14587         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14588         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14589         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14590         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14591         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14592         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14593         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14594         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14595         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14596         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14597         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14598         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14599         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14601 2015-04-08  Julian Brown  <julian@codesourcery.com>
14603         * libgomp.h (target_mem_desc: Remove mem_map field.
14604         (acc_dispatch_t): Remove open_device_func, close_device_func,
14605         get_device_num_func, set_device_num_func, target_data members.
14606         Change create_thread_data_func argument to device number instead of
14607         generic pointer.
14608         * oacc-async.c (assert.h): Include.
14609         (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
14610         (acc_wait_all, acc_wait_all_async): Use current host thread's
14611         active device, not base_dev.
14612         * oacc-cuda.c (acc_get_current_cuda_device)
14613         (acc_get_current_cuda_context, acc_get_cuda_stream)
14614         (acc_set_cuda_stream): Likewise.
14615         * oacc-host.c (host_dispatch): Don't set open_device_func,
14616         close_device_func, get_device_num_func or set_device_num_func.
14617         * oacc-init.c (base_dev, init_key): Remove.
14618         (cached_base_dev): New.
14619         (name_of_acc_device_t): New.
14620         (acc_init_1): Initialise default-numbered device, not zeroth.
14621         (acc_shutdown_1): Close all devices of a given type.
14622         (goacc_destroy_thread): Don't use base_dev.
14623         (lazy_open, lazy_init, lazy_init_and_open): Remove.
14624         (goacc_attach_host_thread_to_device): New.
14625         (acc_init): Reimplement with goacc_attach_host_thread_to_device.
14626         (acc_get_num_devices): Don't use base_dev.
14627         (acc_set_device_type): Reimplement.
14628         (acc_get_device_type): Don't use base_dev.
14629         (acc_get_device_num): Tweak logic.
14630         (acc_set_device_num): Likewise.
14631         (acc_on_device): Use acc_get_device_type.
14632         (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
14633         (goacc_lazy_initialize): Reimplement with acc_init and
14634         goacc_attach_host_thread_to_device.
14635         * oacc-int.h (goacc_thread): Add base_dev field.
14636         (base_dev): Remove extern declaration.
14637         (goacc_attach_host_thread_to_device): Add prototype.
14638         * oacc-mem.c (acc_malloc): Use current thread's device instead of
14639         base_dev.
14640         (acc_free): Likewise.
14641         (acc_memcpy_to_device): Likewise.
14642         (acc_memcpy_from_device): Likewise.
14643         * oacc-parallel.c (select_acc_device): Remove. Replace calls with
14644         goacc_lazy_initialize (throughout).
14645         (GOACC_parallel): Use tgt_offset to locate target functions.
14646         * target.c (gomp_map_vars): Don't set tgt->mem_map.
14647         (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
14648         (gomp_load_plugin_for_device): Remove open_device, close_device,
14649         get_device_num, set_device_num openacc hook initialisation. Don't set
14650         openacc.target_data.
14651         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
14652         (GOMP_OFFLOAD_openacc_close_device)
14653         (GOMP_OFFLOAD_openacc_get_device_num)
14654         (GOMP_OFFLOAD_openacc_set_device_num): Remove.
14655         (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
14656         to int.
14657         * plugin/plugin-nvptx.c (ptx_inited): Remove.
14658         (instantiated_devices, ptx_dev_lock): New.
14659         (struct ptx_image_data): New.
14660         (ptx_devices, ptx_images, ptx_image_lock): New.
14661         (fini_streams_for_device): Reorder cuStreamDestroy call.
14662         (nvptx_get_num_devices): Remove forward declaration.
14663         (nvptx_init): Change return type to bool.
14664         (nvptx_fini): Remove.
14665         (nvptx_attach_host_thread_to_device): New.
14666         (nvptx_open_device): Return struct ptx_device* instead of void*.
14667         (nvptx_close_device): Change argument type to struct ptx_device*,
14668         return type to void.
14669         (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
14670         (kernel_target_data, kernel_host_table): Remove static globals.
14671         (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
14672         (GOMP_OFFLOAD_init_device): Reimplement.
14673         (GOMP_OFFLOAD_fini_device): Likewise.
14674         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
14675         (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
14676         (GOMP_OFFLOAD_host2dev): Use ORD argument.
14677         (GOMP_OFFLOAD_openacc_open_device)
14678         (GOMP_OFFLOAD_openacc_close_device)
14679         (GOMP_OFFLOAD_openacc_set_device_num)
14680         (GOMP_OFFLOAD_openacc_get_device_num): Remove.
14681         (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
14682         (device number).
14684         testsuite/
14685         * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
14687 2015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
14689         * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
14690         * libgomp.h (struct gomp_memory_mapping): Remove.
14691         (struct target_mem_desc): Change type of mem_map from
14692         gomp_memory_mapping * to splay_tree_s *.
14693         (struct gomp_device_descr): Remove register_image_func, get_table_func.
14694         Add load_image_func, unload_image_func.
14695         Change type of mem_map from gomp_memory_mapping to splay_tree_s.
14696         Remove offload_regions_registered.
14697         (gomp_init_tables): Remove.
14698         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
14699         to splay_tree_s *.
14700         * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
14701         * oacc-host.c (host_dispatch): Do not initialize register_image_func,
14702         get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
14703         offload_regions_registered.
14704         Initialize load_image_func, unload_image_func, mem_map.root.
14705         (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
14706         * oacc-init.c (lazy_open): Don't call gomp_init_tables.
14707         (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
14708         * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
14709         gomp_memory_mapping *.  Use dev's lock and splay_tree.
14710         (lookup_dev): Use dev's lock.
14711         (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
14712         (acc_is_present): Likewise.
14713         (acc_map_data): Likewise.
14714         (acc_unmap_data): Likewise.  Use dev's lock.
14715         (present_create_copy): Likewise.
14716         (delete_copyout): Pass dev to lookup_host instead of mem_map.
14717         (update_dev_host): Likewise.
14718         (gomp_acc_remove_pointer): Likewise.  Use dev's lock.
14719         * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
14720         * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
14721         (GOMP_OFFLOAD_get_table): Remove
14722         (GOMP_OFFLOAD_load_image): New function.
14723         (GOMP_OFFLOAD_unload_image): New function.
14724         * target.c (register_lock): New mutex for offload image registration.
14725         (num_devices): Do not guard with PLUGIN_SUPPORT.
14726         (gomp_realloc_unlock): New static function.
14727         (gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
14728         before gomp_fatal.
14729         (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
14730         Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
14731         (gomp_copy_from_async): Use dev's lock and splay_tree instead of
14732         mem_map's.
14733         (gomp_unmap_vars): Likewise.
14734         (gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
14735         splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
14736         (gomp_offload_image_to_device): New static function.
14737         (GOMP_offload_register): Add mutex lock.
14738         Call gomp_offload_image_to_device for all initialized devices.
14739         Replace gomp_realloc with gomp_realloc_unlock.
14740         (GOMP_offload_unregister): New function.
14741         (gomp_init_tables): Replace with gomp_init_device.  Replace a call to
14742         get_table_func from the plugin with calls to init_device_func and
14743         gomp_offload_image_to_device.
14744         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
14745         to splay_tree_s *.
14746         (GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
14747         splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
14748         (GOMP_target_data): Do not call gomp_init_tables.
14749         (GOMP_target_update): Likewise.  Remove argument from gomp_update.
14750         (gomp_load_plugin_for_device): Replace register_image and get_table
14751         with load_image and unload_image in DLSYM ().
14752         (gomp_register_images_for_device): Remove function.
14753         (gomp_target_init): Do not initialize current_device.mem_map.*,
14754         current_device.offload_regions_registered.
14755         Remove call to gomp_register_images_for_device.
14756         Do not free offload_images and num_offload_images.
14758 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
14760         PR fortran/65597
14761         * testsuite/libgomp.fortran/pr65597.f90: New test.
14763 2015-03-27  Tom de Vries  <tom@codesourcery.com>
14765         PR testsuite/65594
14766         * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
14767         (init, check): New function.
14768         (foo): Change return type to void.
14769         (main): Call init and check.
14771 2015-03-27  Tom de Vries  <tom@codesourcery.com>
14773         PR testsuite/65594
14774         * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
14775         (foo): Use M for non-inner loops to scale down test-case.
14777 2015-03-25  Kai Tietz  <ktietz@redhat.com>
14779         PR libgomp/64972
14780         * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
14781         (GOACC_data_start): Likewise.
14782         * target.c (gomp_map_vars): Likewise.
14784 2015-03-21  John David Anglin  <danglin@gcc.gnu.org>
14786         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
14787         hppa*-*-hpux*.
14789 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
14791         * testsuite/libgomp.c/target-10.c: New test.
14792         * testsuite/libgomp.c++/target-4.C: New test.
14794 2015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
14796         * testsuite/libgomp.fortran/declare-target-1.f90: New test.
14797         * testsuite/libgomp.fortran/declare-target-2.f90: New file.
14799 2015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14801         * configure.tgt (*-*-rtems*): Use local-exec TLS model.
14802         * configure.ac (*-*-rtems*): Assume Pthread is supported.
14803         (pthread.h): Check for this header file.
14804         * configure: Regenerate.
14806 2015-02-25  Tom de Vries  <tom@codesourcery.com>
14808         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
14809         (check_reduction_op, check_reduction_macro, max, min):
14810         Declare.
14811         (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
14812         function.
14813         (main): Use new functions.
14815 2015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
14817         * target.c (gomp_load_plugin_for_device): Use const char * instead of
14818         char * for variables holding dlerror return values.
14819         (DLSYM_OPT): Ditto.
14821 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
14823         * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
14825 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
14826             Cesar Philippidis  <cesar@codesourcery.com>
14828         * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
14829         GOACC_ctaid, and GOACC_nctaid routines.
14831 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
14833         PR c/64824
14834         * testsuite/libgomp.c/atomic-18.c: New test.
14835         * testsuite/libgomp.c++/atomic-16.C: New test.
14837 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
14839         PR c/64824
14840         PR c/64868
14841         * testsuite/libgomp.c/pr64824.c: New test.
14842         * testsuite/libgomp.c/pr64868.c: New test.
14843         * testsuite/libgomp.c++/pr64824.C: New test.
14844         * testsuite/libgomp.c++/pr64868.C: New test.
14846 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
14848         PR libgomp/64635
14849         * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
14850         Link with -lpthread.
14851         * config/aix/plugin-suffix.h: Delete.
14853 2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
14855         PR libgomp/64635
14856         * configure.tgt (*-*-aix*): Use config_path "aix posix".
14857         (*-*-darwin*): Use config_path "bsd darwin posix".
14858         (*-*-hpux*): Use config_path "hpux posix".
14859         * target.c: Add include of plugin-suffix.h and use
14860         SONAME_SUFFIX macro.
14861         * config/aix/plugin-suffix.h: New file.
14862         * config/darwin/plugin-suffix.h: New file.
14863         * config/hpux/plugin-suffix.h: New file.
14864         * config/posix/plugin-suffix.h: New file.
14866 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
14868         PR middle-end/64734
14869         * libgomp.c/pr64734.c: New test.
14871 2015-01-23  Tom de Vries  <tom@codesourcery.com>
14873         PR libgomp/64672
14874         * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
14876 2015-01-23  Tom de Vries  <tom@codesourcery.com>
14878         PR libgomp/64707
14879         * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
14880         dg-options.
14882 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
14884         PR libgomp/64625
14885         * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
14886         (GOACC_parallel, GOACC_update): Remove const_void *offload_table
14887         formal parameter.  Update all users.
14888         * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
14889         Document unused formal parameter.
14891 2015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
14893         * oacc-parallel.c: Don't include <alloca.h>.
14894         (GOACC_parallel): Use gomp_alloca instead of alloca.
14896 2015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
14898         * target.c (num_devices): Guard with PLUGIN_SUPPORT.
14900 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
14901             James Norris  <jnorris@codesourcery.com>
14902             Tom de Vries  <tom@codesourcery.com>
14903             Julian Brown  <julian@codesourcery.com>
14904             Cesar Philippidis  <cesar@codesourcery.com>
14905             Nathan Sidwell  <nathan@codesourcery.com>
14906             Tobias Burnus  <burnus@net-b.de>
14908         * Makefile.am (search_path): Add $(top_srcdir)/../include.
14909         (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
14910         oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
14911         oacc-async.c, oacc-plugin.c, oacc-cuda.c.
14912         [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
14913         Include $(top_srcdir)/plugin/Makefrag.am.
14914         (nodist_libsubinclude_HEADERS): Add openacc.h.
14915         [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
14916         openacc.f90, openacc.mod, openacc_kinds.mod.
14917         (omp_lib.mod): Generalize into...
14918         (%.mod): ... this new rule.
14919         (openacc_kinds.mod, openacc.mod): New rules.
14920         * plugin/configfrag.ac: New file.
14921         * configure.ac: Move plugin/offloading support into it.  Include
14922         it.  Instantiate testsuite/libgomp-test-support.pt.exp.
14923         * plugin/Makefrag.am: New file.
14924         * testsuite/Makefile.am (OFFLOAD_TARGETS)
14925         (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
14926         export.
14927         (libgomp-test-support.exp): New rule.
14928         (all-local): Depend on it.
14929         * Makefile.in: Regenerate.
14930         * testsuite/Makefile.in: Regenerate.
14931         * config.h.in: Likewise.
14932         * configure: Likewise.
14933         * configure.tgt: Harden shell syntax.
14934         * env.c: Include "oacc-int.h".
14935         (parse_acc_device_type): New function.
14936         (gomp_debug_var, goacc_device_type, goacc_device_num): New
14937         variables.
14938         (initialize_env): Initialize those.  Call
14939         goacc_runtime_initialize.
14940         * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
14941         (gomp_fatal): Call gomp_vfatal.
14942         * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
14943         (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
14944         (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
14945         (splay_tree_node, splay_tree, splay_tree_key)
14946         (struct target_mem_desc, struct splay_tree_key_s)
14947         (struct gomp_memory_mapping, struct acc_dispatch_t)
14948         (struct gomp_device_descr, gomp_acc_insert_pointer)
14949         (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
14950         (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
14951         (gomp_free_memmap, gomp_fini_device): New declarations.
14952         (gomp_vdebug, gomp_debug): New macros.
14953         Include "splay-tree.h".
14954         * libgomp.map (OACC_2.0): New symbol version.  Use for
14955         acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
14956         acc_set_device_type_h_, acc_get_device_type,
14957         acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
14958         acc_get_device_num, acc_get_device_num_h_, acc_async_test,
14959         acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
14960         acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
14961         acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
14962         acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
14963         acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
14964         acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
14965         acc_copyin_array_h_, acc_present_or_copyin,
14966         acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
14967         acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
14968         acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
14969         acc_present_or_create_32_h_, acc_present_or_create_64_h_,
14970         acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
14971         acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
14972         acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
14973         acc_update_device, acc_update_device_32_h_,
14974         acc_update_device_64_h_, acc_update_device_array_h_,
14975         acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
14976         acc_update_self_array_h_, acc_map_data, acc_unmap_data,
14977         acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
14978         acc_is_present_64_h_, acc_is_present_array_h_,
14979         acc_memcpy_to_device, acc_memcpy_from_device,
14980         acc_get_current_cuda_device, acc_get_current_cuda_context,
14981         acc_get_cuda_stream, acc_set_cuda_stream.
14982         (GOACC_2.0): New symbol version.  Use for GOACC_data_end,
14983         GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
14984         GOACC_update, GOACC_wait, GOACC_get_thread_num,
14985         GOACC_get_num_threads.
14986         (GOMP_PLUGIN_1.0): New symbol version.  Use for
14987         GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
14988         GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
14989         GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
14990         GOMP_PLUGIN_acc_thread.
14991         * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
14992         environment variable.
14993         * libgomp_g.h (GOACC_data_start, GOACC_data_end)
14994         (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
14995         (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
14996         * splay-tree.h (splay_tree_lookup, splay_tree_insert)
14997         (splay_tree_remove): New declarations.
14998         (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
14999         (splay_tree_remove, splay_tree_lookup): Move into...
15000         * splay-tree.c: ... this new file.
15001         * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
15002         (splay_tree_node, splay_tree, splay_tree_key)
15003         (struct target_mem_desc, struct splay_tree_key_s)
15004         (struct gomp_device_descr): Don't declare.
15005         (num_devices_openmp): New variable.
15006         (gomp_get_num_devices ): Use it.
15007         (gomp_init_targets_once): New function.
15008         (gomp_get_num_devices ): Use it.
15009         (get_kind, gomp_copy_from_async, gomp_free_memmap)
15010         (gomp_fini_device, gomp_register_image_for_device): New functions.
15011         (gomp_map_vars): Add devaddrs parameter.
15012         (gomp_update): Add mm parameter.
15013         (gomp_init_device): Move most of it into...
15014         (gomp_init_tables): ... this new function.
15015         (gomp_register_images_for_device): Remove function.
15016         (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
15017         Make them hidden instead of static.
15018         (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
15019         (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
15020         (GOMP_target_end_data, GOMP_target_update)
15021         (gomp_load_plugin_for_device, gomp_target_init): Update for
15022         OpenACC changes.
15023         * oacc-async.c: New file.
15024         * oacc-cuda.c: Likewise.
15025         * oacc-host.c: Likewise.
15026         * oacc-init.c: Likewise.
15027         * oacc-int.h: Likewise.
15028         * oacc-mem.c: Likewise.
15029         * oacc-parallel.c: Likewise.
15030         * oacc-plugin.c: Likewise.
15031         * oacc-plugin.h: Likewise.
15032         * oacc-ptx.h: Likewise.
15033         * openacc.f90: Likewise.
15034         * openacc.h: Likewise.
15035         * openacc_lib.h: Likewise.
15036         * plugin/plugin-host.c: Likewise.
15037         * plugin/plugin-nvptx.c: Likewise.
15038         * libgomp-plugin.c: Likewise.
15039         * libgomp-plugin.h: Likewise.
15040         * libgomp_target.h: Remove file after merging content into the
15041         former file.  Update all users.
15042         * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
15043         (offload_targets_s, offload_targets_s_openacc): New variables.
15044         (check_effective_target_openacc_nvidia_accel_present)
15045         (check_effective_target_openacc_nvidia_accel_selected): New
15046         procedures.
15047         (libgomp_init): Update for OpenACC changes.
15048         * testsuite/libgomp-test-support.exp.in: New file.
15049         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
15050         * testsuite/libgomp.oacc-c/c.exp: Likewise.
15051         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15052         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
15053         * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
15054         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
15055         * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
15056         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15057         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
15058         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
15059         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
15060         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
15061         * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
15062         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
15063         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
15064         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
15065         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
15066         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
15067         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
15068         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
15069         * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
15070         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
15071         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
15072         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
15073         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15074         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
15075         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
15076         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
15077         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
15078         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
15079         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15080         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
15081         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
15082         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
15083         * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
15084         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15085         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
15086         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15087         * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
15088         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
15089         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
15090         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
15091         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15092         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15093         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15094         * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
15095         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15096         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15097         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15098         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15099         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15100         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
15101         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15102         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15103         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15104         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15105         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15106         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15107         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15108         * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
15109         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
15110         * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
15111         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15112         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15113         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15114         * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
15115         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
15116         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15117         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15118         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15119         * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
15120         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15121         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15122         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15123         * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
15124         * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
15125         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15126         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15127         * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
15128         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
15129         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
15130         * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
15131         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15132         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15133         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15134         * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
15135         * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
15136         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15137         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15138         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
15139         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
15140         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
15141         * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
15142         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15143         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15144         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15145         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15146         * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
15147         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15148         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15149         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
15150         * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
15151         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
15152         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15153         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
15154         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
15155         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
15156         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
15157         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
15158         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15159         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
15160         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
15161         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15162         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
15163         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
15164         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
15165         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
15166         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
15167         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
15168         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
15169         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
15170         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
15171         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
15172         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
15173         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
15174         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
15175         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
15176         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
15177         * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
15178         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
15179         * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
15180         * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
15181         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15182         * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
15183         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
15184         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
15185         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
15186         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
15187         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
15188         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
15189         Likewise.
15190         * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
15191         * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
15192         * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
15193         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
15194         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
15195         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
15196         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
15197         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15198         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15199         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15200         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
15201         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
15202         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
15203         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
15204         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
15205         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
15206         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
15207         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
15208         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
15209         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
15210         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
15211         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
15212         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
15213         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
15214         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
15215         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
15216         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15217         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15218         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
15219         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
15220         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
15221         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
15222         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
15223         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15224         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
15225         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
15226         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
15227         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
15228         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
15229         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
15230         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
15231         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
15232         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
15233         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
15234         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
15235         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
15236         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
15237         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
15238         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
15239         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
15240         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
15241         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
15242         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
15243         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
15244         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
15245         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
15246         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
15247         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
15248         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
15249         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
15251 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
15252             Julian Brown  <julian@codesourcery.com>
15253             David Malcolm  <dmalcolm@redhat.com>
15255         * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
15256         to "GNU Offloading and Multi Processing Runtime Library".  Change
15257         all users.
15258         * configure: Regenerate.
15259         * libgomp.texi: Update.
15261 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
15263         * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
15264         "$tgt_dir/lib32".
15265         * configure: Regenerate.
15267         * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
15268         "intelmic" in $offload_targets.
15270 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
15272         Update copyright years.
15274         * libgomp.texi: Bump @copying's copyright year.
15276 2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
15278         * testsuite/lib/libgomp.exp: Load target-utils.exp.
15279         Move load of target-supports.exp earlier.
15281 2014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
15283         * testsuite/libgomp.c/target-9.c: New test.
15285 2014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
15287         * config.h.in: Regenerate.
15288         * configure: Regenerate.
15289         * configure.ac: Add GCC_CHECK_EMUTLS.
15290         * libgomp.h: Add check for USE_EMUTLS: this case
15291         is equal to HAVE_TLS.
15292         * team.c: Likewise.
15294 2014-12-03  Uros Bizjak  <ubizjak@gmail.com>
15296         * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
15298 2014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
15299             Ilya Verbin  <ilya.verbin@intel.com>
15301         * testsuite/libgomp.c/target-critical-1.c: New test.
15303 2014-11-26  Jakub Jelinek  <jakub@redhat.com>
15305         * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
15306         to dg-options unless expensive testing is on.
15307         (TESTITERS): Define to N if not defined.
15308         (main): Use TESTITERS instead of N.
15309         * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
15310         dg-additional-options depending on whether expensive testing is on.
15311         * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
15312         Decrease N to 100000 and CHUNKSZ to 10000.
15314 2014-11-24  Jakub Jelinek  <jakub@redhat.com>
15316         PR fortran/63938
15317         * testsuite/libgomp.fortran/pr63938-1.f90: New test.
15318         * testsuite/libgomp.fortran/pr63938-2.f90: New test.
15320 2014-11-21  Steve Ellcey  <sellcey@imgtec.com>
15322         * config/linux/mips/futex.h (SYS_futex): Define if not already done.
15324 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
15326         PR bootstrap/63784
15327         * configure: Regenerated.
15329 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
15331         * testsuite/libgomp.c/examples-4/e.53.5.c: Require
15332         vect_simd_clones effective target.
15333         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
15335 2014-11-14  Jakub Jelinek  <jakub@redhat.com>
15337         * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
15338         of 32 as block_size.
15339         * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
15340         instead of 32 as block_size.
15342 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
15343             Ilya Verbin  <ilya.verbin@intel.com>
15345         * Makefile.in: Regenerate.
15346         * configure: Regenerate.
15347         * configure.ac: Set up offload_additional_options,
15348         offload_additional_lib_paths and offload_targets.
15349         * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
15350         OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
15351         * testsuite/Makefile.in: Regenerate.
15352         * testsuite/lib/libgomp.exp (libgomp_init): Append
15353         offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
15354         offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
15355         build directory to LD_LIBRARY_PATH for intelmic offload targets.
15357 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
15358             Ilya Verbin  <ilya.verbin@intel.com>
15359             Kirill Yukhin  <kirill.yukhin@intel.com>
15360             Ilya Tocar  <ilya.tocar@intel.com>
15362         * testsuite/lib/libgomp.exp
15363         (check_effective_target_offload_device): New.
15364         * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
15365         * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
15366         * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
15367         * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
15368         * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
15369         * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
15370         * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
15371         * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
15372         * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
15373         * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
15374         * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
15375         * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
15376         * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
15377         * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
15378         * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
15379         * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
15380         * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
15381         * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
15382         * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
15383         * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
15384         * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
15385         * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
15386         * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
15387         * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
15388         * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
15389         * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
15390         * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
15391         * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
15392         * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
15393         * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
15394         * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
15395         * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
15396         * testsuite/libgomp.c/target-7.c: Fix test.
15397         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
15398         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
15399         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
15400         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
15401         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
15402         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
15403         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
15404         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
15405         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
15406         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
15407         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
15408         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
15409         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
15410         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
15411         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
15412         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
15413         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
15414         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
15415         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
15416         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
15417         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
15418         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
15419         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
15420         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
15421         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
15422         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
15423         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
15424         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
15425         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
15426         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
15427         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
15429 2014-11-13  Jakub Jelinek  <jakub@redhat.com>
15430             Ilya Verbin  <ilya.verbin@intel.com>
15431             Thomas Schwinge  <thomas@codesourcery.com>
15432             Andrey Turetskiy  <andrey.turetskiy@intel.com>
15434         * libgomp.map (GOMP_4.0.1): New symbol version.
15435         Add GOMP_offload_register.
15436         * libgomp_target.h: New file.
15437         * splay-tree.h: New file.
15438         * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
15439         (gomp_target_init): New forward declaration.
15440         (gomp_is_initialized): New static variable.
15441         (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
15442         (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
15443         New structures.
15444         (offload_images, num_offload_images, devices, num_devices): New static
15445         variables.
15446         (splay_compare): New static function.
15447         (struct gomp_device_descr): New structure.
15448         (gomp_get_num_devices): Call gomp_target_init.
15449         (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
15450         (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
15451         (GOMP_offload_register): New function.
15452         (GOMP_target): Arrange for host callback to be performed in a separate
15453         initial thread and contention group, inheriting ICVs from
15454         gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
15455         Add device initialization and lookup for target function in splay tree.
15456         (GOMP_target_data): Add device initialization and call gomp_map_vars.
15457         (GOMP_target_end_data): Call gomp_unmap_vars.
15458         (GOMP_target_update): Add device initialization and call gomp_update.
15459         (gomp_load_plugin_for_device, gomp_register_images_for_device)
15460         (gomp_target_init): New static functions.
15462 2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
15463             Thomas Schwinge  <thomas@codesourcery.com>
15464             Ilya Verbin  <ilya.verbin@intel.com>
15465             Andrey Turetskiy  <andrey.turetskiy@intel.com>
15467         * config.h.in: Regenerate.
15468         * configure: Regenerate.
15469         * configure.ac: Check for libdl, required for plugin support.
15470         (PLUGIN_SUPPORT): Define if plugins are supported.
15471         (enable_offload_targets): Support Intel MIC targets.
15472         (OFFLOAD_TARGETS): List of target names suitable for offloading.
15474 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
15476         PR target/63610
15477         * configure: Regenerate.
15479 2014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
15481         * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
15483 2014-10-06  Marek Polacek  <polacek@redhat.com>
15485         * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
15486         * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
15487         * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
15488         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
15490 2014-10-06  Marek Polacek  <polacek@redhat.com>
15492         * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
15493         * testsuite/libgomp.c/nqueens-1.c: Likewise.
15494         * testsuite/libgomp.c/pr26943-3.c: Likewise.
15495         * testsuite/libgomp.c/pr26943-4.c: Likewise.
15496         * testsuite/libgomp.c/pr36802-2.c: Likewise.
15497         * testsuite/libgomp.c/pr36802-3.c: Likewise.
15498         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
15499         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
15500         * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
15501         * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
15502         * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
15503         * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
15504         * testsuite/libgomp.c/omp-single-1.c: Likewise.
15505         * testsuite/libgomp.c/omp-single-2.c: Likewise.
15506         * testsuite/libgomp.c/omp_matvec.c: Likewise.
15507         * testsuite/libgomp.c/omp_workshare3.c: Likewise.
15508         * testsuite/libgomp.c/omp_workshare4.c: Likewise.
15509         * testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
15510         declarations.
15512 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
15514         PR libgomp/61200
15515         * testsuite/libgomp.c/pr61200.c: New test.
15517 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
15519         PR c++/63248
15520         * testsuite/libgomp.c++/pr63248.C: New test.
15522 2014-08-04  Jakub Jelinek  <jakub@redhat.com>
15524         * task.c (GOMP_taskgroup_end): If taskgroup->num_children
15525         is not zero, but taskgroup->children is NULL and there are
15526         any task->children, schedule those instead of waiting.
15527         * testsuite/libgomp.c/depend-6.c: New test.
15528         * testsuite/libgomp.c/depend-7.c: New test.
15529         * testsuite/libgomp.c/depend-8.c: New test.
15530         * testsuite/libgomp.c/depend-9.c: New test.
15531         * testsuite/libgomp.c/depend-10.c: New test.
15533 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
15535         * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
15536         (struct gomp_taskwait): New type.
15537         (struct gomp_task): Add taskwait and parent_depends_on, remove
15538         in_taskwait and taskwait_sem fields.
15539         (gomp_finish_task): Don't destroy taskwait_sem.
15540         * task.c (gomp_init_task): Don't init in_taskwait, instead init
15541         taskwait and parent_depends_on.
15542         (GOMP_task): For if (0) tasks with depend clause that depend on
15543         earlier tasks don't defer them, instead call
15544         gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
15545         Initialize redundant_out field, for redundant out entries just
15546         move them at the end of linked list instead of removing them
15547         completely, and set redundant_out flag instead of redundant.
15548         (gomp_task_run_pre): Update last_parent_depends_on if scheduling
15549         that task.
15550         (gomp_task_run_post_handle_dependers): If parent is in
15551         gomp_task_maybe_wait_for_dependencies and newly runnable task
15552         is not parent_depends_on, queue it in parent->children linked
15553         list after all runnable tasks with parent_depends_on set.
15554         Adjust for addition of taskwait indirection.
15555         (gomp_task_run_post_remove_parent): If parent is in
15556         gomp_task_maybe_wait_for_dependencies and task to be removed
15557         is parent_depends_on, decrement n_depend and if needed awake
15558         parent.  Adjust for addition of taskwait indirection.
15559         (GOMP_taskwait): Adjust for addition of taskwait indirection.
15560         (gomp_task_maybe_wait_for_dependencies): New function.
15561         * testsuite/libgomp.c/depend-5.c: New test.
15563 2014-07-13  Tobias Burnus  <burnus@net-b.de>
15565         * testsuite/libgomp.fortran/pr34020.f90: Make compile
15566         with TS 18508/Fortran 2015.
15568 2014-07-06  Marek Polacek  <polacek@redhat.com>
15570         PR c/6940
15571         * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
15573 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
15575         * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
15576         matches regex $lang_source_re, add $lang_include_flags to options.
15577         * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
15578         * testsuite/libgomp.c++/c++.exp: Likewise.
15579         * testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
15580         and lang_include_flags instead of adding -fintrinsic-modules-path= to
15581         ALWAYS_CFLAGS.
15582         * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
15584 2014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
15586         * testsuite/libgomp.fortran/fortran.exp: Explain
15587         gfortran-dg-runtest usage.
15589 2014-06-25  Jakub Jelinek  <jakub@redhat.com>
15591         * testsuite/libgomp.fortran/simd5.f90: New test.
15592         * testsuite/libgomp.fortran/simd6.f90: New test.
15593         * testsuite/libgomp.fortran/simd7.f90: New test.
15595 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
15597         * testsuite/libgomp.c/for-2.c: Define SC to static for
15598         #pragma omp for simd testing.
15599         * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
15600         (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
15601         SC macro.
15602         * testsuite/libgomp.c/simd-14.c: New test.
15603         * testsuite/libgomp.c/simd-15.c: New test.
15604         * testsuite/libgomp.c/simd-16.c: New test.
15605         * testsuite/libgomp.c/simd-17.c: New test.
15606         * testsuite/libgomp.c++/for-10.C: Define SC to static for
15607         #pragma omp for simd testing.
15608         * testsuite/libgomp.c++/simd10.C: New test.
15609         * testsuite/libgomp.c++/simd11.C: New test.
15610         * testsuite/libgomp.c++/simd12.C: New test.
15611         * testsuite/libgomp.c++/simd13.C: New test.
15613         * testsuite/libgomp.fortran/aligned1.f03: New test.
15614         * testsuite/libgomp.fortran/nestedfn5.f90: New test.
15615         * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
15616         tasks with !$omp parallel !$omp single.
15617         * testsuite/libgomp.fortran/target8.f90: New test.
15618         * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
15619         not to use trim in the combiner, instead call elemental function.
15620         (fn): New elemental function.
15621         * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
15622         Make elemental.
15623         * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
15624         omp_in): Likewise.
15625         * testsuite/libgomp.fortran/udr12.f90: New test.
15626         * testsuite/libgomp.fortran/udr13.f90: New test.
15627         * testsuite/libgomp.fortran/udr14.f90: New test.
15628         * testsuite/libgomp.fortran/udr15.f90: New test.
15630 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
15632         * omp_lib.f90.in (openmp_version): Set to 201307.
15633         * omp_lib.h.in (openmp_version): Likewise.
15634         * testsuite/libgomp.c/target-8.c: New test.
15635         * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
15636         and inbranch clauses.
15637         * testsuite/libgomp.fortran/depend-3.f90: New test.
15638         * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
15639         openmp_version.
15640         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
15641         * testsuite/libgomp.fortran/target1.f90: New test.
15642         * testsuite/libgomp.fortran/target2.f90: New test.
15643         * testsuite/libgomp.fortran/target3.f90: New test.
15644         * testsuite/libgomp.fortran/target4.f90: New test.
15645         * testsuite/libgomp.fortran/target5.f90: New test.
15646         * testsuite/libgomp.fortran/target6.f90: New test.
15647         * testsuite/libgomp.fortran/target7.f90: New test.
15649 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
15651         PR fortran/60928
15652         * testsuite/libgomp.fortran/allocatable9.f90: New test.
15653         * testsuite/libgomp.fortran/allocatable10.f90: New test.
15654         * testsuite/libgomp.fortran/allocatable11.f90: New test.
15655         * testsuite/libgomp.fortran/allocatable12.f90: New test.
15656         * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
15657         * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
15658         * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
15659         * testsuite/libgomp.fortran/associate1.f90: New test.
15660         * testsuite/libgomp.fortran/associate2.f90: New test.
15661         * testsuite/libgomp.fortran/procptr1.f90: New test.
15663 2014-06-06  Jakub Jelinek  <jakub@redhat.com>
15665         * testsuite/libgomp.fortran/simd1.f90: New test.
15666         * testsuite/libgomp.fortran/udr1.f90: New test.
15667         * testsuite/libgomp.fortran/udr2.f90: New test.
15668         * testsuite/libgomp.fortran/udr3.f90: New test.
15669         * testsuite/libgomp.fortran/udr4.f90: New test.
15670         * testsuite/libgomp.fortran/udr5.f90: New test.
15671         * testsuite/libgomp.fortran/udr6.f90: New test.
15672         * testsuite/libgomp.fortran/udr7.f90: New test.
15673         * testsuite/libgomp.fortran/udr8.f90: New test.
15674         * testsuite/libgomp.fortran/udr9.f90: New test.
15675         * testsuite/libgomp.fortran/udr10.f90: New test.
15676         * testsuite/libgomp.fortran/udr11.f90: New test.
15678 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
15680         * testsuite/libgomp.fortran/declare-simd-1.f90: Require
15681         vect_simd_clones effective target.
15682         * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
15684 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
15686         PR middle-end/61252
15687         * testsuite/libgomp.c++/simd-9.C: New test.
15689 2014-05-18  Uros Bizjak  <ubizjak@gmail.com>
15691         * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
15692         (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
15693         texts according to their @menu entry positions.
15695 2014-05-11  Jakub Jelinek  <jakub@redhat.com>
15697         * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
15698         * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
15699         * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
15700         * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
15701         * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
15702         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
15703         * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
15704         * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
15705         * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
15706         * testsuite/libgomp.fortran/depend-1.f90: New test.
15707         * testsuite/libgomp.fortran/depend-2.f90: New test.
15708         * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
15709         * testsuite/libgomp.fortran/simd1.f90: New test.
15710         * testsuite/libgomp.fortran/simd2.f90: New test.
15711         * testsuite/libgomp.fortran/simd3.f90: New test.
15712         * testsuite/libgomp.fortran/simd4.f90: New test.
15713         * testsuite/libgomp.fortran/taskgroup1.f90: New test.
15715 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
15717         * testsuite/libgomp.c/simd-10.c: New test.
15718         * testsuite/libgomp.c/simd-11.c: New test.
15719         * testsuite/libgomp.c/simd-12.c: New test.
15720         * testsuite/libgomp.c/simd-13.c: New test.
15722 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
15724         * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
15725         atomic type clauses in any order and optional comma in between.
15726         * testsuite/libgomp.c++/atomic-15.C: Likewise.
15727         * testsuite/libgomp.c/atomic-17.c: Likewise.
15729         * testsuite/libgomp.c/simd-7.c: New test.
15730         * testsuite/libgomp.c/simd-8.c: New test.
15731         * testsuite/libgomp.c/simd-9.c: New test.
15732         * testsuite/libgomp.c/loop-16.c: New test.
15734 2014-04-02  Richard Henderson  <rth@redhat.com>
15736         * config/linux/futex.h (futex_wait): Get error value from errno.
15737         (futex_wake): Likewise.
15739 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
15741         PR c++/60331
15742         * testsuite/libgomp.c++/udr-11.C: New test.
15743         * testsuite/libgomp.c++/udr-12.C: New test.
15744         * testsuite/libgomp.c++/udr-13.C: New test.
15745         * testsuite/libgomp.c++/udr-14.C: New test.
15746         * testsuite/libgomp.c++/udr-15.C: New test.
15747         * testsuite/libgomp.c++/udr-16.C: New test.
15748         * testsuite/libgomp.c++/udr-17.C: New test.
15749         * testsuite/libgomp.c++/udr-18.C: New test.
15750         * testsuite/libgomp.c++/udr-19.C: New test.
15752 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
15754         Update copyright years
15756 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
15758         * hashtab.h: Use the standard form for the copyright notice.
15760 2014-01-02  Tobias Burnus  <burnus@net-b.de>
15762         * libgomp.texi: Bump @copying's copyright year.
15764 2013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
15766         * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
15767         alloca () with __builtin_alloca ().
15768         * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
15769         * testsuite/libgomp.c/lock-3.c: Likewise.
15770         * testsuite/libgomp.c/pr48591.c: Likewise.
15772 2013-12-17  Jakub Jelinek  <jakub@redhat.com>
15774         PR testsuite/59534
15775         * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
15776         comparisons.
15778 2013-12-16  Jakub Jelinek  <jakub@redhat.com>
15780         PR libgomp/58756
15781         * testsuite/libgomp.c/pr58756.c: New test.
15783 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
15785         PR libgomp/59467
15786         * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
15787         !$omp parallel.
15789 2013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
15791         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
15792         ALWAYS_CFLAGS.
15793         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
15794         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
15795         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
15796         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
15797         Likewise.
15799         * libgomp_g.h: Include <stddef.h> for size_t.
15801         * libgomp.spec.in: Update comment about libgomp's dependencies.
15802         * configure.ac: Likewise.
15803         * configure: Regenerate.
15805 2013-10-16  Tobias Burnus  <burnus@net-b.de>
15807         * libgomp.texi: (Runtime Library Routines): Update references for
15808         OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
15809         omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
15810         omp_get_team_num, omp_is_initial_device, omp_set_default_device.
15811         (Environment Variables): Update references for OpenMP 4.0. Add
15812         OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
15813         Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
15814         order.
15816 2013-10-14  Jakub Jelinek  <jakub@redhat.com>
15818         * env.c (parse_bind_var): Initialize value to avoid
15819         (false positive) warning.
15821 2013-10-12  Jakub Jelinek  <jakub@redhat.com>
15823         PR libgomp/58691
15824         * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
15825         to check variable.
15826         (gomp_init_num_threads): Move i variable declaration into
15827         #ifdef CPU_ALLOC_SIZE block.
15828         * config/linux/affinity.c (gomp_affinity_init_level): Test
15829         gomp_places_list_len == 0 rather than gomp_places_list == 0
15830         when checking for topology reading error.
15831         * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
15832         * env.c (parse_affinity): Add ignore argument, if true, don't populate
15833         gomp_places_list, only parse env var and always return false.
15834         (parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
15835         (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
15836         vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
15837         and either of these variables were parsed correctly into a places
15838         list.
15840 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
15841             Jakub Jelinek  <jakub@redhat.com>
15843         * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
15844         of 5 loopfn matches.
15845         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15846         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15847         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15848         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15849         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15850         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15851         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15852         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15854 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
15856         * Makefile.am (omp_lib.mod): Streamline rule.
15857         * Makefile.in: Regenerate.
15859         * libgomp.texi (Runtime Library Routines): C linkage, don't throw
15860         exceptions.
15862         * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
15863         * testsuite/libgomp.fortran/lib1.f90: Likewise.
15864         * testsuite/libgomp.fortran/lib2.f: Likewise.
15865         * testsuite/libgomp.fortran/lib3.f: Likewise.
15867         * configure.ac: Typo fix.
15868         * configure: Regenerate.
15870         * testsuite/libgomp.fortran/openmp_version-1.f: New file.
15871         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
15873         * omp.h.in: Don't touch the user's namespace.
15875 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
15876             Tobias Burnus  <burnus@net-b.de>
15877             Richard Henderson  <rth@redhat.com>
15879         * target.c: New file.
15880         * Makefile.am (libgomp_la_SOURCES): Add target.c.
15881         * Makefile.in: Regenerated.
15882         * libgomp_g.h (GOMP_task): Add depend argument.
15883         (GOMP_barrier_cancel, GOMP_loop_end_cancel,
15884         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
15885         GOMP_target_end_data, GOMP_target_update, GOMP_teams,
15886         GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
15887         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
15888         GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
15889         GOMP_taskgroup_start, GOMP_taskgroup_end,
15890         GOMP_parallel_sections): New prototypes.
15891         * fortran.c (omp_is_initial_device): Add ialias_redirect.
15892         (omp_is_initial_device_): New function.
15893         (ULP, STR1, STR2, ialias_redirect): Removed.
15894         (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
15895         omp_set_default_device_8_, omp_get_default_device_,
15896         omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
15897         functions.
15898         * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
15899         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
15900         GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
15901         @@GOMP_4.0.
15902         (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
15903         omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
15904         omp_set_default_device, omp_set_default_device_,
15905         omp_set_default_device_8_, omp_get_default_device,
15906         omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
15907         omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
15908         omp_get_team_num_): Export @@OMP_4.0.
15909         * team.c (struct gomp_thread_start_data): Add place field.
15910         (gomp_thread_start): Clear thr->thread_pool and
15911         thr->task before returning.  Use gomp_team_barrier_wait_final
15912         instead of gomp_team_barrier_wait.  Initialize thr->place.
15913         (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
15914         team_cancelled and task_queued_count fields.
15915         (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
15916         before calling pthread_exit.
15917         (gomp_free_thread): No longer static.  Use
15918         gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
15919         (gomp_team_start): Add flags argument.  Set
15920         thr->thread_pool->threads_busy to nthreads immediately after creating
15921         new pool.  Use gomp_managed_threads_lock instead of
15922         gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
15923         (gomp_team_end): Use gomp_managed_threads_lock instead of
15924         gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
15925         of gomp_team_barrier_wait.  If team->team_cancelled, call
15926         gomp_fini_workshare on ws chain starting at team->work_shares_to_free
15927         rather than thr->ts.work_share.
15928         (initialize_team): Don't call gomp_sem_init here.
15929         * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
15930         caller.
15931         (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
15932         * env.c (gomp_global_icv): Add default_device_var, target_data and
15933         bind_var initializers.
15934         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
15935         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
15936         gomp_places_list_len): New variables.
15937         (parse_bind_var, parse_one_place, parse_places_var): New functions.
15938         (parse_affinity): Rewritten to construct OMP_PLACES list with unit
15939         sized places.
15940         (gomp_cancel_var): New global variable.
15941         (parse_int): New function.
15942         (handle_omp_display_env): New function.
15943         (initialize_env): Use it.  Initialize default_device_var.
15944         Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
15945         OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
15946         OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
15947         been successfully parsed (and call gomp_init_affinity in that case).
15948         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
15949         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
15950         omp_get_team_num, omp_is_initial_device): New functions.
15951         * libgomp.h: Include stdlib.h.
15952         (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
15953         Define.
15954         (struct target_mem_desc): Forward declare.
15955         (struct gomp_task_icv): Add default_device_var, target_data, bind_var
15956         and thread_limit_var fields.
15957         (gomp_get_num_devices): New prototype.
15958         (gomp_cancel_var): New extern decl.
15959         (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
15960         team_cancelled and task_queued_count fields.  Add comments about
15961         task_{,queued_,running_}count.
15962         (gomp_cancel_kind): New enum.
15963         (gomp_work_share_end_cancel): New prototype.
15964         (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
15965         copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
15966         and depend fields.
15967         (struct gomp_taskgroup): New type.
15968         (struct gomp_task_depend_entry,
15969         struct gomp_dependers_vec): New types.
15970         (gomp_finish_task): Free depend_hash if non-NULL.
15971         (struct gomp_team_state): Add place_partition_off
15972         and place_partition_len fields.
15973         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
15974         gomp_places_list_len): New extern decls.
15975         (struct gomp_thread): Add place field.
15976         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
15977         (gomp_init_thread_affinity): Add place argument.
15978         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
15979         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
15980         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
15981         gomp_affinity_init_level, gomp_affinity_print_place): New
15982         prototypes.
15983         (gomp_team_start): Add flags argument.
15984         (gomp_thread_limit_var, gomp_remaining_threads_count,
15985         gomp_remaining_threads_lock): Remove.
15986         (gomp_managed_threads_lock): New variable.
15987         (struct gomp_thread_pool): Add threads_busy field.
15988         (gomp_free_thread): New prototype.
15989         * task.c: Include hashtab.h.
15990         (hash_entry_type): New typedef.
15991         (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
15992         (gomp_init_task): Clear dependers, depend_hash, depend_count,
15993         copy_ctors_done and taskgroup fields.
15994         (GOMP_task): Add depend argument, handle depend clauses.  If
15995         gomp_team_barrier_cancelled or if it's taskgroup has been
15996         cancelled, don't queue or start new tasks.  Set copy_ctors_done
15997         field if needed.  Initialize taskgroup field.  If copy_ctors_done
15998         and already cancelled, don't discard the task.  If taskgroup is
15999         non-NULL, enqueue the task into taskgroup queue.  Increment
16000         num_children field in taskgroup.  Increment task_queued_count.
16001         (gomp_task_run_pre, gomp_task_run_post_remove_parent,
16002         gomp_task_run_post_remove_taskgroup): New inline functions.
16003         (gomp_task_run_post_handle_depend_hash,
16004         gomp_task_run_post_handle_dependers,
16005         gomp_task_run_post_handle_depend): New functions.
16006         (GOMP_taskwait): Use them.  If more than one new tasks
16007         have been queued, wake other threads if needed.
16008         (gomp_barrier_handle_tasks): Likewise.  If
16009         gomp_team_barrier_cancelled, don't start any new tasks, just free
16010         all tasks.
16011         (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
16012         * omp_lib.f90.in
16013         (omp_proc_bind_kind, omp_proc_bind_false,
16014         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
16015         omp_proc_bind_spread): New params.
16016         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16017         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16018         omp_get_team_num, omp_is_initial_device): New interfaces.
16019         (omp_get_dynamic, omp_get_nested, omp_in_parallel,
16020         omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
16021         omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
16022         omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
16023         omp_get_team_size, omp_get_active_level, omp_in_final): Remove
16024         useless use omp_lib_kinds.
16025         * omp.h.in (omp_proc_bind_t): New typedef.
16026         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16027         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16028         omp_get_team_num, omp_is_initial_device): New prototypes.
16029         * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
16030         through to gomp_team_start.
16031         (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
16032         GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
16033         Adjust gomp_parallel_loop_start callers.
16034         (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
16035         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
16036         GOMP_loop_end_cancel): New functions.
16037         (GOMP_parallel_end): Add ialias_redirect.
16038         * hashtab.h: New file.
16039         * libgomp.texi (Environment Variables): Minor cleanup,
16040         update section refs to OpenMP 4.0rc2.
16041         (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
16042         environment variables.
16043         * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
16044         team->work_shares_to_free to thr->ts.work_share before calling
16045         free_work_share.
16046         (gomp_work_share_end_cancel): New function.
16047         * config/linux/proc.c: Include errno.h.
16048         (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
16049         (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
16050         sizeof (cpu_set_t) to determine number of iterations.  Fix up check
16051         extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
16052         gomp_cpuset_size is sizeof (cpu_set_t).
16053         (gomp_init_num_threads): Initialize gomp_cpuset_size,
16054         gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
16055         of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
16056         to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
16057         contain any logical CPUs.
16058         (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
16059         is NULL.  Use gomp_cpusetp instead of &cpuset and pass
16060         gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
16061         pthread_getaffinity_np.  Check gomp_places_list instead of
16062         gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
16063         * config/linux/bar.c (gomp_barrier_wait_end,
16064         gomp_barrier_wait_last): Use BAR_* defines.
16065         (gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
16066         from state where needed.  Set work_share_cancelled to 0 on last
16067         thread.
16068         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
16069         gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
16070         functions.
16071         * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
16072         Add cpusetsize argument.
16073         (gomp_cpuset_size, gomp_cpusetp): Declare.
16074         * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
16075         (affinity_counter): Remove.
16076         (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
16077         if CPU_ALLOC_SIZE isn't defined.
16078         (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
16079         silently create OMP_PLACES=threads, if it is non-NULL afterwards,
16080         bind current thread to the first place.
16081         (gomp_init_thread_affinity): Rewritten.  Add place argument, just
16082         pthread_setaffinity_np to gomp_places_list[place].
16083         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16084         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16085         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16086         gomp_affinity_init_level, gomp_affinity_print_place): New functions.
16087         * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
16088         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
16089         (gomp_barrier_t): Add awaited_final field.
16090         (gomp_barrier_init): Initialize awaited_final field.
16091         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
16092         gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
16093         prototypes.
16094         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
16095         defines.
16096         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
16097         gomp_team_barrier_cancelled): New inline functions.
16098         (gomp_barrier_last_thread,
16099         gomp_team_barrier_set_task_pending,
16100         gomp_team_barrier_clear_task_pending,
16101         gomp_team_barrier_set_waiting_for_tasks,
16102         gomp_team_barrier_waiting_for_tasks,
16103         gomp_team_barrier_done): Use BAR_* defines.
16104         * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
16105         (gomp_barrier_wait_end): Use BAR_* defines.
16106         (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
16107         Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
16108         Use BAR_* defines.
16109         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
16110         gomp_team_barrier_cancel): New functions.
16111         * config/posix/affinity.c (gomp_init_thread_affinity): Add place
16112         argument.
16113         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16114         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16115         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16116         gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
16117         * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
16118         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
16119         (gomp_barrier_t): Add cancellable field.
16120         (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
16121         gomp_team_barrier_cancel): New prototypes.
16122         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
16123         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
16124         gomp_team_barrier_cancelled): New inline functions.
16125         (gomp_barrier_wait_start, gomp_barrier_last_thread,
16126         gomp_team_barrier_set_task_pending,
16127         gomp_team_barrier_clear_task_pending,
16128         gomp_team_barrier_set_waiting_for_tasks,
16129         gomp_team_barrier_waiting_for_tasks,
16130         gomp_team_barrier_done): Use BAR_* defines.
16131         * barrier.c (GOMP_barrier_cancel): New function.
16132         * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
16133         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
16134         omp_proc_bind_spread): New params.
16135         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16136         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16137         omp_get_team_num, omp_is_initial_device): New externals.
16138         * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
16139         New functions.
16140         (gomp_resolve_num_threads): Adjust for thread_limit now being in
16141         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
16142         infinity.  If not nested, just return minimum of max_num_threads
16143         and icv->thread_limit_var and if thr->thread_pool, set threads_busy
16144         to the returned value.  Otherwise, don't update atomically
16145         gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
16146         (GOMP_parallel_end): Adjust for thread_limit now being in
16147         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
16148         infinity.  Adjust threads_busy in the pool rather than
16149         gomp_remaining_threads_count.  Remember team->nthreads and call
16150         gomp_team_end before adjusting threads_busy, if not nested
16151         afterwards, just set it to 1 non-atomically.  Add ialias.
16152         (GOMP_parallel_start): Adjust gomp_team_start caller.
16153         * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
16154         * testsuite/libgomp.c/affinity-1.c: New test.
16155         * testsuite/libgomp.c/atomic-15.c: New test.
16156         * testsuite/libgomp.c/atomic-16.c: New test.
16157         * testsuite/libgomp.c/atomic-17.c: New test.
16158         * testsuite/libgomp.c/cancel-for-1.c: New test.
16159         * testsuite/libgomp.c/cancel-for-2.c: New test.
16160         * testsuite/libgomp.c/cancel-parallel-1.c: New test.
16161         * testsuite/libgomp.c/cancel-parallel-2.c: New test.
16162         * testsuite/libgomp.c/cancel-parallel-3.c: New test.
16163         * testsuite/libgomp.c/cancel-sections-1.c: New test.
16164         * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
16165         * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
16166         * testsuite/libgomp.c/depend-1.c: New test.
16167         * testsuite/libgomp.c/depend-2.c: New test.
16168         * testsuite/libgomp.c/depend-3.c: New test.
16169         * testsuite/libgomp.c/depend-4.c: New test.
16170         * testsuite/libgomp.c/for-1.c: New test.
16171         * testsuite/libgomp.c/for-1.h: New file.
16172         * testsuite/libgomp.c/for-2.c: New test.
16173         * testsuite/libgomp.c/for-2.h: New file.
16174         * testsuite/libgomp.c/for-3.c: New test.
16175         * testsuite/libgomp.c/pr58392.c: New test.
16176         * testsuite/libgomp.c/simd-1.c: New test.
16177         * testsuite/libgomp.c/simd-2.c: New test.
16178         * testsuite/libgomp.c/simd-3.c: New test.
16179         * testsuite/libgomp.c/simd-4.c: New test.
16180         * testsuite/libgomp.c/simd-5.c: New test.
16181         * testsuite/libgomp.c/simd-6.c: New test.
16182         * testsuite/libgomp.c/target-1.c: New test.
16183         * testsuite/libgomp.c/target-2.c: New test.
16184         * testsuite/libgomp.c/target-3.c: New test.
16185         * testsuite/libgomp.c/target-4.c: New test.
16186         * testsuite/libgomp.c/target-5.c: New test.
16187         * testsuite/libgomp.c/target-6.c: New test.
16188         * testsuite/libgomp.c/target-7.c: New test.
16189         * testsuite/libgomp.c/taskgroup-1.c: New test.
16190         * testsuite/libgomp.c/thread-limit-1.c: New test.
16191         * testsuite/libgomp.c/thread-limit-2.c: New test.
16192         * testsuite/libgomp.c/thread-limit-3.c: New test.
16193         * testsuite/libgomp.c/udr-1.c: New test.
16194         * testsuite/libgomp.c/udr-2.c: New test.
16195         * testsuite/libgomp.c/udr-3.c: New test.
16196         * testsuite/libgomp.c++/affinity-1.C: New test.
16197         * testsuite/libgomp.c++/atomic-10.C: New test.
16198         * testsuite/libgomp.c++/atomic-11.C: New test.
16199         * testsuite/libgomp.c++/atomic-12.C: New test.
16200         * testsuite/libgomp.c++/atomic-13.C: New test.
16201         * testsuite/libgomp.c++/atomic-14.C: New test.
16202         * testsuite/libgomp.c++/atomic-15.C: New test.
16203         * testsuite/libgomp.c++/cancel-for-1.C: New test.
16204         * testsuite/libgomp.c++/cancel-for-2.C: New test.
16205         * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
16206         * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
16207         * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
16208         * testsuite/libgomp.c++/cancel-sections-1.C: New test.
16209         * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
16210         * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
16211         * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
16212         * testsuite/libgomp.c++/cancel-test.h: New file.
16213         * testsuite/libgomp.c++/for-9.C: New test.
16214         * testsuite/libgomp.c++/for-10.C: New test.
16215         * testsuite/libgomp.c++/for-11.C: New test.
16216         * testsuite/libgomp.c++/simd-1.C: New test.
16217         * testsuite/libgomp.c++/simd-2.C: New test.
16218         * testsuite/libgomp.c++/simd-3.C: New test.
16219         * testsuite/libgomp.c++/simd-4.C: New test.
16220         * testsuite/libgomp.c++/simd-5.C: New test.
16221         * testsuite/libgomp.c++/simd-6.C: New test.
16222         * testsuite/libgomp.c++/simd-7.C: New test.
16223         * testsuite/libgomp.c++/simd-8.C: New test.
16224         * testsuite/libgomp.c++/target-1.C: New test.
16225         * testsuite/libgomp.c++/target-2.C: New test.
16226         * testsuite/libgomp.c++/target-2-aux.cc: New file.
16227         * testsuite/libgomp.c++/target-3.C: New test.
16228         * testsuite/libgomp.c++/taskgroup-1.C: New test.
16229         * testsuite/libgomp.c++/udr-1.C: New test.
16230         * testsuite/libgomp.c++/udr-2.C: New test.
16231         * testsuite/libgomp.c++/udr-3.C: New test.
16232         * testsuite/libgomp.c++/udr-4.C: New test.
16233         * testsuite/libgomp.c++/udr-5.C: New test.
16234         * testsuite/libgomp.c++/udr-6.C: New test.
16235         * testsuite/libgomp.c++/udr-7.C: New test.
16236         * testsuite/libgomp.c++/udr-8.C: New test.
16237         * testsuite/libgomp.c++/udr-9.C: New test.
16239 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
16241         PR testsuite/57605
16242         * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
16243         ALWAYS_CFLAGS.
16245 2013-09-20  Alan Modra  <amodra@gmail.com>
16247         * configure: Regenerate.
16249 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
16251         * testsuite/libgomp.c/sections-2.c: New test.
16253 2013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
16255         * testsuite/libgomp.fortran/strassen.f90:
16256         Add dg-skip-if aarch64_tiny.
16258 2013-06-20  Iain Sandoe  <iain@codesourcery.com>
16259             Cesar Philippidis  <cesar@codesourcery.com>
16261         * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
16262         Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
16263         * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
16264         * testsuite/libgomp.fortran/fortran.exp: Likewise.
16265         * testsuite/libgomp.graphite/graphite.exp: Likewise.
16266         * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
16267         Use dg-runtest rather than gfortran-dg-runtest.
16269 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
16271         * testsuite/libgomp.c/icv-2.c: Extend current handling of
16272         Linux-based x86 systems to cover all GNU systems.
16273         * testsuite/libgomp.c/lock-3.c: Likewise.
16274         * testsuite/libgomp.c/pr48591.c: Likewise.
16276 2013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
16278         * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
16279         GNU/Hurd, as done for Linux-based systems.
16281         * config/posix/ptrlock.h: Fix comment.
16283 2013-05-27  Tobias Burnus  <burnus@net-b.de>
16285         PR fortran/57423
16286         * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
16287         omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
16288         omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
16289         omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
16290         omp_destroy_nest_lock): Correct arguments to match the one in
16291         the OpenMP spec.
16292         * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
16293         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
16294         omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
16295         omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
16297 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
16299         * testsuite/libgomp.c/loop-13.c: New test.
16300         * testsuite/libgomp.c/loop-14.c: New test.
16301         * testsuite/libgomp.c/loop-15.c: New test.
16302         * testsuite/libgomp.c++/loop-13.C: New test.
16303         * testsuite/libgomp.c++/loop-14.C: New test.
16304         * testsuite/libgomp.c++/loop-15.C: New test.
16306 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
16308         PR middle-end/56217
16309         * testsuite/libgomp.c++/pr56217.C: New test.
16311 2013-02-01  Alan Modra  <amodra@gmail.com>
16313         * task.c (GOMP_task, GOMP_taskwait): Comment.
16315 2013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
16316             Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
16318         PR libgomp/55561
16319         * config/linux/wait.h (do_spin): Use atomic load for addr.
16320         * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
16321         for intptr and ptrlock.
16322         * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
16323         for ptrlock.
16325 2013-01-22  Alan Modra  <amodra@gmail.com>
16327         PR libgomp/51376
16328         PR libgomp/56073
16329         * task.c (GOMP_task): Revert 2011-12-09 change.
16330         (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
16331         barrier to read task->children..
16332         (gomp_barrier_handle_tasks): ..and matching atomic store with
16333         release barrier here when setting parent->children to NULL.
16335 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
16336             Tobias Burnus  <burnus@net-b.de>
16338         PR driver/55884
16339         * testsuite/libgomp.fortran/fortran.exp: Use
16340         -fintrinsic-modules-path= instead of
16341         -fintrinsic-modules-path.
16343 2013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
16345         Update copyright years.
16347 2012-12-19  Tobias Burnus  <burnus@net-b.de>
16349         * testsuite/libgomp.fortran/fortran.exp: Set
16350         -fintrinsic-modules-path.
16352 2012-12-19  Tobias Burnus  <burnus@net-b.de>
16354         * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
16355         from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
16357 2012-11-21  Jakub Jelinek  <jakub@redhat.com>
16359         PR libgomp/55411
16360         * team.c (gomp_free_thread): Decrease gomp_managed_threads
16361         if pool had any threads_used.
16363 2012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
16365         * testsuite/libgomp.c++/pr24455.C: Use
16366         -Wl,-undefined,dynamic_lookup on darwin.
16368 2012-11-07  David Edelsohn  <dje.gcc@gmail.com>
16370         * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
16372 2012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
16374         * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
16376 2012-10-23  Ian Bolton  <ian.bolton@arm.com>
16377             Jim MacArthur  <jim.macarthur@arm.com>
16378             Marcus Shawcroft  <marcus.shawcroft@arm.com>
16379             Nigel Stephens  <nigel.stephens@arm.com>
16380             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
16381             Richard Earnshaw  <rearnsha@arm.com>
16382             Sofiane Naci  <sofiane.naci@arm.com>
16383             Stephen Thomas  <stephen.thomas@arm.com>
16384             Tejas Belagod  <tejas.belagod@arm.com>
16385             Yufeng Zhang  <yufeng.zhang@arm.com>
16387         * configure.tgt: Add AArch64.
16389 2012-10-04  Jason Merrill  <jason@redhat.com>
16391         * testsuite/libgomp.c++/tls-init1.C: New.
16393 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
16395         * configure: Regenerated.
16397 2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
16399         * config/linux/mips/futex.h (sys_futex0): Change to static
16400         function with noinline, nomips16 attributes under MIPS16. Adjust
16401         asm statement to place 'li v0,SYS_futex' immediately before
16402         syscall insn.
16404 2012-07-04  Sandra Loosemore <sandra@codesourcery.com>
16406         * libgomp.texi (Library Index): Renamed from "Index" to prevent
16407         conflict with index.html on case-insensitive file systems.
16409 2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
16411         * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
16412         * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
16414 2012-07-02  Richard Guenther  <rguenther@suse.de>
16415             Michael Matz  <matz@suse.de>
16416             Tobias Grosser <tobias@grosser.es>
16417             Sebastian Pop <sebpop@gmail.com>
16419         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
16420         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
16421         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16422         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16424 2012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
16426         * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
16428 2012-06-22  Richard Guenther  <rguenther@suse.de>
16430         Merge from graphite branch
16431         2012-01-13  Tobias Grosser  <tobias@grosser.es>
16433         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
16434         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
16436 2012-06-07  Jakub Jelinek  <jakub@redhat.com>
16438         PR middle-end/53580
16439         * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
16440         use GOMP_barrier () call instead.
16441         * testsuite/libgomp.c/pr26943-3.c: Likewise.
16442         * testsuite/libgomp.c/pr26943-4.c: Likewise.
16443         * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
16444         call GOMP_barrier instead.
16445         * testsuite/libgomp.fortran/vla5.f90: Likewise.
16447 2012-06-06  Jakub Jelinek  <jakub@redhat.com>
16449         PR libgomp/52993
16450         * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
16451         argument to memset call.
16453 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
16455         * configure: Regenerated.
16457 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
16459         * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
16461 2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
16463         PR bootstrap/52812
16464         * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
16466 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
16468         PR middle-end/52547
16469         * testsuite/libgomp.c/pr52547.c: New test.
16471 2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
16473         * testsuite/lib/libgomp.exp: load fortran-modules.exp
16475 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16477         * configure.tgt (mips-sgi-irix6*): Remove.
16479 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16481         * configure.tgt (alpha*-dec-osf*): Remove.
16483         * config/osf/sem.h: Remove.
16484         * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
16486 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
16488         * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
16490 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16492         PR libstdc++/52188
16493         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
16494         Remove ENABLE_SYMVERS_SOL2.
16495         * configure: Regenerate.
16496         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
16497         (PREPROCESS): New variable.
16498         (libgomp.ver): New target.
16499         [LIBGOMP_BUILD_VERSIONED_SHLIB &&
16500         LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
16501         LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
16502         Use libgomp.ver.
16503         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
16504         * Makefile.in: Regenerate.
16506 2012-02-14  Walter Lee  <walt@tilera.com>
16508         * configure.tgt: Handle tilegx and tilepro.
16509         * config/linux/tile/futex.h: New file.
16511 2012-02-08  Richard Guenther  <rguenther@suse.de>
16513         PR tree-optimization/46886
16514         * testsuite/libgomp.c/pr46886.c: New testcase.
16516 2012-01-25  Matthias Klose  <doko@ubuntu.com>
16518         * config/linux/arm: Remove empty directory.
16519         * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
16521 2011-12-09  Alan Modra  <amodra@gmail.com>
16523         PR libgomp/51376
16524         * task.c (GOMP_taskwait): Don't access task->children outside of
16525         task_lock mutex region.
16526         (GOMP_task): Likewise.
16528 2011-12-06  Jakub Jelinek  <jakub@redhat.com>
16530         PR libgomp/51132
16531         * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
16532         to file scope.
16533         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
16534         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
16535         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16536         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16537         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
16539 2011-12-02  Alan Modra  <amodra@gmail.com>
16541         * config/linux/affinity.c: Use atomic rather than sync builtin.
16542         * config/linux/lock.c: Likewise.
16543         * config/linux/ptrlock.h: Likewise.
16544         * config/linux/ptrlock.c: Likewise.
16545         * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
16546         * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
16547         * config/linux/futex.h (atomic_write_barrier): Delete unused function.
16548         * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
16549         * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
16550         * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
16551         * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
16552         * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
16553         * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
16554         * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
16556 2011-11-30  Alan Modra  <amodra@gmail.com>
16558         PR libgomp/51298
16559         * config/linux/bar.h: Use atomic rather than sync builtins.
16560         * config/linux/bar.c: Likewise.  Add missing acquire
16561         synchronisation on generation field.
16562         * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
16563         double unlock.
16565 2011-11-30  Alan Modra  <amodra@gmail.com>
16567         * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
16568         * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
16569         * config/linux/mutex.h: Use atomic rather than sync builtins.
16570         * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
16571         * config/linux/omp-lock.h: Comment fix.
16572         * config/linux/arm/mutex.h: Delete.
16573         * config/linux/powerpc/mutex.h: Delete.
16574         * config/linux/ia64/mutex.h: Delete.
16575         * config/linux/mips/mutex.h: Delete.
16577 2011-11-30  Alan Modra  <amodra@gmail.com>
16579         PR libgomp/51249
16580         * config/linux/sem.h: Rewrite.
16581         * config/linux/sem.c: Rewrite.
16583 2011-11-28  Richard Henderson  <rth@redhat.com>
16585         * libgomp.h (enum memmodel): New.
16587 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
16589         * configure: Regenerate.
16591 2011-10-10  Matthias Klose  <doko@ubuntu.com>
16593         * config/posix95: Remove empty directory.
16595 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
16597         * testsuite/libgomp.fortran/threadprivate4.f90: New test.
16599 2011-08-19  Jakub Jelinek  <jakub@redhat.com>
16601         PR fortran/49792
16602         * testsuite/libgomp.fortran/pr49792-1.f90: New test.
16603         * testsuite/libgomp.fortran/pr49792-2.f90: New test.
16605 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16607         * config/posix95/lock.c, posix95/omp-lock.h: Remove.
16609 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16611         PR libgomp/49965
16612         * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
16614 2011-08-03  Uros Bizjak  <ubizjak@gmail.com>
16616         * config/linux/proc.h: New.
16617         * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
16618         (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
16619         (gomp_init_num_threads): Update call to cpuset_popcount.
16620         (get_num_procs): Ditto.
16621         * config/linux/affinity.c (gomp_init_affinity): Call
16622         gomp_cpuset_popcount.
16624 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
16626         PR fortran/42041
16627         PR fortran/46752
16628         * omp.h.in (omp_in_final): New prototype.
16629         * omp_lib.f90.in (omp_in_final): New interface.
16630         (omp_integer_kind, omp_logical_kind): Remove
16631         and replace all its uses in the module with 4.
16632         (openmp_version): Change to 201107.
16633         * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
16634         omp_sched_guided, omp_sched_auto): Use omp_sched_kind
16635         kind for the parameters.
16636         (omp_in_final): New external.
16637         (openmp_version): Change to 201107.
16638         * task.c (omp_in_final): New function.
16639         (gomp_init_task): Initialize final_task.
16640         (GOMP_task): Remove unused attribute from flags.  Handle final
16641         tasks.
16642         (GOMP_taskyield): New function.
16643         (omp_in_final): Return true if if (false) or final (true) task
16644         or descendant of final (true).
16645         * fortran.c (omp_in_final_): New function.
16646         * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
16647         (GOMP_3.0): Export GOMP_taskyield.
16648         * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
16649         variables.
16650         (parse_unsigned_long_list): New function.
16651         (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
16652         with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
16653         even if parse_affinity returned false.
16654         * config/linux/affinity.c (gomp_init_affinity): Handle
16655         gomp_cpu_affinity_len == 0.
16656         * libgomp_g.h (GOMP_taskyield): New prototype.
16657         * libgomp.h (struct gomp_task): Add final_task field.
16658         (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
16659         * team.c (gomp_team_start): Override new task's nthreads_var icv
16660         if list form OMP_NUM_THREADS has been used and it has value for
16661         the new nesting level.
16663         * testsuite/libgomp.c/atomic-11.c: New test.
16664         * testsuite/libgomp.c/atomic-12.c: New test.
16665         * testsuite/libgomp.c/atomic-13.c: New test.
16666         * testsuite/libgomp.c/atomic-14.c: New test.
16667         * testsuite/libgomp.c/reduction-6.c: New test.
16668         * testsuite/libgomp.c/task-5.c: New test.
16669         * testsuite/libgomp.c++/atomic-2.C: New test.
16670         * testsuite/libgomp.c++/atomic-3.C: New test.
16671         * testsuite/libgomp.c++/atomic-4.C: New test.
16672         * testsuite/libgomp.c++/atomic-5.C: New test.
16673         * testsuite/libgomp.c++/atomic-6.C: New test.
16674         * testsuite/libgomp.c++/atomic-7.C: New test.
16675         * testsuite/libgomp.c++/atomic-8.C: New test.
16676         * testsuite/libgomp.c++/atomic-9.C: New test.
16677         * testsuite/libgomp.c++/task-8.C: New test.
16678         * testsuite/libgomp.c++/reduction-4.C: New test.
16679         * testsuite/libgomp.fortran/allocatable7.f90: New test.
16680         * testsuite/libgomp.fortran/allocatable8.f90: New test.
16681         * testsuite/libgomp.fortran/crayptr3.f90: New test.
16682         * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
16683         * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
16684         * testsuite/libgomp.fortran/pointer1.f90: New test.
16685         * testsuite/libgomp.fortran/pointer2.f90: New test.
16686         * testsuite/libgomp.fortran/task4.f90: New test.
16688 2011-08-02  Tobias Burnus  <burnus@net-b.de>
16690         * libgomp.texi: Update OpenMP spec references to 3.1.
16691         (omp_in_final,OMP_PROC_BIND): New sections.
16692         (OMP_NUM_THREADS): Document that the value can be now a list.
16693         (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
16695 2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
16697         * config/linux/x86/futex.h: Check __x86_64__ instead of
16698         __LP64__.
16700 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
16702         PR middle-end/49897
16703         PR middle-end/49898
16704         * testsuite/libgomp.c/pr49897-1.c: New test.
16705         * testsuite/libgomp.c/pr49897-2.c: New test.
16706         * testsuite/libgomp.c/pr49898-1.c: New test.
16707         * testsuite/libgomp.c/pr49898-2.c: New test.
16709 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
16711         * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
16712         for ia32 instead of ilp32.
16714         * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
16715         * testsuite/libgomp.c/atomic-6.c: Likewise.
16717 2011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
16719         * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
16720         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
16722 2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16724         PR libgomp/45351
16725         * config/osf/sem.h: New file.
16726         * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
16728 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16730         PR target/49541
16731         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
16732         ldflags.
16734 2011-07-15  Jakub Jelinek  <jakub@redhat.com>
16736         * config/linux/wait.h (do_spin): New inline, largely copied
16737         from do_wait, just don't do futex_wait here, instead return true if
16738         it should be done.
16739         (do_wait): Implement using do_spin.
16740         * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
16741         to prototype.
16742         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
16743         __sync_bool_compare_and_swap, pass the oldval to
16744         gomp_mutex_lock_slow.
16745         * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
16746         If all mutex contenders are just spinning and not sleeping, don't
16747         change state to 2 unnecessarily.  Optimize the loop when state has
16748         already become 2 to use just one atomic operation per loop instead
16749         of two.
16750         * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
16751         to prototype.
16752         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
16753         __sync_bool_compare_and_swap, pass the oldval to
16754         gomp_mutex_lock_slow.
16756 2011-06-22  Jakub Jelinek  <jakub@redhat.com>
16758         PR libgomp/49490
16759         * iter.c (gomp_iter_static_next): For chunk size 0
16760         only use n ceil/ nthreads size for the first
16761         n % nthreads threads in the team instead of
16762         all threads except for the last few ones which
16763         get less work or none at all.
16764         * iter_ull.c (gomp_iter_ull_static_next): Likewise.
16765         * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
16766         chunk argument, set run_sched_modifier to 0 for static
16767         resp. 1 for other kinds.  If chunk argument is 0
16768         and not static, set value to 1.
16770 2011-05-19  Jakub Jelinek  <jakub@redhat.com>
16772         PR c++/49043
16773         * testsuite/libgomp.c++/pr49043.C: New test.
16775         PR c++/48869
16776         * testsuite/libgomp.c++/pr48869.C: New test.
16778 2011-05-06  Jakub Jelinek  <jakub@redhat.com>
16780         PR fortran/48894
16781         * fortran.c: Include limits.h.
16782         (TO_INT): Define.
16783         (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
16784         *set.
16785         (omp_set_num_threads_8_, omp_set_schedule_8_,
16786         omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
16787         omp_get_team_size_8_): Use TO_INT macro.
16788         * testsuite/libgomp.fortran/pr48894.f90: New test.
16790 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
16792         PR middle-end/48591
16793         * testsuite/libgomp.c/pr48591.c: New test.
16795 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16797         PR bootstrap/48135
16798         * acinclude.m4 (enable_symvers): Handle --disable-symvers.
16799         * configure: Regenerate.
16801 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
16803         PR fortran/47886
16804         * testsuite/libgomp.fortran/task3.f90: New test.
16806 2011-02-24  Tobias Burnus  <burnus@net-b.de>
16808         * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
16810 2011-02-23  Jakub Jelinek  <jakub@redhat.com>
16812         PR libgomp/47854
16813         * libgomp.texi (omp_get_wtime): Don't say time in the past
16814         must be Unix Epoch.
16816 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
16818         PR libgomp/47804
16819         * testsuite/libgomp.fortran/fortran.exp: Check for both
16820         libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
16821         but $blddir != "", still append ${blddir}/${lang_library_path}
16822         to ld_library_path.
16824 2011-02-16  Tobias Burnus  <burnus@net-b.de>
16826         PR libgomp/47758
16827         * testsuite/libgomp.fortran/fortran.exp: Check for the existence
16828         of libquadmath.a before adding its libpath to ldflags.
16830 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
16832         PR libgomp/47731
16833         * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
16834         to FUTEX_WAIT futex syscall.
16835         * config/linux/wait.h: Include <futex.h> instead of "futex.h".
16837 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16839         * configure: Regenerate.
16841 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
16843         PR libstdc++/36104
16844         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
16846 2011-01-16  Gerald Pfeifer
16848         * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
16850 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
16852         PR fortran/46874
16853         * libgomp.fortran/allocatable6.f90: New test.
16855 2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16857         * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
16858         * configure: Regenerate.
16860 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
16862         PR target/40125
16863         PR lto/46695
16864         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
16865         * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
16866         * aclocal.m4: Regenerate.
16867         * configure: Regenerate.
16868         * Makefile.in: Regenerate.
16869         * testsuite/Makefile.in: Regenerate.
16871 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
16873         PR fortran/46753
16874         * libgomp.fortran/pr46753.f90: New test.
16876         PR libgomp/43706
16877         * env.c (initialize_env): Default to spin count 300000
16878         instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
16879         is specified.
16881         PR libgomp/45240
16882         * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
16883         at the end if sync builtins aren't supported.
16885 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16887         * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
16889 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16891         * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
16893 2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
16895         * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
16897 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
16898             Tobias Burnus  <burnus@net-b.de>
16900         PR fortran/32049
16901         * configure.ac:
16902         * configure: Regenerate.
16904 2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
16906         * config/linux/futex.h: New.
16907         * config/linux/arm/mutex.h: New.
16908         * configure.tgt (arm*-*-linux*): Add config path.
16910 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
16912         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
16914 2010-09-23  Tobias Burnus  <burnus@net-b.de>
16916         * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
16917         Change Fortran datatype to LOGICAL.
16918         (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
16919         omp_unset_nested_lock): Use intent(inout) instead of intent(out).
16921 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16923         * configure: Regenerate.
16925 2010-07-26  Jakub Jelinek  <jakub@redhat.com>
16927         * libgomp.texi: Add function keyword to a couple of Fortran
16928         interfaces, use integer instead of int for Fortran.
16930 2010-07-26  Aldy Hernandez  <aldyh@redhat.com>
16932         * libgomp.texi: Fix spelling and pasto problems throughout.
16933         Adjust prototypes to match code.
16935 2010-07-24  Tobias Burnus  <burnus@net-b.de>
16937         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
16938         silence -fwhole-file warning.
16940 2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16942         * configure.tgt (*-*-solaris2.[56]*): Removed.
16944 2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16946         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
16947         Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
16948         LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
16949         (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
16950         targetting solaris2*.
16951         * configure: Regenerate.
16952         * config.h.in: Regenerate.
16954         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
16955         libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
16956         Add libgomp_version_dep.
16957         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
16958         versioning.
16959         [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
16960         (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
16961         * Makefile.in: Regenerate.
16963         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
16964         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
16965         * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
16966         to common block, protected by
16967         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
16969 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
16971         * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
16973 2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
16975         PR bootstrap/43170
16976         * configure: Regenerate.
16978 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16980         PR other/43620
16981         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
16982         * configure: Regenerate.
16983         * Makefile.in: Regenerate.
16984         * testsuite/Makefile.in: Regenerate.
16986 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
16988         PR c/43893
16989         * testsuite/libgomp.c/pr43893.c: New test.
16990         * testsuite/libgomp.c++/pr43893.C: New test.
16992 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
16994         PR middle-end/43570
16995         * testsuite/libgomp.fortran/vla8.f90: New test.
16997 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
16999         PR libgomp/43706
17000         * config/linux/affinity.c (gomp_init_affinity): Decrease
17001         gomp_available_cpus if affinity mask confines the process to fewer
17002         CPUs.
17003         * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
17004         non-NULL, just return gomp_available_cpus.
17006         PR libgomp/43569
17007         * sections.c (gomp_sections_init): Initialize ws->mode.
17009 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
17011         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
17012         not unused bar variable.
17013         * configure: Regenerate.
17015 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17017         * Makefile.in: Regenerate.
17018         * aclocal.m4: Regenerate.
17019         * testsuite/Makefile.in: Regenerate.
17021 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
17023         PR libgomp/42942
17024         * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
17025         (initialize_env): Adjust callers.
17026         (omp_set_max_active_levels): Set gomp_max_active_levels_var even
17027         when the argument is 0.
17029         * testsuite/libgomp.c/pr42942.c: New test.
17031 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
17033         PR middle-end/42644
17034         PR middle-end/42130
17035         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17036         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
17038 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17040         * testsuite/libgomp.c++/task-1.C: Renamed err to e.
17041         * testsuite/libgomp.c++/task-6.C: Likewise.
17043 2010-01-28  Steve Ellcey  <sje@cup.hp.com>
17045         * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
17047 2010-01-26  Paolo Bonzini  <bonzini@gnu.org>
17049         * configure.ac: Test for executability of _the first word_ of GFORTRAN.
17050         * configure: Regenerate.
17052 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
17054         PR fortran/42866
17055         * testsuite/libgomp.fortran/allocatable5.f90: New test.
17057 2010-01-20  Paolo Bonzini  <bonzini@gnu.org>
17059         * configure.ac: Test for executability of GFORTRAN.
17060         * configure: Regenerate.
17062 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17064         * configure: Regenerate.
17066 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
17068         PR libgomp/42602
17069         * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
17071 2010-01-03  Richard Guenther  <rguenther@suse.de>
17073         * testsuite/libgomp.fortran/recursion1.f90: New testcase.
17075 2009-12-23  Sebastian Pop  <sebpop@gmail.com>
17077         * testsuite/libgomp.graphite/pr4118.c: New.
17079 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
17081         * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
17082         for darwin, protect the test with require-effective-target tls_runtime.
17083         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
17085 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
17087         PR target/41605
17088         * testsuite/lib/libgomp.exp: Provide -B options to allow for
17089         link spec %s substitutions for static libraries.
17091 2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
17093         PR testsuite/42135
17094         * libgomp.graphite/force-parallel-2.c: Reduce array size.
17096 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17098         * Makefile.in: Regenerate.
17099         * configure: Regenerate.
17100         * testsuite/Makefile.in: Regenerate.
17102 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
17104         * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
17105         settings for LC_ALL and LANG.
17107 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
17109         PR fortran/42162
17110         * testsuite/libgomp.fortran/pr42162.f90: New test.
17112 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
17114         PR middle-end/42029
17115         * testsuite/libgomp.c/pr42029.c: New test.
17117 2009-10-26  Jakub Jelinek  <jakub@redhat.com>
17119         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
17120         *s.  Accept ld version without text in ()s.
17121         * configure: Regenerated.
17123 2009-10-22  Razya Ladelsky  <razya@il.ibm.com>
17125         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
17127 2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17129         PR libgomp/41418
17130         * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
17131         or a hyphen (happens with fortran language disabled).
17132         * configure: Regenerate.
17134 2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17136         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
17137         use sed script portable to Solaris /bin/sed for extracting ld
17138         version.
17139         * configure: Regenerate.
17141 2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
17143         * testsuite/libgomp.graphite/bounds.c: New test.
17145 2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17147         * Makefile.am (libgomp_la_LINK): New.
17148         * Makefile.in: Regenerate.
17150 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17152         * configure.ac (AC_PREREQ): Bump to 2.64.
17154 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17156         * Makefile.am (install-html, install-pdf): Remove.
17157         * Makefile.in: Regenerate.
17159         * Makefile.in: Regenerate.
17160         * aclocal.m4: Regenerate.
17161         * config.h.in: Regenerate.
17162         * configure: Regenerate.
17163         * testsuite/Makefile.in: Regenerate.
17165 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17167         * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
17168         * Makefile.in: Regenerate.
17170 2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
17172         * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
17173         * Makefile.in: Regenerate.
17175 2009-08-19  Tobias Burnus  <burnus@net-b.de>
17177         PR fortran/41102
17178         omp_lib.h.in: Fix -std=f95 errors.
17180 2009-08-14  David Edelsohn  <edelsohn@gnu.org>
17182         * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
17183         * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
17184         * testsuite/libgomp.graphite/graphite.exp: New.
17186 2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
17188         * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
17189         only build.
17191 2009-08-04  David Daney  <ddaney@caviumnetworks.com>
17193         * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
17194         needed memory barrier semantics.
17195         * config/linux/mips/mutex.h: New file.
17197 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17199         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
17201 2009-07-16  Joseph Myers  <joseph@codesourcery.com>
17203         * configure: Regenerate.
17205 2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
17207         PR testsuite/40699
17208         PR testsuite/40707
17209         PR testsuite/40709
17210         * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
17211         * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
17212         testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
17214 2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
17216         * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
17217         options when choosing a multilib.
17219 2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
17221         * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
17222         ld_library_path.  Use add_path.  Add just find_libgcc_s to
17223         ld_library_path, not every libgcc multilib directory.
17224         * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
17225         gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
17226         * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
17227         Use add_path.
17228         * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
17230 2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
17232         * Makefile.am (LTLDFLAGS): Define.
17233         (LINK): Define.
17234         * Makefile.in: Regenerate.
17236 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
17238         PR fortran/39718
17239         * testsuite/libgomp.fortran/fortran.exp: Don't link with
17240         libgfortranbegin, check existence of libgfortran.a instead of
17241         libgfortranbegin.a.
17243 2009-05-20  Jakub Jelinek  <jakub@redhat.com>
17245         PR libgomp/40174
17246         * team.c (gomp_thread_start): Destroy thr->release semaphore.
17247         (gomp_free_pool_helper): Likewise.
17249 2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
17250             Jakub Jelinek  <jakub@redhat.com>
17252         PR fortran/35423
17253         * testsuite/libgomp.fortran/workshare2.f90: New test.
17255 2009-04-09  Nick Clifton  <nickc@redhat.com>
17257         * iter.c: Change copyright header to refer to version 3 of the
17258         GNU General Public License with version 3.1 of the GCC Runtime
17259         Library Exception and to point readers at the COPYING3 and
17260         COPYING3.RUNTIME files and the FSF's license web page.
17261         * alloc.c: Likewise.
17262         * barrier.c: Likewise.
17263         * config/bsd/proc.c: Likewise.
17264         * config/linux/affinity.c: Likewise.
17265         * config/linux/alpha/futex.h: Likewise.
17266         * config/linux/bar.c: Likewise.
17267         * config/linux/bar.h: Likewise.
17268         * config/linux/ia64/futex.h: Likewise.
17269         * config/linux/ia64/mutex.h: Likewise.
17270         * config/linux/lock.c: Likewise.
17271         * config/linux/mips/futex.h: Likewise.
17272         * config/linux/mutex.c: Likewise.
17273         * config/linux/mutex.h: Likewise.
17274         * config/linux/powerpc/futex.h: Likewise.
17275         * config/linux/proc.c: Likewise.
17276         * config/linux/ptrlock.c: Likewise.
17277         * config/linux/ptrlock.h: Likewise.
17278         * config/linux/s390/futex.h: Likewise.
17279         * config/linux/sem.c: Likewise.
17280         * config/linux/sem.h: Likewise.
17281         * config/linux/sparc/futex.h: Likewise.
17282         * config/linux/wait.h: Likewise.
17283         * config/linux/x86/futex.h: Likewise.
17284         * config/mingw32/proc.c: Likewise.
17285         * config/mingw32/time.c: Likewise.
17286         * config/posix/affinity.c: Likewise.
17287         * config/posix/bar.c: Likewise.
17288         * config/posix/bar.h: Likewise.
17289         * config/posix/lock.c: Likewise.
17290         * config/posix/mutex.h: Likewise.
17291         * config/posix/proc.c: Likewise.
17292         * config/posix/ptrlock.h: Likewise.
17293         * config/posix/sem.c: Likewise.
17294         * config/posix/sem.h: Likewise.
17295         * config/posix/time.c: Likewise.
17296         * config/posix95/lock.c: Likewise.
17297         * critical.c: Likewise.
17298         * env.c: Likewise.
17299         * error.c: Likewise.
17300         * fortran.c: Likewise.
17301         * iter_ull.c: Likewise.
17302         * libgomp.h: Likewise.
17303         * libgomp_f.h.in: Likewise.
17304         * libgomp_g.h: Likewise.
17305         * loop.c: Likewise.
17306         * loop_ull.c: Likewise.
17307         * omp.h.in: Likewise.
17308         * omp_lib.f90.in: Likewise.
17309         * omp_lib.h.in: Likewise.
17310         * ordered.c: Likewise.
17311         * parallel.c: Likewise.
17312         * sections.c: Likewise.
17313         * single.c: Likewise.
17314         * task.c: Likewise.
17315         * team.c: Likewise.
17316         * work.c: Likewise.
17318 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
17320         * testsuite/config/default.exp: Change copyright header to refer to
17321         version 3 of the GNU General Public License and to point readers
17322         at the COPYING3 file and the FSF's license web page.
17324 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
17326         PR middle-end/39573
17327         * libgomp.c++/pr39573.C: New test.
17329 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
17331         PR other/39591
17332         * testsuite/libgomp.c/pr39591-1.c: New test.
17333         * testsuite/libgomp.c/pr39591-2.c: New test.
17334         * testsuite/libgomp.c/pr39591-3.c: New test.
17336 2009-03-25  Uros Bizjak  <ubizjak@gmail.com>
17338         * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
17339         * testsuite/libgomp.c/atomic-6.c: Ditto.
17341 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
17343         PR c/39495
17344         * testsuite/libgomp.c/loop-12.c: New test.
17345         * testsuite/libgomp.c/loop-11.c: New test.
17346         * testsuite/libgomp.c++/loop-11.C: New test.
17347         * testsuite/libgomp.c++/loop-12.C: New test.
17348         * testsuite/libgomp.c++/for-8.C: New test.
17350 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17352         * configure: Regenerate.
17354 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
17356         PR middle-end/39154
17357         * testsuite/libgomp.c/pr39154.c: New test.
17359 2009-01-30  Ian Lance Taylor  <iant@google.com>
17361         * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
17362         libgomp_ld_is_gold.  Get gold version number.
17363         (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
17364         * configure: Rebuild.
17366 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
17368         * testsuite/lib/libgomp.exp: Add -B option for targets that
17369         use libgfortran.a%s in their specs.
17371 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
17373         PR libgomp/38086
17374         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
17375         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
17376         HAVE_AS_SYMVER_DIRECTIVE is not defined.
17377         * configure: Regenerated.
17378         * config.h.in: Likewise.
17380 2008-12-28  Jakub Jelinek  <jakub@redhat.com>
17382         PR c++/38650
17383         * testsuite/libgomp.c/pr38650.c: New test.
17384         * testsuite/libgomp.c++/pr38650.C: New test.
17386 2008-12-27  Jakub Jelinek  <jakub@redhat.com>
17388         * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
17390 2008-12-26  Uros Bizjak  <ubizjak@gmail.com>
17392         * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
17394 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17396         * configure: Regenerate.
17398 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
17400         PR middle-end/36802
17401         * testsuite/libgomp.c/pr36802-1.c: New test.
17402         * testsuite/libgomp.c/pr36802-2.c: New test.
17403         * testsuite/libgomp.c/pr36802-3.c: New test.
17405 2008-12-01  Janis Johnson  <janis187@us.ibm.com>
17407         PR libgomp/38270
17408         * config/linux/powerpc/mutex.h: New.
17410 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
17412         PR c++/38257
17413         * testsuite/libgomp.c++/for-7.C: New test.
17415         PR c++/38348
17416         * testsuite/libgomp.c++/for-6.C: New test.
17418 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
17420         PR testsuite/28870
17421         * testsuite/lib/libgomp.exp: Include new timeout library files.
17422         (libgomp_target_compile): Set timeout value from new proc.
17424 2008-11-13  Steve Ellcey  <sje@cup.hp.com>
17426         PR libgomp/37938
17427         * config/linux/ia64/mutex.h: New.
17429 2008-11-04  Tobias Burnus  <burnus@net-b.de>
17431         PR libgomp/37935
17432         * libgomp.texi (Runtime library routines, environment variables):
17433         Update for OpenMP version 3.0.
17435 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
17436             Steve Ellcey  <sje@cup.hp.com>
17438         * configure: Regenerate for new libtool.
17439         * Makefile.in: Ditto.
17440         * testsuite/Makefile.in: Ditto.
17442 2008-09-19  Jakub Jelinek  <jakub@redhat.com>
17443             Andreas Tobler  <a.tobler@schweiz.org>
17445         * config/bsd/proc.c: New file.
17446         * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
17447         * configure.ac: Check for header <sys/sysctl.h>
17448         * configure: Regenerate.
17449         * config.h.in: Likewise.
17451 2008-09-05  Janis Johnson  <janis187@us.ibm.com>
17453         * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
17455 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
17457         * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
17458         * Makefile.in: Regenerated.
17459         * testsuite/Makefile.in: Regenerated.
17461 2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
17463         * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
17464         depend on blddir if blddir exists.
17465         (libgomp_target_compile): Likewise.
17466         * testsuite/libgomp.c++/c++.exp: Likewise.
17467         * testsuite/libgomp.fortran/fortran.exp: Likewise.
17469 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17471         * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
17472         Do not list GPL as Invariant Section.
17474 2008-07-28  Ilie Garbacea  <ilie@mips.com>
17475             Chao-ying Fu  <fu@mips.com>
17477         * configure.tgt: Enable futex for MIPS.
17478         * config/linux/mips/futex.h: New file.
17480 2008-07-16  Jakub Jelinek  <jakub@redhat.com>
17482         * team.c (gomp_team_end): Free team immediately if it has
17483         just one thread.
17485 2008-07-08  David Edelsohn  <edelsohn@gnu.org>
17487         * testsuite/libgomp.c++/c++.exp: Append multilib library path.
17488         * testsuite/libgomp.fortran/fortran.exp: Same.
17489         * testsuite/libgomp.c/c.exp: Same.
17490         * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
17491         directory to library path first.
17493 2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
17495         * env.c (parse_stacksize): Add cast to avoid warning.
17496         (parse_spincount): Likewise.
17498 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
17500         * testsuite/libgomp.c/loop-10.c: New test.
17501         * libgomp.c/loop-3.c (main): Add lastprivate clause.
17502         * libgomp.c++/loop-6.C (main): Likewise.
17504         PR debug/36617
17505         * testsuite/libgomp.c/debug-1.c: New test.
17507 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
17509         * testsuite/libgomp.c/nqueens-1.c: New test.
17511         PR c++/36523
17512         * testsuite/libgomp.c++/task-7.C: New function.
17514 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17516         * configure: Regenerate.
17518 2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
17520         * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
17521         mutex when HAVE_SYNC_BUILTINS isn't defined.
17523 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17525         * libgomp.texi (omp_test_lock): Fix typo.
17527 2008-06-12  Tobias Burnus  <burnus@net-b.de>
17529         * omp_lib.f90.in: Add "implicit none".
17531 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
17533         PR middle-end/36506
17534         * testsuite/libgomp.c/reduction-5.c: New test.
17536 2008-06-11  Jakub Jelinek  <jakub@redhat.com>
17538         * libgomp.h (struct gomp_task): Add in_tied_task field.
17539         * task.c (gomp_init_task): Initialize it.
17540         (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
17541         unconditionally.  Don't call gomp_team_barrier_wake if
17542         current task is implicit or if(0) from implicit and number of
17543         running tasks is equal to nthreads - 1.
17545         PR libgomp/36471
17546         * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
17547         omp_get_team_size_8): Fix pastos.
17549         PR libgomp/36469
17550         * configure.ac: Add AC_CHECK_FUNCS (strtoull).
17551         * configure: Regenerated.
17552         * config.h.in: Regenerated.
17553         * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
17554         defined.
17556 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
17558         PR bootstrap/36452
17559         * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
17560         (GOMP_loop_ull_dynamic_start): Likewise.
17561         (GOMP_loop_ull_guided_start): Likewise.
17562         (GOMP_loop_ull_ordered_static_start): Likewise.
17563         (GOMP_loop_ull_ordered_dynamic_start): Likewise.
17564         (GOMP_loop_ull_ordered_guided_start): Likewise.
17566 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
17567             Richard Henderson  <rth@redhat.com>
17568             Ulrich Drepper  <drepper@redhat.com>
17569             Jakob Blomer  <jakob.blomer@ira.uka.de>
17571         * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
17572         Substitute also OMP_*LOCK_25*.
17573         * configure: Regenerated.
17574         * config.h.in: Regenerated.
17575         * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
17576         ptrlock.c and task.c.
17577         * Makefile.in: Regenerated.
17578         * testsuite/Makefile.in: Regenerated.
17579         * task.c: New file.
17580         * loop_ull.c: New file.
17581         * iter_ull.c: New file.
17582         * libgomp.h: Include ptrlock.h.
17583         (enum gomp_task_kind): New type.
17584         (struct gomp_team): Add task_lock, task_queue, task_count,
17585         task_running_count, single_count fields.  Add
17586         work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
17587         Remove work_share_lock, generation_mask,
17588         oldest_live_gen, num_live_gen and init_work_shares fields, add
17589         work work_share_list_alloc, work_share_list_free and work_share_chunk
17590         fields.  Change work_shares from pointer to pointers into an array.
17591         Change ordered_release field into gomp_sem_t ** from flexible array
17592         member.  Add implicit_task and initial_work_shares fields.
17593         Move close to the end of the struct.
17594         (struct gomp_team_state): Add single_count, last_work_share,
17595         active_level and level fields, remove work_share_generation.
17596         (gomp_barrier_handle_tasks): New prototype.
17597         (gomp_finish_task): New inline function.
17598         (struct gomp_work_share): Move chunk_size, end, incr into
17599         transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
17600         next_ll fields.  Reshuffle fields.  Add next_alloc,
17601         next_ws, next_free and inline_ordered_team_ids fields, change
17602         ordered_team_ids into pointer from flexible array member.
17603         Add mode field.  Put lock and next into a different cache line
17604         from most of the write-once fields.
17605         (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
17606         gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
17607         gomp_iter_ull_guided_next): New prototypes.
17608         (gomp_new_icv): New prototype.
17609         (struct gomp_thread): Add thread_pool and task fields.
17610         (struct gomp_thread_pool): New type.
17611         (gomp_new_team): New prototype.
17612         (gomp_team_start): Change type of last argument.
17613         (gomp_new_work_share): Removed.
17614         (gomp_init_work_share, gomp_fini_work_share): New prototypes.
17615         (gomp_work_share_init_done): New static inline.
17616         (gomp_throttled_spin_count_var, gomp_available_cpus,
17617         gomp_managed_threads): New extern decls.
17618         (gomp_init_task): New prototype.
17619         (gomp_spin_count_var): New extern var decl.
17620         (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
17621         or no alias support, or if not PIC.
17622         (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
17623         gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
17624         gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
17625         gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
17626         gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
17627         gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
17628         gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
17629         gomp_test_nest_lock_25): New prototypes.
17630         (omp_lock_symver, strong_alias): Define.
17631         (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
17632         decls.
17633         (gomp_end_task): New.
17634         (struct gomp_task_icv, gomp_global_icv): New.
17635         (gomp_thread_limit_var, gomp_max_active_levels_var): New.
17636         (struct gomp_task): New.
17637         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
17638         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
17639         (gomp_icv): New.
17640         (gomp_schedule_type): Reorder enum to match
17641         omp_sched_t.
17642         * team.c (struct gomp_thread_start_data): Add thread_pool and task
17643         fields.
17644         (gomp_thread_start): Add gomp_team_barrier_wait call.
17645         For non-nested case remove clearing of docked thread thr fields.
17646         Use pool fields instead of global gomp_* variables.  Use
17647         gomp_barrier_wait_last when needed.  Initialize ts.active_level.
17648         Create tasks for each member thread.
17649         (free_team): Only destroy team barrier, task_lock here and free it.
17650         (gomp_free_thread): Free last_team if non-NULL.
17651         (gomp_team_end): Call gomp_team_barrier_wait instead of
17652         gomp_barrier_wait.  For nested case call one extra
17653         gomp_barrier_wait.  Move here some destruction from free_team.
17654         Call free_team on pool->last_team if any, rather than freeing
17655         current team.  Destroy work_share_list_free_lock ifndef
17656         HAVE_SYNC_BUILTINS.
17657         (gomp_new_icv): New function.
17658         (gomp_threads, gomp_threads_size, gomp_threads_used,
17659         gomp_threads_dock): Removed.
17660         (gomp_thread_destructor): New variable.
17661         (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
17662         functions.
17663         (gomp_team_start): Create new pool if current thread doesn't have
17664         one.  Use pool fields instead of global gomp_* variables.
17665         Initialize thread_pool field for new threads.  Clear single_count.
17666         Change last argument from ws to team, don't create
17667         new team, set ts.work_share to &team->work_shares[0] and clear
17668         ts.last_work_share.  Don't clear ts.work_share_generation.
17669         If number of threads changed, adjust atomically gomp_managed_threads.
17670         Use gomp_init_task instead of gomp_new_task,
17671         set thr->task to the corresponding implicit_task array entry.
17672         Create tasks for each member thread.  Initialize ts.level.
17673         (initialize_team): Call pthread_key_create on
17674         gomp_thread_destructor.
17675         (team_destructor): New function.
17676         (new_team): Removed.
17677         (gomp_new_team): New function.
17678         (free_team): Free gomp_work_share blocks chained through next_alloc,
17679         instead of freeing work_shares and destroying work_share_lock.
17680         (gomp_team_end): Call gomp_fini_work_share.  If number of threads
17681         changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
17682         * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
17683         of gomp_barrier_wait.
17684         * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
17685         instead of gomp_barrier_wait.  Call gomp_work_share_init_done
17686         if gomp_work_share_start returned true.  Don't unlock ws->lock.
17687         (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
17688         of gomp_barrier_wait.
17689         (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
17690         gomp_work_share_init_done if gomp_work_share_start returned true.
17691         Don't unlock ws->lock.
17692         * work.c: Include stddef.h.
17693         (free_work_share): Use work_share_list_free_lock instead
17694         of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
17695         Call gomp_fini_work_share and then either free ws if orphaned, or
17696         put it into work_share_list_free list of the current team.
17697         (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
17698         functions.
17699         (gomp_work_share_start, gomp_work_share_end,
17700         gomp_work_share_end_nowait): Rewritten.
17701         * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
17702         (openmp_version): Set to 200805.
17703         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
17704         omp_sched_guided, omp_sched_auto): New parameters.
17705         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
17706         omp_set_max_active_levels, omp_get_max_active_levels,
17707         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
17708         omp_get_active_level): New interfaces.
17709         * omp_lib.h.in (openmp_version): Set to 200805.
17710         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
17711         omp_sched_guided, omp_sched_auto): New parameters.
17712         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
17713         omp_set_max_active_levels, omp_get_max_active_levels,
17714         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
17715         omp_get_active_level): New externals.
17716         * loop.c: Include limits.h.
17717         (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
17718         GFS_AUTO.
17719         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
17720         Likewise.  Use gomp_icv.
17721         (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
17722         ts.static_trip here.
17723         (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
17724         gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
17725         (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
17726         gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
17727         don't unlock ws->lock, otherwise lock it.
17728         (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
17729         gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
17730         (gomp_parallel_loop_start): Call gomp_new_team instead of
17731         gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
17732         Adjust gomp_team_start caller.  Pass 0 as second argument to
17733         gomp_resolve_num_threads.
17734         (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
17735         If adding ws->chunk_size nthreads + 1 times after end won't
17736         overflow, set ws->mode to 1.
17737         * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
17738         GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
17739         GOMP_loop_ull_ordered_static_start,
17740         GOMP_loop_ull_ordered_dynamic_start,
17741         GOMP_loop_ull_ordered_guided_start,
17742         GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
17743         GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
17744         GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
17745         GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
17746         GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
17747         prototypes.
17748         * libgomp.map: Export lock routines also @@OMP_2.0.
17749         (GOMP_loop_ordered_dynamic_first,
17750         GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
17751         GOMP_loop_ordered_static_first): Remove.
17752         (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
17753         GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
17754         GOMP_loop_ull_ordered_dynamic_next,
17755         GOMP_loop_ull_ordered_dynamic_start,
17756         GOMP_loop_ull_ordered_guided_next,
17757         GOMP_loop_ull_ordered_guided_start,
17758         GOMP_loop_ull_ordered_runtime_next,
17759         GOMP_loop_ull_ordered_runtime_start,
17760         GOMP_loop_ull_ordered_static_next,
17761         GOMP_loop_ull_ordered_static_start,
17762         GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
17763         GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
17764         GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
17765         (omp_set_schedule, omp_get_schedule,
17766         omp_get_thread_limit, omp_set_max_active_levels,
17767         omp_get_max_active_levels, omp_get_level,
17768         omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
17769         omp_set_schedule_, omp_set_schedule_8_,
17770         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
17771         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
17772         omp_get_max_active_levels_, omp_get_level_,
17773         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
17774         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
17775         New exports @@OMP_3.0.
17776         * omp.h.in (omp_sched_t): New type.
17777         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
17778         omp_set_max_active_levels, omp_get_max_active_levels,
17779         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
17780         omp_get_active_level): New prototypes.
17781         * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
17782         gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
17783         gomp_thread_limit_var, gomp_remaining_threads_count,
17784         gomp_remaining_threads_lock): New variables.
17785         (parse_spincount): New function.
17786         (initialize_env): Call gomp_init_num_threads unconditionally.
17787         Initialize gomp_available_cpus.  Call parse_spincount,
17788         initialize gomp_{,throttled_}spin_count_var
17789         depending on presence and value of OMP_WAIT_POLICY and
17790         GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
17791         Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
17792         OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
17793         for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
17794         gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
17795         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
17796         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
17797         (gomp_global_icv): New.
17798         (parse_schedule): Use it.  Parse "auto".
17799         (omp_set_num_threads): Use gomp_icv.
17800         (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
17801         Likewise.
17802         (omp_get_max_threads): Move from parallel.c.
17803         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
17804         omp_set_max_active_levels, omp_get_max_active_levels): New functions,
17805         add ialias.
17806         (parse_stacksize, parse_wait_policy): New functions.
17807         * fortran.c: Rewrite lock wrappers, if symbol versioning provide
17808         both wrappers for compatibility and new locks.
17809         (omp_set_schedule, omp_get_schedule,
17810         omp_get_thread_limit, omp_set_max_active_levels,
17811         omp_get_max_active_levels, omp_get_level,
17812         omp_get_ancestor_thread_num, omp_get_team_size,
17813         omp_get_active_level): New ialias_redirect.
17814         (omp_set_schedule_, omp_set_schedule_8_,
17815         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
17816         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
17817         omp_get_max_active_levels_, omp_get_level_,
17818         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
17819         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
17820         New functions.
17821         * parallel.c: Include limits.h.
17822         (gomp_resolve_num_threads): Add count argument.  Rewritten.
17823         (GOMP_parallel_start): Call gomp_new_team and pass that as last
17824         argument to gomp_team_start.  Pass 0 as second argument to
17825         gomp_resolve_num_threads.
17826         (GOMP_parallel_end): Decrease gomp_remaining_threads_count
17827         if gomp_thread_limit_var != ULONG_MAX.
17828         (omp_in_parallel): Implement using ts.active_level.
17829         (omp_get_max_threads): Move to env.c.
17830         (omp_get_level, omp_get_ancestor_thread_num,
17831         omp_get_team_size, omp_get_active_level): New functions,
17832         add ialias.
17833         * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
17834         after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
17835         gomp_iter_dynamic_next instead of the _locked variant and don't take
17836         lock around it, otherwise acquire it before calling
17837         gomp_iter_dynamic_next_locked.
17838         (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
17839         gomp_iter_dynamic_next instead of the _locked variant and don't take
17840         lock around it.
17841         (GOMP_parallel_sections_start): Call gomp_new_team instead of
17842         gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
17843         Adjust gomp_team_start caller.  Pass count as second argument to
17844         gomp_resolve_num_threads, don't adjust num_threads after the call.
17845         Use gomp_icv.
17846         * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
17847         ws->chunk_size by incr.
17848         (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
17849         code.
17850         * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
17851         types.
17852         (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
17853         (omp_check_defines): Check even the compat defines.
17854         * config/linux/ptrlock.c: New file.
17855         * config/linux/ptrlock.h: New file.
17856         * config/linux/wait.h: New file.
17857         * config/posix/ptrlock.c: New file.
17858         * config/posix/ptrlock.h: New file.
17859         * config/linux/bar.h (gomp_team_barrier_wait,
17860         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
17861         (gomp_team_barrier_set_task_pending,
17862         gomp_team_barrier_clear_task_pending,
17863         gomp_team_barrier_set_waiting_for_tasks,
17864         gomp_team_barrier_waiting_for_tasks,
17865         gomp_team_barrier_done): New inlines.
17866         (gomp_barrier_t): Rewritten.
17867         (gomp_barrier_state_t): New typedef.
17868         (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
17869         gomp_barrier_wait_start): Rewritten.
17870         (gomp_barrier_wait_end): Change second argument to
17871         gomp_barrier_state_t.
17872         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
17873         inlines.
17874         * config/linux/bar.c: Include wait.h instead of libgomp.h and
17875         futex.h.
17876         (gomp_barrier_wait_end): Rewritten.
17877         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
17878         gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
17879         * config/posix/bar.h (gomp_barrier_t): Add generation field.
17880         (gomp_barrier_state_t): New typedef.
17881         (gomp_team_barrier_wait,
17882         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
17883         (gomp_barrier_wait_start): Or all but low 2 bits from generation
17884         into the return value.  Return gomp_barrier_state_t.
17885         (gomp_team_barrier_set_task_pending,
17886         gomp_team_barrier_clear_task_pending,
17887         gomp_team_barrier_set_waiting_for_tasks,
17888         gomp_team_barrier_waiting_for_tasks,
17889         gomp_team_barrier_done): New inlines.
17890         (gomp_barrier_wait_end): Change second argument to
17891         gomp_barrier_state_t.
17892         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
17893         inlines.
17894         * config/posix/bar.c (gomp_barrier_init): Clear generation field.
17895         (gomp_barrier_wait_end): Change second argument to
17896         gomp_barrier_state_t.
17897         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
17898         gomp_team_barrier_wake): New functions.
17899         * config/linux/mutex.c: Include wait.h instead of libgomp.h and
17900         futex.h.
17901         (gomp_futex_wake, gomp_futex_wait): New variables.
17902         (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
17903         * config/linux/lock.c: Rewrite to make locks task owned,
17904         for backwards compatibility provide the old entrypoints
17905         if symbol versioning.  Include wait.h instead of libgomp.h and
17906         futex.h.
17907         (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
17908         * config/posix95/lock.c: Rewrite to make locks task owned,
17909         for backwards compatibility provide the old entrypoints
17910         if symbol versioning.
17911         * config/posix/lock.c: Rewrite to make locks task owned,
17912         for backwards compatibility provide the old entrypoints
17913         if symbol versioning.
17914         * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
17915         (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
17916         * config/posix/proc.c, config/mingw32/proc.c: Similarly.
17917         * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
17918         (sys_futex0): Return error code.
17919         (futex_wake, futex_wait): If ENOSYS was returned, clear
17920         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
17921         (cpu_relax, atomic_write_barrier): New static inlines.
17922         * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
17923         (futex_wake, futex_wait): If ENOSYS was returned, clear
17924         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
17925         (cpu_relax, atomic_write_barrier): New static inlines.
17926         * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
17927         (sys_futex0): Return error code.
17928         (futex_wake, futex_wait): If ENOSYS was returned, clear
17929         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
17930         (cpu_relax, atomic_write_barrier): New static inlines.
17931         * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
17932         (sys_futex0): Return error code.
17933         (futex_wake, futex_wait): If ENOSYS was returned, clear
17934         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
17935         (cpu_relax, atomic_write_barrier): New static inlines.
17936         * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
17937         (sys_futex0): Return error code.
17938         (futex_wake, futex_wait): If ENOSYS was returned, clear
17939         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
17940         (cpu_relax, atomic_write_barrier): New static inlines.
17941         * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
17942         (sys_futex0): Return error code.
17943         (futex_wake, futex_wait): If ENOSYS was returned, clear
17944         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
17945         (cpu_relax, atomic_write_barrier): New static inlines.
17946         * config/linux/sem.c: Include wait.h instead of libgomp.h and
17947         futex.h.
17948         (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
17949         * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
17950         * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
17951         types.
17952         (omp_nest_lock_t): Change owner into void *, add lock field.
17953         * config/posix95/omp-lock.h: Include semaphore.h.
17954         (omp_lock_25_t, omp_nest_lock_25_t): New types.
17955         (omp_lock_t): Use sem_t instead of mutex if semaphores
17956         aren't broken.
17957         (omp_nest_lock_t): Likewise.  Change owner to void *.
17958         * config/posix/omp-lock.h: Include semaphore.h.
17959         (omp_lock_25_t, omp_nest_lock_25_t): New types.
17960         (omp_lock_t): Use sem_t instead of mutex if semaphores
17961         aren't broken.
17962         (omp_nest_lock_t): Likewise.  Add owner field.
17964 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
17966         * testsuite/libgomp.c/collapse-1.c: New test.
17967         * testsuite/libgomp.c/collapse-2.c: New test.
17968         * testsuite/libgomp.c/collapse-3.c: New test.
17969         * testsuite/libgomp.c/icv-1.c: New test.
17970         * testsuite/libgomp.c/icv-2.c: New test.
17971         * testsuite/libgomp.c/lib-2.c: New test.
17972         * testsuite/libgomp.c/lock-1.c: New test.
17973         * testsuite/libgomp.c/lock-2.c: New test.
17974         * testsuite/libgomp.c/lock-3.c: New test.
17975         * testsuite/libgomp.c/loop-4.c: New test.
17976         * testsuite/libgomp.c/loop-5.c: New test.
17977         * testsuite/libgomp.c/loop-6.c: New test.
17978         * testsuite/libgomp.c/loop-7.c: New test.
17979         * testsuite/libgomp.c/loop-8.c: New test.
17980         * testsuite/libgomp.c/loop-9.c: New test.
17981         * testsuite/libgomp.c/nested-3.c: New test.
17982         * testsuite/libgomp.c/nestedfn-6.c: New test.
17983         * testsuite/libgomp.c/sort-1.c: New test.
17984         * testsuite/libgomp.c/task-1.c: New test.
17985         * testsuite/libgomp.c/task-2.c: New test.
17986         * testsuite/libgomp.c/task-3.c: New test.
17987         * testsuite/libgomp.c/task-4.c: New test.
17988         * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
17989         to C++ testsuite default compiler options.
17990         * testsuite/libgomp.c++/collapse-1.C: New test.
17991         * testsuite/libgomp.c++/collapse-2.C: New test.
17992         * testsuite/libgomp.c++/ctor-10.C: New test.
17993         * testsuite/libgomp.c++/for-1.C: New test.
17994         * testsuite/libgomp.c++/for-2.C: New test.
17995         * testsuite/libgomp.c++/for-3.C: New test.
17996         * testsuite/libgomp.c++/for-4.C: New test.
17997         * testsuite/libgomp.c++/for-5.C: New test.
17998         * testsuite/libgomp.c++/loop-8.C: New test.
17999         * testsuite/libgomp.c++/loop-9.C: New test.
18000         * testsuite/libgomp.c++/loop-10.C: New test.
18001         * testsuite/libgomp.c++/task-1.C: New test.
18002         * testsuite/libgomp.c++/task-2.C: New test.
18003         * testsuite/libgomp.c++/task-3.C: New test.
18004         * testsuite/libgomp.c++/task-4.C: New test.
18005         * testsuite/libgomp.c++/task-5.C: New test.
18006         * testsuite/libgomp.c++/task-6.C: New test.
18007         * testsuite/libgomp.fortran/allocatable1.f90: New test.
18008         * testsuite/libgomp.fortran/allocatable2.f90: New test.
18009         * testsuite/libgomp.fortran/allocatable3.f90: New test.
18010         * testsuite/libgomp.fortran/allocatable4.f90: New test.
18011         * testsuite/libgomp.fortran/collapse1.f90: New test.
18012         * testsuite/libgomp.fortran/collapse2.f90: New test.
18013         * testsuite/libgomp.fortran/collapse3.f90: New test.
18014         * testsuite/libgomp.fortran/collapse4.f90: New test.
18015         * testsuite/libgomp.fortran/lastprivate1.f90: New test.
18016         * testsuite/libgomp.fortran/lastprivate2.f90: New test.
18017         * testsuite/libgomp.fortran/lib4.f90: New test.
18018         * testsuite/libgomp.fortran/lock-1.f90: New test.
18019         * testsuite/libgomp.fortran/lock-2.f90: New test.
18020         * testsuite/libgomp.fortran/nested1.f90: New test.
18021         * testsuite/libgomp.fortran/nestedfn4.f90: New test.
18022         * testsuite/libgomp.fortran/strassen.f90: New test.
18023         * testsuite/libgomp.fortran/tabs1.f90: New test.
18024         * testsuite/libgomp.fortran/tabs2.f: New test.
18025         * testsuite/libgomp.fortran/task1.f90: New test.
18026         * testsuite/libgomp.fortran/task2.f90: New test.
18027         * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
18028         * testsuite/libgomp.fortran/vla5.f90: Likewise.
18029         * testsuite/libgomp.c/pr26943-2.c: Likewise.
18030         * testsuite/libgomp.c/pr26943-3.c: Likewise.
18031         * testsuite/libgomp.c/pr26943-4.c: Likewise.
18033 2008-05-23  Jakub Jelinek  <jakub@redhat.com>
18035         PR c++/36308
18036         * testsuite/libgomp.c++/ctor-11.C: New test.
18037         * testsuite/libgomp.c++/ctor-12.C: New test.
18039 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
18041         * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
18043 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
18045         PR middle-end/36106
18046         * testsuite/libgomp.c/atomic-5.c: New test.
18047         * testsuite/libgomp.c/atomic-6.c: New test.
18048         * testsuite/libgomp.c/autopar-1.c: New test.
18050 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18052         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
18053         (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
18054         (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
18055         (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
18056         * configure: Regenerate.
18057         * Makefile.in, testsuite/Makefile.in: Likewise.
18059 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
18061         PR bootstrap/35457
18062         * aclocal.m4: Regenerate.
18063         * configure: Regenerate.
18065 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
18067         PR middle-end/35611
18068         * testsuite/libgomp.c/atomic-4.c: New test.
18070         PR libgomp/35625
18071         * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
18072         (gomp_iter_guided_next): Likewise.
18073         * testsuite/libgomp.c/pr35625.c: New test.
18075 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18077         * aclocal.m4: Regenerate.
18078         * configure: Likewise.
18079         * Makefile.in: Likewise.
18080         * testsuite/Makefile.in: Likewise.
18082 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
18084         PR middle-end/35185
18085         * testsuite/libgomp.c++/pr35185.C: New test.
18087 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
18089         PR middle-end/35549
18090         * testsuite/libgomp.c/pr35549.c: New test.
18092 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
18094         * testsuite/libgomp.c/atomic-3.c: New test.
18096 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
18098         PR fortran/33197
18099         * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
18100         .F08 file suffixes.
18102 2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
18104         PR libgomp/33131
18105         * configure.ac: Add ACX_HEADER_STRING.
18106         * env.c: Include strings.h.
18107         * aclocal.m4: Regenerate.
18108         * config.h.in: Regenerate.
18109         * configure: Regenerate.
18110         * Makefile.in: Regenerate.
18111         * testsuite/Makefile.in: Regenerate.
18113 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
18115         PR middle-end/35196
18116         * testsuite/libgomp.c/pr35196.c: New test.
18118         PR middle-end/35130
18119         * testsuite/libgomp.fortran/pr35130.f90: New test.
18120         * testsuite/libgomp.c/pr35130.c: New test.
18122 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
18124         PR middle-end/33880
18125         * testsuite/libgomp.c/pr33880.c: New test.
18126         * testsuite/libgomp.fortran/pr33880.f90: New test.
18128 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
18130         * configure: Regenerate.
18132 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
18134         * configure.ac: Move futex checking into ../config/futex.m4.
18135         * configure: Rebuilt.
18136         * aclocal.m4: Rebuilt.
18137         * Makefile.in: Rebuilt.
18139         * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
18140         2007-10-15 ../config/tls.m4 change.
18142 2007-12-19  Jakub Jelinek  <jakub@redhat.com>
18144         PR c++/34513
18145         * testsuite/libgomp.c/pr34513.c: New test.
18146         * testsuite/libgomp.c++/pr34513.C: New test.
18148 2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
18150         PR target/32765
18151         * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
18153 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
18155         * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
18157 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
18159         * testsuite/libgomp.c/private-1.c: New test.
18161 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
18162             Paolo Bonzini  <bonzini@gnu.org>
18164         * Makefile.am: Use space as vpath separator.  Use 'vpath %'
18165         instead of 'VPATH ='.
18166         * Makefile.in: Regenerate.
18168 2007-11-23  Matthias Klose  <doko@ubuntu.com>
18170         * configure.ac: Adjust makeinfo version check.
18171         * configure: Regenerate.
18173 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
18175         PR fortran/34020
18176         * testsuite/libgomp.fortran/pr34020.f90: New test.
18178 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
18180         PR c++/33894
18181         * testsuite/libgomp.c++/atomic-1.C: New test.
18183 2007-10-25  Jakub Jelinek  <jakub@redhat.com>
18185         PR libgomp/33275
18186         * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
18187         Make x and y integers rather than (implicit) reals.  Add private (j)
18188         clause to the last omp parallel.
18190 2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
18192         * configure: Regenerate following changes to ../config/tls.m4.
18194 2007-09-28  Jakub Jelinek  <jakub@redhat.com>
18196         * testsuite/libgomp.fortran/stack.f90: New test.
18198 2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
18200         * config/mingw32/proc.c: New file.
18202 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
18204         * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
18205         (main): Use __get_cpuid to get i386 target fetaures.
18206         * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
18207         (main): Use __get_cpuid to get x86_64 target fetaures.
18209 2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
18211         PR target/32765
18212         * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
18213         * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
18215 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
18217         PR fortran/32550
18218         * testsuite/libgomp.fortran/pr32550.f90: New test.
18219         * testsuite/libgomp.fortran/crayptr2.f90: New test.
18221 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
18223         * aclocal.m4: Regenerated.
18225 2007-07-05  Tobias Burnus  <burnus@net-b.de>
18227         PR fortran/32359
18228         * testsuite/libgomp.fortran/pr32359.f90: New.
18230 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
18232         PR libgomp/32468
18233         * sections.c (GOMP_parallel_sections_start): Only decrease
18234         number of threads to COUNT if dyn_var is true.
18235         * testsuite/libgomp.c/pr32468.c: New test.
18237 2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18239         PR libgomp/26308
18240         * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
18242 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
18244         PR middle-end/32362
18245         * testsuite/libgomp.c/pr32362-1.c: New test.
18246         * testsuite/libgomp.c/pr32362-2.c: New test.
18247         * testsuite/libgomp.c/pr32362-3.c: New test.
18249 2007-06-07  Jakub Jelinek  <jakub@redhat.com>
18251         * team.c (gomp_team_start): Fix setting up thread_attr
18252         stack size.
18254 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
18256         * configure: Regenerate.
18258 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
18260         * Makefile.in: Regenerate.
18261         * configure: Regenerate.
18262         * aclocal.m4: Regenerate.
18263         * testsuite/Makefile.in: Regenerate.
18265 2007-05-04  Jakub Jelinek  <jakub@redhat.com>
18267         * config/linux/proc.c: New file.
18269         PR libgomp/28482
18270         * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
18272 2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
18274         * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
18276 2007-04-16  Matthias Klose  <doko@debian.org>
18278         * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
18279         flags if not building with -m64.
18280         * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
18281         flag for i?86-*-* targets, if current target matches -m64.
18283 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
18285         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
18286         * Makefile.in: Regenerate.
18288 2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
18290         PR testsuite/31369
18291         * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
18292         ld_library_path.
18293         * testsuite/libgomp.fortran/fortran.exp: Likewise.
18295 2007-04-04  Jakub Jelinek  <jakub@redhat.com>
18297         * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
18298         decls.
18299         (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
18300         * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
18301         (parse_affinity): New function.
18302         (initialize_env): Call it and gomp_init_affinity.
18303         * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
18304         create new pthread_attr_t and call gomp_init_thread_affinity
18305         on it for each thread before passing the attribute to pthread_create.
18306         * config/linux/affinity.c: New file.
18307         * config/posix/affinity.c: New file.
18308         * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
18309         * configure: Rebuilt.
18310         * config.h.in: Rebuilt.
18311         * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
18312         * Makefile.in: Rebuilt.
18314 2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
18316         * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
18317         *-*-darwin*.
18318         * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
18319         and use it if found.
18321 2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
18323         * testsuite/config/default.exp: New file.
18324         * testsuite/lib/libgomp.exp: New file.
18325         * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
18326         libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
18327         load_lib *, load_gcc_lib *): Move to libgomp.exp.
18328         (libgomp_load): Remove.
18329         * testsuite/lib/libgomp.exp (libgomp_init): Compute
18330         always_ld_library_path, not ld_library_path.  Set additional_flags
18331         to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
18332         (target_compile): Do not call libgomp_init.  Append lang_library_path
18333         and lang_link_flags to options.
18334         * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
18335         ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
18336         here.
18337         * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
18338         always_ld_library_path.  Set LD_LIBRARY_PATH here.
18339         * testsuite/libgomp.fortran/fortran.exp: Ditto.
18340         * testsuite/libgomp.c/atomic-1.c: Set dg-options to
18341         "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
18342         CX8 flag.
18343         * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
18344         lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
18345         * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
18346         * testsuite/libgomp.c/pr29947-1.c: Ditto.
18347         * testsuite/libgomp.c/atomic-10.c: Ditto.
18349 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
18351         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
18352         dg-final cleanup-modules line.
18353         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
18354         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
18355         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
18356         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
18357         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
18358         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
18359         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
18361 2007-03-18  Andreas Schwab  <schwab@suse.de>
18363         * acinclude.m4: Adjust regular expression for ld version
18364         extraction.
18365         * configure: Regenerate.
18367 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
18369         * Makefile.am: Add install-pdf target as copied from
18370         automake v1.10 rules.
18371         * Makefile.in: Regenerate
18373 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
18375         PR libgomp/28486
18376         * configure: Regenerate.
18378         PR c++/30703
18379         * testsuite/libgomp.c++/pr30703.C: New test.
18381 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
18383         Revert:
18384         2006-07-05  Eric Christopher  <echristo@apple.com>
18385         * configure.ac: Depend addition of -pthread on host OS.
18386         * configure: Regenerate.
18388 2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18390         * libgomp.texi: Fix spacing after abbreviations.
18392 2007-01-31  Daniel Franke <franke.daniel@gmail.com>
18394         PR libgomp/30546
18395         * configure.ac: Add check for makeinfo
18396         * Makefile.am: Redefined target libgomp.info, build libgomp.info only
18397         if an appropriate version of makeinfo is found.
18398         * aclocal.m4: Regenerated.
18399         * configure: Regenerated.
18400         * Makefile.in: Regenerated.
18401         * testsuite/Makefile.in: Regenerated.
18403 2007-01-29  Daniel Franke <franke.daniel@gmail.com>
18405         PR libgomp/30540
18406         * libgomp.texi: More about implementation-dependent settings.
18408 2007-01-26  Tobias Burnus  <burnus@net-b.de>
18410         * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
18412 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
18414         PR middle-end/30494
18415         * testsuite/libgomp.c/pr30494.c: New test.
18417 2007-01-15  Tom Tromey  <tromey@redhat.com>
18419         * configure: Rebuilt.
18420         * configure.ac: Fixed comment.
18422 2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
18424         * libgomp.texi: Document implementation specific default values of
18425         environment variables.
18427 2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
18429         PR libgomp/28209
18430         * libgomp.texi: New file.
18431         * configure.ac: Add --enable-generated-files-in-srcdir option.
18432         * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
18433         files to srcdir.
18434         * Makefile.in: Regenerated.
18435         * config.h.in: Regenerated.
18436         * testsuite/Makefile.in: Regenerated.
18437         * NOTES: Removed.
18439 2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
18441         PR libgomp/29949
18442         * env.c (omp_set_num_threads): Set illegal thread count to 1.
18444 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
18446         * configure: Regenerate.
18448 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
18450         PR libgomp/29947
18451         * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
18452         start if there shouldn't be any loop iterations.
18453         (gomp_loop_ordered_static_start): Remove start == end test.
18454         * testsuite/libgomp.c/pr29947-1.c: New test.
18455         * testsuite/libgomp.c/pr29947-2.c: New test.
18457 2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
18459         * configure.tgt: Force initial-exec TLS model on Linux only.
18461 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
18463         * configure: Regenerated.
18465 2006-11-09  Uros Bizjak  <ubizjak@gmail.com>
18467         * env.c (parse_schedule): Reject out of range values.
18468         (parse_unsigned_long): Reject out of range, negative or zero values.
18470 2006-10-29  Jakub Jelinek  <jakub@redhat.com>
18472         PR fortran/29629
18473         * testsuite/libgomp.fortran/pr29629.f90: New test.
18475 2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
18477         PR libgomp/29494
18478         * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
18479         * config/posix95: New directory.
18480         * config/posix95/omp-lock.h: New file.
18481         * config/posix95/lock.c: Likewise.
18483 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
18485         * aclocal.m4: Regenerate.
18486         * configure: Regenerate.
18488 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
18490         * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
18491         '<' to '<='.
18493 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
18495         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
18496         test.
18497         * configure: Regenerate.
18498         * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
18500 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
18502         PR middle-end/25261
18503         PR middle-end/28790
18504         * testsuite/libgomp.c/nestedfn-4.c: New test.
18505         * testsuite/libgomp.c/nestedfn-5.c: New test.
18506         * testsuite/libgomp.fortran/nestedfn3.f90: New test.
18508         PR fortran/29097
18509         * testsuite/libgomp.fortran/condinc1.f: New test.
18510         * testsuite/libgomp.fortran/condinc2.f: New test.
18511         * testsuite/libgomp.fortran/condinc3.f90: New test.
18512         * testsuite/libgomp.fortran/condinc4.f90: New test.
18513         * testsuite/libgomp.fortran/condinc1.inc: New file.
18515 2006-09-18  Tom Tromey  <tromey@redhat.com>
18517         * configure: Rebuilt.
18519 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
18521         PR c/28768
18522         PR preprocessor/14634
18523         * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
18524         to AC_DEFINE.
18525         * configure: Regenerate.
18527 2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
18529         * testsuite/libgomp.fortran/reduction3.f90: Change
18530         -2147483648 to -huge(i)-1 to avoid overflow.
18531         * testsuite/libgomp.fortran/reduction4.f90: Change
18532         Z'ffffffff' to not(0) to avoid overflow.
18534 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
18536         PR libgomp/25938
18537         * Makefile.am (libsubincludedir): New.
18538         (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
18539         * Makefile.in: Regenerate.
18541 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
18543         PR libgomp/28725
18544         * env.c: Include ctype.h.
18545         (parse_schedule, parse_unsigned_long, parse_boolean): Allow
18546         leading and/or trailing whitespace and compare strings case
18547         insensitively.
18549 2006-07-16  Jakub Jelinek  <jakub@redhat.com>
18551         PR fortran/28390
18552         * testsuite/libgomp.fortran/pr28390.f: New test.
18554 2006-07-05  Eric Christopher  <echristo@apple.com>
18556         * configure.ac: Depend addition of -pthread on host OS.
18557         * configure: Regenerate.
18559 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
18561         * critical.c (GOMP_critical_name_start): Fix *pptr initialization
18562         when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
18563         defined.
18565 2006-06-20  Jakub Jelinek  <jakub@redhat.com>
18567         PR libgomp/26175
18568         PR libgomp/26477
18569         * configure.ac: If neither --enable-linux-futex nor
18570         --disable-linux-futex is passed, determine the default by checking
18571         for compiling and/or running against NPTL.  With --enable-linux-futex,
18572         check if SYS_gettid and SYS_futex are defined.
18573         * configure: Rebuilt.
18575 2006-06-14  Richard Henderson  <rth@redhat.com>
18577         PR libgomp/28008
18578         * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
18579         undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
18581 2006-06-09  Richard Henderson  <rth@redhat.com>
18583         * env.c (gomp_nthreads_var): Change to unsigned long.
18584         (gomp_run_sched_chunk): Likewise.
18585         (parse_unsigned_long): Rename from parse_num_threads and generalize.
18586         (initialize_env): Initialize gomp_thread_attr.
18587         * libgomp.h (gomp_nthreads_var): Update decl.
18588         (gomp_run_sched_chunk): Likewise.
18589         (gomp_thread_attr): Declare.
18590         * team.c (gomp_thread_attr): Export.
18591         (initialize_team): Don't initialize it.
18593 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
18595         PR fortran/27916
18596         * testsuite/libgomp.fortran/pr27916-1.f90: New test.
18597         * testsuite/libgomp.fortran/pr27916-2.f90: New test.
18599 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
18601         * config/mingw32/time.c: New file.
18602         * configure.tgt: Use it.
18604 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
18606         * Makefile.am: Add install-html target. Add install-html to .PHONY
18607         * Makefile.in: Regenerate.
18609 2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
18611         PR libgomp/27612
18612         * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
18613         * testsuite/libgomp.c/critical-1.c: Likewise.
18614         * testsuite/libgomp.c/loop-1.c: Likewise.
18615         * testsuite/libgomp.c/loop-2.c: Likewise.
18616         * testsuite/libgomp.c/single-1.c: Likewise.
18617         * testsuite/libgomp.c/ordered-1.c: Likewise.
18618         * testsuite/libgomp.c/ordered-2.c: Likewise.
18620 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
18622         PR middle-end/27416
18623         * libgomp.fortran/pr27416-1.f90: New test.
18625 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
18627         PR fortran/27395
18628         * testsuite/libgomp.fortran/pr27395-1.f90: New test.
18629         * testsuite/libgomp.fortran/pr27395-2.f90: New test.
18631 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
18633         PR c++/26943
18634         * testsuite/libgomp.c/pr26943-1.c: New test.
18635         * testsuite/libgomp.c/pr26943-2.c: New test.
18636         * testsuite/libgomp.c/pr26943-3.c: New test.
18637         * testsuite/libgomp.c/pr26943-4.c: New test.
18638         * testsuite/libgomp.c++/pr27337.C: Remove barrier.
18639         * testsuite/libgomp.c++/pr26943.C: New test.
18641 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
18643         PR middle-end/27337
18644         * testsuite/libgomp.c++/pr27337.C: New test.
18646 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
18648         PR c/26171
18649         * testsuite/libgomp.c/pr26171.c: New test.
18651 2006-04-25  Richard Henderson  <rth@redhat.com>
18653         PR libgomp/25865
18654         * configure.ac: Use GCC_CHECK_TLS.
18655         * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
18656         * Makefile.in, aclocal.m4, configure: Regenerate.
18658 2006-04-10  Matthias Klose  <doko@debian.org>
18660         * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
18661         directory names containing underscores.
18663 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
18665         PR c++/26691
18666         * testsuite/libgomp.c++/pr26691.C: New test.
18668 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
18670         * testsuite/libgomp.fortran/retval2.f90: New test.
18672 2006-03-09  Diego Novillo  <dnovillo@redhat.com>
18674         * testsuite/libgomp.c++: New directory.
18676 2006-02-25  Shantonu Sen  <ssen@opendarwin.org>
18678         * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
18679         * config/posix/sem.c: Implement the above.
18681 2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
18683         * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
18684         define HAVE_BROKEN_POSIX_SEMAPHORES.
18685         * configure: Rebuilt.
18686         * config.h.in: Rebuilt.
18688 2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
18690         PR bootstrap/26161
18691         * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
18692         for the other pthread check.
18693         * configure: Regenerate.
18694         * config.h.in: Regenerate.
18696 2006-02-15  Jakub Jelinek  <jakub@redhat.com>
18698         PR libgomp/25938
18699         PR libgomp/25984
18700         * Makefile.am (fincludedir): New variable.
18701         (nodist_include_HEADERS): Remove Fortran files.
18702         (nodist_finclude_HEADERS): New variable.
18703         * Makefile.in: Regenerated.
18705 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
18707         * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
18708         Remove tests for returning assumed character length arrays.
18710 2006-02-12  Roger Sayle  <roger@eyesopen.com>
18711             John David Anglin  <dave@hiauly1.hia.nrc.ca>
18713         PR libgomp/25936
18714         * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
18716 2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
18718         * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
18720 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
18722         * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
18723         part of LD_LIBRARY_PATH manually.
18725 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
18727         PR libgomp/25852
18728         * testsuite/lib/libgomp-dg.exp (blddir): Set it in
18729         libgomp_init.
18731 2005-01-25  Paolo Bonzini  <bonzini@gnu.org>
18733         PR libgomp/25884
18734         * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
18735         * configure.ac (PERL): Don't set.
18736         (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
18737         (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
18738         OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
18739         * omp.h.in: Wrap the new configure substitutions with @ characters.
18740         * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
18741         * aclocal.m4, configure, Makefile.in: Regenerate.
18742         * mkomp_h.pl: Delete.
18744 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
18746         PR libgomp/25259
18747         * configure.ac: Use GCC_HEADER_STDINT.
18748         * libgomp.h: Include gstdint.h.
18749         * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
18750         * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
18752 2006-01-24  Richard Henderson  <rth@redhat.com>
18754         PR libgomp/25942
18755         * configure.ac: Add AM_MAINTAINER_MODE.
18756         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
18758 2006-01-24  Diego Novillo  <dnovillo@redhat.com>
18760         * Makefile.in: Regenerate.
18761         * testsuite/Makefile.in: Regenerate.
18762         * aclocal.m4: Regenerate.
18764 2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
18766         * config/posix/proc.c: Conditional include of sys/loadavg.h for
18767         Solaris.
18768         * configure.ac: Add check for loadavg.h.
18769         (link_gomp): Adjust comment.
18770         * configure: Regenerate.
18771         * config.h.in: Regenerate.
18773 2006-01-21  Steve Ellcey  <sje@cup.hp.com>
18775         PR libgomp/25877
18776         * configure.ac: Remove check for alloca.h.
18777         * configure: Regenerate.
18778         * config.h.in: Regenerate.
18779         * libgomp.h: define gomp_alloca to be __builtin_alloca.
18780         * team.c: Remove use of alloca.h.
18781         Call gomp_alloca instead of alloca.
18783 2006-01-20  Steve Ellcey  <sje@cup.hp.com>
18785         PR libgomp/25877
18786         * team.c: Add include of alloca.h.
18787         * configure.ac: Add check for alloca.h.
18788         * configure: Regenerate.
18789         * config.h.in: Regenerate.
18791 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
18793         PR fortran/25219
18794         * testsuite/libgomp.fortran/pr25219.f90: New test.
18796 2005-12-05  Uros Bizjak  <uros@kss-loka.si>
18798         * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
18799         testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
18800         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
18801         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
18802         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
18803         testsuite/libgomp.fortran/threadprivate1.f90,
18804         testsuite/libgomp.fortran/threadprivate2.f90,
18805         testsuite/libgomp.fortran/threadprivate3.f90,
18806         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
18807         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
18808         testsuite/libgomp.fortran/omp_parse3.f90: Change required
18809         effective-target to TLS runtime.
18811         * testsuite/libgomp.fortran/pr25162.f: Require
18812         effective-target TLS runtime.
18814 2005-12-01  Jakub Jelinek  <jakub@redhat.com>
18816         * testsuite/libgomp.fortran/nestedfn2.f90: New test.
18817         * testsuite/libgomp.c/nestedfn-3.c: New test.
18819 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
18821         PR fortran/25162
18822         * testsuite/libgomp.fortran/pr25162.f: New test.
18824 2005-11-28  Jakub Jelinek  <jakub@redhat.com>
18826         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
18827         CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
18829 2005-11-25  Jakub Jelinek  <jakub@redhat.com>
18831         * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
18832         libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
18833         omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
18834         single.c, team.c, work.c, config/linux/alpha/futex.h,
18835         config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
18836         config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
18837         config/linux/powerpc/futex.h, config/linux/s390/futex.h,
18838         config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
18839         config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
18840         config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
18841         config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
18842         FSF address.
18844 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
18846         * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
18847         to nodist_noinst_HEADERS.
18848         * Makefile.in: Rebuilt.
18850         * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
18851         add integer count field.
18852         * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
18853         omp_nest_lock_t type change.
18854         (omp_init_nest_lock): Likewise.  Initialize count to 0.
18855         (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
18856         Increment count.
18857         (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
18858         Decrement count.
18859         (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
18860         Increment count if successful and return the new nesting level.
18861         * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
18862         * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
18863         * testsuite/libgomp.c/lib-1.c: New test.
18864         * testsuite/libgomp.fortran/lib1.f90: New test.
18865         * testsuite/libgomp.fortran/lib2.f: New test.
18866         * testsuite/libgomp.fortran/lib3.f: New test.
18868 2005-11-17  Richard Henderson  <rth@redhat.com>
18870         PR 24845
18871         * Makefile.am (nodist_toolexeclib_HEADERS): New.
18872         * configure.ac (link_gomp): New.  Substitute it.
18873         (AC_CONFIG_FILES): Add libgomp.spec.
18874         * libgomp.spec.in: New file.
18875         * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
18876         * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
18878 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
18880         * testsuite/libgomp.fortran/reduction1.f90: Adjust for
18881         reduction(-:var) behaving the same as reduction(+:var).
18882         * testsuite/libgomp.c/reduction-4.c: New test.
18884 2005-11-15  Uros Bizjak  <uros@kss-loka.si>
18886         * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
18887         testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
18888         testsuite/libgomp.c/copyin-3.c,
18889         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
18890         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
18891         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
18892         testsuite/libgomp.c++/pr24455.C,
18893         testsuite/libgomp.fortran/threadprivate1.f90,
18894         testsuite/libgomp.fortran/threadprivate2.f90,
18895         testsuite/libgomp.fortran/threadprivate3.f90,
18896         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
18897         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
18898         testsuite/libgomp.fortran/omp_parse3.f90: Require
18899         effective-target TLS.
18901 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
18903         * HEADER: Remove.
18905 2005-11-13  Jakub Jelinek  <jakub@redhat.com>
18907         PR libgomp/24797
18908         * team.c (initialize_team): Pass NULL rather than free as
18909         pthread_key_create destructor.  Initialize thread specific data
18910         pointer in initial thread to a static local variable rather than
18911         malloced memory.
18913 2005-11-11  Uros Bizjak  <uros@kss-loka.si>
18915         * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
18916         its location to ld_library_path.
18918 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
18920         * testsuite/libgomp.c/c.exp: Rename from dg.exp.
18922 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
18924         * testsuite/libgomp.c: Rename from libgomp.dg.
18926 2005-11-09  Diego Novillo  <dnovillo@redhat.com>
18928         * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
18929         threadprivate variable 'i'.
18931 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
18933         * config/linux/s390/futex.h: New file.
18934         * configure.tgt: Use it.
18936         * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
18937         before the parallel.
18939 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
18941         PR c++/24734
18942         * testsuite/libgomp.c++/master-1.C: New test.
18944 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
18946         * testsuite/libgomp.dg/copyin-3.c: New test.
18948 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
18950         * testsuite/libgomp.fortran/retval1.f90: New test.
18951         * testsuite/libgomp.fortran/vla7.f90: New test.
18953 2005-11-06  Jakub Jelinek  <jakub@redhat.com>
18955         * testsuite/libgomp.fortran/vla2.f90: New test.
18956         * testsuite/libgomp.fortran/vla3.f90: New test.
18957         * testsuite/libgomp.fortran/vla4.f90: New test.
18958         * testsuite/libgomp.fortran/vla5.f90: New test.
18959         * testsuite/libgomp.fortran/vla6.f90: New test.
18961 2005-11-01  Jakub Jelinek  <jakub@redhat.com>
18963         * config/linux/sparc/futex.h: New file.
18964         * configure.tgt: Use it.
18965         * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
18967         * critical.c: Include stdlib.h.
18968         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
18969         ignoring return value.
18970         * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
18971         LIBGOMP_CHECK_SYNC_BUILTINS check.
18972         * configure: Rebuilt.
18974 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
18976         * testsuite/libgomp.fortran/vla1.f90: New test.
18978 2005-10-31  Richard Henderson  <rth@redhat.com>
18980         * testsuite/libgomp.fortran/character2.f90: Fix race condition
18981         setting 's' in different threads.
18983 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
18985         * libgomp.h (attribute_hidden, ialias): Define.
18986         * config/posix/proc.c (omp_get_num_procs): Add ialias.
18987         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
18988         * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
18989         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
18990         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
18991         omp_test_lock, omp_test_nest_lock): Likewise.
18992         * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
18993         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
18994         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
18995         omp_test_lock, omp_test_nest_lock): Likewise.
18996         * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
18997         omp_get_dynamic, omp_get_nested): Likewise.
18998         * parallel.c (omp_get_num_threads, omp_get_max_threads,
18999         omp_get_thread_num, omp_in_parallel): Likewise.
19000         * fortran.c (ialias_redirect): Define.
19001         (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
19002         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
19003         omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
19004         omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
19005         omp_set_num_threads, omp_get_dynamic, omp_get_nested,
19006         omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
19007         omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
19008         omp_get_wtime): Add ialias_redirect.
19010 2005-10-30  Jakub Jelinek  <jakub@redhat.com>
19012         * fortran.c: Include stdlib.h.
19014 2005-10-29  Jakub Jelinek  <jakub@redhat.com>
19016         * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
19017         * Makefile.in: Regenerated.
19019 2005-10-28  Jakub Jelinek  <jakub@redhat.com>
19021         * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
19022         * libgomp_f.h.in (omp_check_defines): New function.
19023         * env.c: Include libgomp_f.h.
19024         (initialize_env): Call omp_check_defines.
19026         * testsuite/libgomp.dg/copyin-2.c: New test.
19027         * testsuite/libgomp.c++/copyin-2.C: New test.
19028         * testsuite/libgomp.fortran/threadprivate3.f90: New test.
19030         * testsuite/libgomp.fortran/threadprivate2.f90: New test.
19031         * testsuite/libgomp.fortran/sharing2.f90: New test.
19033         * testsuite/libgomp.dg/copyin-1.c: New test.
19034         * testsuite/libgomp.c++/copyin-1.C: New test.
19036 2005-10-26  Jakub Jelinek  <jakub@redhat.com>
19038         * testsuite/libgomp.fortran/crayptr1.f90: New test.
19040         * testsuite/libgomp.fortran/workshare1.f90: New test.
19042         * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
19043         only test.
19044         * libgomp.fortran/sharing1.f90: New test.
19046 2005-10-24  Jakub Jelinek  <jakub@redhat.com>
19048         PR c++/24502
19049         * testsuite/libgomp.c++/loop-7.C: New test.
19051         * testsuite/libgomp.dg/nestedfn-2.c: New test.
19053         * testsuite/libgomp.dg/nestedfn-1.c: New test.
19054         * testsuite/libgomp.fortran/reduction6.f90: New test.
19055         * testsuite/libgomp.fortran/nestedfn1.f90: New test.
19057 2005-10-23  Richard Henderson  <rth@redhat.com>
19059         * testsuite/libgomp.c++/ctor-1.C: New.
19060         * testsuite/libgomp.c++/ctor-2.C: New.
19061         * testsuite/libgomp.c++/ctor-3.C: New.
19062         * testsuite/libgomp.c++/ctor-4.C: New.
19063         * testsuite/libgomp.c++/ctor-5.C: New.
19064         * testsuite/libgomp.c++/ctor-6.C: New.
19065         * testsuite/libgomp.c++/ctor-7.C: New.
19066         * testsuite/libgomp.c++/ctor-8.C: New.
19067         * testsuite/libgomp.c++/ctor-9.C: New.
19069 2005-10-21  Diego Novillo  <dnovillo@redhat.com>
19071         PR 24455
19072         * testsuite/libgomp.c++/pr24455-1.C: New test.
19073         * testsuite/libgomp.c++/pr24455.C: New test.
19074         * testsuite/libgomp.dg/pr24455-1.c: New test.
19075         * testsuite/libgomp.dg/pr24455.c: New test.
19077 2005-10-20  Richard Henderson  <rth@redhat.com>
19079         * testsuite/libgomp.c++/loop-6.C: New.
19080         * testsuite/libgomp.dg/loop-3.c: New.
19082 2005-10-20  Jakub Jelinek  <jakub@redhat.com>
19084         * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
19085         explicitly private.
19086         * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
19087         explicitly shared.
19089 2005-10-19  Diego Novillo  <dnovillo@redhat.com>
19091         * testsuite/libgomp.fortran/jacobi.f: New test.
19093 2005-10-19  Richard Henderson  <rth@redhat.com>
19095         * configure.tgt (i?86-linux): Default to with_arch instead of
19096         CFLAGS.  Add -mtune to match target_cpu.
19097         (x86_64-linux): Tune to i686.
19099         * fortran.c (omp_test_nest_lock_): Fix typo.
19101 2005-10-19  Jakub Jelinek  <jakub@redhat.com>
19103         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
19104         gomp_ordered_sync): Do nothing if team->nthreads == 1.
19105         * testsuite/libgomp.dg/ordered-3.c: New test.
19107         * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
19108         Remove volatile keyword.
19110         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
19111         in COMMON block to avoid warnings on 64-bit targets.
19113 2005-10-18  Diego Novillo  <dnovillo@redhat.com>
19115         * testsuite/libgomp.dg/shared-3.c: New test.
19117 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
19119         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
19120         * testsuite/libgomp.fortran/reduction5.f90: New test.
19122 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
19124         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
19125         dg-options.
19126         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
19127         flush loop now that __sync_synchronize has proper memory barrier.
19128         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
19129         Add -ffixed-form to dg-options.
19131 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
19133         * testsuite/libgomp.fortran/fortran.exp: Also gather tests
19134         from subdirectories.
19135         * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
19136         * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
19137         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
19138         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
19139         * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
19140         * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
19141         * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
19142         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
19143         * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
19144         * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
19145         * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
19146         * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
19147         * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
19148         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
19149         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
19150         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
19151         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
19152         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
19153         * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
19154         * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
19155         * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
19156         * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
19157         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
19158         * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
19159         * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
19161 2005-10-17  Jakub Jelinek  <jakub@redhat.com>
19163         * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
19164         lang_library_path exists.  Use find instead of glob to gather tests.
19165         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
19167 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
19169         * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
19170         * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
19171         * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
19172         * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
19173         * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
19174         * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
19175         * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
19176         * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
19177         * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
19178         * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
19179         * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
19180         * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
19181         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
19183 2005-10-15  Jakub Jelinek  <jakub@redhat.com>
19185         * testsuite/libgomp.dg/vla-1.c: New test.
19187         * testsuite/libgomp.fortran/reference2.f90: New test.
19189         * testsuite/libgomp.fortran/character2.f90: Remove explicit
19190         declaration of omp_get_thread_num.
19191         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
19192         use omp_lib.
19194         * testsuite/libgomp.fortran/reduction1.f90: New test.
19195         * testsuite/libgomp.fortran/reduction2.f90: New test.
19196         * testsuite/libgomp.fortran/reduction3.f90: New test.
19197         * testsuite/libgomp.fortran/reduction4.f90: New test.
19199 2005-10-13  Richard Henderson  <rth@redhat.com>
19201         * Makefile.am (libgomp_la_SOURCES): Add bar.c.
19202         * Makefile.in: Regenerate.
19203         * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
19204         * libgomp.h: Include bar.h.
19205         (struct gomp_barrier): Remove.
19206         (struct gomp_team): Add barrier.  Replace master_barrier with
19207         master_release.  Replace threads with ordered_release.
19208         (struct gomp_thread): Replace barrier with release.
19209         * ordered.c (gomp_ordered_first): Update for ordered_release change.
19210         (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
19211         gomp_ordered_static_next, gomp_ordered_sync): Likewise.
19212         * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
19213         (GOMP_single_copy_end): Likewise.
19214         * team.c (gomp_threads_dock): New.
19215         (gomp_barrier_init, gomp_barrier_destroy): Remove.
19216         (gomp_thread_start): Use gomp_barrier_wait.
19217         (new_team, free_team): Update for gomp_team changes.
19218         (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
19219         (gomp_team_end): Use gomp_barrier_wait.
19220         (initialize_team): Update for gomp_thread changes.
19221         * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
19222         (gomp_work_share_end_nowait): Use atomic ops when available.
19223         * config/linux/bar.c, config/linux/bar.h: New files.
19224         * config/posix/bar.c, config/posix/bar.h: New files.
19226 2005-10-13  Jakub Jelinek  <jakub@redhat.com>
19228         * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
19229         * testsuite/libgomp.dg/single-2.c: New test.
19231         * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
19232         lang_link_flags): Unset, so that they aren't inherited from previously
19233         sourced *.exp.
19235         * testsuite/libgomp.fortran/threadprivate1.f90: New test.
19237 2005-10-12  Richard Henderson  <rth@redhat.com>
19239         * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
19240         (libgomp_init): Use lang_test_file, lang_library_path, and
19241         lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
19243         * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
19244         (lang_test_file, lang_link_flags): New.
19245         (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
19247         * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
19248         testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
19249         testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
19250         testsuite/libgomp.c++/parallel-1.C,
19251         testsuite/libgomp.c++/reduction-1.C,
19252         testsuite/libgomp.c++/reduction-2.C,
19253         testsuite/libgomp.c++/reduction-3.C,
19254         testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
19255         testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
19256         testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
19257         New files, largely cribbed from the C testsuite.
19259 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
19261         * testsuite/libgomp.fortran/character1.f90: New test.
19262         * testsuite/libgomp.fortran/character2.f90: New test.
19264         * testsuite/libgomp.dg/nested-1.c: New test.
19265         * testsuite/libgomp.dg/nested-2.c: New test.
19266         * testsuite/libgomp.fortran/do1.f90: New test.
19267         * testsuite/libgomp.fortran/do2.f90: New test.
19269         * testsuite/libgomp.fortran/reference1.f90: New test.
19271 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
19273         * testsuite/libgomp.dg/reduction-1.c: New test.
19274         * testsuite/libgomp.dg/reduction-2.c: New test.
19275         * testsuite/libgomp.dg/reduction-3.c: New test.
19277 2005-10-10  Jakub Jelinek  <jakub@redhat.com>
19279         * testsuite/libgomp.dg/atomic-1.c: New test.
19280         * testsuite/libgomp.dg/atomic-2.c: New test.
19282 2005-10-09  Richard Henderson  <rth@redhat.com>
19284         * critical.c (atomic_lock): New.
19285         (initialize_critical): Initialize it.
19286         (GOMP_atomic_start, GOMP_atomic_end): New.
19287         * libgomp.map: Export them.
19288         * libgomp_g.h: Declare them.
19290         * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
19292 2005-10-02  Richard Henderson  <rth@redhat.com>
19294         * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
19295         to XCFLAGS instead of CFLAGS.
19297 2005-09-30  Richard Henderson  <rth@redhat.com>
19299         * configure.ac: Determine whether -pthread or -lpthread is needed.
19300         * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
19301         * Makefile.in, configure: Rebuild.
19303 2005-09-28  Richard Henderson  <rth@redhat.com>
19305         * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
19306         * testsuite/libgomp.dg/omp-single-3.c: New test.
19308 2005-09-28  Diego Novillo  <dnovillo@redhat.com>
19310         * testsuite/libgomp.dg/omp-single-2.c: New test.
19311         * testsuite/libgomp.dg/shared-2.c: Fix return code.
19313 2005-09-27  Richard Henderson  <rth@redhat.com>
19315         * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
19316         * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
19318 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
19320         * testsuite/libgomp.dg/omp-loop03.c: New test.
19322 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
19324         * testsuite/libgomp.dg/omp-parallel-for.c: New test.
19326 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
19328         * testsuite/libgomp.dg/omp-single-1.c: New test.
19329         * testsuite/libgomp.dg/shared-1.c: Return 0.
19330         Add prototype for abort.
19331         * testsuite/libgomp.dg/shared-2.c: Likewise.
19333 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
19335         * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
19336         constructs.
19338 2005-09-26  Diego Novillo  <dnovillo@redhat.com>
19340         * testsuite/libgomp.dg/shared-1.c: New test.
19341         * testsuite/libgomp.dg/shared-2.c: New test.
19343 2005-09-24  Richard Henderson  <rth@redhat.com>
19345         * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
19347 2005-09-24  Richard Henderson  <rth@redhat.com>
19349         * iter.c (gomp_iter_static_next): Round up when computing number
19350         of iterations.  Don't bother distributing a remainder equally.
19352         * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
19353         Don't call srand.  Zero b before testing.
19354         (main): New.
19356 2005-09-24  Jakub Jelinek  <jakub@redhat.com>
19358         * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
19359         * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
19361 2005-09-23  Jakub Jelinek  <jakub@redhat.com>
19363         * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
19364         without !$omp end do, followed immediately by subroutine end.
19366 2005-09-23  Diego Novillo  <dnovillo@redhat.com>
19368         * testsuite/libgomp.dg/omp-parallel-if.c: New test.
19370 2005-09-22  Richard Henderson  <rth@redhat.com>
19372         * critical.c (GOMP_critical_name_start): Change argument to void**.
19373         Reuse the pointer space if the mutex fits.
19374         (GOMP_critical_name_end): Likewise.
19375         (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
19376         * libgomp_g.h (GOMP_critical_name_start): Update decl.
19377         (GOMP_critical_name_end): Likewise.
19378         * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
19379         * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
19381 2005-09-20  Richard Henderson  <rth@redhat.com>
19383         * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
19384         (create_lock_lock): New.
19385         (initialize_critical): Initialize it.
19386         * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
19387         * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
19389 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
19391         * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
19393 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
19395         * testsuite/libgomp.dg/omp-loop01.c: New test.
19396         * testsuite/libgomp.dg/omp-loop02.c: New test.
19398 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
19400         * configure.ac (AC_PROG_FC): Add.
19401         (USE_FORTRAN): New automake conditional.
19402         * configure: Rebuilt.
19403         * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
19404         (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
19405         If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
19406         Add rules to build them.
19407         * Makefile.in: Rebuilt.
19408         * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
19409         OMP_NEST_LOCK_KIND.
19410         * libgomp.map: Add Fortran wrappers.
19411         * libgomp_f.h.in: New file.
19412         * omp_lib.h.in: New file.
19413         * omp_lib.f90.in: New file.
19414         * fortran.c: New file.
19415         * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
19416         Append libgfortran directory to LD_LIBRARY_PATH if it exists.
19417         Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
19418         libgfortran has been built.
19419         * testsuite/libgomp.fortran/fortran.exp: New file.
19420         * testsuite/libgomp.fortran/omp_cond1.f: New test.
19421         * testsuite/libgomp.fortran/omp_cond2.f: New test.
19422         * testsuite/libgomp.fortran/omp_cond3.F90: New test.
19423         * testsuite/libgomp.fortran/omp_cond4.F90: New test.
19424         * testsuite/libgomp.fortran/omp_hello.f: New test.
19425         * testsuite/libgomp.fortran/omp_orphan.f: New test.
19426         * testsuite/libgomp.fortran/omp_parse1.f90: New test.
19427         * testsuite/libgomp.fortran/omp_parse2.f90: New test.
19428         * testsuite/libgomp.fortran/omp_parse3.f90: New test.
19429         * testsuite/libgomp.fortran/omp_parse4.f90: New test.
19430         * testsuite/libgomp.fortran/omp_reduction.f: New test.
19431         * testsuite/libgomp.fortran/omp_workshare1.f: New test.
19432         * testsuite/libgomp.fortran/omp_workshare2.f: New test.
19434 2005-08-30  Richard Henderson  <rth@redhat.com>
19436         * loop.c (GOMP_loop_static_start): Provide fallback wrapper
19437         function for when aliases are not usable.
19438         (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
19439         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
19440         GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
19441         GOMP_loop_dynamic_next, GOMP_loop_guided_next,
19442         GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
19443         GOMP_loop_ordered_guided_next): Likewise.
19444         * ordered.c (GOMP_ordered_start): Likewise.
19446 2005-08-01  Diego Novillo  <dnovillo@redhat.com>
19448         * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
19449         * testsuite/libgomp.dg/omp_hello.c: Fix return code
19450         * testsuite/libgomp.dg/omp_matvec.c: Likewise.
19451         * testsuite/libgomp.dg/omp_orphan.c: Likewise
19452         * testsuite/libgomp.dg/omp_reduction.c: Likewise
19453         * testsuite/libgomp.dg/omp_workshare1.c: Likewise
19454         * testsuite/libgomp.dg/omp_workshare2.c: Likewise
19455         * testsuite/libgomp.dg/omp_workshare3.c: Likewise
19456         * testsuite/libgomp.dg/omp_workshare4.c: Likewise
19458 2005-07-07  Eric Christopher  <echristo@redhat.com>
19459             Diego Novillo  <dnovillo@redhat.com>
19461         * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
19462         * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
19463         up code.
19464         * testsuite/libgomp.dg/omp_matvec.c: Ditto.
19465         * testsuite/libgomp.dg/omp_orphan.c: Ditto.
19466         * testsuite/libgomp.dg/omp_reduction.c: Ditto.
19467         * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
19468         * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
19469         * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
19470         * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
19472 2005-06-13  Diego Novillo  <dnovillo@redhat.com>
19474         * TOPLEVEL.patch: Remove.
19476 2005-05-16  Richard Henderson  <rth@redhat.com>
19478         * configure.ac: Test for clock_gettime.
19479         * config.h.in, configure: Rebuild.
19480         * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
19481         (omp_get_wtime): Use clock_gettime if available.
19482         (omp_get_wtick): Use clock_getres if available.
19484 2005-05-11  Richard Henderson  <rth@redhat.com>
19486         * config/linux/ia64/futex.h: New file.
19487         * configure.tgt: Use it.
19489         * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
19491 2005-05-07  Richard Henderson  <rth@redhat.com>
19493         * config/linux/powerpc/futex.h: New file.
19494         * configure.tgt: Use it.
19496         * config/linux/i486/futex.h: Merge ...
19497         * config/linux/x86_64/futex.h: ... into ...
19498         * config/linux/x86/futex.h: ... here.
19499         * configure.tgt: Update to match.
19501 2005-05-06  Richard Henderson  <rth@redhat.com>
19503         * config/linux/alpha/futex.h: Conditionally define SYS_futex.
19504         * config/linux/i486/futex.h: Likewise.
19505         * config/linux/x86_64/futex.h: Likewise.
19507         * config/linux/lock.c: New file.
19508         * config/linux/omp-lock.h: New file.
19510         * critical.c, env.h: Don't include omp.h
19511         * config/posix/lock.c: Include libgomp.h instead of omp.h.
19512         * config/posix/time.c: Likewise.
19513         * config/posix/omp-lock.h: New file.
19514         * libgomp.h: Include omp-lock.h and omp.h.
19515         * Makefile.am (nodist_include_HEADERS): New.
19516         (omp.h): New rule.
19517         * configure.ac (PERL): New.
19518         * mkomp_h.pl: New file.
19519         * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
19520         with templates.
19521         * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
19523         * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
19524         build directory.  Re-add -march=i486 hack.
19526         * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
19527         (libgomp_link_flags): Remove.
19528         (libgomp_initialized): Remove.
19529         (libgomp_init): Don't protect from reinitialization.  Copy code
19530         from libstdc++ for getting the multilib set correctly.
19532 2005-05-05  Richard Henderson  <rth@redhat.com>
19534         * config/linux/alpha/futex.h: New file.
19535         * configure.tgt (alpha*-*-linux*): Use it.
19537         * config/posix/mutex.c: New file.
19538         * config/posix/sem.c: Use libgomp.h.
19540         * configure.tgt (x86_64-linux): Also test CC for -m32.
19541         * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
19543         * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
19544         after $gccpath.
19546         * Makefile.am (SUBDIRS): New.
19547         (libgomp_la_LDFLAGS): Add -lpthread.
19548         * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
19549         * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
19551         * libgomp_g.h: New file.
19552         * libgomp.h: Split out all public declarations to libgomp_g.h.
19553         Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
19554         * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
19555         * config/linux/sem.h: Likewise.
19556         * config/posix/sem.h: Likewise.
19558         * Makefile.am (AM_LDFLAGS): New.
19559         (libgomp_version_script): Split out from ...
19560         (libgomp_la_LDFLAGS): ... here.
19561         (libgomp_version_info): New.
19562         * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
19563         (LIBGOMP_ENABLE): New.
19564         (LIBGOMP_CHECK_LINKER_FEATURES): New.
19565         (LIBGOMP_ENABLE_SYMVERS): New.
19566         * configure.ac (AC_INIT): Version 1.0.
19567         (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
19568         (enable-linux-futex): Likewise.  Rename from enable-futex.
19569         (libtool_VERSION): New.
19570         (LIBGOMP_ENABLE_SYMVERS): Use it.
19571         * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
19572         * Makefile.in, aclocal.m4, configure: Rebuild.
19574         * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
19575         (gomp_mutex_unlock_slow): Fix typo.
19576         * config/linux/sem.c: Similarly.
19577         (gomp_sem_post_slow): Fix typo.
19578         * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
19579         * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
19580         [__PIC__] (sys_futex0): Don't use tmp output in asm.
19582         * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
19583         (libgomp_la_LDFLAGS): Add top_srcdir to path.
19584         * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
19585         * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
19586         XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
19587         * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
19588         LDFLAGS.  Pull enable_futex check to top-level.
19589         * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
19590         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
19592         First attempt at real configury.
19593         * Makefile, config.h: Remove file.
19594         * Makefile.am, Makefile.in: New file.
19595         * acinclude.m4 aclocal.m4: New file.
19596         * configure.ac, configure.tgt, configure: New file.
19598         * config/posix/lock.c: Rename from sys-lock.c.
19599         * config/posix/mutex.h: Rename from sys-mutex.h.
19600         * config/posix/sem.c: Rename from sys-sem.c.
19601         * config/posix/sem.h: Rename from sys-sem.h.
19602         * config/posix/proc.c: Rename from sys-proc.c.
19603         * config/posix/time.c: Rename from sys-proc.c.
19605         * config/linux/mutex.c: New file.
19606         * config/linux/mutex.h: New file.
19607         * config/linux/sem.c: New file.
19608         * config/linux/sem.h: New file.
19609         * config/linux/i486/futex.h: New file.
19610         * config/linux/x86_64/futex.h: New file.
19612 2005-05-04  Richard Henderson  <rth@redhat.com>
19614         * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
19615         * libgomp.h: Declare them.
19616         * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
19617         gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
19619 2005-05-04  Richard Henderson  <rth@redhat.com>
19621         * libgomp-1 code drop
19623 2005-05-04  Richard Henderson  <rth@redhat.com>
19625         * iter.c (gomp_iter_static_next): Return tri-state on 0.
19626         * ordered.c (gomp_ordered_static_next): Remove not_last argument.
19627         * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
19628         (gomp_iter_static_next): Update.
19629         (gomp_ordered_static_next): Update.
19630         * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
19631         (gomp_loop_ordered_static_start): Likewise.  Exit early for a
19632         totally empty range.
19633         (gomp_loop_ordered_static_next): Refine test for calling
19634         gomp_ordered_static_next.
19635         * testsuite/ordered-1.c: Add case for more threads than iterations.
19637         * iter.c (gomp_iter_runtime_next_locked): Remove.
19638         * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
19639         gomp_loop_guided_start, gomp_loop_ordered_static_start,
19640         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
19641         gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
19642         gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
19643         gomp_loop_ordered_guided_next): Downcase name, make static, add
19644         an external alias with the old name.
19645         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
19646         GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
19647         switch and call one of the above static functions.
19648         * libgomp.h: Update.
19650         * work.c (gomp_work_share_start): Lock the mutex for !first too.
19651         * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
19652         GOMP_loop_guided_start, GOMP_loop_runtime_start,
19653         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
19654         GOMP_loop_ordered_guided_start): Update to match.
19655         * sections.c (GOMP_sections_start): Likewise.
19656         * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
19658         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
19659         gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
19660         Use bounds check instead of modulus.
19661         (gomp_ordered_sync): Split out of GOMP_ordered_start.
19662         (gomp_ordered_last): Don't sync with ordered_owner here.
19663         (gomp_ordered_next): Likewise.
19664         (gomp_ordered_static_loop_next): Likewise.
19665         * loop.c, libgomp.h: Update to match.
19667         * libgomp.h (GOMP_barrier): Declare.
19669         * testsuite/barrier-1.c: New file.
19670         * testsuite/critical-1.c: New file.
19671         * testsuite/ordered-2.c: New file.
19672         * testsuite/ordered-1.c: New file.
19673         * testsuite/sections-1.c: New file.
19674         * testsuite/single-1.c: New file.
19675         * testsuite/Makefile (TESTS): Add them.
19677 2005-05-04  Richard Henderson  <rth@redhat.com>
19679         * libgomp.h (struct gomp_work_share): Add ordered_owner.
19680         * loop.c (GOMP_loop_static_start): If not the startup thread,
19681         acquire the mutex to wait for initialization complete.
19682         (GOMP_loop_ordered_static_start): Likewise.
19683         (GOMP_loop_ordered_runtime_start): Likewise.
19684         (GOMP_loop_ordered_static_first): Remove.
19685         (GOMP_loop_ordered_dynamic_first): Remove.
19686         (GOMP_loop_ordered_guided_first): Remove.
19687         (GOMP_loop_ordered_runtime_first): Remove.
19688         * ordered.c (gomp_ordered_loop_first): Post to own release when
19689         we're the first thread.
19690         (gomp_ordered_loop_last): Wait on release if not owner.
19691         (gomp_ordered_loop_next): Likewise.
19692         (gomp_ordered_static_loop_init): New.
19693         (gomp_ordered_static_loop_next): Use ordered_owner.
19694         (GOMP_ordered_start): Likewise.
19695         * work.c (gomp_new_work_share): Initialize ordered_owner.
19697 2005-05-03  Richard Henderson  <rth@redhat.com>
19699         * Makefile (OPT): New.
19700         (CFLAGS): Use it.
19702         * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
19703         * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
19704         * libgomp.h, libgomp.map, NOTES: Update to match.
19706         * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
19707         Add initialized and thr members.
19708         (gomp_thread_start): Pause when initially spawned to wait for
19709         the whole team to be created.
19710         (gomp_team_start): Release team members at the end.
19712         * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
19713         (f_foo_1): Use GOMP_loop_end.
19714         (f_foo_2): Use GOMP_loop_end_nowait.
19716         * testsuite/loop-2.c: New file.
19717         * testsuite/Makefile (TESTS): Add it.
19719 2005-05-03  Richard Henderson  <rth@redhat.com>
19721         * iter.c (gomp_iter_static_next): Fix overflow check typo.
19722         (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
19723         * team.c (new_team): Initialize oldest_live_gen to 1 if no
19724         initial work_share.
19726         * testsuite/Makefile: New file.
19727         * testsuite/loop-1.c: New file.
19729 2005-05-03  Richard Henderson  <rth@redhat.com>
19731         Initial implementation and checkin.
19733 Copyright (C) 2005-2023 Free Software Foundation, Inc.
19735 Copying and distribution of this file, with or without modification,
19736 are permitted in any medium without royalty provided the copyright
19737 notice and this notice are preserved.