-mno-long-calls for arm/no_unique_address tests
[official-gcc.git] / libgomp / ChangeLog
blob1d8355da37b3955770bfbe8ddfc8e07e6d67ca57
1 2020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
3         * libgomp.texi (Top): Avoid bad "up" link.
5 2020-12-18  Jakub Jelinek  <jakub@redhat.com>
7         * testsuite/libgomp.c/task-6.c: New test.
9 2020-12-09  Andrew Stubbs  <ams@codesourcery.com>
11         * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
12         (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
14 2020-12-08  Tobias Burnus  <tobias@codesourcery.com>
16         * testsuite/libgomp.fortran/scan-1.f90: New test.
18 2020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
20         PR target/97865
21         * configure: Regenerate.
23 2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
25         * configure: Regenerate.
27 2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
29         * testsuite/libgomp.oacc-c++/cache-1.C: New.
30         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
32 2020-11-25  Andrew Stubbs  <ams@codesourcery.com>
34         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
35         expected results.
37 2020-11-24  Andrew Stubbs  <ams@codesourcery.com>
39         * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
40         (reserved): Delete unused define.
42 2020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
44         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
45         Tcl 8.5-specific behavior.
46         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
48 2020-11-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
50         * env.c (gomp_global_icv): Remove nest_var field.  Add
51         max_active_levels_var field.
52         (gomp_max_active_levels_var): Remove.
53         (parse_boolean): Return true on success.
54         (handle_omp_display_env): Express OMP_NESTED in terms of
55         max_active_levels_var.  Change format specifier for
56         max_active_levels_var.
57         (initialize_env): Set max_active_levels_var from
58         OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
59         OMP_PROC_BIND.
60         * icv.c (omp_set_nested): Express in terms of
61         max_active_levels_var.
62         (omp_get_nested): Likewise.
63         (omp_set_max_active_levels): Use max_active_levels_var field instead
64         of gomp_max_active_levels_var.
65         (omp_get_max_active_levels): Likewise.
66         * libgomp.h (struct gomp_task_icv): Remove nest_var field.  Add
67         max_active_levels_var field.
68         (gomp_supported_active_levels): Set to UCHAR_MAX.
69         (gomp_max_active_levels_var): Delete.
70         * libgomp.texi (omp_get_nested): Update documentation.
71         (omp_set_nested): Likewise.
72         (OMP_MAX_ACTIVE_LEVELS): Likewise.
73         (OMP_NESTED): Likewise.
74         (OMP_NUM_THREADS): Likewise.
75         (OMP_PROC_BIND): Likewise.
76         * parallel.c (gomp_resolve_num_threads): Replace reference
77         to nest_var with max_active_levels_var.  Use max_active_levels_var
78         field instead of gomp_max_active_levels_var.
80 2020-11-18  Tobias Burnus  <tobias@codesourcery.com>
82         * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
83         nvptx_usleep; use also for device={arch(gcn)}.
85 2020-11-14  Jakub Jelinek  <jakub@redhat.com>
87         * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
88         (foo): Add tests for non-VLA private and firstprivate clauses on
89         omp task.
90         (bar): Likewise.  Remove taking of address from private/firstprivate
91         variables.
92         * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
93         (foo): Add p, q, px and s arguments.  Add tests for array reductions
94         and for non-VLA private and firstprivate clauses on omp task.
95         (bar): Removed.
96         (main): Adjust foo caller.  Don't call bar.
98 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
99             Thomas Schwinge  <thomas@codesourcery.com>
101         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
102         New.
103         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
104         Likewise.
105         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
106         Likewise.
107         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
108         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
110 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
111             Thomas Schwinge  <thomas@codesourcery.com>
113         PR fortran/94358
114         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
116 2020-11-13  Jakub Jelinek  <jakub@redhat.com>
118         * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
119         for array reductions.
120         (main): Adjust foo callers.
122 2020-11-12  Jakub Jelinek  <jakub@redhat.com>
124         * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
125         * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
126         * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
127         * allocator.c (omp_aligned_alloc): New for now static function,
128         add alignment argument and handle it.
129         (omp_alloc): Reimplement using omp_aligned_alloc.
130         (GOMP_alloc, GOMP_free): New functions.
131         (omp_free): Add ialias.
132         * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
133         * testsuite/libgomp.c++/allocate-1.C: New test.
135 2020-11-12  Thomas Schwinge  <thomas@codesourcery.com>
137         PR fortran/97782
138         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
140 2020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
142         * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
143         usable.
144         * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
145         'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
146         (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
147         (goacc_enter_data_internal): Likewise.
148         * target.c (gomp_map_vars_internal):
149         Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
150         of gomp_attach_pointer for OpenMP cases.
151         (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
152         (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
153         * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
155 2020-11-05  Ulrich Drepper  <drepper@redhat.com>
156             Kwok Cheung Yeung  <kcy@codesourcery.com>
158         * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
159         * Makefile.in: Regenerate.
160         * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
161         pragmas to ignore -Wdeprecated-declarations warnings.
162         * icv.c: Likewise.
163         * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
164         Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
165         and omp_get_nested with __GOMP_DEPRECATED_5_0.
166         * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
167         deprecated.
168         * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
169         to test options.
170         * testsuite/libgomp.c/affinity-1.c: Likewise.
171         * testsuite/libgomp.c/affinity-2.c: Likewise.
172         * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
173         * testsuite/libgomp.c/lib-1.c: Likewise.
174         * testsuite/libgomp.c/nested-1.c: Likewise.
175         * testsuite/libgomp.c/nested-2.c: Likewise.
176         * testsuite/libgomp.c/nested-3.c: Likewise.
177         * testsuite/libgomp.c/pr32362-1.c: Likewise.
178         * testsuite/libgomp.c/pr32362-2.c: Likewise.
179         * testsuite/libgomp.c/pr32362-3.c: Likewise.
180         * testsuite/libgomp.c/pr35549.c: Likewise.
181         * testsuite/libgomp.c/pr42942.c: Likewise.
182         * testsuite/libgomp.c/pr61200.c: Likewise.
183         * testsuite/libgomp.c/sort-1.c: Likewise.
184         * testsuite/libgomp.c/target-5.c: Likewise.
185         * testsuite/libgomp.c/target-6.c: Likewise.
186         * testsuite/libgomp.c/teams-1.c: Likewise.
187         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
188         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
189         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
190         * testsuite/libgomp.fortran/affinity1.f90: Likewise.
191         * testsuite/libgomp.fortran/lib1.f90: Likewise.
192         * testsuite/libgomp.fortran/lib2.f: Likewise.
193         * testsuite/libgomp.fortran/nested1.f90: Likewise.
194         * testsuite/libgomp.fortran/teams1.f90: Likewise.
196 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
198         PR target/85486
199         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
200         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
201         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
203 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
205         PR testsuite/80219
206         PR testsuite/85303
207         * testsuite/lib/libgomp.exp (libgomp_init): Set
208         'gcc_warning_prefix', 'gcc_error_prefix'.
210 2020-10-30  Jakub Jelinek  <jakub@redhat.com>
212         * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
213         even in field_tgt_clear initializer.
215 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
217         * testsuite/libgomp.c/target-42.c: New test.
219 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
220             Tom de Vries  <tdevries@suse.de>
222         PR testsuite/81690
223         * testsuite/libgomp.c/usleep.h: New file.
224         * testsuite/libgomp.c/target-32.c: Include usleep.h.
225         (main): Use tgt_usleep instead of usleep.
226         * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
227         (main): Use tgt_usleep instead of usleep.
229 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
231         PR lto/96680
232         * testsuite/libgomp.c/declare-variant-1.c: New test.
234 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
236         * testsuite/libgomp.c/target-41.c: New test.
238 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
240         * icv.c (omp_get_initial_device): Remove including corresponding
241         ialias.
242         * icv-device.c (omp_get_initial_device): New function.  Return
243         gomp_get_num_devices ().  Add ialias.
244         * target.c (resolve_device): Don't fail with
245         OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
246         gomp_get_num_devices ().
247         (omp_target_alloc, omp_target_free, omp_target_is_present,
248         omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
249         omp_target_disassociate_ptr, omp_pause_resource): Use
250         gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
251         first use in the functions, in uses dominated by the
252         gomp_get_num_devices call use num_devices_openmp instead.
253         * libgomp.texi (omp_get_initial_device): Document.
254         * config/gcn/icv-device.c (omp_get_initial_device): New function.
255         Add ialias.
256         * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
257         * testsuite/libgomp.c/target-40.c: New test.
259 2020-10-21  Jakub Jelinek  <jakub@redhat.com>
261         * env.c (parse_target_offload): Change new_offload var type to int,
262         preinitialize to -1, remove found var and test new_offload != -1
263         instead of found.
265 2020-10-20  Jakub Jelinek  <jakub@redhat.com>
267         * target.c (gomp_target_init): Inside of the function, use automatic
268         variables corresponding to num_devices, num_devices_openmp and devices
269         global variables and update the globals only at the end of the
270         function.
272 2020-10-20  Kwok Cheung Yeung  <kcy@codesourcery.com>
274         * env.c (gomp_target_offload_var): New.
275         (parse_target_offload): New.
276         (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
277         (initialize_env): Parse OMP_TARGET_OFFLOAD.
278         * libgomp.h (gomp_target_offload_t): New.
279         (gomp_target_offload_var): New.
280         * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
281         * target.c (resolve_device): Generate error if device not found and
282         offloading is mandatory.
283         (gomp_target_fallback): Generate error if offloading is mandatory.
284         (GOMP_target): Add argument in call to gomp_target_fallback.
285         (GOMP_target_ext): Likewise.
286         (gomp_target_data_fallback): Generate error if offloading is mandatory.
287         (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
288         (GOMP_target_data_ext): Likewise.
289         (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
290         (gomp_target_init): Return early if offloading is disabled.
292 2020-10-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
294         * libgomp.texi (omp_get_max_active_levels): Modify description.
295         (omp_get_supported_active_levels): Make descriptions consistent.
297 2020-10-14  Jakub Jelinek  <jakub@redhat.com>
299         * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
301 2020-10-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
303         * env.c (gomp_max_active_levels_var): Initialize to
304         gomp_supported_active_levels.
305         (initialize_env): Limit gomp_max_active_levels_var to be at most
306         equal to gomp_supported_active_levels.
307         * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
308         (omp_get_supported_active_levels_): New.
309         * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
310         to at most equal to gomp_supported_active_levels.
311         (omp_get_supported_active_levels): New.
312         * libgomp.h (gomp_supported_active_levels): New.
313         * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
314         omp_get_supported_active_levels_.
315         * libgomp.texi (omp_get_supported_active_levels): New.
316         (omp_set_max_active_levels): Update.  Add reference to
317         omp_get_supported_active_levels.
318         * omp.h.in (omp_get_supported_active_levels): New.
319         * omp_lib.f90.in (omp_get_supported_active_levels): New.
320         * omp_lib.h.in (omp_get_supported_active_levels): New.
321         * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
322         against omp_get_supported_active_levels.
323         * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
325 2020-10-11  Clement Chigot  <clement.chigot@atos.net>
327         * config/t-aix: Delete and recreate libgomp before creating
328         FAT library.
330 2020-10-08  Tom de Vries  <tdevries@suse.de>
332         PR libgomp/81802
333         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
334         dimensions.
336 2020-10-06  Tom de Vries  <tdevries@suse.de>
338         * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
340 2020-10-06  Tom de Vries  <tdevries@suse.de>
342         PR middle-end/90861
343         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
345 2020-10-05  Tom de Vries  <tdevries@suse.de>
347         PR fortran/95654
348         * testsuite/libgomp.fortran/pr95654.f90: New test.
350 2020-10-02  Tobias Burnus  <tobias@codesourcery.com>
352         * Makefile.in: Regenerate with automake 1.15.1.
353         * aclocal.m4: Likewise.
354         * configure: Likewise.
355         * testsuite/Makefile.in: Likewise.
357 2020-09-30  Andrew Stubbs  <ams@codesourcery.com>
359         * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
360         and amdgcn targets.
362 2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
364         * testsuite/libgomp.fortran/declare-target-3.f90: New test.
366 2020-09-29  Andrew Stubbs  <ams@codesourcery.com>
368         * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
369         total number of threads is one.
370         (gomp_team_barrier_wake): Likewise.
371         (gomp_team_barrier_wait_end): Likewise.
372         (gomp_team_barrier_wait_cancel_end): Likewise.
373         * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
374         (gomp_team_barrier_wake): Likewise.
375         (gomp_team_barrier_wait_end): Likewise.
376         (gomp_team_barrier_wait_cancel_end): Likewise.
377         * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
379 2020-09-28  Tobias Burnus  <tobias@codesourcery.com>
381         PR middle-end/96390
382         * testsuite/libgomp.c++/pr96390.C: New test.
383         * testsuite/libgomp.c-c++-common/pr96390.c: New test.
385 2020-09-27  Clement Chigot  <clement.chigot@atos.net>
387         * config/t-aix: Use $(AR) without -X32_64.
389 2020-09-25  Jakub Jelinek  <jakub@redhat.com>
391         * testsuite/libgomp.c/loop-25.c: New test.
393 2020-09-22  Tobias Burnus  <tobias@codesourcery.com>
395         PR fortran/95654
396         * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
398 2020-09-22  Tom de Vries  <tdevries@suse.de>
400         * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
401         fails.
403 2020-09-16  Nathan Sidwell  <nathan@acm.org>
405         * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
407 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
409         PR fortran/96668
410         * target.c (gomp_map_vars_internal): Initialize has_nullptr.
412 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
414         PR fortran/96668
415         * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
416         * target.c (gomp_map_vars_existing): Add always_to_flag flag.
417         (gomp_map_vars_existing): Update call to it.
418         (gomp_map_fields_existing): Likewise
419         (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
420         now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
421         remapped.
422         (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
423         GOMP_MAP_POINTER.
424         * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
425         * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
427 2020-09-14  Tom de Vries  <tdevries@suse.de>
429         * config/nvptx/atomic.c: New file.  Add
430         __sync_val_compare_and_swap_16.
431         * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
432         target offload_target_nvptx.
434 2020-09-08  Julian Brown  <julian@codesourcery.com>
436         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
437         iteration-ordering assumptions.
439 2020-09-08  Julian Brown  <julian@codesourcery.com>
441         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
442         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
444 2020-08-20  Chung-Lin Tang  <cltang@codesourcery.com>
446         * plugin/plugin-nvptx.c (nvptx_free):
447         Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
448         CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
449         comments.
451 2020-08-20  Tobias Burnus  <tobias@codesourcery.com>
453         * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
455 2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
457         * testsuite/libgomp.c-c++-common/reduction-16.c: New.
459 2020-08-13  Jakub Jelinek  <jakub@redhat.com>
461         * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
462         * testsuite/libgomp.c/loop-23.c (main): Likewise.
463         * testsuite/libgomp.c/loop-24.c: New test.
465 2020-08-08  Jakub Jelinek  <jakub@redhat.com>
466             Tobias Burnus  <tobias@codesourcery.com>
468         PR fortran/93553
469         * testsuite/libgomp.fortran/pr93553.f90: New test.
471 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
473         * testsuite/libgomp.c/loop-22.c: New test.
474         * testsuite/libgomp.c/loop-23.c: New test.
476 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
478         PR middle-end/96459
479         * testsuite/libgomp.c/teams-3.c: New test.
480         * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
481         if not defined yet.
482         (N(test)): Use it before all N(f*) calls.
483         * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
484         (main): Don't call all test_* functions from within
485         #pragma omp teams reduction(|:err), call them directly.
487 2020-08-04  Tom de Vries  <tdevries@suse.de>
489         PR target/96428
490         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
491         * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
493 2020-08-03  Julian Brown  <julian@codesourcery.com>
494             Thomas Schwinge  <thomas@codesourcery.com>
496         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
497         shared-memory devices.  Extend with further checking.
499 2020-08-03  Martin Jambor  <mjambor@suse.cz>
501         * plugin/Makefrag.am: Remove configuration of HSA plugin.
502         * aclocal.m4: Regenerated.
503         * Makefile.in: Regenerated.
504         * config.h.in: Regenerated.
505         * configure: Regenerated.
506         * plugin/configfrag.ac: Likewise.
507         * plugin/hsa_ext_finalize.h: Removed.
508         * plugin/plugin-hsa.c: Likewise.
509         * testsuite/Makefile.in: Regenerated.
510         * testsuite/lib/libgomp.exp
511         (offload_target_to_openacc_device_type): Remove hsa case.
512         (check_effective_target_hsa_offloading_selected_nocache): Removed
513         (check_effective_target_hsa_offloading_selected): Likewise.
514         (libgomp_init): Do not add -Wno-hsa to additional_flags.
515         * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
516         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
517         * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
518         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
519         * testsuite/libgomp.hsa.c/c.exp: Likewise.
520         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
521         * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
522         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
523         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
524         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
525         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
526         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
527         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
528         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
529         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
530         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
531         * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
532         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
533         * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
534         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
535         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
536         * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
537         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
538         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
540 2020-07-27  Julian Brown  <julian@codesourcery.com>
541             Thomas Schwinge  <thomas@codesourcery.com>
543         * libgomp.h (struct target_var_desc): Rename do_detach field to
544         is_attach.
545         * oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
546         GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
547         (goacc_enter_data_internal): Don't affect reference counts
548         for attach mappings.
549         (goacc_exit_data_internal): Don't affect reference counts for detach
550         mappings.
551         * target.c (gomp_map_vars_existing): Don't affect reference counts for
552         attach mappings.
553         (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
554         mark attach mappings.
555         (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
556         reference count for attach mappings.
557         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
558         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
559         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
560         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
561         test as shouldfail.
562         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
563         gracefully in no-finalize mode.
564         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
566 2020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
568         * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
569         use.
570         * testsuite/libgomp.oacc-c/c.exp: Likewise.
571         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
573 2020-07-23  Julian Brown  <julian@codesourcery.com>
574             Thomas Schwinge  <thomas@codesourcery.com>
576         * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
577         finalization for detach operation.
578         * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
579         New test.
581 2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
583         * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
584         * libgomp_f.h.in (omp_check_defines): Check whether
585         sizeof of determined Fortran kind and C typedef match.
586         * omp_lib.f90.in: Add omp_depened_kind.
587         * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
588         * configure: Regenerate.
589         * Makefile.in: Regenerate.
590         * testsuite/Makefile.in: Regenerate.
592 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
594         * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
595         gcc/testsuite/c-c++-common/gomp/.
596         * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
597         * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
598         from gcc/testsuite/gfortran.dg/gomp/.
599         * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
601 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
603         * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
604         * omp_lib.h.in: Likewise.
606 2020-07-18  H.J. Lu  <hjl.tools@gmail.com>
608         PR target/95620
609         * testsuite/libgomp.c/pr95620.c: New test.
611 2020-07-16  Julian Brown  <julian@codesourcery.com>
612             Thomas Schwinge  <thomas@codesourcery.com>
614         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
615         * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
617 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
619         * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
620         avoid conversion on 32bit systems from 32bit to 64bit due
621         to -fdefault-integer-8.
623 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
625         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
626         variables; add character(kind=4) tests; update TODO comment.
628 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
630         * allocator.c: Add ialias for omp_init_allocator and
631         omp_destroy_allocator.
632         * configure.ac: Set INTPTR_T_KIND.
633         * configure: Regenerate.
634         * Makefile.in: Regenerate.
635         * testsuite/Makefile.in: Regenerate.
636         * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
637         omp_set_default_allocator_, omp_get_default_allocator_): New
638         functions and ialias_redirect.
639         * icv.c: Add ialias for omp_set_default_allocator and
640         omp_get_default_allocator.
641         * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
642         omp_destroy_allocator_, omp_set_default_allocator_ and
643         omp_get_default_allocator_.
644         * omp_lib.f90.in: Add allocator traits parameters, declare
645         allocator routines and add related kind parameters.
646         * omp_lib.h.in: Likewise.
647         * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
648         * testsuite/libgomp.fortran/alloc-1.F90: New test.
649         * testsuite/libgomp.fortran/alloc-2.F90: New test.
650         * testsuite/libgomp.fortran/alloc-3.F: New test.
651         * testsuite/libgomp.fortran/alloc-4.f90: New test.
652         * testsuite/libgomp.fortran/alloc-5.f90: New test.
654 2020-07-14  Tom de Vries  <tom@codesourcery.com>
655             Cesar Philippidis  <cesar@codesourcery.com>
656             Thomas Schwinge  <thomas@codesourcery.com>
657             Kwok Cheung Yeung  <kcy@codesourcery.com>
659         * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
660         New variable.
661         (acc_init_1): Set acc_init_thread to pthread_self ().  Set
662         acc_init_state to initializing at the start, and to initialized at the
663         end.
664         (self_initializing_p): New function.
665         (acc_get_device_type): Return acc_device_none if called by thread that
666         is currently executing acc_init_1.
667         * libgomp.texi (acc_get_device_type): Update documentation.
668         (Implementation Status and Implementation-Defined Behavior): Likewise.
669         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
671 2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
673         * config/t-aix: Set BITS from compiler cpp macro.
675 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
677         * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
679 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
681         PR fortran/67311
682         * testsuite/libgomp.fortran/target-map-1.f90: New test.
684 2020-07-14  Jakub Jelinek  <jakub@redhat.com>
686         * testsuite/libgomp.c/loop-21.c: New test.
688 2020-07-13  Julian Brown  <julian@codesourcery.com>
689             Thomas Schwinge  <thomas@codesourcery.com>
691         * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
693 2020-07-10  Julian Brown  <julian@codesourcery.com>
694             Thomas Schwinge  <thomas@codesourcery.com>
696         * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
697         dynamic_refcount.
698         (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
699         * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
700         dynamic_refcount.
701         (acc_unmap_data): Update comment.
702         (goacc_map_var_existing, goacc_enter_datum): Adjust for
703         dynamic_refcount semantics.
704         (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
705         Adjust for dynamic_refcount semantics.
706         (goacc_enter_data_internal): Implement "present" case of dynamic
707         memory-map handling here.  Update "non-present" case for
708         dynamic_refcount semantics.
709         (goacc_exit_data_internal): Use goacc_exit_datum_1.
710         * target.c (gomp_map_vars_internal): Remove
711         GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
712         handling.
713         (gomp_unmap_vars_internal): Remove virtual_refcount handling.
714         (gomp_load_image_to_device): Substitute dynamic_refcount for
715         virtual_refcount.
716         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
717         * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
718         * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
719         * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
720         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
721         trace output.
722         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
723         trace output.
724         * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
725         test.
726         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
727         Remove stale comment.
728         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
729         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
730         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
731         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
732         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
733         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
735 2020-07-10  Julian Brown  <julian@codesourcery.com>
736             Thomas Schwinge  <thomas@codesourcery.com>
738         * oacc-mem.c (goacc_map_var_existing): New function.
739         (goacc_enter_datum): Use above function.
740         (goacc_exit_datum_1): New function.
741         (goacc_exit_datum): Use above function.
743 2020-07-09  Julian Brown  <julian@codesourcery.com>
744             Thomas Schwinge  <thomas@codesourcery.com>
746         PR middle-end/95270
747         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
748         * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
750 2020-07-09  Julian Brown  <julian@codesourcery.com>
752         * oacc-mem.c (find_group_last): Group data-movement clauses
753         (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
754         GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
756 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
758         * testsuite/libgomp.c/loop-19.c: New test.
759         * testsuite/libgomp.c/loop-20.c: New test.
761 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
763         * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
764         2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
765         it.  Remove __omp_alloctrait_value_max__.
766         * allocator.c (omp_init_allocator): Handle omp_atv_default for
767         omp_atk_alignment and omp_atk_pool_size.
769 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
771         * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
772         behavior for 'GOMP_MAP_FORCE_FROM'.
773         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
775 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
777         * oacc-mem.c (goacc_exit_data_internal): Remove
778         'GOMP_MAP_ALWAYS_FROM' handling.
780 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
782         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
783         'scan-assembler' with 'scan-offload-rtl'.
784         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
785         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
786         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
787         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
789 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
791         * target.c (gomp_map_vars_existing): Assert 'kind !=
792         GOMP_MAP_ATTACH'.
793         (gomp_map_vars_internal): Clean up.
795 2020-06-27  Jakub Jelinek  <jakub@redhat.com>
797         * testsuite/libgomp.c/loop-17.c: New test.
798         * testsuite/libgomp.c/loop-18.c: New test.
800 2020-06-26  Marek Polacek  <polacek@redhat.com>
802         * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
804 2020-06-23  Alexandre Oliva  <oliva@adacore.com>
806         * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
807         * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
809 2020-06-22  David Edelsohn  <dje.gcc@gmail.com>
811         * Makefile.am: Use -include.
812         * Makefile.in: Regenerate.
814 2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
816         * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
817         * Makefile.in: Regenerate
818         * configure.ac (tmake_file): Substitute.
819         * configure: Regenerate.
820         * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
821         * config/t-aix: New file.
823 2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
825         PR lto/94848
826         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
827         'dg-do run'.
829 2020-06-17  Andrew Stubbs  <ams@codesourcery.com>
831         * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
832         variant for HSA_RUNTIME_LIB name.
833         (find_executable_symbol_1): Delete.
834         (find_executable_symbol): Delete.
835         (init_kernel_properties): Add ".kd" suffix to symbol names.
836         (find_load_offset): Delete.
837         (create_and_finalize_hsa_program): Remove relocation handling.
839 2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
841         * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
843 2020-06-08  Tobias Burnus  <tobias@codesourcery.com>
845         PR lto/94848
846         PR middle-end/95551
847         * testsuite/libgomp.fortran/target-var.f90: New test.
849 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
850             Julian Brown  <julian@codesourcery.com>
852         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
853         special handling.
855 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
856             Julian Brown  <julian@codesourcery.com>
858         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
859         Simplify.
861 2020-06-05  Julian Brown  <julian@codesourcery.com>
863         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
864         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
866 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
868         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
869         Evaluate 'copyfrom' individually for each entry.
870         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
872 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
874         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
875         Evaluate 'finalize' individually for each entry.
876         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
877         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
878         file.
880 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
882         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
883         usage.
884         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
886 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
887             Julian Brown  <julian@codesourcery.com>
889         * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
890         checking.
891         (acc_unmap_data, goacc_exit_data_internal): Restore
892         'is_tgt_unmapped' checking.
893         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
894         file.
895         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
896         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
897         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
898         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
899         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
900         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
902 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
903             Julian Brown  <julian@codesourcery.com>
905         * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
907 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
909         PR libgomp/92854
910         * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
912 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
914         PR libgomp/92854
915         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
916         more.
918 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
919             Julian Brown  <julian@codesourcery.com>
921         * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
922         'gomp_map_vars'.
923          (acc_map_data): Clean up accordingly.
925 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
927         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
928         of over-eager 'finalize' clause.
929         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
930         file.
931         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
932         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
933         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
934         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
935         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
936         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
937         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
938         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
940 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
942         * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
944 2020-06-04  Julian Brown  <julian@codesourcery.com>
946         * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
947         error path.
948         (goacc_detach_internal): Likewise.
950 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
952         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
953         the checkpoint.
954         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
955         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
956         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
957         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
958         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
960 2020-06-02  Jakub Jelinek  <jakub@redhat.com>
962         * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
963         defined.
965 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
967         * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
969 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
971         * allocator.c (omp_alloc): For size == 0, return NULL early.
973 2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
975         PR bootstrap/95413
976         * configure: Regenerated.
978 2020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
980         PR libfortran/95191
981         * testsuite/libgomp.fortran/async_io_9.f90: New test.
983 2020-05-19  Jakub Jelinek  <jakub@redhat.com>
985         * omp.h.in (omp_uintptr_t): New typedef.
986         (__GOMP_UINTPTR_T_ENUM): Define.
987         (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
988         omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
989         (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
990         (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
991         omp_get_default_allocator, omp_alloc, omp_free): Declare.
992         * libgomp.h (struct gomp_team_state): Add def_allocator field.
993         (gomp_def_allocator): Declare.
994         * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
995         omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
996         omp_alloc and omp_free.
997         * team.c (gomp_team_start): Copy over ts.def_allocator.
998         * env.c (gomp_def_allocator): New variable.
999         (parse_wait_policy): Adjust function comment.
1000         (parse_allocator): New function.
1001         (handle_omp_display_env): Print OMP_ALLOCATOR.
1002         (initialize_env): Call parse_allocator.
1003         * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
1004         * allocator.c: New file.
1005         * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
1006         functions.
1007         * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
1008         * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
1009         * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
1010         * Makefile.in: Regenerated.
1012 2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
1014         PR bootstrap/95147
1015         * configure: Regenerated.
1017 2020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
1019         PR libfortran/95119
1020         * testsuite/libgomp.fortran/close_errors_1.f90: New test.
1022 2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
1024         * configure: Regenerated.
1026 2020-05-14  Jakub Jelinek  <jakub@redhat.com>
1028         * testsuite/libgomp.c-c++-common/target-40.c: New test.
1030 2020-05-13  Tobias Burnus  <tobias@codesourcery.com>
1032         PR fortran/94690
1033         * testsuite/libgomp.fortran/pr66199-3.f90: New.
1034         * testsuite/libgomp.fortran/pr66199-4.f90: New.
1035         * testsuite/libgomp.fortran/pr66199-5.f90: New.
1036         * testsuite/libgomp.fortran/pr66199-6.f90: New.
1037         * testsuite/libgomp.fortran/pr66199-7.f90: New.
1038         * testsuite/libgomp.fortran/pr66199-8.f90: New.
1039         * testsuite/libgomp.fortran/pr66199-9.f90: New.
1041 2020-05-12  Jakub Jelinek  <jakub@redhat.com>
1043         * testsuite/libgomp.c/target-39.c: New test.
1045 2020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
1047         * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
1048         * openacc.f90 (acc_device_current): Likewise.
1049         * openacc.h (acc_device_current): Likewise.
1050         * openacc_lib.h (acc_device_current): Likewise.
1052         PR target/94282
1053         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
1054         'dg-allow-blank-lines-in-output'.
1056         * oacc-init.c (get_openacc_name): Handle 'gcn'.
1057         * testsuite/lib/libgomp.exp
1058         (offload_target_to_openacc_device_type) [amdgcn*]: Return
1059         'radeon'.  Adjust all users.
1060         (check_effective_target_openacc_amdgcn_accel_present): Rename
1061         to...
1062         (check_effective_target_openacc_radeon_accel_present): ... this.
1063         Adjust all users.
1064         (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
1065         (check_effective_target_openacc_radeon_accel_selected): ... this.
1066         Adjust all users.
1068         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
1069         'dg-do run'.
1071 2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
1073         PR other/94629
1075         * plugin/plugin-gcn.c (init_hsa_context): Check return value from
1076         hsa_iterate_agents.
1077         (GOMP_OFFLOAD_init_device): Check return values from both calls to
1078         hsa_agent_iterate_regions.
1080 2020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
1082         PR middle-end/94635
1083         * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
1084         run'.
1086 2020-04-20  Tobias Burnus  <tobias@codesourcery.com>
1088         PR middle-end/94120
1089         * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
1090         test case.
1092 2020-04-17  Tobias Burnus  <tobias@codesourcery.com>
1094         PR middle-end/94635
1095         * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
1097 2020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
1099         PR libgomp/92843
1100         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
1101         Rename to...
1102         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
1103         ... this.
1104         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
1105         Rename to...
1106         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
1107         ... this.
1108         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
1109         Rename to...
1110         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
1111         ... this.
1112         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
1113         Rename to...
1114         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
1115         ... this.
1116         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
1117         Rename to...
1118         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
1119         ... this.
1120         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
1121         Rename to...
1122         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
1123         ... this.
1124         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
1125         Rename to...
1126         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
1127         ... this.
1128         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
1129         Rename to...
1130         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
1131         ... this.
1132         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
1133         Rename to...
1134         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
1135         ... this.
1136         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
1137         Rename to...
1138         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
1139         ... this.
1140         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
1141         Rename to...
1142         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
1143         ... this.
1144         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
1145         Rename to...
1146         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
1147         ... this.
1148         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
1149         Rename to...
1150         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
1151         ... this.
1152         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
1153         Rename to...
1154         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
1155         ... this.
1156         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
1157         Rename to...
1158         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
1159         ... this.
1160         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
1161         Rename to...
1162         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
1163         ... this.
1165 2020-04-10  Julian Brown  <julian@codesourcery.com>
1166             Thomas Schwinge  <thomas@codesourcery.com>
1168         PR libgomp/92843
1169         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
1170         New file.
1171         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
1172         Likewise.
1173         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
1174         Likewise.
1175         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
1176         Likewise.
1177         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
1178         Likewise.
1179         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
1180         Likewise.
1181         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
1182         Likewise.
1183         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
1184         Likewise.
1185         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
1186         Likewise.
1187         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
1188         Likewise.
1189         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
1190         Likewise.
1191         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
1192         Likewise.
1193         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
1194         Likewise.
1195         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
1196         Likewise.
1197         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
1198         Likewise.
1199         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
1200         Likewise.
1202 2020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
1204         * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
1205         run'.
1207 2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
1209         PR middle-end/94120
1210         * libgomp.oacc-c++/declare-pr94120.C: New.
1212 2020-04-06  Maciej W. Rozycki  <macro@wdc.com>
1214         * configure.ac: Add testsuite/libgomp-site-extra.exp to output
1215         files.
1216         * configure: Regenerate.
1217         * testsuite/libgomp-site-extra.exp.in: New file.
1218         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
1219         variable.
1220         * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
1221         variable.
1222         * testsuite/Makefile.in: Regenerate.
1224 2020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
1226         PR tree-optimization/89713
1227         PR c/94392
1228         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
1229         'bar.sync'.
1230         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
1232 2020-03-31  Tobias Burnus  <tobias@codesourcery.com>
1234         * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
1235         * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
1237 2020-03-24  Tobias Burnus  <tobias@codesourcery.com>
1239         PR libgomp/81689
1240         * testsuite/libgomp.c/target-link-1.c: Remove xfail.
1242 2020-03-20  Tobias Burnus  <tobias@codesourcery.com>
1244         PR libgomp/94251
1245         * target.c (gomp_load_image_to_device): Fix link
1246         variable handling.
1248 2020-03-19  Jakub Jelinek  <jakub@redhat.com>
1250         PR c++/93931
1251         * testsuite/libgomp.c++/pr93931.C: New test.
1253 2020-03-19  Tobias Burnus  <tobias@codesourcery.com>
1255         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
1256         dg-allow-blank-lines-in-output.
1258 2020-03-18  Julian Brown <julian@codesourcery.com>
1259             Tobias Burnus  <tobias@codesourcery.com>
1261         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
1262         it work concurrently.
1264 2020-03-18  Tobias Burnus  <tobias@codesourcery.com>
1266         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
1267         #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
1268         * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
1270 2020-03-14  Jakub Jelinek  <jakub@redhat.com>
1272         PR middle-end/93566
1273         * testsuite/libgomp.c/pr93566.c: New test.
1275 2020-02-21  Frederik Harwath  <frederik@codesourcery.com>
1277         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
1278         changes from 2020-02-19, i.e. use integer(c_size_t) instead of
1279         integer(acc_device_property) for the type of the return value of
1280         acc_get_property.
1282 2020-02-19  Tobias Burnus  <tobias@codesourcery.com>
1284         * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
1285         * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
1286         (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
1287         * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
1288         (acc_set_device_num): Fix Fortran argument name, use same name for C.
1289         (acc_get_property): Update Fortran interface to post-OpenACC 3.0
1290         corrections; add note about the previous interface and named constant.
1291         (OpenACC library and environment variables): Fix two typos.
1292         * openacc.f90: Use for all procedures the argument names from the spec
1293         as for â€¦_h they are user visible.
1294         (openacc_kinds): Rename acc_device_property to
1295         acc_device_property_kinds and change value to int32 ; and update users.
1296         Re-add acc_device_property for for backward compatibility.
1297         (acc_get_property_string_h): Clean up as acc_device_property_kind
1298         changed.
1299         (acc_get_property_h): Likewise and return c_size_t instead of
1300         acc_device_property.
1301         (openacc): Also export acc_device_property_kinds.
1302         (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
1303         acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
1304         handling; check against /= 0 instead of == 1 to match C.
1305         * openacc_lib.h: Use for all procedures the argument names from the spec
1306         as for â€¦_h they are user visible. Place !GCC$ into the first column to
1307         be active also for fixed-form souce form.
1308         (acc_device_current, acc_device_property_kind, acc_device_property,
1309         acc_property_memory, acc_property_free_memory, acc_property_name,
1310         acc_property_vendor, acc_property_driver): New named constants.
1311         (acc_get_property, acc_get_property_string): New generic interface.
1313 2020-02-13  Frederik Harwath  <frederik@codesourcery.com>
1315         PR libgomp/93481
1316         * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
1317         * target.c (gomp_load_plugin_for_device): Make "async_run" loading
1318         optional.
1319         (gomp_target_task_fn): Assert "devicep->async_run_func".
1320         (clear_unsupported_flags): New function to remove unsupported flags
1321         (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
1322         (GOMP_target_ext): Apply clear_unsupported_flags to flags.
1323         * testsuite/libgomp.c/target-33.c:
1324         Remove xfail for offload_target_nvptx.
1325         * testsuite/libgomp.c/target-34.c: Likewise.
1327 2020-02-10  Frederik Harwath  <frederik@codesourcery.com>
1329         * testsuite/libgomp.c/target-33.c: Add xfail for execution on
1330         offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
1331         * testsuite/libgomp.c/target-34.c: Likewise.
1332         * testsuite/libgomp.c/target-link-1.c: Add xfail for
1333         offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
1335 2020-02-09  Jakub Jelinek  <jakub@redhat.com>
1337         * testsuite/libgomp.c/target-38.c: New test.
1339 2020-02-06  Jakub Jelinek  <jakub@redhat.com>
1341         PR libgomp/93515
1342         * testsuite/libgomp.c-c++-common/pr93515.c: New test.
1344 2020-02-05  Tobias Burnus  <tobias@codesourcery.com>
1346         * testsuite/lib/libgomp.exp
1347         (check_effective_target_offload_target_nvptx): Pass flags as 'options'
1348         and not as 'source' argument to libgomp_target_compile.
1350 2020-02-03  Andrew Stubbs  <ams@codesourcery.com>
1352         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
1353         (gcn_gfx801_s): Remove.
1354         (isa_hsa_name): Remove gfx801.
1355         (isa_gcc_name): Remove gfx801/carizzo.
1356         (isa_code): Remove gfx801.
1358 2020-02-03  Julian Brown  <julian@codesourcery.com>
1359             Tobias Burnus  <tobias@codesourcery.com>
1361         * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
1362         and *_finalize variants; document acc_attach and acc_detach; update
1363         references from OpenACC 2.0 to 2.6.
1364         * openacc.f90 (openacc_version): Update to 201711.
1365         * openacc_lib.h (openacc_version): Update to 201711.
1366         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
1367         openacc_version to 201711.
1368         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
1370 2020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
1372         * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
1373         and vgpr_count fields.
1374         (struct kernel_info): Add a field for a hsa_kernel_description.
1375         (run_kernel): Reduce the number of threads/workers if the requested
1376         number would require too many VGPRs.
1377         (init_basic_kernel_info): Initialize description field with
1378         the hsa_kernel_description entry for the kernel.
1380 2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
1382         PR bootstrap/93409
1383         * plugin/configfrag.ac (enable_offload_targets): Skip
1384         HSA and GCN plugin besides -m32 also for -mx32.
1385         * configure: Regenerate.
1387 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
1389         * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
1391 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
1393         * plugin-gcn.c (struct agent_info): Add fields "name" and
1394         "vendor_name" ...
1395         (GOMP_OFFLOAD_init_device): ... and init from here.
1396         (struct hsa_context_info): Add field "driver_version_s" ...
1397         (init_hsa_contest): ... and init from here.
1398         (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
1399         implementation.
1400         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
1401         Enable test execution for amdgcn and host offloading targets.
1402         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
1403         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
1404         (expect_device_properties): Split function into ...
1405         (expect_device_string_properties): ... this new function ...
1406         (expect_device_memory): ... and this new function.
1407         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
1408         Add test.
1410 2020-01-28  Julian Brown  <julian@codesourcery.com>
1412         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
1413         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
1414         component/non-component variable refs in a single directive.
1415         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
1417 2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
1419         * configure.ac: Handle `--with-toolexeclibdir='.
1420         * Makefile.in: Regenerate.
1421         * aclocal.m4: Regenerate.
1422         * configure: Regenerate.
1423         * testsuite/Makefile.in: Regenerate.
1425 2020-01-24  Frederik Harwath  <frederik@codesourcery.com>
1427         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
1428         (expect_device_properties): Remove "expected_free_mem" argument,
1429         change "expected_total_mem" argument type to size_t;
1430         change types of acc_get_property results to size_t,
1431         adapt format strings.
1432         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
1433         Use %zu instead of %zd to print size_t values.
1434         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
1435         rename to ...
1436         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
1437         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
1438         rename to ...
1439         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
1441 2020-01-23  Andrew Stubbs  <ams@codesourcery.com>
1443         * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
1444         the device id.
1446 2020-01-20  Andrew Stubbs  <ams@codesourcery.com>
1448         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
1449         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
1450         Adjust test dimensions for amdgcn.
1451         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
1452         gang/worker/vector expectations dynamically.
1453         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
1454         (main): Likewise.
1455         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
1456         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
1457         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
1458         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
1459         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
1460         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
1461         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
1462         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
1463         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1464         (acc_gang): Recognise acc_device_radeon.
1465         (acc_worker): Likewise.
1466         (acc_vector): Likewise.
1467         (main): Set expectations for amdgcn.
1468         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
1469         (main): Adjust gang/worker/vector expectations dynamically.
1470         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
1471         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
1472         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
1473         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
1474         for amdgcn.
1476 2020-01-17  Andrew Stubbs  <ams@codesourcery.com>
1478         * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
1479         acc_device_radeon.
1480         (openacc): Likewise.
1481         * openacc.f90 (openacc_kinds): Likewise.
1482         (openacc): Likewise.
1483         * openacc.h (acc_device_t): Likewise.
1484         * openacc_lib.h: Likewise.
1485         * testsuite/lib/libgomp.exp
1486         (check_effective_target_openacc_amdgcn_accel_present): Likewise.
1487         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
1488         (cb_compute_construct_end): Likewise.
1489         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1490         (cb_enqueue_launch_start): Likewise.
1491         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
1492         (cb_enter_data_end): Likewise.
1493         (cb_exit_data_start): Likewise.
1494         (cb_exit_data_end): Likewise.
1495         (cb_compute_construct_end): Likewise.
1496         (cb_enqueue_launch_start): Likewise.
1497         (cb_enqueue_launch_end): Likewise.
1498         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
1499         (main): Likewise.
1501 2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
1503         * libgomp-plugin.h (enum goacc_property): New.  Adjust all users
1504         to use this instead of 'enum gomp_device_property'.
1505         (GOMP_OFFLOAD_get_property): Rename to...
1506         (GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
1507         * libgomp.h (struct gomp_device_descr): Move
1508         'GOMP_OFFLOAD_openacc_get_property'...
1509         (struct acc_dispatch_t): ... here.  Adjust all users.
1510         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
1512         * target.c (gomp_map_vars_internal)
1513         <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
1514         paths.
1516 2020-01-10  Jakub Jelinek  <jakub@redhat.com>
1518         PR libgomp/93219
1519         * libgomp.h (gomp_print_string): Change return type from void to int.
1520         * affinity-fmt.c (gomp_print_string): Likewise.  Return true if
1521         not all characters have been written.
1523 2020-01-08  Tobias Burnus  <tobias@codesourcery.com>
1525         * libgomp.texi: Fix typos, use https.
1527 2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
1529         * testsuite/libgomp.fortran/optional-map.f90: Add test for
1530         unallocated/disassociated actual arguments to nonallocatable/nonpointer
1531         dummy arguments; those are/shall be regarded as absent arguments.
1532         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
1533         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
1535 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
1537         Update copyright years.
1539         * libgomp.texi: Bump @copying's copyright year.
1541 2019-12-31  Ayush Mittal  <ayush.m@samsung.com>
1543         PR libgomp/93065
1544         * oacc-init.c (goacc_runtime_deinitialize): New function.
1546 2019-12-28  Jakub Jelinek  <jakub@redhat.com>
1548         PR bootstrap/93074
1549         * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
1550         (cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
1552 2019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
1553             Frederik Harwath  <frederik@codesourcery.com>
1554             Thomas Schwinge  <tschwinge@codesourcery.com>
1556         * libgomp.h (gomp_device_descr): Add `get_property_func' member.
1557         * libgomp-plugin.h (gomp_device_property_value): New union.
1558         (gomp_device_property_value): New prototype.
1559         * openacc.h (acc_device_t): Add `acc_device_current' enumeration
1560         constant.
1561         (acc_device_property_t): New enum.
1562         (acc_get_property, acc_get_property_string): New prototypes.
1563         * oacc-init.c (acc_get_device_type): Also assert that result
1564         is not `acc_device_current'.
1565         (get_property_any, acc_get_property, acc_get_property_string):
1566         New functions.
1567         * openacc.f90 (openacc_kinds): Add `acc_device_current' and
1568         `acc_property_memory', `acc_property_free_memory',
1569         `acc_property_name', `acc_property_vendor' and
1570         `acc_property_driver' constants.  Add `acc_device_property' data
1571         type.
1572         (openacc_internal): Add `acc_get_property' and
1573         `acc_get_property_string' interfaces.  Add `acc_get_property_h',
1574         `acc_get_property_string_h', `acc_get_property_l' and
1575         `acc_get_property_string_l'.
1576         * oacc-host.c (host_get_property): New function.
1577         (host_dispatch): Wire it.
1578         * target.c (gomp_load_plugin_for_device): Handle `get_property'.
1579         * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
1580         `acc_get_property_string' and `acc_get_property_string_h_' symbols.
1581         * libgomp.texi (OpenACC Runtime Library Routines): Add
1582         `acc_get_property'.
1583         (acc_get_property): New node.
1584         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
1585         function (stub).
1586         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
1587         * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
1588         `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
1589         calls.
1590         (GOMP_OFFLOAD_get_property): New function.
1591         (struct ptx_device): Add new field "name".
1592         (cuda_driver_version_s): Add new static variable ...
1593         (nvptx_init): ... and init from here.
1595         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
1596         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
1597         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
1598         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
1599         with test helper functions.
1601         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
1603 2019-12-22  Maciej W. Rozycki  <macro@wdc.com>
1605         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
1606         variable.
1608 2019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
1610         * target.c (gomp_map_vars_internal): Restore 'omp declare target
1611         link' handling.
1613 2019-12-19  Julian Brown  <julian@codesourcery.com>
1615         * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
1616         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
1617         * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
1619 2019-12-19  Julian Brown  <julian@codesourcery.com>
1620             Cesar Philippidis  <cesar@codesourcery.com>
1622         * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
1623         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
1624         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
1625         * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
1626         * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
1627         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
1628         * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
1629         * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
1630         * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
1631         * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
1632         * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
1633         * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
1634         * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
1636 2019-12-19  Julian Brown  <julian@codesourcery.com>
1638         * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
1639         * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
1640         * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
1641         * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
1642         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
1643         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
1644         * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
1645         * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
1646         * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
1647         * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
1648         * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
1649         * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
1651 2019-12-19  Julian Brown  <julian@codesourcery.com>
1653         * libgomp.h (struct target_var_desc): Add do_detach flag.
1654         * oacc-init.c (acc_shutdown_1): Free aux block if present.
1655         * oacc-mem.c (find_group_last): Add SIZES parameter. Support
1656         struct components.  Tidy up and add some new checks.
1657         (goacc_enter_data_internal): Update call to find_group_last.
1658         (goacc_exit_data_internal): Support detach operations and
1659         GOMP_MAP_STRUCT.
1660         (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
1661         GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
1662         attach/detach in enter/exit data detection code.
1663         * target.c (gomp_map_vars_existing): Initialise do_detach field of
1664         tgt_var_desc.
1665         (gomp_map_vars_internal): Support attach.
1666         (gomp_unmap_vars_internal): Support detach.
1668 2019-12-19  Julian Brown  <julian@codesourcery.com>
1669             Thomas Schwinge  <thomas@codesourcery.com>
1671         * libgomp.h (struct splay_tree_aux): Add attach_count field.
1672         (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
1673         * libgomp.map (OACC_2.6): New section. Add acc_attach,
1674         acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
1675         acc_detach_finalize_async.
1676         * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
1677         acc_detach, acc_detach_async, acc_detach_finalize,
1678         acc_detach_finalize_async): New functions.
1679         * openacc.h (acc_attach, acc_attach_async, acc_detach,
1680         (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
1681         prototypes.
1682         * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
1683         (gomp_remove_var_internal): Free attachment counts if present.
1684         * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
1685         * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
1687 2019-12-19  Julian Brown  <julian@codesourcery.com>
1688             Cesar Philippidis  <cesar@codesourcery.com>
1690         * libgomp.h (gomp_map_val): Add prototype.
1691         * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
1692         open-coding device-address calculation.
1693         * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
1694         non-present case.
1696 2019-12-19  Julian Brown  <julian@codesourcery.com>
1698         * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
1699         field for virtual_refcount.
1700         (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
1701         (gomp_free_memmap): Remove prototype.
1702         * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
1703         instead of calling gomp_free_memmap.
1704         * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
1705         dynamic_refcount.
1706         (acc_unmap_data): Open code instead of forcing target_mem_desc's
1707         to_free field to NULL then calling gomp_unmap_vars.  Handle
1708         REFCOUNT_INFINITY on target blocks.
1709         (goacc_enter_data): Rename to...
1710         (goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
1711         handling for mapping groups.  Use virtual_refcount instead of
1712         dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
1713         map_map_vars_async call.  Re-do lookup for target pointer return value.
1714         (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
1715         renamed goacc_enter_datum function.
1716         (goacc_exit_data): Rename to...
1717         (goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
1718         (acc_delete, acc_delete_async, acc_delete_finalize,
1719         acc_delete_finalize_async, acc_copyout, acc_copyout_async,
1720         acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
1721         goacc_exit_datum function.
1722         (gomp_acc_remove_pointer, find_pointer): Remove functions.
1723         (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
1724         New functions.
1725         (GOACC_enter_exit_data): Use goacc_enter_data_internal and
1726         goacc_exit_data_internal helper functions.
1727         * target.c (gomp_map_vars_internal): Handle
1728         GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
1729         semantics.
1730         (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
1731         (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
1732         virtual_refcount field instead of dynamic_refcount.
1733         (gomp_free_memmap): Remove function.
1734         * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
1735         * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
1736         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
1738 2019-12-19  Julian Brown  <julian@codesourcery.com>
1739             Thomas Schwinge  <thomas@codesourcery.com>
1741         * libgomp.h (struct splay_tree_aux): New.
1742         (struct splay_tree_key_s): Replace link_key field with aux pointer.
1743         * target.c (gomp_map_vars_internal): Adjust for link_key being moved
1744         to aux struct.
1745         (gomp_remove_var_internal): Free aux block if present.
1746         (gomp_load_image_to_device): Zero-initialise aux field instead of
1747         link_key field.
1748         (omp_target_associate_pointer): Zero-initialise aux field.
1750 2019-12-18  Jakub Jelinek  <jakub@redhat.com>
1752         PR middle-end/86416
1753         * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
1754         q or none.
1755         * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
1756         L or none.
1758 2019-12-19  Julian Brown  <julian@codesourcery.com>
1759             Maciej W. Rozycki  <macro@codesourcery.com>
1760             Tobias Burnus  <tobias@codesourcery.com>
1761             Thomas Schwinge  <thomas@codesourcery.com>
1763         * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
1764         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
1765         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
1766         * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
1767         * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
1768         * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
1769         * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
1770         * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
1771         * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
1773 2019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
1775         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1776         called...
1777         (goacc_insert_pointer): ... from here, "present" case.
1778         (goacc_insert_pointer): Inline function into...
1779         (GOACC_enter_exit_data): ... here, and simplify.
1781         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
1782         called...
1783         (goacc_insert_pointer): ... from here, "not present" case.
1785         * oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
1786         all users.
1788         * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
1789         'goacc_enter_data', 'goacc_exit_data'.
1791         * oacc-mem.c (delete_copyout): Refactor into...
1792         (goacc_exit_data): ... this.  Adjust all users.
1794         * oacc-mem.c (present_create_copy): Refactor into...
1795         (goacc_enter_data): ... this.  Adjust all users.
1797         * target.c (gomp_unmap_vars_internal): Add a safeguard to
1798         'gomp_remove_var'.
1800         * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
1801         like 'GOMP_MAP_FROM'.
1803         PR libgomp/92726
1804         PR libgomp/92970
1805         PR libgomp/92984
1806         * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
1807         fails.
1808         (GOACC_enter_exit_data): Simplify accordingly.
1809         * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
1810         subsuming...
1811         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
1812         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
1813         file.
1814         * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
1815         subsuming...
1816         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
1817         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
1818         file.
1819         * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
1820         subsuming...
1821         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
1823         * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
1824         'finalize' handling.
1826         PR libgomp/92848
1827         * oacc-mem.c (acc_map_data, present_create_copy)
1828         (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
1829         (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
1830         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
1831         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
1832         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
1833         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
1834         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
1835         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
1836         Remove "XFAIL"s.
1838         * target.c (gomp_unmap_tgt): Make it 'static'.
1839         * libgomp.h (gomp_unmap_tgt): Remove.
1841 2019-12-18  Tobias Burnus  <tobias@codesourcery.com>
1843         PR middle-end/86416
1844         * testsuite/libgomp.c/pr86416-1.c: New.
1845         * testsuite/libgomp.c/pr86416-2.c: New.
1847 2019-12-17  Tobias Burnus  <tobias@codesourcery.com>
1849         * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
1850         all symbols as public except for the 'use â€¦, only' imported symbol,
1851         which is private.
1852         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1853         all symbols from module openacc_kinds as PUBLIC
1854         * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
1855         fix comment typo.
1856         * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
1858 2019-12-13  Julian Brown  <julian@codesourcery.com>
1860         PR libgomp/92881
1862         * libgomp.h (gomp_remove_var_async): Add prototype.
1863         * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
1864         gomp_remove_var.
1865         * target.c (gomp_unref_tgt): Change return type to bool, indicating
1866         whether target_mem_desc was unmapped.
1867         (gomp_unref_tgt_void): New.
1868         (gomp_remove_var): Reimplement in terms of...
1869         (gomp_remove_var_internal): ...this new helper function.
1870         (gomp_remove_var_async): New, implemented using above helper function.
1871         (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
1872         gomp_unref_tgt.
1874 2019-12-13  Andrew Stubbs  <ams@codesourcery.com>
1876         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
1877         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
1878         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
1879         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
1880         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
1881         Likewise.
1882         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
1883         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
1885 2019-12-13  Tobias Burnus  <tobias@codesourcery.com>
1887         * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
1888         as public except for the 'use â€¦, only' imported symbol, which is
1889         private.
1890         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
1891         all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
1892         attributes for acc_copyout_finalize and acc_delete_finalize.
1894 2019-12-11  Jakub Jelinek  <jakub@redhat.com>
1896         PR fortran/92899
1897         * testsuite/libgomp.fortran/atomic1.f90: New test.
1899 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
1901         PR libgomp/92843
1902         * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
1903         reference counting for structured 'REFCOUNT_INFINITY'.  Add some
1904         assertions.
1905         (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
1906         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
1907         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
1908         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1909         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1911         * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
1912         * oacc-mem.c: ... here.
1913         (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
1914         'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
1915         * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
1916         Remove.
1917         * libgomp_g.h: Update.
1919         * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
1920         * oacc-async.c: ... here.
1921         * oacc-int.h (goacc_wait): Declare.
1922         * libgomp_g.h: Update
1924         PR libgomp/92854
1925         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
1926         New file.
1927         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
1928         Likewise.
1929         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
1930         Likewise.
1931         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
1932         Likewise.
1933         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
1934         Likewise.
1935         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
1936         Likewise.
1938 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
1939             Julian Brown  <julian@codesourcery.com>
1941         * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
1942         Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
1944 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
1946         * omp_lib.h.in: Fix spelling of function declaration
1947         omp_get_cancell(l)ation.
1948         * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
1949         Fix typos.
1950         * env.c: Fix comment typos.
1951         * oacc-host.c: Likewise.
1952         * ordered.c: Likewise.
1953         * task.c: Likewise.
1954         * team.c: Likewise.
1955         * config/gcn/task.c: Likewise.
1956         * config/gcn/team.c: Likewise.
1957         * config/nvptx/task.c: Likewise.
1958         * config/nvptx/team.c: Likewise.
1959         * plugin/plugin-gcn.c: Likewise.
1960         * testsuite/libgomp.fortran/jacobi.f: Likewise.
1961         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1962         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
1964 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
1966         * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
1967         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
1968         unnecessary 'dg-additional-options "-w"'.
1970 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
1971             Julian Brown  <julian@codesourcery.com>
1973         PR libgomp/92116
1974         PR libgomp/92877
1976         * oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
1977         * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
1978         Adjust all users.
1979         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1980         Remove XFAIL.
1981         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
1982         Likewise.
1983         * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
1985 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
1987         PR libgomp/92503
1988         * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
1989         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
1990         file.
1991         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
1992         Likewise.
1993         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
1994         Likewise.
1995         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
1996         Likewise.
1997         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
1998         Likewise.
1999         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
2000         Likewise.
2001         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
2002         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2003         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2004         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2005         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2006         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2007         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2008         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2009         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
2010         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
2012         PR libgomp/92840
2013         * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
2014         (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
2015         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
2016         New file.
2017         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
2018         Likewise.
2019         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
2020         Likewise.
2021         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
2022         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
2024         PR libgomp/92511
2025         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
2026         this file...
2027         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
2028         this file...
2029         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
2030         file...
2031         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
2032         file...
2033         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
2034         ... with their content moved into, and extended in this new file.
2035         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
2036         New file.
2037         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
2038         Likewise.
2039         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
2040         Likewise.
2041         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
2042         Likewise.
2044         * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
2046         PR libgomp/92854
2047         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
2049         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
2051         * target.c (gomp_exit_data): Use 'gomp_remove_var'.
2053 2019-12-09  Tobias Burnus  <tobias@codesourcery.com>
2055         * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
2056         unique.
2057         * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
2058         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
2059         * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
2060         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
2061         Ditto.
2062         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
2063         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
2065 2019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
2067         * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
2069 2019-12-06  Tobias Burnus  <tobias@codesourcery.com>
2070             Kwok Cheung Yeung <kcy@codesourcery.com>
2072         * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
2073         if input it a NULL pointer.
2074         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
2075         diagnostic of NULL pointer.
2076         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
2077         * testsuite/libgomp.fortran/optional-map.f90: New.
2078         * testsuite/libgomp.fortran/use_device_addr-1.f90
2079         (test_dummy_opt_callee_1_absent): New.
2080         (test_dummy_opt_call_1): Call it.
2081         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
2082         * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
2083         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
2084         * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
2085         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
2086         * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
2087         * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
2088         * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
2089         * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
2090         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
2091         * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
2092         * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
2093         * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
2094         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
2095         * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
2096         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
2098 2019-12-05  Tobias Burnus  <tobias@codesourcery.com>
2100         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
2101         expect dg-output of 'Error termination.' for GCN.
2102         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2103         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2105 2019-12-04  Jakub Jelinek  <jakub@redhat.com>
2107         PR fortran/92756
2108         * testsuite/libgomp.fortran/teams1.f90: New test.
2109         * testsuite/libgomp.fortran/teams2.f90: New test.
2111 2019-12-03  Frederik Harwath  <frederik@codesourcery.com>
2113         * oacc-init.c (acc_known_device_type): Add function.
2114         (unknown_device_type_error): Add function.
2115         (name_of_acc_device_t): Change to call unknown_device_type_error
2116         on unknown type.
2117         (resolve_device): Use acc_known_device_type.
2118         (acc_init): Fail if acc_device_t argument is not valid.
2119         (acc_shutdown): Likewise.
2120         (acc_get_num_devices): Likewise.
2121         (acc_set_device_type): Likewise.
2122         (acc_get_device_num): Likewise.
2123         (acc_set_device_num): Likewise.
2124         (acc_on_device): Add comment that argument validity is not checked.
2126 2019-12-03  Andrew Stubbs  <ams@codesourcery.com>
2128         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2129         Recognize amdgcn.
2130         (check_effective_target_openacc_amdgcn_accel_present): New proc.
2131         (check_effective_target_openacc_amdgcn_accel_selected): New proc.
2132         * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
2133         * testsuite/libgomp.oacc-c/c.exp: Likewise.
2134         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2136 2019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
2138         PR libgomp/91938
2139         * configure.tgt: Avoid IE tls on *-*-musl*.
2141 2019-11-29  Tobias Burnus  <tobias@codesourcery.com>
2143         * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
2144         adding a common-block test case.
2146 2019-11-29  Jakub Jelinek  <jakub@redhat.com>
2148         PR c++/60228
2149         * testsuite/libgomp.c++/udr-20.C: New test.
2150         * testsuite/libgomp.c++/udr-21.C: New test.
2152 2019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
2154         * testsuite/lib/libgomp.exp
2155         (check_effective_target_offload_target_nvptx): New proc.
2156         * testsuite/libgomp.fortran/target-print-1.f90: Use it with
2157         'dg-skip-if'.
2158         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2159         * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
2160         * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
2162 2019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
2164         * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
2165         * testsuite/libgomp.c/pr39591-2.c: Likewise.
2166         * testsuite/libgomp.c/pr39591-3.c: Likewise.
2167         * testsuite/libgomp.c/private-1.c: Likewise.
2168         * testsuite/libgomp.c/task-1.c: Likewise.
2169         * testsuite/libgomp.c/task-5.c: Renamed err to serr.
2171 2019-11-20  Julian Brown  <julian@codesourcery.com>
2173         * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
2174         aq->mutex here.
2175         (queue_push_launch): Lock aq->mutex before calling
2176         wait_for_queue_nonfull.
2177         (queue_push_callback): Likewise.
2178         (queue_push_asyncwait): Likewise.
2179         (queue_push_placeholder): Likewise.
2181 2019-11-20  Julian Brown  <julian@codesourcery.com>
2183         * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
2184         (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
2185         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
2186         return code.
2188 2019-11-20  Julian Brown  <julian@codesourcery.com>
2190         PR libgomp/92511
2192         * oacc-mem.c (present_create_copy): Fix device pointer return value in
2193         case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
2194         in non-present/create case.
2195         (delete_copyout): Change error condition to fail only on copies outside
2196         of mapped block.  Adjust error message accordingly.
2197         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
2198         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
2199         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
2200         message.
2201         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2202         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
2203         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2205 2019-11-20  Maciej W. Rozycki  <macro@wdc.com>
2207         * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
2208         libatomic in build-tree testing.
2210 2019-11-18  Maciej W. Rozycki  <macro@wdc.com>
2212         * testsuite/Makefile.in: Regenerate.
2214 2019-11-15  Andrew Stubbs  <ams@codesourcery.com>
2216         * testsuite/libgomp.c/target-print-1.c: New file.
2217         * testsuite/libgomp.fortran/target-print-1.f90: New file.
2218         * testsuite/libgomp.oacc-c/print-1.c: New file.
2219         * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
2221 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
2222             Kwok Cheung Yeung  <kcy@codesourcery.com>
2223             Julian Brown  <julian@codesourcery.com>
2224             Tom de Vries  <tom@codesourcery.com>
2226         * plugin/Makefrag.am: Add amdgcn plugin support.
2227         * plugin/configfrag.ac: Likewise.
2228         * plugin/plugin-gcn.c: New file.
2229         * configure: Regenerate.
2230         * Makefile.in: Regenerate.
2231         * testsuite/Makefile.in: Regenerate.
2233 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
2235         * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
2236         and use team_malloc variants.
2237         (gomp_gcn_exit_kernel): Use team_free.
2238         * libgomp.h (TEAM_ARENA_SIZE): Define.
2239         (TEAM_ARENA_START): Define.
2240         (TEAM_ARENA_FREE): Define.
2241         (TEAM_ARENA_END): Define.
2242         (team_malloc): New function.
2243         (team_malloc_cleared): New function.
2244         (team_free): New function.
2245         * team.c (gomp_new_team): Initialize and use team_malloc.
2246         (free_team): Use team_free.
2247         (gomp_free_thread): Use team_free.
2248         (gomp_pause_host): Use team_free.
2249         * work.c (gomp_init_work_share): Use team_malloc.
2250         (gomp_fini_work_share): Use team_free.
2252 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
2253             Kwok Cheung Yeung  <kcy@codesourcery.com>
2254             Julian Brown  <julian@codesourcery.com>
2255             Tom de Vries  <tom@codesourcery.com>
2257         * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
2258         * Makefile.in: Regenerate.
2259         * config.h.in (PLUGIN_GCN): Add new undef.
2260         * config/accel/openacc.f90 (acc_device_gcn): New parameter.
2261         * config/gcn/affinity-fmt.c: New file.
2262         * config/gcn/bar.c: New file.
2263         * config/gcn/bar.h: New file.
2264         * config/gcn/doacross.h: New file.
2265         * config/gcn/icv-device.c: New file.
2266         * config/gcn/oacc-target.c: New file.
2267         * config/gcn/simple-bar.h: New file.
2268         * config/gcn/target.c: New file.
2269         * config/gcn/task.c: New file.
2270         * config/gcn/team.c: New file.
2271         * config/gcn/time.c: New file.
2272         * configure.ac: Add amdgcn*-*-*.
2273         * configure: Regenerate.
2274         * configure.tgt: Add amdgcn*-*-*.
2275         * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
2276         * libgomp.h (gcn_thrs): Add amdgcn variant.
2277         (set_gcn_thrs): Likewise.
2278         (gomp_thread): Likewise.
2279         * oacc-int.h (goacc_thread): Likewise.
2280         * oacc-target.c: New file.
2281         * openacc.f90 (acc_device_gcn): New parameter.
2282         * openacc.h (acc_device_t): Add acc_device_gcn.
2283         * team.c (gomp_free_pool_helper): Add amdgcn support.
2285 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
2286             Julian Brown  <julian@codesourcery.com>
2288         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
2289         parameter.
2290         * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
2291         queue constructor.
2292         * oacc-host.c (host_openacc_async_construct): Add device parameter.
2293         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
2294         device parameter.
2296 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
2298         * configure.tgt (nvptx*-*-*): Add "accel" directory.
2299         * config/nvptx/libgomp-plugin.c: Move ...
2300         * config/accel/libgomp-plugin.c: ... to here.
2301         * config/nvptx/lock.c: Move ...
2302         * config/accel/lock.c: ... to here.
2303         * config/nvptx/mutex.c: Move ...
2304         * config/accel/mutex.c: ... to here.
2305         * config/nvptx/mutex.h: Move ...
2306         * config/accel/mutex.h: ... to here.
2307         * config/nvptx/oacc-async.c: Move ...
2308         * config/accel/oacc-async.c: ... to here.
2309         * config/nvptx/oacc-cuda.c: Move ...
2310         * config/accel/oacc-cuda.c: ... to here.
2311         * config/nvptx/oacc-host.c: Move ...
2312         * config/accel/oacc-host.c: ... to here.
2313         * config/nvptx/oacc-init.c: Move ...
2314         * config/accel/oacc-init.c: ... to here.
2315         * config/nvptx/oacc-mem.c: Move ...
2316         * config/accel/oacc-mem.c: ... to here.
2317         * config/nvptx/oacc-plugin.c: Move ...
2318         * config/accel/oacc-plugin.c: ... to here.
2319         * config/nvptx/omp-lock.h: Move ...
2320         * config/accel/omp-lock.h: ... to here.
2321         * config/nvptx/openacc.f90: Move ...
2322         * config/accel/openacc.f90: ... to here.
2323         * config/nvptx/pool.h: Move ...
2324         * config/accel/pool.h: ... to here.
2325         * config/nvptx/proc.c: Move ...
2326         * config/accel/proc.c: ... to here.
2327         * config/nvptx/ptrlock.c: Move ...
2328         * config/accel/ptrlock.c: ... to here.
2329         * config/nvptx/ptrlock.h: Move ...
2330         * config/accel/ptrlock.h: ... to here.
2331         * config/nvptx/sem.c: Move ...
2332         * config/accel/sem.c: ... to here.
2333         * config/nvptx/sem.h: Move ...
2334         * config/accel/sem.h: ... to here.
2335         * config/nvptx/thread-stacksize.h: Move ...
2336         * config/accel/thread-stacksize.h: ... to here.
2338 2019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
2339             Tobias Burnus  <tobias@codesourcery.com>
2340             Frederik Harwath  <frederik@codesourcery.com>
2341             Thomas Schwinge  <thomas@codesourcery.com>
2343         libgomp/
2344         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
2345         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
2346         * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
2348 2019-11-11  Tobias Burnus  <tobias@codesourcery.com>
2349             Kwok Cheung Yeung  <kcy@codesourcery.com>
2351         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
2352         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
2354 2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
2356         * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
2358         * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
2359         run'.
2360         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
2361         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
2363 2019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
2365         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
2366         Add expected warnings about missing reduction clauses.
2367         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
2368         Likewise.
2369         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
2370         Likewise.
2371         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
2372         Likewise.
2374 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
2376         * testsuite/libgomp.fortran/pr66199-1.f90: Remove
2377         'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
2378         * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
2379         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2380         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2381         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2383 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
2385         PR fortran/92305
2386         * testsuite/libgomp.fortran/allocatable2.f90: Use
2387         unique numbers with 'stop'.
2388         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2389         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2390         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
2391         * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
2392         * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
2394 2019-11-01  Tobias Burnus  <tobias@codesourcery.com>
2396         * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
2397         test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
2398         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
2399         * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
2400         * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
2401         * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
2403 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
2405         * testsuite/libgomp.fortran/target9.f90: New.
2407 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
2409         * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
2410         * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
2411         * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
2412         * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
2413         * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
2414         * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
2415         * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
2416         * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
2417         * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
2418         * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
2419         * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
2420         * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
2421         * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
2422         * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
2423         * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
2424         * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
2425         * testsuite/libgomp.fortran/associate1.f90: Ditto.
2426         * testsuite/libgomp.fortran/associate2.f90: Ditto.
2427         * testsuite/libgomp.fortran/associate3.f90: Ditto.
2428         * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
2429         * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
2430         * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
2431         * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
2432         * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
2433         * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
2434         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
2435         * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
2436         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
2437         * testsuite/libgomp.fortran/character1.f90: Ditto.
2438         * testsuite/libgomp.fortran/character2.f90: Ditto.
2439         * testsuite/libgomp.fortran/collapse1.f90: Ditto.
2440         * testsuite/libgomp.fortran/collapse2.f90: Ditto.
2441         * testsuite/libgomp.fortran/collapse3.f90: Ditto.
2442         * testsuite/libgomp.fortran/collapse4.f90: Ditto.
2443         * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
2444         * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
2445         * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
2446         * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
2447         * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
2448         * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
2449         * testsuite/libgomp.fortran/depend-1.f90: Ditto.
2450         * testsuite/libgomp.fortran/depend-2.f90: Ditto.
2451         * testsuite/libgomp.fortran/depend-3.f90: Ditto.
2452         * testsuite/libgomp.fortran/do1.f90: Ditto.
2453         * testsuite/libgomp.fortran/do2.f90: Ditto.
2454         * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
2455         * testsuite/libgomp.fortran/doacross1.f90: Ditto.
2456         * testsuite/libgomp.fortran/doacross2.f90: Ditto.
2457         * testsuite/libgomp.fortran/doacross3.f90: Ditto.
2458         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
2459         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
2460         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
2461         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
2462         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
2463         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
2464         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
2465         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
2466         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
2467         * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
2468         * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
2469         * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
2470         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
2471         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
2472         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
2473         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
2474         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
2475         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
2476         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
2477         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
2478         * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
2479         * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
2480         * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
2481         * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
2482         * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
2483         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
2484         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
2485         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
2486         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
2487         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
2488         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
2489         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
2490         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
2491         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
2492         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
2493         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
2494         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
2495         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
2496         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
2497         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
2498         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
2499         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
2500         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
2501         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
2502         * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
2503         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2504         * testsuite/libgomp.fortran/lib1.f90: Ditto.
2505         * testsuite/libgomp.fortran/lib4.f90: Ditto.
2506         * testsuite/libgomp.fortran/lock-1.f90: Ditto.
2507         * testsuite/libgomp.fortran/lock-2.f90: Ditto.
2508         * testsuite/libgomp.fortran/nested1.f90: Ditto.
2509         * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
2510         * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
2511         * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
2512         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2513         * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
2514         * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
2515         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2516         * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
2517         * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
2518         * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
2519         * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
2520         * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
2521         * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
2522         * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
2523         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2524         * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
2525         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2526         * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
2527         * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
2528         * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
2529         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
2530         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
2531         * testsuite/libgomp.fortran/pointer1.f90: Ditto.
2532         * testsuite/libgomp.fortran/pointer2.f90: Ditto.
2533         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2534         * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
2535         * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
2536         * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
2537         * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
2538         * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
2539         * testsuite/libgomp.fortran/pr28390.f: Ditto.
2540         * testsuite/libgomp.fortran/pr29629.f90: Ditto.
2541         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
2542         * testsuite/libgomp.fortran/pr33880.f90: Ditto.
2543         * testsuite/libgomp.fortran/pr34020.f90: Ditto.
2544         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2545         * testsuite/libgomp.fortran/pr42162.f90: Ditto.
2546         * testsuite/libgomp.fortran/pr46753.f90: Ditto.
2547         * testsuite/libgomp.fortran/pr48894.f90: Ditto.
2548         * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
2549         * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
2550         * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
2551         * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
2552         * testsuite/libgomp.fortran/pr65597.f90: Ditto.
2553         * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
2554         * testsuite/libgomp.fortran/pr71014.f90: Ditto.
2555         * testsuite/libgomp.fortran/pr81304.f90: Ditto.
2556         * testsuite/libgomp.fortran/pr81841.f90: Ditto.
2557         * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
2558         * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
2559         * testsuite/libgomp.fortran/procptr1.f90: Ditto.
2560         * testsuite/libgomp.fortran/recursion1.f90: Ditto.
2561         * testsuite/libgomp.fortran/reduction1.f90: Ditto.
2562         * testsuite/libgomp.fortran/reduction2.f90: Ditto.
2563         * testsuite/libgomp.fortran/reduction3.f90: Ditto.
2564         * testsuite/libgomp.fortran/reduction4.f90: Ditto.
2565         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
2566         * testsuite/libgomp.fortran/reduction6.f90: Ditto.
2567         * testsuite/libgomp.fortran/reference1.f90: Ditto.
2568         * testsuite/libgomp.fortran/reference2.f90: Ditto.
2569         * testsuite/libgomp.fortran/retval1.f90: Ditto.
2570         * testsuite/libgomp.fortran/retval2.f90: Ditto.
2571         * testsuite/libgomp.fortran/sharing1.f90: Ditto.
2572         * testsuite/libgomp.fortran/sharing2.f90: Ditto.
2573         * testsuite/libgomp.fortran/simd1.f90: Ditto.
2574         * testsuite/libgomp.fortran/simd2.f90: Ditto.
2575         * testsuite/libgomp.fortran/simd3.f90: Ditto.
2576         * testsuite/libgomp.fortran/simd4.f90: Ditto.
2577         * testsuite/libgomp.fortran/simd5.f90: Ditto.
2578         * testsuite/libgomp.fortran/simd6.f90: Ditto.
2579         * testsuite/libgomp.fortran/simd7.f90: Ditto.
2580         * testsuite/libgomp.fortran/stack.f90: Ditto.
2581         * testsuite/libgomp.fortran/strassen.f90: Ditto.
2582         * testsuite/libgomp.fortran/tabs1.f90: Ditto.
2583         * testsuite/libgomp.fortran/tabs2.f: Ditto.
2584         * testsuite/libgomp.fortran/target1.f90: Ditto.
2585         * testsuite/libgomp.fortran/target2.f90: Ditto.
2586         * testsuite/libgomp.fortran/target3.f90: Ditto.
2587         * testsuite/libgomp.fortran/target4.f90: Ditto.
2588         * testsuite/libgomp.fortran/target5.f90: Ditto.
2589         * testsuite/libgomp.fortran/target6.f90: Ditto.
2590         * testsuite/libgomp.fortran/target7.f90: Ditto.
2591         * testsuite/libgomp.fortran/target8.f90: Ditto.
2592         * testsuite/libgomp.fortran/task1.f90: Ditto.
2593         * testsuite/libgomp.fortran/task2.f90: Ditto.
2594         * testsuite/libgomp.fortran/task3.f90: Ditto.
2595         * testsuite/libgomp.fortran/task4.f90: Ditto.
2596         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2597         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2598         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
2599         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
2600         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
2601         * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
2602         * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
2603         * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
2604         * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
2605         * testsuite/libgomp.fortran/udr1.f90: Ditto.
2606         * testsuite/libgomp.fortran/udr10.f90: Ditto.
2607         * testsuite/libgomp.fortran/udr11.f90: Ditto.
2608         * testsuite/libgomp.fortran/udr12.f90: Ditto.
2609         * testsuite/libgomp.fortran/udr13.f90: Ditto.
2610         * testsuite/libgomp.fortran/udr14.f90: Ditto.
2611         * testsuite/libgomp.fortran/udr15.f90: Ditto.
2612         * testsuite/libgomp.fortran/udr2.f90: Ditto.
2613         * testsuite/libgomp.fortran/udr3.f90: Ditto.
2614         * testsuite/libgomp.fortran/udr4.f90: Ditto.
2615         * testsuite/libgomp.fortran/udr5.f90: Ditto.
2616         * testsuite/libgomp.fortran/udr6.f90: Ditto.
2617         * testsuite/libgomp.fortran/udr7.f90: Ditto.
2618         * testsuite/libgomp.fortran/udr8.f90: Ditto.
2619         * testsuite/libgomp.fortran/udr9.f90: Ditto.
2620         * testsuite/libgomp.fortran/vla1.f90: Ditto.
2621         * testsuite/libgomp.fortran/vla2.f90: Ditto.
2622         * testsuite/libgomp.fortran/vla3.f90: Ditto.
2623         * testsuite/libgomp.fortran/vla4.f90: Ditto.
2624         * testsuite/libgomp.fortran/vla5.f90: Ditto.
2625         * testsuite/libgomp.fortran/vla6.f90: Ditto.
2626         * testsuite/libgomp.fortran/vla7.f90: Ditto.
2627         * testsuite/libgomp.fortran/vla8.f90: Ditto.
2628         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2629         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2631 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
2633         * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
2634         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
2635         Ditto; add 'dg-do run' for torture testing.
2636         * testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
2637         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
2638         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
2639         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
2640         * testsuite/libgomp.fortran/pr28390.f: Ditto.
2641         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
2642         * testsuite/libgomp.fortran/pr90779.f90: Ditto.
2643         * testsuite/libgomp.fortran/task2.f90: Ditto.
2644         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
2645         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
2646         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
2647         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
2648         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
2649         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
2651 2019-10-28  Tobias Burnus  <tobias@codesourcery.com>
2653         * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
2654         * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
2655         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
2656         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
2657         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
2658         * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
2659         * testsuite/libgomp.oacc-fortran/common-block-1.f90:
2660         Use 'stop' not abort().
2661         * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
2662         * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
2663         * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
2664         * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
2665         * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
2666         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
2667         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
2668         * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
2669         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
2670         * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
2671         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
2672         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
2673         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
2674         * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
2675         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
2676         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
2677         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2678         Ditto.
2679         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2680         Ditto.
2681         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2682         Ditto.
2683         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2684         Ditto.
2685         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2686         Ditto.
2687         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
2688         Ditto.
2689         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
2690         Ditto.
2691         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
2692         Ditto.
2693         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
2694         Ditto.
2695         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
2696         Ditto.
2697         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
2698         Ditto.
2699         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
2700         Ditto.
2701         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
2702         Ditto.
2703         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
2704         Ditto.
2705         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
2706         * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
2707         * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
2708         * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
2709         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2710         Likewise and also add 'dg-do run'.
2711         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2712         Ditto.
2714 2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
2715             Tobias Burnus  <tobias@codesourcery.com>
2717         * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
2718         * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
2719         * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
2721 2019-10-14  Jakub Jelinek  <jakub@redhat.com>
2723         PR libgomp/92081
2724         * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
2725         than 0.
2727 2019-10-11  Tobias Burnus  <tobias@codesourcery.com>
2729         * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
2730         * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
2732 2019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
2734         PR middle-end/92036
2735         * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
2736         file.
2738 2019-10-09  Tobias Burnus  <tobias@codesourcery.com>
2740         PR testsuite/91884
2741         * testsuite/libgomp.fortran/fortran.exp: Conditionally
2742         add -lquadmath.
2743         * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
2745 2019-10-09  Jakub Jelinek  <jakub@redhat.com>
2747         PR libgomp/92028
2748         * target.c (gomp_map_vars_internal): Readd the previous
2749         GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
2750         though do that just in the !not_found_cnt case.
2752 2019-10-08  Tobias Burnus  <tobias@codesourcery.com>
2754         * gfortran.dg/gomp/target-simd.f90: New.
2756 2019-10-02  Julian Brown  <julian@codesourcery.com>
2757             Cesar Philippidis  <cesar@codesourcery.com>
2759         * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
2760         * target.c (FIELD_TGT_EMPTY): Define.
2761         (gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
2762         as switch instead of list of ifs.
2763         (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
2765 2019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
2767         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
2768         include. Replace alloca () with __builtin_alloca ().
2769         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
2771 2019-10-01  Jakub Jelinek  <jakub@redhat.com>
2773         * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
2774         * libgomp.h: Include <stdint.h> instead of "gstdint.h".
2775         * oacc-parallel.c: Don't include "libgomp_g.h".
2776         * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
2777         * plugin/plugin-nvptx.c: Don't include "gstdint.h".
2778         * aclocal.m4: Regenerated.
2779         * config.h.in: Regenerated.
2780         * configure: Regenerated.
2781         * Makefile.in: Regenerated.
2783 2019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
2785         * libgomp_g.h: Include stdint.h instead of gstdint.h.
2787 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
2789         * configure: Regenerate.
2791 2019-09-13  Tobias Burnus  <tobias@codesourcery.com>
2793         * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
2794         string is initialized.
2796 2019-09-06  Florian Weimer  <fweimer@redhat.com>
2798         * configure: Regenerate.
2800 2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
2802         PR other/79543
2803         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
2804         scanning to conform to the GNU Coding Standards.
2805         * configure: Regenerate.
2807 2019-08-28  Jakub Jelinek  <jakub@redhat.com>
2809         PR libgomp/91530
2810         * testsuite/libgomp.c/scan-21.c: New test.
2811         * testsuite/libgomp.c/scan-22.c: New test.
2813 2019-08-27  Jakub Jelinek  <jakub@redhat.com>
2815         PR libgomp/91530
2816         * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
2817         targets.
2818         * testsuite/libgomp.c/scan-12.c: Likewise.
2819         * testsuite/libgomp.c/scan-13.c: Likewise.
2820         * testsuite/libgomp.c/scan-14.c: Likewise.
2821         * testsuite/libgomp.c/scan-15.c: Likewise.
2822         * testsuite/libgomp.c/scan-16.c: Likewise.
2823         * testsuite/libgomp.c/scan-17.c: Likewise.
2824         * testsuite/libgomp.c/scan-18.c: Likewise.
2825         * testsuite/libgomp.c/scan-19.c: Likewise.
2826         * testsuite/libgomp.c/scan-20.c: Likewise.
2827         * testsuite/libgomp.c++/scan-9.C: Likewise.
2828         * testsuite/libgomp.c++/scan-10.C: Likewise.
2829         * testsuite/libgomp.c++/scan-11.C: Likewise.
2830         * testsuite/libgomp.c++/scan-12.C: Likewise.
2831         * testsuite/libgomp.c++/scan-14.C: Likewise.
2832         * testsuite/libgomp.c++/scan-15.C: Likewise.
2833         * testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
2834         instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
2835         * testsuite/libgomp.c++/scan-16.C: Likewise.
2837 2019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
2839         PR fortran/91473
2840         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
2841         -std=legacy so invalid code in the test case is accepted.
2843 2019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
2845         PR fortran/91422
2846         * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
2847         dimension.
2849 2019-08-08  Jakub Jelinek  <jakub@redhat.com>
2851         * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
2852         perform the lookup in the first loop only if !not_found_cnt, otherwise
2853         perform lookups for it in the second loop guarded with
2854         if (not_found_cnt || has_firstprivate).
2855         * testsuite/libgomp.c/target-37.c: New test.
2856         * testsuite/libgomp.c++/target-22.C: New test.
2858 2019-08-07  Jakub Jelinek  <jakub@redhat.com>
2860         * testsuite/libgomp.c/target-18.c (struct S): New type.
2861         (foo): Use use_device_addr clause instead of use_device_ptr clause
2862         where required by OpenMP 5.0, add further tests for both use_device_ptr
2863         and use_device_addr clauses.
2864         * testsuite/libgomp.c++/target-9.C (struct S): New type.
2865         (foo): Use use_device_addr clause instead of use_device_ptr clause
2866         where required by OpenMP 5.0, add further tests for both use_device_ptr
2867         and use_device_addr clauses.  Add t and u arguments.
2868         (main): Adjust caller.
2870 2019-08-06  Jakub Jelinek  <jakub@redhat.com>
2872         * testsuite/libgomp.c++/loop-13.C: New test.
2873         * testsuite/libgomp.c++/loop-14.C: New test.
2874         * testsuite/libgomp.c++/loop-15.C: New test.
2876 2019-07-31  Jakub Jelinek  <jakub@redhat.com>
2878         PR middle-end/91301
2879         * testsuite/libgomp.c++/for-27.C: New test.
2881 2019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
2883         * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
2884         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
2886 2019-07-20  Jakub Jelinek  <jakub@redhat.com>
2888         * testsuite/libgomp.c-c++-common/loop-1.c: New test.
2890 2019-07-08  Jakub Jelinek  <jakub@redhat.com>
2892         * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
2893         * testsuite/libgomp.c++/scan-16.C: Likewise.
2895 2019-07-06  Jakub Jelinek  <jakub@redhat.com>
2897         * testsuite/libgomp.c/scan-19.c: New test.
2898         * testsuite/libgomp.c/scan-20.c: New test.
2900         * testsuite/libgomp.c/scan-11.c: New test.
2901         * testsuite/libgomp.c/scan-12.c: New test.
2902         * testsuite/libgomp.c/scan-13.c: New test.
2903         * testsuite/libgomp.c/scan-14.c: New test.
2904         * testsuite/libgomp.c/scan-15.c: New test.
2905         * testsuite/libgomp.c/scan-16.c: New test.
2906         * testsuite/libgomp.c/scan-17.c: New test.
2907         * testsuite/libgomp.c/scan-18.c: New test.
2908         * testsuite/libgomp.c++/scan-9.C: New test.
2909         * testsuite/libgomp.c++/scan-10.C: New test.
2910         * testsuite/libgomp.c++/scan-11.C: New test.
2911         * testsuite/libgomp.c++/scan-12.C: New test.
2912         * testsuite/libgomp.c++/scan-13.C: New test.
2913         * testsuite/libgomp.c++/scan-14.C: New test.
2914         * testsuite/libgomp.c++/scan-15.C: New test.
2915         * testsuite/libgomp.c++/scan-16.C: New test.
2917 2019-07-04  Jakub Jelinek  <jakub@redhat.com>
2919         * testsuite/libgomp.c/scan-9.c: New test.
2920         * testsuite/libgomp.c/scan-10.c: New test.
2922 2019-07-03  Jakub Jelinek  <jakub@redhat.com>
2924         * testsuite/libgomp.c++/scan-1.C: New test.
2925         * testsuite/libgomp.c++/scan-2.C: New test.
2926         * testsuite/libgomp.c++/scan-3.C: New test.
2927         * testsuite/libgomp.c++/scan-4.C: New test.
2928         * testsuite/libgomp.c++/scan-5.C: New test.
2929         * testsuite/libgomp.c++/scan-6.C: New test.
2930         * testsuite/libgomp.c++/scan-7.C: New test.
2931         * testsuite/libgomp.c++/scan-8.C: New test.
2932         * testsuite/libgomp.c/scan-1.c: New test.
2933         * testsuite/libgomp.c/scan-2.c: New test.
2934         * testsuite/libgomp.c/scan-3.c: New test.
2935         * testsuite/libgomp.c/scan-4.c: New test.
2936         * testsuite/libgomp.c/scan-5.c: New test.
2937         * testsuite/libgomp.c/scan-6.c: New test.
2938         * testsuite/libgomp.c/scan-7.c: New test.
2939         * testsuite/libgomp.c/scan-8.c: New test.
2941 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
2943         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
2944         * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
2945         Likewise.
2947         * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
2948         check.
2950 2019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
2952         * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
2953         file.
2955 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
2957         PR fortran/90743
2958         * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
2959         case.
2960         * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
2961         * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
2962         * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
2963         * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
2965         PR testsuite/90861
2966         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
2968         PR middle-end/90862
2969         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
2971 2019-06-16  Tom de Vries  <tdevries@suse.de>
2973         PR tree-optimization/89376
2974         * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
2976 2019-06-15  Tom de Vries  <tdevries@suse.de>
2978         PR tree-optimization/89713
2979         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
2980         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
2982 2019-06-15  Jakub Jelinek  <jakub@redhat.com>
2984         PR middle-end/90779
2985         * testsuite/libgomp.c/pr90779.c: New test.
2986         * testsuite/libgomp.fortran/pr90779.f90: New test.
2988 2019-06-15  Tom de Vries  <tdevries@suse.de>
2990         PR tree-optimization/90009
2991         * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
2993 2019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
2995         PR tree-optimization/89713
2996         * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
2998 2019-06-11  Jakub Jelinek  <jakub@redhat.com>
3000         PR target/90811
3001         * testsuite/libgomp.c/pr90811.c: New test.
3003 2019-06-05  Jakub Jelinek  <jakub@redhat.com>
3005         * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
3006         * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
3008 2019-06-04  Jakub Jelinek  <jakub@redhat.com>
3010         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
3011         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
3012         * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
3013         * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
3015 2019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3017         * configure.ac: Call AX_COUNT_CPUS.
3018         Substitute CPU_COUNT.
3019         * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
3020         count fallback.
3021         * aclocal.m4: Regenerate.
3022         * configure: Regenerate.
3023         * Makefile.in, testsuite/Makefile.in: Regenerate.
3025 2019-05-29  Jakub Jelinek  <jakub@redhat.com>
3027         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
3028         to ...
3029         * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
3030         * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
3031         * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
3033 2019-05-27  Jakub Jelinek  <jakub@redhat.com>
3035         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
3037         * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
3039         PR libgomp/90641
3040         * work.c (gomp_init_work_share): Instead of aligning final ordered
3041         value to multiples of long long alignment, align to that the
3042         first part (ordered team ids) and if inline_ordered_team_ids
3043         is not on a long long alignment boundary within the structure,
3044         use __alignof__ (long long) - 1 pad size always.
3045         * loop.c (GOMP_loop_start): Fix *mem computation if
3046         inline_ordered_team_ids is not aligned on long long alignment boundary
3047         within the structure.
3048         * loop-ull.c (GOMP_loop_ull_start): Likewise.
3049         * sections.c (GOMP_sections2_start): Likewise.
3051 2019-05-24  Jakub Jelinek  <jakub@redhat.com>
3053         * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
3054         * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
3056         PR libgomp/90585
3057         * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
3058         HAVE_INTTYPES_H is defined.
3059         (print_uint64_t): New typedef.
3060         (PRIu64): Define if HAVE_INTTYPES_H is not defined.
3061         (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
3062         "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
3063         (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
3064         before casting to void *.
3065         * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
3066         * oacc-mem.c: Don't include config.h nor stdint.h.
3067         * target.c: Don't include config.h.
3068         * oacc-cuda.c: Likewise.
3069         * oacc-host.c: Don't include stdint.h.
3071 2019-05-20  Jakub Jelinek  <jakub@redhat.com>
3073         PR libgomp/90527
3074         * alloc.c (_GNU_SOURCE): Define.
3076 2019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
3078         * acc_prof.h: New file.
3079         * oacc-profiling.c: Likewise.
3080         * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
3081         Add these, respectively.
3082         * Makefile.in: Regenerate.
3083         * env.c (initialize_env): Call goacc_profiling_initialize.
3084         * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
3085         (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
3086         * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
3087         (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
3088         * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
3089         acc_prof_register, acc_prof_unregister, and acc_register_library.
3090         (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
3091         GOMP_PLUGIN_goacc_thread.
3092         * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
3093         prof_callbacks_enabled members.
3094         (goacc_prof_enabled, goacc_profiling_initialize)
3095         (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
3096         (goacc_profiling_dispatch): Declare.
3097         (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
3098         (GOACC_PROFILING_SETUP_P): Define.
3099         * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
3100         (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
3101         OpenACC Profiling Interface.
3102         * oacc-cuda.c (acc_get_current_cuda_device)
3103         (acc_get_current_cuda_context, acc_get_cuda_stream)
3104         (acc_set_cuda_stream): Likewise.
3105         * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
3106         (acc_init, acc_set_device_type, acc_get_device_type)
3107         (acc_get_device_num, goacc_lazy_initialize): Likewise.
3108         * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
3109         (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
3110         (acc_unmap_data, present_create_copy, delete_copyout)
3111         (update_dev_host): Likewise.
3112         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
3113         (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
3114         Likewise.
3115         * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
3116         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
3117         Likewise.
3118         * libgomp.texi: Update.
3119         * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
3120         file.
3121         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
3122         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3123         Likewise.
3124         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
3125         Likewise.
3126         * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
3127         Likewise.
3128         * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
3129         Likewise.
3131 2019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
3133         * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
3134         (struct goacc_asyncqueue_list): Likewise.
3135         (goacc_aq): Likewise.
3136         (goacc_aq_list): Likewise.
3137         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
3138         (GOMP_OFFLOAD_openacc_async_test): Remove.
3139         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
3140         (GOMP_OFFLOAD_openacc_async_wait): Remove.
3141         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
3142         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
3143         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
3144         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
3145         (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
3146         (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
3147         (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
3148         (GOMP_OFFLOAD_openacc_async_exec): Declare.
3149         (GOMP_OFFLOAD_openacc_async_construct): Declare.
3150         (GOMP_OFFLOAD_openacc_async_destruct): Declare.
3151         (GOMP_OFFLOAD_openacc_async_test): Declare.
3152         (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
3153         (GOMP_OFFLOAD_openacc_async_serialize): Declare.
3154         (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
3155         (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
3156         (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
3158         * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
3159         (gomp_acc_insert_pointer): Adjust declaration.
3160         (gomp_copy_host2dev): New declaration.
3161         (gomp_copy_dev2host): Likewise.
3162         (gomp_map_vars_async): Likewise.
3163         (gomp_unmap_tgt): Likewise.
3164         (gomp_unmap_vars_async): Likewise.
3165         (gomp_fini_device): Likewise.
3167         * oacc-async.c (get_goacc_thread): New function.
3168         (get_goacc_thread_device): New function.
3169         (lookup_goacc_asyncqueue): New function.
3170         (get_goacc_asyncqueue): New function.
3171         (acc_async_test): Adjust code to use new async design.
3172         (acc_async_test_all): Likewise.
3173         (acc_wait): Likewise.
3174         (acc_wait_async): Likewise.
3175         (acc_wait_all): Likewise.
3176         (acc_wait_all_async): Likewise.
3177         (goacc_async_free): New function.
3178         (goacc_init_asyncqueues): Likewise.
3179         (goacc_fini_asyncqueues): Likewise.
3180         * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
3181         design.
3182         (acc_set_cuda_stream): Likewise.
3183         * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
3184         (host_openacc_register_async_cleanup): Remove.
3185         (host_openacc_async_exec): New function.
3186         (host_openacc_async_test): Adjust parameters.
3187         (host_openacc_async_test_all): Remove.
3188         (host_openacc_async_wait): Remove.
3189         (host_openacc_async_wait_async): Remove.
3190         (host_openacc_async_wait_all): Remove.
3191         (host_openacc_async_wait_all_async): Remove.
3192         (host_openacc_async_set_async): Remove.
3193         (host_openacc_async_synchronize): New function.
3194         (host_openacc_async_serialize): New function.
3195         (host_openacc_async_host2dev): New function.
3196         (host_openacc_async_dev2host): New function.
3197         (host_openacc_async_queue_callback): New function.
3198         (host_openacc_async_construct): New function.
3199         (host_openacc_async_destruct): New function.
3200         (struct gomp_device_descr host_dispatch): Remove initialization of old
3201         interface, add initialization of new async sub-struct.
3202         * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
3203         (goacc_attach_host_thread_to_device): Remove old async code usage.
3204         * oacc-int.h (goacc_init_asyncqueues): New declaration.
3205         (goacc_fini_asyncqueues): Likewise.
3206         (goacc_async_copyout_unmap_vars): Likewise.
3207         (goacc_async_free): Likewise.
3208         (get_goacc_asyncqueue): Likewise.
3209         (lookup_goacc_asyncqueue): Likewise.
3210         * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
3211         design.
3212         (present_create_copy): Adjust code to use new async design.
3213         (delete_copyout): Likewise.
3214         (update_dev_host): Likewise.
3215         (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
3216         async design.
3217         (gomp_acc_remove_pointer): Adjust code to use new async design.
3218         * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
3219         design.
3220         (GOACC_enter_exit_data): Likewise.
3221         (goacc_wait): Likewise.
3222         (GOACC_update): Likewise.
3223         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
3224         when called, warn as obsolete in comment.
3225         * target.c (goacc_device_copy_async): New function.
3226         (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
3227         add goacc_device_copy_async case.
3228         (gomp_copy_dev2host): Likewise.
3229         (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
3230         (gomp_map_pointer): Likewise.
3231         (gomp_map_fields_existing): Likewise.
3232         (gomp_map_vars_internal): New always_inline function, renamed from
3233         gomp_map_vars.
3234         (gomp_map_vars): Implement by calling gomp_map_vars_internal.
3235         (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
3236         passing goacc_asyncqueue argument.
3237         (gomp_unmap_tgt): Remove static, add attribute_hidden.
3238         (gomp_unref_tgt): New function.
3239         (gomp_unmap_vars_internal): New always_inline function, renamed from
3240         gomp_unmap_vars.
3241         (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
3242         (gomp_unmap_vars_async): Implement by calling
3243         gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
3244         (gomp_fini_device): New function.
3245         (gomp_exit_data): Adjust gomp_copy_dev2host call.
3246         (gomp_load_plugin_for_device): Remove old interface, adjust to load
3247         new async interface.
3248         (gomp_target_fini): Adjust code to call gomp_fini_device.
3250         * plugin/plugin-nvptx.c (struct cuda_map): Remove.
3251         (struct ptx_stream): Remove.
3252         (struct nvptx_thread): Remove current_stream field.
3253         (cuda_map_create): Remove.
3254         (cuda_map_destroy): Remove.
3255         (map_init): Remove.
3256         (map_fini): Remove.
3257         (map_pop): Remove.
3258         (map_push): Remove.
3259         (struct goacc_asyncqueue): Define.
3260         (struct nvptx_callback): Define.
3261         (struct ptx_free_block): Define.
3262         (struct ptx_device): Remove null_stream, active_streams, async_streams,
3263         stream_lock, and next fields.
3264         (enum ptx_event_type): Remove.
3265         (struct ptx_event): Remove.
3266         (ptx_event_lock): Remove.
3267         (ptx_events): Remove.
3268         (init_streams_for_device): Remove.
3269         (fini_streams_for_device): Remove.
3270         (select_stream_for_async): Remove.
3271         (nvptx_init): Remove ptx_events and ptx_event_lock references.
3272         (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
3273         case.
3274         (nvptx_open_device): Add free_blocks initialization, remove
3275         init_streams_for_device call.
3276         (nvptx_close_device): Remove fini_streams_for_device call, add
3277         free_blocks destruct code.
3278         (event_gc): Remove.
3279         (event_add): Remove.
3280         (nvptx_exec): Adjust parameters and code.
3281         (nvptx_free): Likewise.
3282         (nvptx_host2dev): Remove.
3283         (nvptx_dev2host): Remove.
3284         (nvptx_set_async): Remove.
3285         (nvptx_async_test): Remove.
3286         (nvptx_async_test_all): Remove.
3287         (nvptx_wait): Remove.
3288         (nvptx_wait_async): Remove.
3289         (nvptx_wait_all): Remove.
3290         (nvptx_wait_all_async): Remove.
3291         (nvptx_get_cuda_stream): Remove.
3292         (nvptx_set_cuda_stream): Remove.
3293         (GOMP_OFFLOAD_alloc): Adjust code.
3294         (GOMP_OFFLOAD_free): Likewise.
3295         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
3296         (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
3297         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
3298         (GOMP_OFFLOAD_openacc_async_wait): Remove.
3299         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
3300         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
3301         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
3302         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
3303         (cuda_free_argmem): New function.
3304         (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
3305         (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
3306         (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
3307         (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
3308         (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
3309         (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
3310         (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
3311         (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
3312         (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
3313         (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
3314         (cuda_callback_wrapper): New function.
3315         (cuda_memcpy_sanity_check): New function.
3316         (GOMP_OFFLOAD_host2dev): Remove and re-implement.
3317         (GOMP_OFFLOAD_dev2host): Remove and re-implement.
3318         (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
3319         (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
3321 2019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
3323         PR target/87835
3324         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
3326 2019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
3328         * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
3330 2019-03-27  Kevin Buettner  <kevinb@redhat.com>
3332         * team.c (gomp_team_start): Initialize pool->threads[0].
3334 2019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
3336         * testsuite/libgomp.oacc-c++/c++.exp: Specify
3337         "-foffload=$offload_target".
3338         * testsuite/libgomp.oacc-c/c.exp: Likewise.
3339         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3340         * testsuite/lib/libgomp.exp
3341         (check_effective_target_openacc_nvidia_accel_configured): Remove,
3342         as (conceptually) merged into
3343         check_effective_target_openacc_nvidia_accel_selected.  Adjust all
3344         users.
3346         * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
3347         * testsuite/libgomp-test-support.exp.in: Adjust.
3348         * testsuite/lib/libgomp.exp: Likewise.  Don't populate
3349         openacc_device_types_s.
3350         (offload_target_to_openacc_device_type): New proc.
3351         * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
3352         * testsuite/libgomp.oacc-c/c.exp: Likewise.
3353         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3354         * Makefile.in: Regenerate.
3355         * configure: Likewise.
3356         * testsuite/Makefile.in: Likewise.
3358         * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
3359         instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
3360         instead of OFFLOAD_TARGETS.
3361         * target.c (gomp_target_init): Adjust.
3362         * testsuite/libgomp-test-support.exp.in: Likewise.
3363         * testsuite/lib/libgomp.exp: Likewise.  Populate
3364         openacc_device_types_s instead of offload_targets_s_openacc.
3365         (check_effective_target_openacc_nvidia_accel_selected)
3366         (check_effective_target_openacc_host_selected): Adjust.
3367         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
3368         * testsuite/libgomp.oacc-c/c.exp: Likewise.
3369         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3370         * Makefile.in: Regenerate.
3371         * config.h.in: Likewise.
3372         * configure: Likewise.
3373         * testsuite/Makefile.in: Likewise.
3375         * testsuite/lib/libgomp.exp: Error out for unknown offload target.
3376         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
3377         "offloading: supported, but hardware not accessible".
3378         * testsuite/libgomp.oacc-c/c.exp: Likewise.
3379         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3381 2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
3383         PR c/87924
3384         * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
3385         goacc_wait().
3386         (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
3387         and related adjustment.
3389 2019-01-30  Jakub Jelinek  <jakub@redhat.com>
3391         PR c++/88988
3392         * testsuite/libgomp.c++/pr88988.C: New test.
3394 2019-01-28  Jakub Jelinek  <jakub@redhat.com>
3396         PR middle-end/89002
3397         * testsuite/libgomp.c/pr89002.c: New test.
3399 2019-01-28  Richard Biener  <rguenther@suse.de>
3401         PR testsuite/89064
3402         PR tree-optimization/86865
3403         * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
3405 2019-01-24  Tom de Vries  <tdevries@suse.de>
3407         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
3408         once instantiated_devices drops to 0.
3410 2019-01-23  Tom de Vries  <tdevries@suse.de>
3412         PR target/PR88946
3413         * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
3414         cuMemFree.
3415         (nvptx_exec): Don't call map_push if mapnum == 0.
3416         * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
3418 2019-01-23  Tom de Vries  <tdevries@suse.de>
3420         PR target/88941
3421         PR target/88939
3422         * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
3423         (map_fini): Remove "assert (!s->map->active)".
3424         * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
3426 2019-01-23  Tom de Vries  <tdevries@suse.de>
3428         PR target/87835
3429         * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
3430         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
3432 2019-01-15  Tom de Vries  <tdevries@suse.de>
3434         PR target/80547
3435         * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
3436         New test.
3438 2019-01-12  Tom de Vries  <tdevries@suse.de>
3440         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
3441         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
3442         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
3443         * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
3445 2019-01-12  Tom de Vries  <tdevries@suse.de>
3447         * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
3449 2019-01-12  Tom de Vries  <tdevries@suse.de>
3451         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
3452         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
3453         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
3455 2019-01-12  Tom de Vries  <tdevries@suse.de>
3457         PR target/85486
3458         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
3459         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
3461 2019-01-12  Tom de Vries  <tdevries@suse.de>
3463         PR target/85381
3464         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
3465         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
3467 2019-01-12  Tom de Vries  <tdevries@suse.de>
3469         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
3470         * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
3471         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
3473 2019-01-12  Tom de Vries  <tdevries@suse.de>
3475         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
3476         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
3477         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
3479 2019-01-12  Tom de Vries  <tdevries@suse.de>
3481         * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
3482         resources diagnostic.
3484 2019-01-12  Tom de Vries  <tdevries@suse.de>
3486         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
3487         vector length to be 128.
3488         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
3489         length 2097152 to be reduced to 1024 instead of 32.
3491 2019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
3492             James Norris  <jnorris@codesourcery.com>
3494         * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
3495         Library Routines", and "Environment Variables".
3497 2019-01-11  Tom de Vries  <tdevries@suse.de>
3499         * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
3500         num_workers 16.
3502 2019-01-11  Tom de Vries  <tdevries@suse.de>
3504         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
3505         -foffload=-w.
3506         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
3507         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
3508         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
3509         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
3511 2019-01-11  Tom de Vries  <tdevries@suse.de>
3513         * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
3514         test.
3516 2019-01-10  Nathan Sidwell  <nathan@acm.org>
3517             Julian Brown  <julian@codesourcery.com>
3519         PR lto/71959
3520         * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
3521         * testsuite/libgomp.oacc-c++/pr71959.C: New.
3523 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3525         * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
3526         and paste code.
3528 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
3530         * config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
3531         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3532         write.
3534 2019-01-09  Tom de Vries  <tdevries@suse.de>
3536         PR target/88756
3537         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
3538         #define instead of "const int".
3539         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
3540         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
3541         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
3542         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
3544 2019-01-09  Tom de Vries  <tdevries@suse.de>
3546         * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
3547         one worker.
3549 2019-01-07  Tom de Vries  <tdevries@suse.de>
3551         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
3552         GOMP_OPENACC_DIM argument.
3554 2019-01-03  Tom de Vries  <tdevries@suse.de>
3556         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
3557         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
3559 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
3561         Update copyright years.
3563 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
3565         * libgomp.texi: Bump @copying's copyright year.
3567 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
3569         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
3570         (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
3571         (GOACC_declare): Redefine the "device" argument to "flags".
3573 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
3574             Cesar Philippidis  <cesar@codesourcery.com>
3576         * target.c (struct gomp_coalesce_chunk): New structure.
3577         (struct gomp_coalesce_buf): Update the chunks member to use that
3578         type.  Adjust all users.
3580 2018-12-19  Tom de Vries  <tdevries@suse.de>
3582         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
3583         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
3584         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
3586 2018-12-19  Tom de Vries  <tdevries@suse.de>
3588         * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
3589         * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
3590         gcc/testsuite/gcc.dg/goacc.
3591         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
3593 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
3594             Chung-Lin Tang  <cltang@codesourcery.com>
3596         * oacc-mem.c (acc_present_or_create): Remove definition and change
3597         to alias of acc_create.
3598         (acc_present_or_copyin): Remove definition and change to alias of
3599         acc_copyin.
3600         * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
3601         of acc_present_or_create.
3602         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
3603         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3604         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3605         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3606         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3607         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3608         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3609         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3610         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3611         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3612         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3613         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3614         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3615         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3616         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3617         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3619 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
3621         PR libgomp/88495
3622         * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
3623         "identical parameters".
3624         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
3625         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
3627         PR libgomp/88484
3628         * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
3629         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
3631         PR libgomp/88407
3632         * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
3633         (nvptx_wait_async): Unseen async-argument is a no-op.
3634         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
3635         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
3636         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3637         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
3638         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
3639         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
3640         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
3641         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
3642         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
3644         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
3645         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3647 2018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
3649         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
3650         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
3651         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3653 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
3655         PR libgomp/88370
3656         * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
3657         (acc_set_cuda_stream): Clarify.
3658         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
3659         "async_valid_p".
3660         * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
3661         acc_async_sync".
3662         * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
3663         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
3664         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
3665         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
3667 2018-12-14  Tom de Vries  <tdevries@suse.de>
3669         * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
3670         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
3671         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
3672         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
3673         * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
3675 2018-12-13  Tom de Vries  <tdevries@suse.de>
3677         * affinity-fmt.c (gomp_print_string): New function, factored out of ...
3678         (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
3679         * fortran.c (omp_display_affinity_): ... here.
3680         * libgomp.h (gomp_print_string): Declare.
3681         * config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
3682         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
3683         write.
3685 2018-12-13  Jakub Jelinek  <jakub@redhat.com>
3687         PR libgomp/88460
3688         * testsuite/libgomp.c++/for-24.C (results): Include it in
3689         omp declare target region.
3690         (main): Use map (always, tofrom: results) instead of
3691         map (tofrom: results).
3693 2018-12-12  Jakub Jelinek  <jakub@redhat.com>
3695         PR fortran/88463
3696         * testsuite/libgomp.fortran/pr88463-1.f90: New test.
3697         * testsuite/libgomp.fortran/pr88463-2.f90: New test.
3699         * testsuite/libgomp.c-c++-common/for-16.c: New test.
3701 2018-12-12  Andreas Schwab  <schwab@suse.de>
3703         * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
3704         clobbered.
3706 2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
3708         PR fortran/88411
3709         * testsuite/libgomp.fortran/async_io_8.f90: New test.
3711 2018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
3712             Jakub Jelinek  <jakub@redhat.com>
3714         * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
3715         devicep->host2dev_func.
3717 2018-12-08  Jakub Jelinek  <jakub@redhat.com>
3719         PR libgomp/87995
3720         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
3721         tls_runtime effective target.
3722         (t): New threadprivate variable.
3723         (main): Set t in threads which execute iterations of the worksharing
3724         loop.  Propagate that to the task after the loop and don't abort
3725         if the current taskgroup hasn't been cancelled.
3727 2018-12-02  Jakub Jelinek  <jakub@redhat.com>
3729         * testsuite/libgomp.c/task-reduction-3.c: New test.
3731         * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
3733 2018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
3735         PR libgomp/88288
3736         * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
3737         * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
3739 2018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
3741         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
3743 2018-10-19  Richard Biener  <rguenther@suse.de>
3745         PR tree-optimization/88182
3746         * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
3748 2018-11-26  Jakub Jelinek  <jakub@redhat.com>
3750         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
3751         (RUNTEST): Don't define.
3752         (RUNTESTDEFAULTFLAGS): Add.
3753         (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
3754         (distclean-am): Depend on distclean-DEJAGNU.
3755         (check-am): If -j% option is present in MFLAGS and if
3756         `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
3757         (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
3758         * testsuite/Makefile.in: Regenerated.
3760 2018-11-26  Richard Biener  <rguenther@suse.de>
3762         PR tree-optimization/88182
3763         * testsuite/libgomp.c++/pr88182.C: New testcase.
3765 2018-11-20  Jakub Jelinek  <jakub@redhat.com>
3767         PR bootstrap/88106
3768         * config/mingw32/affinity-fmt.c: New file.
3770 2018-11-09  Jakub Jelinek  <jakub@redhat.com>
3772         * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
3773         (gomp_display_affinity): Use __builtin_choose_expr to handle
3774         properly handle argument having integral, or pointer or some other
3775         type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
3776         with uint64_t type instead of %llx and unsigned long long.
3778         * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
3779         * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
3781 2018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
3783         * affinity.c: Include <string.h>, <stdio.h>.
3784         (gomp_display_affinity_place): Remove cpusetp.
3785         * teams.c: Include <limits.h>.
3787 2018-11-08  Jakub Jelinek  <jakub@redhat.com>
3789         * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
3790         in_reduction clause for s[0].
3792         * affinity.c (gomp_display_affinity_place): New function.
3793         * affinity-fmt.c: New file.
3794         * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
3795         * config/linux/affinity.c (gomp_display_affinity_place): New function.
3796         * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
3797         Move these functions to ...
3798         * config/nvptx/teams.c: ... here.  New file.
3799         * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
3800         New functions.
3801         * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
3802         functions.
3803         * configure.ac: Check for aligned_alloc, posix_memalign, memalign
3804         and _aligned_malloc.
3805         (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
3806         * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
3807         * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
3808         gomp_affinity_format_len): New variables.
3809         (parse_schedule): Parse monotonic and nonmonotonic modifiers in
3810         OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
3811         (handle_omp_display_env): Display monotonic/nonmonotonic schedule
3812         modifiers.  Display (non-default) chunk sizes.  Print
3813         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
3814         (initialize_env): Don't call pthread_attr_setdetachstate.  Handle
3815         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
3816         * fortran.c: Include stdio.h and string.h.
3817         (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
3818         (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
3819         (omp_set_affinity_format_, omp_get_affinity_format_,
3820         omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
3821         omp_pause_resource_all_): New functions.
3822         * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
3823         switch.
3824         * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
3825         functions to ...
3826         * teams.c: ... here.  New file.
3827         * libgomp_g.h: Include gstdint.h.
3828         (GOMP_loop_nonmonotonic_runtime_start,
3829         GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
3830         GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
3831         GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
3832         GOMP_parallel_loop_nonmonotonic_runtime,
3833         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3834         GOMP_loop_ull_nonmonotonic_runtime_start,
3835         GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
3836         GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
3837         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3838         GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
3839         GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
3840         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3841         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3842         GOMP_teams_reg): Declare.
3843         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
3844         gomp_aligned_alloc uses fallback implementation.
3845         (gomp_aligned_alloc, gomp_aligned_free): Declare.
3846         (enum gomp_schedule_type): Add GFS_MONOTONIC.
3847         (struct gomp_doacross_work_share): Add extra field.
3848         (struct gomp_work_share): Add task_reductions field.
3849         (struct gomp_taskgroup): Add workshare and reductions fields.
3850         (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
3851         (gomp_thread_handle): New typedef.
3852         (gomp_display_affinity_place, gomp_set_affinity_format,
3853         gomp_display_string, gomp_display_affinity,
3854         gomp_display_affinity_thread): Declare.
3855         (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
3856         (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
3857         gomp_workshare_task_reduction_register): Declare.
3858         (gomp_team_start): Add taskgroup argument.
3859         (gomp_pause_host): Declare.
3860         (gomp_init_work_share, gomp_work_share_start): Change bool argument
3861         to size_t.
3862         (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
3863         * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
3864         GOMP_loop_ordered_start, GOMP_loop_doacross_start,
3865         GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3866         GOMP_loop_ull_doacross_start,
3867         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
3868         GOMP_loop_maybe_nonmonotonic_runtime_next,
3869         GOMP_loop_maybe_nonmonotonic_runtime_start,
3870         GOMP_loop_nonmonotonic_runtime_next,
3871         GOMP_loop_nonmonotonic_runtime_start,
3872         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3873         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3874         GOMP_loop_ull_nonmonotonic_runtime_next,
3875         GOMP_loop_ull_nonmonotonic_runtime_start,
3876         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3877         GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
3878         GOMP_taskgroup_reduction_register,
3879         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
3880         GOMP_teams_reg and GOMP_taskwait_depend.
3881         (OMP_5.0): Export omp_pause_resource{,_all}{,_},
3882         omp_{capture,display}_affinity{,_}, and
3883         omp_[gs]et_affinity_format{,_}.
3884         * loop.c: Include string.h.
3885         (GOMP_loop_runtime_next): Add ialias.
3886         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3887         (gomp_loop_static_start, gomp_loop_dynamic_start,
3888         gomp_loop_guided_start, gomp_loop_ordered_static_start,
3889         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
3890         gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3891         gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
3892         or gomp_doacross_init callers.
3893         (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
3894         GOMP_loop_doacross_start): New functions.
3895         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
3896         GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
3897         Mask off GFS_MONOTONIC bit.
3898         (GOMP_loop_maybe_nonmonotonic_runtime_next,
3899         GOMP_loop_maybe_nonmonotonic_runtime_start,
3900         GOMP_loop_nonmonotonic_runtime_next,
3901         GOMP_loop_nonmonotonic_runtime_start,
3902         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
3903         GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
3904         functions.
3905         (gomp_parallel_loop_start): Pass NULL as taskgroup to
3906         gomp_team_start.
3907         * loop_ull.c: Include string.h.
3908         (GOMP_loop_ull_runtime_next): Add ialias.
3909         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3910         (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
3911         gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
3912         gomp_loop_ull_ordered_dynamic_start,
3913         gomp_loop_ull_ordered_guided_start,
3914         gomp_loop_ull_doacross_static_start,
3915         gomp_loop_ull_doacross_dynamic_start,
3916         gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
3917         and gomp_doacross_ull_init callers.
3918         (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
3919         GOMP_loop_ull_doacross_start): New functions.
3920         (GOMP_loop_ull_runtime_start,
3921         GOMP_loop_ull_ordered_runtime_start,
3922         GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
3923         (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
3924         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
3925         GOMP_loop_ull_nonmonotonic_runtime_next,
3926         GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
3927         * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
3928         * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
3929         (omp_pause_resource_t, omp_depend_t): New typedefs.
3930         (enum omp_lock_hint_t): Renamed to ...
3931         (enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
3932         enumerators using numbers and omp_lock_hint_* as their aliases.
3933         (omp_lock_hint_t): New typedef.  Rename to ...
3934         (omp_sync_hint_t): ... this.
3935         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
3936         omp_sync_hint_t instead of omp_lock_hint_t.
3937         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3938         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3939         Declare.
3940         (omp_target_is_present, omp_target_disassociate_ptr):
3941         Change first argument from void * to const void *.
3942         (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
3943         from void * to const void *.
3944         (omp_target_associate_ptr): Change first and second arguments from
3945         void * to const void *.
3946         * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
3947         omp_pause_hard): New parameters.
3948         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3949         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3950         New interfaces.
3951         * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
3952         omp_pause_hard): New parameters.
3953         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
3954         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
3955         New externals.
3956         * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
3957         EXTRA argument.  If not needed to prepare array, if extra is 0,
3958         clear ws->doacross, otherwise allocate just doacross structure and
3959         extra payload.  If array is needed, allocate also extra payload.
3960         (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
3961         GOMP_doacross_ull_wait): Handle doacross->array == NULL like
3962         doacross == NULL.
3963         * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
3964         gomp_team_start.
3965         (GOMP_parallel): Likewise.  Formatting fix.
3966         (GOMP_parallel_reductions): New function.
3967         (GOMP_cancellation_point): If taskgroup has workshare
3968         flag set, check cancelled of prev taskgroup if any.
3969         (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
3970         on prev taskgroup if any.
3971         * sections.c: Include string.h.
3972         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
3973         (GOMP_sections_start): Adjust gomp_work_share_start caller.
3974         (GOMP_sections2_start): New function.
3975         (GOMP_parallel_sections_start, GOMP_parallel_sections):
3976         Pass NULL as taskgroup to gomp_team_start.
3977         * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
3978         gomp_work_share_start callers.
3979         * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
3980         If taskgroup has workshare flag set, check cancelled on prev
3981         taskgroup if any.  Guard all cancellation tests with
3982         gomp_cancel_var test.
3983         (omp_target_is_present, omp_target_disassociate_ptr):
3984         Change ptr argument from void * to const void *.
3985         (omp_target_memcpy): Change src argument from void * to const void *.
3986         (omp_target_memcpy_rect): Likewise.
3987         (omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
3988         instead of char * where needed.
3989         (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
3990         from void * to const void *.
3991         (omp_pause_resource, omp_pause_resource_all): New functions.
3992         * task.c (gomp_task_handle_depend): Handle new depend array format
3993         in addition to the old.  Handle mutexinoutset kinds the same as
3994         inout for now, handle unspecified kinds.
3995         (gomp_create_target_task): If taskgroup has workshare flag set, check
3996         cancelled on prev taskgroup if any.  Guard all cancellation tests with
3997         gomp_cancel_var test.  Handle new depend array format count in
3998         addition to the old.
3999         (GOMP_task): Likewise.  Adjust function comment.
4000         (gomp_task_run_pre): If taskgroup has workshare flag set, check
4001         cancelled on prev taskgroup if any.  Guard all cancellation tests with
4002         gomp_cancel_var test.
4003         (GOMP_taskwait_depend): New function.
4004         (gomp_task_maybe_wait_for_dependencies): Handle new depend array
4005         format in addition to the old.  Handle mutexinoutset kinds the same as
4006         inout for now, handle unspecified kinds.  Fix a function comment typo.
4007         (gomp_taskgroup_init): New function.
4008         (GOMP_taskgroup_start): Use it.
4009         (gomp_reduction_register, gomp_create_artificial_team,
4010         GOMP_taskgroup_reduction_register,
4011         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
4012         gomp_parallel_reduction_register,
4013         gomp_workshare_task_reduction_register,
4014         gomp_workshare_taskgroup_start,
4015         GOMP_workshare_task_reduction_unregister): New functions.
4016         * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
4017         check cancelled on prev taskgroup if any.  Guard all cancellation
4018         tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
4019         by calling GOMP_taskgroup_reduction_register.
4020         * team.c (gomp_thread_attr): Remove comment.
4021         (struct gomp_thread_start_data): Add handle field.
4022         (gomp_thread_start): Call pthread_detach.
4023         (gomp_new_team): Adjust gomp_init_work_share caller.
4024         (gomp_free_pool_helper): Call pthread_detach.
4025         (gomp_team_start): Add taskgroup argument, initialize implicit
4026         tasks' taskgroup field to that.  Don't call
4027         pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
4028         (gomp_team_end): Determine nesting by thr->ts.level != 0
4029         rather than thr->ts.team != NULL.
4030         (gomp_pause_pool_helper, gomp_pause_host): New functions.
4031         * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
4032         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
4033         (gomp_init_work_share): Change ORDERED argument from bool to size_t,
4034         if more than 1 allocate also extra payload at the end of array.  Never
4035         keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
4036         (gomp_work_share_start): Change ORDERED argument from bool to size_t,
4037         return true instead of ws.
4038         * Makefile.in: Regenerated.
4039         * configure: Regenerated.
4040         * config.h.in: Regenerated.
4041         * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
4042         in some cases.
4043         * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
4044         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
4045         * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
4046         * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
4047         * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
4048         * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
4049         * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
4050         * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
4051         * testsuite/libgomp.c-c++-common/for-10.c: New test.
4052         * testsuite/libgomp.c-c++-common/for-11.c: New test.
4053         * testsuite/libgomp.c-c++-common/for-12.c: New test.
4054         * testsuite/libgomp.c-c++-common/for-13.c: New test.
4055         * testsuite/libgomp.c-c++-common/for-14.c: New test.
4056         * testsuite/libgomp.c-c++-common/for-15.c: New test.
4057         * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
4058         define a different N(test), don't define N(f0) to N(f14), but instead
4059         define N(f20) to N(f34) using != comparisons.
4060         * testsuite/libgomp.c-c++-common/for-7.c: New test.
4061         * testsuite/libgomp.c-c++-common/for-8.c: New test.
4062         * testsuite/libgomp.c-c++-common/for-9.c: New test.
4063         * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
4064         * testsuite/libgomp.c-c++-common/pause-1.c: New test.
4065         * testsuite/libgomp.c-c++-common/pause-2.c: New test.
4066         * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
4067         * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
4068         * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
4069         * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
4070         * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
4071         * testsuite/libgomp.c-c++-common/simd-1.c: New test.
4072         * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
4073         * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
4074         * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
4075         * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
4076         * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
4077         * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
4078         * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
4079         * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
4080         * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
4081         * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
4082         * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
4083         * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
4084         * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
4085         * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
4086         * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
4087         * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
4088         * testsuite/libgomp.c++/depend-1.C: New test.
4089         * testsuite/libgomp.c++/depend-iterator-1.C: New test.
4090         * testsuite/libgomp.c++/depobj-1.C: New test.
4091         * testsuite/libgomp.c++/for-16.C: New test.
4092         * testsuite/libgomp.c++/for-21.C: New test.
4093         * testsuite/libgomp.c++/for-22.C: New test.
4094         * testsuite/libgomp.c++/for-23.C: New test.
4095         * testsuite/libgomp.c++/for-24.C: New test.
4096         * testsuite/libgomp.c++/for-25.C: New test.
4097         * testsuite/libgomp.c++/for-26.C: New test.
4098         * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
4099         * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
4100         * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
4101         * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
4102         * testsuite/libgomp.c++/task-reduction-10.C: New test.
4103         * testsuite/libgomp.c++/task-reduction-11.C: New test.
4104         * testsuite/libgomp.c++/task-reduction-12.C: New test.
4105         * testsuite/libgomp.c++/task-reduction-13.C: New test.
4106         * testsuite/libgomp.c++/task-reduction-14.C: New test.
4107         * testsuite/libgomp.c++/task-reduction-15.C: New test.
4108         * testsuite/libgomp.c++/task-reduction-16.C: New test.
4109         * testsuite/libgomp.c++/task-reduction-17.C: New test.
4110         * testsuite/libgomp.c++/task-reduction-18.C: New test.
4111         * testsuite/libgomp.c++/task-reduction-19.C: New test.
4112         * testsuite/libgomp.c/task-reduction-1.c: New test.
4113         * testsuite/libgomp.c++/task-reduction-1.C: New test.
4114         * testsuite/libgomp.c/task-reduction-2.c: New test.
4115         * testsuite/libgomp.c++/task-reduction-2.C: New test.
4116         * testsuite/libgomp.c++/task-reduction-3.C: New test.
4117         * testsuite/libgomp.c++/task-reduction-4.C: New test.
4118         * testsuite/libgomp.c++/task-reduction-5.C: New test.
4119         * testsuite/libgomp.c++/task-reduction-6.C: New test.
4120         * testsuite/libgomp.c++/task-reduction-7.C: New test.
4121         * testsuite/libgomp.c++/task-reduction-8.C: New test.
4122         * testsuite/libgomp.c++/task-reduction-9.C: New test.
4123         * testsuite/libgomp.c/teams-1.c: New test.
4124         * testsuite/libgomp.c/teams-2.c: New test.
4125         * testsuite/libgomp.c/thread-limit-4.c: New test.
4126         * testsuite/libgomp.c/thread-limit-5.c: New test.
4127         * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
4129 2018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
4131         * oacc-mem.c (memcpy_tofrom_device): New function, combined from
4132         acc_memcpy_to/from_device functions, now with async parameter.
4133         (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
4134         (acc_memcpy_from_device): Likewise.
4135         (acc_memcpy_to_device_async): New API function.
4136         (acc_memcpy_from_device_async): Likewise.
4137         (present_create_copy): Add async parameter and async setting/unsetting.
4138         (acc_create): Adjust present_create_copy call.
4139         (acc_copyin): Likewise.
4140         (acc_present_or_create): Likewise.
4141         (acc_present_or_copyin): Likewise.
4142         (acc_create_async): New API function.
4143         (acc_copyin_async): New API function.
4144         (delete_copyout): Add async parameter and async setting/unsetting.
4145         (acc_delete): Adjust delete_copyout call.
4146         (acc_copyout): Likewise.
4147         (acc_delete_async): New API function.
4148         (acc_copyout_async): Likewise.
4149         (update_dev_host): Add async parameter and async setting/unsetting.
4150         (acc_update_device): Adjust update_dev_host call.
4151         (acc_update_self): Likewise.
4152         (acc_update_device_async): New API function.
4153         (acc_update_self_async): Likewise.
4154         * openacc.h (acc_copyin_async): Declare new API function.
4155         (acc_create_async): Likewise.
4156         (acc_copyout_async): Likewise.
4157         (acc_delete_async): Likewise.
4158         (acc_update_device_async): Likewise.
4159         (acc_update_self_async): Likewise.
4160         (acc_memcpy_to_device_async): Likewise.
4161         (acc_memcpy_from_device_async): Likewise.
4162         * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
4163         (acc_copyin_async_64_h): New subroutine.
4164         (acc_copyin_async_array_h): New subroutine.
4165         (acc_create_async_32_h): New subroutine.
4166         (acc_create_async_64_h): New subroutine.
4167         (acc_create_async_array_h): New subroutine.
4168         (acc_copyout_async_32_h): New subroutine.
4169         (acc_copyout_async_64_h): New subroutine.
4170         (acc_copyout_async_array_h): New subroutine.
4171         (acc_delete_async_32_h): New subroutine.
4172         (acc_delete_async_64_h): New subroutine.
4173         (acc_delete_async_array_h): New subroutine.
4174         (acc_update_device_async_32_h): New subroutine.
4175         (acc_update_device_async_64_h): New subroutine.
4176         (acc_update_device_async_array_h): New subroutine.
4177         (acc_update_self_async_32_h): New subroutine.
4178         (acc_update_self_async_64_h): New subroutine.
4179         (acc_update_self_async_array_h): New subroutine.
4180         * openacc.f90 (acc_copyin_async_32_h): New subroutine.
4181         (acc_copyin_async_64_h): New subroutine.
4182         (acc_copyin_async_array_h): New subroutine.
4183         (acc_create_async_32_h): New subroutine.
4184         (acc_create_async_64_h): New subroutine.
4185         (acc_create_async_array_h): New subroutine.
4186         (acc_copyout_async_32_h): New subroutine.
4187         (acc_copyout_async_64_h): New subroutine.
4188         (acc_copyout_async_array_h): New subroutine.
4189         (acc_delete_async_32_h): New subroutine.
4190         (acc_delete_async_64_h): New subroutine.
4191         (acc_delete_async_array_h): New subroutine.
4192         (acc_update_device_async_32_h): New subroutine.
4193         (acc_update_device_async_64_h): New subroutine.
4194         (acc_update_device_async_array_h): New subroutine.
4195         (acc_update_self_async_32_h): New subroutine.
4196         (acc_update_self_async_64_h): New subroutine.
4197         (acc_update_self_async_array_h): New subroutine.
4198         * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
4199         acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
4200         acc_delete_finalize_async*, acc_memcpy_from_device_async*,
4201         acc_memcpy_to_device_async*, acc_update_device_async*, and
4202         acc_update_self_async* entries.
4203         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
4204         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
4205         * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
4207 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
4209         PR bootstrap/82856
4210         * Makefile.am: Include multilib.am
4211         (AUTOMAKE_OPTIONS): Add info-in-builddir.
4212         (CLEANFILES): Remove libgomp.info.
4213         * configure.ac: Remove AC_PREREQ.
4214         * testsuite/Makefile.am (RUNTEST): Remove quotes.
4215         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
4216         Regenerate.
4218 2018-10-29  Joseph Myers  <joseph@codesourcery.com>
4219             Julian Brown  <julian@codesourcery.com>
4221         * testsuite/libgomp.oacc-c++/this.C: New.
4223 2018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
4225         * plugin/plugin-nvptx.c (struct cuda_map): New.
4226         (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
4227         h_tail with (cuda_map *) map.
4228         (cuda_map_create): New function.
4229         (cuda_map_destroy): New function.
4230         (map_init): Update to use a linked list of cuda_map objects.
4231         (map_fini): Likewise.
4232         (map_pop): Likewise.
4233         (map_push): Likewise.  Return CUdeviceptr instead of void.
4234         (init_streams_for_device): Remove stales references to ptx_stream
4235         members.
4236         (select_stream_for_async): Likewise.
4237         (nvptx_exec): Update call to map_init.
4239 2018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
4240             Julian Brown  <julian@codesourcery.com>
4242         PR middle-end/86336
4243         * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
4245 2018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
4246         Thomas Koenig <tkoenig@gcc.gnu.org>
4248         PR fortran/25829
4249         * testsuite/libgomp.fortran/async_io_1.f90: New test.
4250         * testsuite/libgomp.fortran/async_io_2.f90: New test.
4251         * testsuite/libgomp.fortran/async_io_3.f90: New test.
4252         * testsuite/libgomp.fortran/async_io_4.f90: New test.
4253         * testsuite/libgomp.fortran/async_io_5.f90: New test.
4254         * testsuite/libgomp.fortran/async_io_6.f90: New test.
4255         * testsuite/libgomp.fortran/async_io_7.f90: New test.
4257 2018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
4258             Tom de Vries  <tdevries@suse.de>
4260         PR target/85590
4261         * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
4262         (cuOccupancyMaxPotentialBlockSize): Declare.
4263         * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
4264         CUDA_ONE_CALL_MAYBE_NULL.
4265         * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
4266         CUoccupancyB2DSize and declare
4267         cuOccupancyMaxPotentialBlockSize.
4268         (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
4269         default num_gangs and num_workers when the driver supports it.
4271 2018-08-08  Tom de Vries  <tdevries@suse.de>
4273         * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
4274         CUDA_ONE_CALL_MAYBE_NULL.
4275         * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
4276         (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
4277         (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
4278         are not found.
4280 2018-08-08  Tom de Vries  <tdevries@suse.de>
4282         * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
4283         * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
4284         present.
4286 2018-08-08  Tom de Vries  <tdevries@suse.de>
4288         * plugin/plugin-nvptx.c
4289         (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
4290         (nvptx_open_device): Use
4291         CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
4293 2018-08-08  Tom de Vries  <tdevries@suse.de>
4295         * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
4296         (cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
4298 2018-08-07  Tom de Vries  <tdevries@suse.de>
4300         * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
4301         (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
4302         (init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
4303         corresponding call in CUDA_ONE_CALL.  Add def/undef of
4304         CUDA_ONE_CALL_MAYBE_NULL.
4305         (CUDA_CALL_EXISTS): Define.
4307 2018-08-07  Tom de Vries  <tdevries@suse.de>
4309         * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
4310         CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
4311         corresponding undefs right after.
4313 2018-08-04  Tom de Vries  <tdevries@suse.de>
4315         * plugin/configfrag.ac: For --without-cuda-driver, set
4316         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
4317         CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
4318         * configure: Regenerate.
4320 2018-08-02  Tom de Vries  <tdevries@suse.de>
4322         PR target/86660
4323         * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
4324         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
4325         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4326         Same.
4327         * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
4328         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
4329         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
4331 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
4332             Thomas Schwinge <thomas@codesourcery.com>
4334         * config/nvptx/oacc-parallel.c: Truncate.
4336 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
4337             James Norris <jnorris@codesourcery.com>
4339         * plugin/plugin-nvptx.c (struct map): Removed.
4340         (map_init, map_pop): Remove use of struct map.
4341         (map_push): Likewise and change argument list.
4342         * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
4344 2018-08-01  Tom de Vries  <tdevries@suse.de>
4346         * plugin/cuda-lib.def: New file.  Factor out of ...
4347         * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
4348         (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
4349         using CUDA_CALLS.
4351 2018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
4353         Revert 'AsyncI/O patch committed'.
4354         2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
4355                 Thomas Koenig <tkoenig@gcc.gnu.org>
4357         PR fortran/25829
4358         * testsuite/libgomp.fortran/async_io_1.f90: New test.
4359         * testsuite/libgomp.fortran/async_io_2.f90: New test.
4360         * testsuite/libgomp.fortran/async_io_3.f90: New test.
4361         * testsuite/libgomp.fortran/async_io_4.f90: New test.
4362         * testsuite/libgomp.fortran/async_io_5.f90: New test.
4363         * testsuite/libgomp.fortran/async_io_6.f90: New test.
4364         * testsuite/libgomp.fortran/async_io_7.f90: New test.
4366 2018-07-30  Tom de Vries  <tdevries@suse.de>
4368         * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
4369         (nvptx_exec): Ensure worker and vector default dims don't exceed
4370         targ_fn->max_threads_per_block.
4372 2018-07-30  Tom de Vries  <tdevries@suse.de>
4374         * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
4375         (nvptx_open_device): Init default_dims for device.
4376         (nvptx_exec): Use default_dims from device.
4378 2018-07-26  Jakub Jelinek  <jakub@redhat.com>
4380         PR testsuite/86660
4381         * testsuite/libgomp.c++/for-15.C (results): Include it in
4382         omp declare target region.
4383         (main): Use map (always, tofrom: results) instead of
4384         map (tofrom: results).
4386         PR middle-end/86660
4387         * testsuite/libgomp.c/pr86660.c: New test.
4389 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
4390             Tom de Vries  <tdevries@suse.de>
4392         * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
4393         sufficient resources to launch a kernel, and give a hint on how to fix
4394         it.
4396 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
4397             Tom de Vries  <tdevries@suse.de>
4399         * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
4400         max_threads_per_block and max_threads_per_multiprocessor fields.
4401         (nvptx_open_device): Initialize new fields.
4402         (nvptx_exec): Use num_sms, and new fields.
4404 2018-07-26  Tom de Vries  <tdevries@suse.de>
4406         * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
4407         to correct locations.  Remove xfail.
4409 2018-07-26  Tom de Vries  <tdevries@suse.de>
4411         * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
4412         acc_wait.  Move acc_async_test calls to correct locations.  Remove
4413         xfail.
4415 2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
4416         Thomas Koenig <tkoenig@gcc.gnu.org>
4418         PR fortran/25829
4419         * testsuite/libgomp.fortran/async_io_1.f90: New test.
4420         * testsuite/libgomp.fortran/async_io_2.f90: New test.
4421         * testsuite/libgomp.fortran/async_io_3.f90: New test.
4422         * testsuite/libgomp.fortran/async_io_4.f90: New test.
4423         * testsuite/libgomp.fortran/async_io_5.f90: New test.
4424         * testsuite/libgomp.fortran/async_io_6.f90: New test.
4425         * testsuite/libgomp.fortran/async_io_7.f90: New test.
4427 2018-07-17  Jakub Jelinek  <jakub@redhat.com>
4429         PR middle-end/86542
4430         * testsuite/libgomp.c++/pr86542.C: New test.
4432         PR middle-end/86539
4433         * testsuite/libgomp.c++/pr86539.C: New test.
4435 2018-07-11  Jakub Jelinek  <jakub@redhat.com>
4437         PR c++/86443
4438         * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
4439         (results): Make sure the variable is not inside declare target region.
4440         (qux): Remove unused function.
4442 2018-07-10  Jakub Jelinek  <jakub@redhat.com>
4444         PR c++/86443
4445         * testsuite/libgomp.c++/for-15.C: New test.
4447 2018-06-26  Jakub Jelinek  <jakub@redhat.com>
4449         PR c++/86291
4450         * testsuite/libgomp.c++/pr86291.C: New test.
4452 2018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
4454         * libgomp.texi (Top): Move www.openmp.org to https.
4455         (Enabling OpenMP): Ditto.
4456         (omp_get_active_level): Ditto.
4457         (omp_get_ancestor_thread_num): Ditto.
4458         (omp_get_cancellation): Ditto.
4459         (omp_get_default_device): Ditto.
4460         (omp_get_dynamic): Ditto.
4461         (omp_get_level): Ditto.
4462         (omp_get_max_active_levels): Ditto.
4463         (omp_get_max_task_priority): Ditto.
4464         (omp_get_max_threads): Ditto.
4465         (omp_get_nested): Ditto.
4466         (omp_get_num_devices): Ditto.
4467         (omp_get_num_procs): Ditto.
4468         (omp_get_num_teams): Ditto.
4469         (omp_get_num_threads): Ditto.
4470         (omp_get_proc_bind): Ditto.
4471         (omp_get_schedule): Ditto.
4472         (omp_get_team_num): Ditto.
4473         (omp_get_team_size): Ditto.
4474         (omp_get_thread_limit): Ditto.
4475         (omp_get_thread_num): Ditto.
4476         (omp_in_parallel): Ditto.
4477         (omp_in_final): Ditto.
4478         (omp_is_initial_device): Ditto.
4479         (omp_set_default_device): Ditto.
4480         (omp_set_dynamic): Ditto.
4481         (omp_set_max_active_levels): Ditto.
4482         (omp_set_nested): Ditto.
4483         (omp_set_num_threads): Ditto.
4484         (omp_set_schedule): Ditto.
4485         (omp_init_lock): Ditto.
4486         (omp_set_lock): Ditto.
4487         (omp_test_lock): Ditto.
4488         (omp_unset_lock): Ditto.
4489         (omp_destroy_lock): Ditto.
4490         (omp_init_nest_lock): Ditto.
4491         (omp_set_nest_lock): Ditto.
4492         (omp_test_nest_lock): Ditto.
4493         (omp_unset_nest_lock): Ditto.
4494         (omp_destroy_nest_lock): Ditto.
4495         (omp_get_wtick): Ditto.
4496         (omp_get_wtime): Ditto.
4497         (OMP_CANCELLATION): Ditto.
4498         (OMP_DISPLAY_ENV): Ditto.
4499         (OMP_DEFAULT_DEVICE): Ditto.
4500         (OMP_DYNAMIC): Ditto.
4501         (OMP_MAX_ACTIVE_LEVELS): Ditto.
4502         (OMP_MAX_TASK_PRIORITY): Ditto.
4503         (OMP_NESTED): Ditto.
4504         (OMP_NUM_THREADS): Ditto.
4505         (OMP_PROC_BIND): Ditto.
4506         (OMP_PLACES): Ditto.
4507         (OMP_STACKSIZE): Ditto.
4508         (OMP_SCHEDULE): Ditto.
4509         (OMP_THREAD_LIMIT): Ditto.
4510         (OMP_WAIT_POLICY): Ditto.
4512 2018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
4513             James Norris  <jnorris@codesourcery.com>
4514             Julian Brown  <julian@codesourcery.com>
4515             Thomas Schwinge  <thomas@codesourcery.com>
4516             Tom de Vries  <tom@codesourcery.com>
4518         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
4519         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
4520         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
4521         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
4522         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4523         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4524         * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
4525         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
4526         * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
4527         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
4528         Likewise.
4529         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
4530         Likewise.
4531         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
4532         Likewise.
4533         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
4534         Likewise.
4535         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
4536         Likewise.
4537         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
4538         Likewise.
4539         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4540         Likewise.
4541         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4542         Likewise.
4543         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4544         Likewise.
4545         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4546         Likewise.
4547         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4548         Likewise.
4549         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4550         Likewise.
4551         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4552         Likewise.
4553         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4554         Likewise.
4555         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4556         Likewise.
4557         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4558         Likewise.
4559         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4560         Likewise.
4561         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4562         Likewise.
4563         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4564         Likewise.
4565         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4566         Likewise.
4567         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4568         Likewise.
4569         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4570         Likewise.
4571         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4572         Likewise.
4573         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4574         Likewise.
4575         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4576         Likewise.
4577         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4578         Likewise.
4579         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4580         Likewise.
4581         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
4582         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
4583         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
4584         * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
4585         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
4586         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
4587         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
4588         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
4589         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
4590         Likewise.
4591         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
4592         Likewise.
4593         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
4594         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
4595         * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
4596         Likewise.
4597         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
4598         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
4599         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
4600         Likewise.
4601         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4602         Likewise.
4603         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4604         Likewise.
4605         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4606         Likewise.
4607         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4608         Likewise.
4609         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4610         Likewise.
4611         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4612         Likewise.
4613         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4614         Likewise.
4615         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4616         Likewise.
4617         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4618         Likewise.
4619         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4620         Likewise.
4621         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4622         Likewise.
4623         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4624         Likewise.
4625         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4626         Likewise.
4627         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4628         Likewise.
4629         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
4630         * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
4631         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
4632         * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
4633         * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
4634         * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
4635         * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
4637 2018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
4638             Thomas Schwinge <thomas@codesourcery.com>
4639             Cesar Philippidis  <cesar@codesourcery.com>
4641         * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
4642         (gomp_acc_remove_pointer): Update declaration.
4643         (gomp_acc_declare_allocate): Declare.
4644         (gomp_remove_var): Declare.
4645         * libgomp.map (OACC_2.5): Define.
4646         * oacc-mem.c (acc_map_data): Update refcount.
4647         (acc_unmap_data): Likewise.
4648         (present_create_copy): Likewise.
4649         (acc_create): Add FLAG_PRESENT when calling present_create_copy.
4650         (acc_copyin): Likewise.
4651         (FLAG_FINALIZE): Define.
4652         (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
4653         (acc_delete_finalize): New function.
4654         (acc_delete_finalize_async): New function.
4655         (acc_copyout_finalize): New function.
4656         (acc_copyout_finalize_async): New function.
4657         (gomp_acc_insert_pointer): Update refcounts.
4658         (gomp_acc_remove_pointer): Return if data is not present on the
4659         accelerator.
4660         * oacc-parallel.c (find_pset): Rename to find_pointer.
4661         (find_pointer): Add support for GOMP_MAP_POINTER.
4662         (handle_ftn_pointers): New function.
4663         (GOACC_parallel_keyed): Update refcounts of variables.
4664         (GOACC_enter_exit_data): Add support for finalized data mappings.
4665         Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
4666         of fortran arrays.
4667         (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
4668         (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
4669         for GOMP_MAP_FORCE_FROM.
4670         * openacc.f90 (module openacc_internal): Add
4671         acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
4672         acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
4673         acc_copyout_finalize and acc_delete_finalize.
4674         (acc_copyout_finalize_32_h): New subroutine.
4675         (acc_copyout_finalize_64_h): New subroutine.
4676         (acc_copyout_finalize_array_h): New subroutine.
4677         (acc_delete_finalize_32_h): New subroutine.
4678         (acc_delete_finalize_64_h): New subroutine.
4679         (acc_delete_finalize_array_h): New subroutine.
4680         * openacc.h (acc_copyout_finalize): Declare.
4681         (acc_copyout_finalize_async): Declare.
4682         (acc_delete_finalize): Declare.
4683         (acc_delete_finalize_async): Declare.
4684         * openacc_lib.h (acc_copyout_finalize): New interface.
4685         (acc_delete_finalize): New interface.
4686         * target.c (gomp_map_vars): Update dynamic_refcount.
4687         (gomp_remove_var): New function.
4688         (gomp_unmap_vars): Use it.
4689         (gomp_unload_image_from_device): Likewise.
4690         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
4691         case to utilize OpenACC 2.5 data clause semantics.
4692         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4693         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4694         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4695         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4696         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4697         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4698         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4699         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4700         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4701         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4702         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4703         * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
4704         * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
4705         utilize OpenACC 2.5 data clause semantics.
4706         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4707         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4708         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4709         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4710         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4711         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4712         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4713         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
4714         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4716 2018-05-21  Janus Weil  <janus@gcc.gnu.org>
4718         PR fortran/85841
4719         PR testsuite/85865
4720         * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
4721         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
4722         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
4723         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
4724         * testsuite/libgomp.fortran/task2.f90: Ditto.
4725         * testsuite/libgomp.fortran/vla1.f90: Ditto.
4726         * testsuite/libgomp.fortran/vla2.f90: Ditto.
4727         * testsuite/libgomp.fortran/vla3.f90: Ditto.
4728         * testsuite/libgomp.fortran/vla4.f90: Ditto.
4729         * testsuite/libgomp.fortran/vla5.f90: Ditto.
4730         * testsuite/libgomp.fortran/vla6.f90: Ditto.
4731         * testsuite/libgomp.fortran/vla8.f90: Ditto.
4732         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
4733         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
4735 2018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
4737         PR c++/85782
4738         * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
4740 2018-05-09  Tom de Vries  <tom@codesourcery.com>
4742         PR libgomp/82901
4743         * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
4744         to GOACC_enter_exit_data.
4746 2018-05-09  Tom de Vries  <tom@codesourcery.com>
4748         PR libgomp/83792
4749         * oacc-int.h (async_valid_stream_id_p, async_valid_p)
4750         (async_synchronous_p): New function.
4751         * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
4752         async_valid_p.
4753         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
4754         async_valid_stream_id_p.
4755         * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
4756         * oacc-parallel.c (GOACC_parallel_keyed): Same.
4758 2018-05-07  Tom de Vries  <tom@codesourcery.com>
4760         PR testsuite/85677
4761         * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
4762         include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
4764 2018-05-03  Tom de Vries  <tom@codesourcery.com>
4766         PR testsuite/85106
4767         * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
4768         extra_tool_flags if it contains an -foffload=-fdump-* flag.
4769         * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
4770         * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
4772 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4774         PR libgomp/85411
4775         * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
4776         GOMP_OPENACC_DIM ...
4777         * env.c (parse_gomp_openacc_dim): ... here.  New function.
4778         (initialize_env): Call parse_gomp_openacc_dim.
4779         (goacc_default_dims): Define.
4780         * libgomp.h (goacc_default_dims): Declare.
4781         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
4782         * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
4783         * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
4784         GOMP_PLUGIN_acc_default_dim.
4785         * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
4786         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
4788 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4790         PR testsuite/83791
4791         * testsuite/libgomp.c++/udr-9.C: Update.
4792         * testsuite/libgomp.c++/atomic-16.C: Remove.
4793         * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
4794         * testsuite/libgomp.c++/loop-13.C: Remove.
4795         * testsuite/libgomp.c++/loop-14.C: Remove.
4796         * testsuite/libgomp.c++/loop-15.C: Remove.
4797         * testsuite/libgomp.c++/monotonic-1.C: Remove.
4798         * testsuite/libgomp.c++/monotonic-2.C: Remove.
4799         * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
4800         * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
4801         * testsuite/libgomp.c++/ordered-1.C: Remove.
4802         * testsuite/libgomp.c++/pr45784.C: Remove.
4803         * testsuite/libgomp.c++/pr64824.C: Remove.
4804         * testsuite/libgomp.c++/pr64868.C: Remove.
4805         * testsuite/libgomp.c++/pr66199-1.C: Remove.
4806         * testsuite/libgomp.c++/pr66199-2.C: Remove.
4807         * testsuite/libgomp.c++/pr66199-3.C: Remove.
4808         * testsuite/libgomp.c++/pr66199-4.C: Remove.
4809         * testsuite/libgomp.c++/pr66199-5.C: Remove.
4810         * testsuite/libgomp.c++/pr66199-6.C: Remove.
4811         * testsuite/libgomp.c++/pr66199-7.C: Remove.
4812         * testsuite/libgomp.c++/pr66199-8.C: Remove.
4813         * testsuite/libgomp.c++/pr66199-9.C: Remove.
4814         * testsuite/libgomp.c++/pr69389.C: Remove.
4815         * testsuite/libgomp.c++/simd10.C: Remove.
4816         * testsuite/libgomp.c++/simd11.C: Remove.
4817         * testsuite/libgomp.c++/simd12.C: Remove.
4818         * testsuite/libgomp.c++/simd13.C: Remove.
4819         * testsuite/libgomp.c++/target-1.C: Remove.
4820         * testsuite/libgomp.c++/target-3.C: Remove.
4821         * testsuite/libgomp.c++/target-4.C: Remove.
4822         * testsuite/libgomp.c++/target-5.C: Remove.
4823         * testsuite/libgomp.c++/taskgroup-1.C: Remove.
4824         * testsuite/libgomp.c++/taskloop-1.C: Remove.
4825         * testsuite/libgomp.c++/taskloop-2.C: Remove.
4826         * testsuite/libgomp.c++/taskloop-3.C: Remove.
4827         * testsuite/libgomp.c++/taskloop-4.C: Remove.
4828         * testsuite/libgomp.c++/udr-9.C: Remove.
4829         * testsuite/libgomp.c++/for-10.C: Remove.
4830         * testsuite/libgomp.c++/for-11.C: Remove.
4831         * testsuite/libgomp.c++/for-12.C: Remove.
4832         * testsuite/libgomp.c++/for-13.C: Remove.
4833         * testsuite/libgomp.c++/for-14.C: Remove.
4834         * testsuite/libgomp.c++/for-9.C: Remove.
4835         * testsuite/libgomp.c/atomic-18.c: Move ...
4836         * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
4837         * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
4838         * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
4839         * testsuite/libgomp.c/loop-13.c: Move ...
4840         * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
4841         * testsuite/libgomp.c/loop-14.c: Move ...
4842         * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
4843         * testsuite/libgomp.c/loop-15.c: Remove.
4844         * testsuite/libgomp.c-c++-common/loop-15.c: New test.
4845         * testsuite/libgomp.c/monotonic-1.c: Move ...
4846         * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
4847         * testsuite/libgomp.c/monotonic-2.c: Move ...
4848         * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
4849         * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
4850         * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
4851         * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
4852         * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
4853         * testsuite/libgomp.c/ordered-4.c: Move ...
4854         * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
4855         * testsuite/libgomp.c/pr45784.c: Move ...
4856         * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
4857         * testsuite/libgomp.c/pr64824.c: Move ...
4858         * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
4859         * testsuite/libgomp.c/pr64868.c: Move ...
4860         * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
4861         * testsuite/libgomp.c/pr66199-1.c: Move ...
4862         * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
4863         * testsuite/libgomp.c/pr66199-2.c: Move ...
4864         * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
4865         * testsuite/libgomp.c/pr66199-3.c: Move ...
4866         * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
4867         * testsuite/libgomp.c/pr66199-4.c: Move ...
4868         * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
4869         * testsuite/libgomp.c/pr66199-5.c: Move ...
4870         * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
4871         * testsuite/libgomp.c/pr66199-6.c: Move ...
4872         * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
4873         * testsuite/libgomp.c/pr66199-7.c: Move ...
4874         * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
4875         * testsuite/libgomp.c/pr66199-8.c: Move ...
4876         * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
4877         * testsuite/libgomp.c/pr66199-9.c: Move ...
4878         * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
4879         * testsuite/libgomp.c/pr69389.c: Move ...
4880         * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
4881         * testsuite/libgomp.c/simd-14.c: Move ...
4882         * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
4883         * testsuite/libgomp.c/simd-15.c: Move ...
4884         * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
4885         * testsuite/libgomp.c/simd-16.c: Move ...
4886         * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
4887         * testsuite/libgomp.c/simd-17.c: Move ...
4888         * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
4889         * testsuite/libgomp.c/target-1.c: Move ...
4890         * testsuite/libgomp.c-c++-common/target-1.c: ... here.
4891         * testsuite/libgomp.c/target-10.c: Move ...
4892         * testsuite/libgomp.c-c++-common/target-10.c: ... here.
4893         * testsuite/libgomp.c/target-13.c: Move ...
4894         * testsuite/libgomp.c-c++-common/target-13.c: ... here.
4895         * testsuite/libgomp.c/target-2.c: Move ...
4896         * testsuite/libgomp.c-c++-common/target-2.c: ... here.
4897         * testsuite/libgomp.c/taskgroup-1.c: Move ...
4898         * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
4899         * testsuite/libgomp.c/taskloop-1.c: Move ...
4900         * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
4901         * testsuite/libgomp.c/taskloop-2.c: Move ...
4902         * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
4903         * testsuite/libgomp.c/taskloop-3.c: Move ...
4904         * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
4905         * testsuite/libgomp.c/taskloop-4.c: Move ...
4906         * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
4907         * testsuite/libgomp.c/udr-1.c: Move ...
4908         * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
4909         * testsuite/libgomp.c/for-1.c: Move ...
4910         * testsuite/libgomp.c-c++-common/for-1.c: ... here.
4911         * testsuite/libgomp.c/for-1.h: Move ...
4912         * testsuite/libgomp.c-c++-common/for-1.h: ... here.
4913         * testsuite/libgomp.c/for-2.c: Move ...
4914         * testsuite/libgomp.c-c++-common/for-2.c: ... here.
4915         * testsuite/libgomp.c/for-2.h: Move ...
4916         * testsuite/libgomp.c-c++-common/for-2.h: ... here.
4917         * testsuite/libgomp.c/for-3.c: Move ...
4918         * testsuite/libgomp.c-c++-common/for-3.c: ... here.
4919         * testsuite/libgomp.c/for-4.c: Move ...
4920         * testsuite/libgomp.c-c++-common/for-4.c: ... here.
4921         * testsuite/libgomp.c/for-5.c: Move ...
4922         * testsuite/libgomp.c-c++-common/for-5.c: ... here.
4923         * testsuite/libgomp.c/for-6.c: Move ...
4924         * testsuite/libgomp.c-c++-common/for-6.c: ... here.
4926 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4928         PR libgomp/82428
4929         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
4930         __builtin_goacc_parlevel_{id,size}.
4931         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
4932         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
4933         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
4934         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
4935         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
4936         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
4937         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
4938         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
4939         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
4940         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
4941         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
4942         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
4943         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
4944         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
4945         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
4946         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
4947         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
4948         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
4949         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
4950         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
4951         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
4952         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
4953         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
4955 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4957         PR testsuite/85106
4958         * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
4960 2018-05-02  Tom de Vries  <tom@codesourcery.com>
4962         PR testsuite/85106
4963         * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
4965 2018-04-29  Julian Brown  <julian@codesourcery.com>
4966             Tom de Vries  <tom@codesourcery.com>
4968         PR testsuite/85527
4969         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
4970         arbitrary order for iterations of atomic subtract check.
4972 2018-04-28  Tom de Vries  <tom@codesourcery.com>
4974         PR testsuite/85527
4975         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
4976         atomic capture results obtained in parallel loop to an array, instead of
4977         to a scalar.
4979 2018-04-26  Tom de Vries  <tom@codesourcery.com>
4981         PR libgomp/84020
4982         * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
4983         * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
4984         (process_GOMP_NVPTX_JIT): New function.
4985         (link_ptx): Use process_GOMP_NVPTX_JIT.
4987 2018-04-26  Richard Biener <rguenther@suse.de>
4988             Tom de Vries  <tom@codesourcery.com>
4990         PR lto/85422
4991         * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
4993 2018-04-26  Tom de Vries  <tom@codesourcery.com>
4995         PR target/85519
4996         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4997         recursion depth from 25 to 23.
4998         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
5000 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
5002         * configure: Regenerated.
5004 2018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
5005             Tom de Vries  <tom@codesourcery.com>
5007         PR target/85445
5008         * testsuite/libgomp.oacc-c++/ref-1.C: New.
5010 2018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
5012         PR libgomp/85463
5013         * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
5014         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5015         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5016         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
5017         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
5018         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
5020         PR libfortran/85166
5021         * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
5022         abort".
5023         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
5025 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
5027         * configure: Regenerated.
5029 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
5031         PR jit/85384
5032         * configure: Regenerate.
5034 2018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
5035             Tom de Vries  <tom@codesourcery.com>
5037         PR middle-end/84955
5038         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
5039         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
5041 2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
5043         PR fortran/83064
5044         PR testsuite/85346
5045         * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
5046         test from gfortran.dg to here.
5048 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
5050         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
5051         * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
5053 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
5055         PR middle-end/84955
5056         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
5057         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
5059 2018-04-05  Tom de Vries  <tom@codesourcery.com>
5061         PR target/85204
5062         * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
5064 2018-03-26  Tom de Vries  <tom@codesourcery.com>
5066         PR tree-optimization/85063
5067         * testsuite/libgomp.c/switch-conversion-2.c: New test.
5068         * testsuite/libgomp.c/switch-conversion.c: New test.
5069         * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
5070         * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
5072 2018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
5074         PR fortran/84381
5075         * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
5076         call abort by STOP n.
5077         * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
5078         * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
5079         * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
5080         * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
5081         * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
5082         * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
5083         * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
5084         * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
5085         * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
5086         * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
5087         * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
5088         * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
5089         * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
5090         * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
5091         * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
5092         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
5093         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
5094         * testsuite/libgomp.fortran/associate1.f90: Likewise.
5095         * testsuite/libgomp.fortran/associate2.f90: Likewise.
5096         * testsuite/libgomp.fortran/associate3.f90: Likewise.
5097         * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
5098         * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
5099         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
5100         * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
5101         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
5102         * testsuite/libgomp.fortran/character1.f90: Likewise.
5103         * testsuite/libgomp.fortran/character2.f90: Likewise.
5104         * testsuite/libgomp.fortran/collapse1.f90: Likewise.
5105         * testsuite/libgomp.fortran/collapse2.f90: Likewise.
5106         * testsuite/libgomp.fortran/collapse3.f90: Likewise.
5107         * testsuite/libgomp.fortran/collapse4.f90: Likewise.
5108         * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
5109         * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
5110         * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
5111         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
5112         * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
5113         * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
5114         * testsuite/libgomp.fortran/depend-1.f90: Likewise.
5115         * testsuite/libgomp.fortran/depend-2.f90: Likewise.
5116         * testsuite/libgomp.fortran/depend-3.f90: Likewise.
5117         * testsuite/libgomp.fortran/do1.f90: Likewise.
5118         * testsuite/libgomp.fortran/do2.f90: Likewise.
5119         * testsuite/libgomp.fortran/doacross1.f90: Likewise.
5120         * testsuite/libgomp.fortran/doacross2.f90: Likewise.
5121         * testsuite/libgomp.fortran/doacross3.f90: Likewise.
5122         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
5123         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
5124         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
5125         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5126         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
5127         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
5128         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
5129         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
5130         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
5131         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5132         * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
5133         * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
5134         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
5135         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
5136         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
5137         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
5138         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
5139         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
5140         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
5141         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
5142         * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
5143         * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
5144         * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
5145         * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
5146         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5147         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
5148         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
5149         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
5150         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
5151         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
5152         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5153         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5154         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
5155         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
5156         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
5157         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
5158         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
5159         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
5160         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
5161         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
5162         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
5163         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5164         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
5165         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
5166         * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
5167         * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
5168         * testsuite/libgomp.fortran/lib1.f90: Likewise.
5169         * testsuite/libgomp.fortran/lib2.f: Likewise.
5170         * testsuite/libgomp.fortran/lib3.f: Likewise.
5171         * testsuite/libgomp.fortran/lib4.f90: Likewise.
5172         * testsuite/libgomp.fortran/lock-1.f90: Likewise.
5173         * testsuite/libgomp.fortran/lock-2.f90: Likewise.
5174         * testsuite/libgomp.fortran/nested1.f90: Likewise.
5175         * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
5176         * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
5177         * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
5178         * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
5179         * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
5180         * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
5181         * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
5182         * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
5183         * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
5184         * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
5185         * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
5186         * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
5187         * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
5188         * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
5189         * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
5190         * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
5191         * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
5192         * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
5193         * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
5194         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5195         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
5196         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
5197         * testsuite/libgomp.fortran/pointer1.f90: Likewise.
5198         * testsuite/libgomp.fortran/pointer2.f90: Likewise.
5199         * testsuite/libgomp.fortran/pr25162.f: Likewise.
5200         * testsuite/libgomp.fortran/pr25219.f90: Likewise.
5201         * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
5202         * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
5203         * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
5204         * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
5205         * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
5206         * testsuite/libgomp.fortran/pr28390.f: Likewise.
5207         * testsuite/libgomp.fortran/pr29629.f90: Likewise.
5208         * testsuite/libgomp.fortran/pr32550.f90: Likewise.
5209         * testsuite/libgomp.fortran/pr33880.f90: Likewise.
5210         * testsuite/libgomp.fortran/pr34020.f90: Likewise.
5211         * testsuite/libgomp.fortran/pr35130.f90: Likewise.
5212         * testsuite/libgomp.fortran/pr42162.f90: Likewise.
5213         * testsuite/libgomp.fortran/pr46753.f90: Likewise.
5214         * testsuite/libgomp.fortran/pr48894.f90: Likewise.
5215         * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
5216         * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
5217         * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
5218         * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
5219         * testsuite/libgomp.fortran/pr65597.f90: Likewise.
5220         * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
5221         * testsuite/libgomp.fortran/pr71014.f90: Likewise.
5222         * testsuite/libgomp.fortran/pr81304.f90: Likewise.
5223         * testsuite/libgomp.fortran/pr81841.f90: Likewise.
5224         * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
5225         * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
5226         * testsuite/libgomp.fortran/procptr1.f90: Likewise.
5227         * testsuite/libgomp.fortran/recursion1.f90: Likewise.
5228         * testsuite/libgomp.fortran/reduction1.f90: Likewise.
5229         * testsuite/libgomp.fortran/reduction2.f90: Likewise.
5230         * testsuite/libgomp.fortran/reduction3.f90: Likewise.
5231         * testsuite/libgomp.fortran/reduction4.f90: Likewise.
5232         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
5233         * testsuite/libgomp.fortran/reduction6.f90: Likewise.
5234         * testsuite/libgomp.fortran/reference1.f90: Likewise.
5235         * testsuite/libgomp.fortran/reference2.f90: Likewise.
5236         * testsuite/libgomp.fortran/retval1.f90: Likewise.
5237         * testsuite/libgomp.fortran/retval2.f90: Likewise.
5238         * testsuite/libgomp.fortran/sharing1.f90: Likewise.
5239         * testsuite/libgomp.fortran/sharing2.f90: Likewise.
5240         * testsuite/libgomp.fortran/simd1.f90: Likewise.
5241         * testsuite/libgomp.fortran/simd2.f90: Likewise.
5242         * testsuite/libgomp.fortran/simd3.f90: Likewise.
5243         * testsuite/libgomp.fortran/simd4.f90: Likewise.
5244         * testsuite/libgomp.fortran/simd5.f90: Likewise.
5245         * testsuite/libgomp.fortran/simd6.f90: Likewise.
5246         * testsuite/libgomp.fortran/simd7.f90: Likewise.
5247         * testsuite/libgomp.fortran/stack.f90: Likewise.
5248         * testsuite/libgomp.fortran/strassen.f90: Likewise.
5249         * testsuite/libgomp.fortran/tabs1.f90: Likewise.
5250         * testsuite/libgomp.fortran/tabs2.f: Likewise.
5251         * testsuite/libgomp.fortran/target1.f90: Likewise.
5252         * testsuite/libgomp.fortran/target2.f90: Likewise.
5253         * testsuite/libgomp.fortran/target3.f90: Likewise.
5254         * testsuite/libgomp.fortran/target4.f90: Likewise.
5255         * testsuite/libgomp.fortran/target5.f90: Likewise.
5256         * testsuite/libgomp.fortran/target6.f90: Likewise.
5257         * testsuite/libgomp.fortran/target7.f90: Likewise.
5258         * testsuite/libgomp.fortran/target8.f90: Likewise.
5259         * testsuite/libgomp.fortran/task1.f90: Likewise.
5260         * testsuite/libgomp.fortran/task2.f90: Likewise.
5261         * testsuite/libgomp.fortran/task3.f90: Likewise.
5262         * testsuite/libgomp.fortran/task4.f90: Likewise.
5263         * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
5264         * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
5265         * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
5266         * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
5267         * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
5268         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
5269         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
5270         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
5271         * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
5272         * testsuite/libgomp.fortran/udr1.f90: Likewise.
5273         * testsuite/libgomp.fortran/udr10.f90: Likewise.
5274         * testsuite/libgomp.fortran/udr11.f90: Likewise.
5275         * testsuite/libgomp.fortran/udr12.f90: Likewise.
5276         * testsuite/libgomp.fortran/udr13.f90: Likewise.
5277         * testsuite/libgomp.fortran/udr14.f90: Likewise.
5278         * testsuite/libgomp.fortran/udr15.f90: Likewise.
5279         * testsuite/libgomp.fortran/udr2.f90: Likewise.
5280         * testsuite/libgomp.fortran/udr3.f90: Likewise.
5281         * testsuite/libgomp.fortran/udr4.f90: Likewise.
5282         * testsuite/libgomp.fortran/udr5.f90: Likewise.
5283         * testsuite/libgomp.fortran/udr6.f90: Likewise.
5284         * testsuite/libgomp.fortran/udr7.f90: Likewise.
5285         * testsuite/libgomp.fortran/udr8.f90: Likewise.
5286         * testsuite/libgomp.fortran/udr9.f90: Likewise.
5287         * testsuite/libgomp.fortran/vla1.f90: Likewise.
5288         * testsuite/libgomp.fortran/vla2.f90: Likewise.
5289         * testsuite/libgomp.fortran/vla3.f90: Likewise.
5290         * testsuite/libgomp.fortran/vla4.f90: Likewise.
5291         * testsuite/libgomp.fortran/vla5.f90: Likewise.
5292         * testsuite/libgomp.fortran/vla6.f90: Likewise.
5293         * testsuite/libgomp.fortran/vla7.f90: Likewise.
5294         * testsuite/libgomp.fortran/vla8.f90: Likewise.
5295         * testsuite/libgomp.fortran/workshare1.f90: Likewise.
5296         * testsuite/libgomp.fortran/workshare2.f90: Likewise.
5297         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5298         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
5299         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5300         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5301         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5302         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5303         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5304         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5305         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5306         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
5307         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5308         * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
5309         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5310         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
5311         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
5312         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
5313         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
5314         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
5315         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
5316         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
5317         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
5318         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
5319         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
5320         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
5321         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
5322         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
5323         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5324         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
5325         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5326         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5327         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5328         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5329         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5330         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5331         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5332         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5333         * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
5334         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5335         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
5336         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5337         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
5338         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
5339         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
5340         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
5341         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5342         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5343         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
5344         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5345         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
5346         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
5347         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
5348         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5349         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
5350         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5351         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
5352         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5353         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5354         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
5355         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
5356         * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
5357         * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
5358         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5359         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
5360         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
5361         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
5362         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5363         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5364         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
5365         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
5366         * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
5367         * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
5368         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
5369         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5370         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
5371         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5372         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5373         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5374         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5375         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5376         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5377         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5378         * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
5379         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
5380         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
5381         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
5382         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
5383         * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
5384         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5385         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
5386         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
5387         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
5388         * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
5390 2018-03-20  Richard Biener  <rguenther@suse.de>
5392         * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
5393         parallelizable loop.
5395 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
5397         PR target/84148
5398         * configure: Regenerate.
5400 2018-02-16  Jakub Jelinek  <jakub@redhat.com>
5402         PR fortran/84418
5403         * libgomp.fortran/pr84418-1.f90: New test.
5404         * libgomp.fortran/pr84418-2.f90: New test.
5406 2018-02-14  Jakub Jelinek  <jakub@redhat.com>
5408         PR fortran/84313
5409         * testsuite/libgomp.fortran/threadprivate4.f90: Add
5410         -std=f2003 -fall-intrinsics into dg-additional-options.
5412 2018-02-08  Martin Jambor  <mjambor@suse.cz>
5414         * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
5415         clonable.
5417 2018-02-08  Martin Jambor  <mjambor@suse.cz>
5419         * testsuite/libgomp.hsa.c/staticvar.c: New test.
5421 2018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5423         * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
5424         [__cplusplus]: Declare extern "C".
5426 2018-02-07  Tom de Vries  <tom@codesourcery.com>
5428         PR libgomp/84217
5429         * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
5431 2018-01-29  Christoph Spiel  <cspiel@freenet.de>
5432             Jakub Jelinek  <jakub@redhat.com>
5434         PR libgomp/84096
5435         * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
5436         instead of omp_lock_t.
5438 2018-01-25  Tom de Vries  <tom@codesourcery.com>
5440         PR target/84028
5441         * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
5443 2018-01-24  Tom de Vries  <tom@codesourcery.com>
5445         PR target/83589
5446         * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
5448 2018-01-24  Tom de Vries  <tom@codesourcery.com>
5450         PR target/81352
5451         * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
5453 2018-01-19  Tom de Vries  <tom@codesourcery.com>
5454             Cesar Philippidis  <cesar@codesourcery.com>
5456         PR target/83920
5457         * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
5458         * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
5460 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
5462         Update copyright years.
5464         * libgomp.texi: Bump @copying's copyright year.
5466 2017-12-30  Tom de Vries  <tom@codesourcery.com>
5468         PR libgomp/83046
5469         * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
5470         * testsuite/libgomp.c-c++-common/pr83046.c: New test.
5472 2017-12-27  Tom de Vries  <tom@codesourcery.com>
5474         PR c++/83046
5475         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
5476         (test_nonstatic): Fix return type to workaround PR83046.
5478 2017-12-05  Jakub Jelinek  <jakub@redhat.com>
5480         PR testsuite/83281
5481         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
5482         j suffix instead of i.
5483         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
5484         Likewise.
5486 2017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
5488         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
5489         call to acc_wait (1).
5491 2017-11-24  Jakub Jelinek  <jakub@redhat.com>
5493         PR fortran/81304
5494         * testsuite/libgomp.fortran/pr81304.f90: New test.
5496 2017-11-23  Jakub Jelinek  <jakub@redhat.com>
5498         PR fortran/81841
5499         * libgomp.fortran/pr81841.f90: New test.
5501 2017-11-22  Jakub Jelinek  <jakub@redhat.com>
5503         PR libgomp/83106
5504         * target.c (gomp_target_init): Compute lengths just once and
5505         use them in both malloc size and subsequent copying.
5507 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
5509         * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
5510         * acinclude.m4: Add cet.m4.
5511         * configure: Regenerate.
5512         * Makefile.in: Likewise.
5513         * testsuite/Makefile.in: Likewise.
5515 2017-11-15  Tom de Vries  <tom@codesourcery.com>
5517         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
5518         from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
5519         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
5520         from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
5521         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
5522         from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
5524 2017-11-14  Tom de Vries  <tom@codesourcery.com>
5526         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
5527         non-nvidia devices.
5529 2017-11-07  Jakub Jelinek  <jakub@redhat.com>
5531         PR c++/82835
5532         * testsuite/libgomp.c++/pr82835.C: New test.
5534 2017-11-06  Martin Liska  <mliska@suse.cz>
5536         * testsuite/libgomp.c++/loop-2.C: Return a value
5537         for functions with non-void return type, or change type to void,
5538         or add -Wno-return-type for test.
5539         * testsuite/libgomp.c++/loop-4.C: Likewise.
5540         * testsuite/libgomp.c++/parallel-1.C: Likewise.
5541         * testsuite/libgomp.c++/shared-1.C: Likewise.
5542         * testsuite/libgomp.c++/single-1.C: Likewise.
5543         * testsuite/libgomp.c++/single-2.C: Likewise.
5545 2017-10-31  Tom de Vries  <tom@codesourcery.com>
5547         * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
5548         "do {} while (false)".
5549         (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
5550         after HSA_DEBUG call.
5552 2017-10-28  Jakub Jelinek  <jakub@redhat.com>
5554         * target.c (struct gomp_coalesce_buf): New type.
5555         (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
5556         (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
5557         (gomp_copy_host2dev): Add CBUF argument, if copying into
5558         the cached ranges, memcpy into buffer instead of copying
5559         into device.
5560         (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
5561         Add CBUF argument, pass it through to other calls.
5562         (gomp_map_vars): Aggregate copies from host to device if small enough
5563         and with small enough gaps in between into memcpy into a buffer and
5564         fewer host to device copies from the buffer.
5565         (gomp_update): Adjust gomp_copy_host2dev caller.
5567 2017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
5569         * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
5570         run" directive.
5571         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5572         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5573         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5574         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5576 2017-10-16  Tom de Vries  <tom@codesourcery.com>
5578         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
5579         openacc_nvidia_accel_selected.
5580         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
5581         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
5582         * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
5583         * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
5584         * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
5585         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
5586         openacc_nvidia_accel_selected. Skip for shared memory device.
5587         * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
5588         * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
5590 2017-10-09  Martin Jambor  <mjambor@suse.cz>
5592         PR hsa/82416
5593         * testsuite/libgomp.hsa.c/pr82416.c: New test.
5595 2017-10-07  Tom de Vries  <tom@codesourcery.com>
5597         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
5598         Remove acc_device_nvidia references.
5599         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
5600         Same.
5602 2017-10-05  Tom de Vries  <tom@codesourcery.com>
5604         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
5605         vector_length(32) clause from acc parallel directive.
5606         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
5608 2017-10-04  Tom de Vries  <tom@codesourcery.com>
5610         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
5611         (main): Reduce sum of arr elements.  Assert that hres is exactly
5612         representable in 32-bit floating point.
5613         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
5614         (main): Reduce sum of arr elements.  Assert that hres and hmres are
5615         exactly representable in 32-bit floating point.
5616         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
5618 2017-09-28  Tom de Vries  <tom@codesourcery.com>
5620         * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
5621         setting.
5622         * testsuite/libgomp.c++/pr69393.C: Same.
5623         * testsuite/libgomp.c++/taskloop-1.C: Same.
5624         * testsuite/libgomp.c++/taskloop-3.C: Same.
5625         * testsuite/libgomp.c++/taskloop-4.C: Same.
5626         * testsuite/libgomp.c/for-4.c: Same.
5627         * testsuite/libgomp.c/pr66199-3.c: Same.
5628         * testsuite/libgomp.c/pr66199-4.c: Same.
5629         * testsuite/libgomp.c/pr66199-6.c: Same.
5630         * testsuite/libgomp.c/taskloop-1.c: Same.
5631         * testsuite/libgomp.c/taskloop-3.c: Same.
5632         * testsuite/libgomp.c/taskloop-4.c: Same.
5633         * testsuite/libgomp.fortran/aligned1.f03: Same.
5634         * testsuite/libgomp.fortran/condinc1.f: Same.
5635         * testsuite/libgomp.fortran/condinc3.f90: Same.
5636         * testsuite/libgomp.fortran/crayptr1.f90: Same.
5637         * testsuite/libgomp.fortran/crayptr2.f90: Same.
5638         * testsuite/libgomp.fortran/crayptr3.f90: Same.
5639         * testsuite/libgomp.fortran/omp_cond1.f: Same.
5640         * testsuite/libgomp.fortran/omp_cond3.F90: Same.
5641         * testsuite/libgomp.fortran/pr66199-1.f90: Same.
5642         * testsuite/libgomp.fortran/pr66199-2.f90: Same.
5643         * testsuite/libgomp.fortran/recursion1.f90: Same.
5644         * testsuite/libgomp.fortran/target2.f90: Same.
5645         * testsuite/libgomp.fortran/target5.f90: Same.
5646         * testsuite/libgomp.fortran/task3.f90: Same.
5648 2017-09-28  Tom de Vries  <tom@codesourcery.com>
5650         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
5651         vector_length(32) clause from acc parallel directive.
5652         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
5654 2017-09-27  Tom de Vries  <tom@codesourcery.com>
5656         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
5657         Remove acc_device_nvidia references.
5659 2017-09-16  Tom de Vries  <tom@codesourcery.com>
5661         PR c/81875
5662         * testsuite/libgomp.c-c++-common/pr81875.c: New test.
5664 2017-09-14  Tom de Vries  <tom@codesourcery.com>
5666         * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
5667         * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
5668         * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
5669         * testsuite/libgomp.c/c.exp: Include test-cases from
5670         libgomp.c-c++-common.
5671         * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
5672         files.
5674 2017-09-14  Jakub Jelinek  <jakub@redhat.com>
5676         PR c++/81314
5677         * testsuite/libgomp.c++/pr81314.C: New test.
5679 2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
5681         * libgomp.texi (Top): www.openacc.org now uses https.
5682         (Enabling OpenACC): Ditto.
5683         (acc_get_num_devices): Ditto.
5684         (acc_set_device_type): Ditto.
5685         (acc_get_device_type): Ditto.
5686         (acc_set_device_num): Ditto.
5687         (acc_get_device_num): Ditto.
5688         (acc_async_test): Ditto.
5689         (acc_async_test_all): Ditto.
5690         (acc_wait): Ditto.
5691         (acc_wait_all): Ditto.
5692         (acc_wait_all_async): Ditto.
5693         (acc_wait_async): Ditto.
5694         (acc_init): Ditto.
5695         (acc_shutdown): Ditto.
5696         (acc_on_device): Ditto.
5697         (acc_malloc): Ditto.
5698         (acc_free): Ditto.
5699         (acc_copyin): Ditto.
5700         (acc_present_or_copyin): Ditto.
5701         (acc_create): Ditto.
5702         (acc_present_or_create): Ditto.
5703         (acc_copyout): Ditto.
5704         (acc_delete): Ditto.
5705         (acc_update_device): Ditto.
5706         (acc_update_self): Ditto.
5707         (acc_map_data): Ditto.
5708         (acc_unmap_data): Ditto.
5709         (acc_deviceptr): Ditto.
5710         (acc_hostptr): Ditto.
5711         (acc_is_present): Ditto.
5712         (acc_memcpy_to_device): Ditto.
5713         (acc_memcpy_from_device): Ditto.
5714         (acc_get_current_cuda_device): Ditto.
5715         (acc_get_current_cuda_context): Ditto.
5716         (acc_get_cuda_stream): Ditto.
5717         (acc_set_cuda_stream): Ditto.
5718         (ACC_DEVICE_TYPE): Ditto.
5719         (ACC_DEVICE_NUM): Ditto.
5720         (OpenACC Library Interoperability): Ditto.
5722 2017-08-09  Jakub Jelinek  <jakub@redhat.com>
5724         PR c/81687
5725         * testsuite/libgomp.c/pr81687-1.c: New test.
5726         * testsuite/libgomp.c/pr81687-2.c: New test.
5728 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
5730         PR c/69389
5731         * testsuite/libgomp.c/pr69389.c: New test.
5732         * testsuite/libgomp.c++/pr69389.C: New test.
5734 2017-08-07  Tom de Vries  <tom@codesourcery.com>
5736         PR middle-end/78266
5737         * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
5738         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
5740 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
5742         PR c/45784
5743         * testsuite/libgomp.c/pr45784.c: New test.
5744         * testsuite/libgomp.c++/pr45784.C: New test.
5746 2017-07-19  Tom de Vries  <tom@codesourcery.com>
5748         * testsuite/libgomp.oacc-c/vec.c: New test.
5750 2017-07-03  Tom de Vries  <tom@codesourcery.com>
5752         * plugin/plugin-hsa.c: Fix secure_getenv.h include.
5754 2017-06-27  Tom de Vries  <tom@codesourcery.com>
5756         * plugin/plugin-nvptx.c (notify_var): New function.
5757         (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
5759 2017-06-27  Tom de Vries  <tom@codesourcery.com>
5761         * env.c (parse_unsigned_long_1): Factor out of ...
5762         (parse_unsigned_long): ... here.
5763         (parse_int_1): Factor out of ...
5764         (parse_int): ... here.
5765         (parse_int_secure): New function.
5766         (initialize_env): Use parse_int_secure for GOMP_DEBUG.
5767         * secure_getenv.h: Factor out of ...
5768         * plugin/plugin-hsa.c: ... here.
5769         * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
5771 2017-06-21  Jakub Jelinek  <jakub@redhat.com>
5773         PR c++/81130
5774         * testsuite/libgomp.c++/pr81130.C: New test.
5776 2017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5778         * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
5779         default args.
5780         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
5781         dg-xfail-run-if default args.
5783 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
5785         * testsuite/libgomp.c/pr39591-2.c: Fix test case.
5786         * testsuite/libgomp.c/pr39591-3.c: Likewise.
5788 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
5790         PR libgomp/80822
5791         * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
5792         (gomp_affinity_init_level): Use it.  Always analyze the core and thread
5793         sibling lists, depending on level just pick up what CPUs to put
5794         together into a place vs. whether add multiple ordered places.
5796 2017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
5798         * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
5799         * libgomp.map (OACC_2.0.1): Add these.
5800         * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
5801         for "acc_wait", and "acc_wait_all", respectively.
5802         * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
5803         for "acc_wait", and "acc_wait_all", respectively.
5804         * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
5805         * libgomp.texi (acc_wait, acc_wait_all): Update.
5806         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
5807         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
5808         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5810         * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
5811         acc_present_or_copyin and acc_present_or_create procedures,
5812         respectively.
5813         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
5814         generally different variants of OpenACC Runtime Library functions.
5815         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5817         * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
5818         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
5820         * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
5821         of preprocessor definitions.
5822         * libgomp.h (strong_alias): Guard by "#ifdef
5823         HAVE_ATTRIBUTE_ALIAS".
5824         * oacc-mem.c: Provide "acc_pcreate" as alias for
5825         "acc_present_or_create", and "acc_pcopyin" as alias for
5826         "acc_present_or_copyin".
5827         * libgomp.map: New version "OACC_2.0.1".
5828         (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
5829         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
5830         its content into...
5831         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
5832         Extend testing.
5834         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
5835         when disabling nvptx offloading.
5837 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
5839         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
5840         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5841         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
5843         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
5844         * testsuite/lib/libgomp.exp
5845         (check_effective_target_openacc_nvidia_accel_configured): New
5846         proc.
5847         * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
5848         (check_effective_target_c++): New procs.
5849         * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
5850         (check_effective_target_c++): Likewise.
5852 2017-05-22  Jakub Jelinek  <jakub@redhat.com>
5854         PR middle-end/80809
5855         * testsuite/libgomp.c/pr80809-2.c: New test.
5856         * testsuite/libgomp.c/pr80809-3.c: New test.
5858         PR middle-end/80809
5859         * testsuite/libgomp.c/pr80809-1.c: New test.
5861         PR middle-end/80853
5862         * testsuite/libgomp.c/pr80853.c: New test.
5864 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
5866         * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
5867         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
5868         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5869         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5870         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
5872         * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
5873         Debug output for failure.
5875 2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5877         * testsuite/lib/libgomp.exp: Load scanlang.exp.
5879 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
5881         PR bootstrap/80531
5882         * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
5883         bootstrap compare failures.
5885 2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
5887         * testsuite/libgomp.c/target-36.c: New testcase.
5889 2017-04-13  Jakub Jelinek  <jakub@redhat.com>
5891         * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
5892         instead of char.
5894 2017-04-11  Jakub Jelinek  <jakub@redhat.com>
5896         PR libgomp/80394
5897         * testsuite/libgomp.c/pr80394.c: New test.
5899 2017-04-04  Jakub Jelinek  <jakub@redhat.com>
5901         PR libgomp/79876
5902         * config/posix/thread-stacksize.h: New file.
5903         * config/darwin/thread-stacksize.h: New file.
5904         * config/nvptx/thread-stacksize.h: New file.
5905         * env.c: Include thread-stacksize.h.
5906         (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
5907         instead of 0.  Call pthread_attr_setstacksize even if
5908         GOMP_DEFAULT_STACKSIZE is non-zero.
5910 2017-03-30  Jakub Jelinek  <jakub@redhat.com>
5912         * env.c (initialize_env): Initialize stacksize to 0.
5914 2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
5916         PR c++/80029
5917         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
5919 2017-03-08  Jakub Jelinek  <jakub@redhat.com>
5921         PR c/79940
5922         * testsuite/libgomp.c/pr79940.c: New test.
5924 2017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
5926         * testsuite/libgomp.c/pr48591.c: Enable on all __float128
5927         targets.
5928         Add __float128 options.
5930 2017-02-11  John David Anglin  <danglin@gcc.gnu.org>
5932         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
5933         hppa*-*-* dg-skip-if directive.
5935 2017-02-09  Jakub Jelinek  <jakub@redhat.com>
5937         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
5938         dg-skip-if directive into a comment.
5940 2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
5941             Chung-Lin Tang  <cltang@codesourcery.com>
5943         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
5944         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
5945         add additional case.
5946         * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
5947         "openacc_nvidia_accel_selected".
5948         * libgomp.oacc-fortran/nested-function-1.f90 (test2):
5949         Add num_workers(8) clause.
5951 2017-02-08  John David Anglin  <danglin@gcc.gnu.org>
5953         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
5954         hppa*-*-*.
5955         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
5956         include complex.h on hppa*-*-hpux*.
5957         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
5959 2017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
5961         * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
5963         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
5964         GOMP_OFFLOAD_openacc_exec.  Adjust all users.
5965         (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
5966         GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
5967         (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
5968         GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
5969         (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
5970         GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
5971         (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
5972         GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
5974 2017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
5976         * libgomp-plugin.h: #include <stdbool.h>.
5977         (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
5978         (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
5979         (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
5980         (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
5981         (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
5982         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
5983         (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
5984         (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
5985         (GOMP_OFFLOAD_openacc_register_async_cleanup)
5986         (GOMP_OFFLOAD_openacc_async_test)
5987         (GOMP_OFFLOAD_openacc_async_test_all)
5988         (GOMP_OFFLOAD_openacc_async_wait)
5989         (GOMP_OFFLOAD_openacc_async_wait_async)
5990         (GOMP_OFFLOAD_openacc_async_wait_all)
5991         (GOMP_OFFLOAD_openacc_async_wait_all_async)
5992         (GOMP_OFFLOAD_openacc_async_set_async)
5993         (GOMP_OFFLOAD_openacc_create_thread_data)
5994         (GOMP_OFFLOAD_openacc_destroy_thread_data)
5995         (GOMP_OFFLOAD_openacc_get_current_cuda_device)
5996         (GOMP_OFFLOAD_openacc_get_current_cuda_context)
5997         (GOMP_OFFLOAD_openacc_get_cuda_stream)
5998         (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
5999         * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
6000         these.
6001         * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
6002         (GOMP_OFFLOAD_unload_image): Fix argument types.
6004 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
6006         * testsuite/lib/libgomp.exp
6007         (check_effective_target_hsa_offloading_selected_nocache): Fix up
6008         check_compile invocation.  Fix up removal of executable.  Drop
6009         bogus "2>&1" argument.
6011         * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
6012         directive.
6014 2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
6015             Martin Jambor  <mjambor@suse.cz>
6017         * plugin/hsa.h: Moved to top level include.
6018         * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
6020 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
6022         PR other/79046
6023         * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
6024         of cat to get version from BASE-VER file.
6025         * testsuite/Makefile.in: Regenerated.
6027 2017-01-19  Jakub Jelinek  <jakub@redhat.com>
6029         * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
6030         for _WIN64.
6032 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
6034         * plugin/hsa.h: Add GCC runtime library exception.
6035         * plugin/hsa_ext_finalize.h: Likewise.
6037         * plugin/configfrag.ac: For --without-cuda-driver don't initialize
6038         CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
6039         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
6040         cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
6041         plugin/include/cuda as include dir and -ldl instead of -lcuda as
6042         library to link ptx plugin against.
6043         * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
6044         (CUDA_CALLS): Define.
6045         (cuda_lib, cuda_lib_inited): New variables.
6046         (init_cuda_lib): New function.
6047         (CUDA_CALL_PREFIX): Define.
6048         (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
6049         (CUDA_CALL): Use FN instead of (FN).
6050         (CUDA_CALL_NOCHECK): Define.
6051         (cuda_error, fini_streams_for_device, select_stream_for_async,
6052         nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
6053         event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
6054         nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
6055         nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
6056         CUDA_CALL_NOCHECK.
6057         (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
6058         CUDA_CALL_NOCHECK.
6059         (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
6060         Use CUDA_CALL_NOCHECK.
6061         * plugin/cuda/cuda.h: New file.
6062         * config.h.in: Regenerated.
6063         * configure: Regenerated.
6065         PR other/79046
6066         * configure.ac: Add GCC_BASE_VER.
6067         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
6068         get version from BASE-VER file.
6069         * testsuite/Makefile.in: Regenerated.
6070         * configure: Regenerated.
6071         * Makefile.in: Regenerated.
6073 2017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
6075         PR libgomp/60670
6076         * Makefile.am: Make fincludedir multilib-aware.
6077         * Makefile.in: Regenerate.
6079 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
6081         Update copyright years.
6083         * libgomp.texi: Bump @copying's copyright year.
6085 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6087         * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
6088         pthread_spinlock_t instead of gomp_mutex_t lock.
6089         (gomp_get_thread_pool): Likewise.
6090         (gomp_release_thread_pool): Likewise.
6091         * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
6092         Likewise.
6094 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
6096         * config/rtems/pool.h (gomp_get_thread_pool): Return proper
6097         thread pool in case nthreads == 1.
6099 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
6101         * config/nvptx/env.c: Delete.
6102         * icv.c: Move definitions of ICV variables back ...
6103         * env.c: ...here.  Do not compile environment-related functionality if
6104         LIBGOMP_OFFLOADED_ONLY is set.
6106 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
6108         * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
6109         (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
6110         * configure: Regenerate.
6111         * config.h.in: Likewise.
6113 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
6115         * Makefile.in: Regenerate with automake-1.11.6.
6116         * aclocal.m4: Likewise.
6117         * configure: Likewise.
6118         * testsuite/Makefile.in: Likewise.
6120 2016-11-28  Alexander Monakov  <amonakov@ispras.ru>
6122         * config/nvptx/critical.c: Delete to use generic implementation.
6124 2016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
6126         * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
6127         ../../affinity.c as fallback.
6128         * config/nvptx/affinity.c: Delete to use fallback implementation.
6130 2016-11-23  Alexander Monakov  <amonakov@ispras.ru>
6131             Jakub Jelinek  <jakub@redhat.com>
6132             Dmitry Melnik  <dm@ispras.ru>
6134         * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
6135         * Makefile.in. Regenerate.
6136         * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
6137         (LIBGOMP_USE_PTHREADS): ...here; new define.
6138         * configure: Regenerate.
6139         * config.h.in: Likewise.
6140         * config/posix/affinity.c: Move to...
6141         * affinity.c: ...here (new file).  Guard use of Pthreads-specific
6142         interface by LIBGOMP_USE_PTHREADS. 
6143         * critical.c: Split out GOMP_atomic_{start,end} into...
6144         * atomic.c: ...here (new file).
6145         * env.c: Split out ICV definitions into...
6146         * icv.c: ...here (new file) and...
6147         * icv-device.c: ...here. New file.
6148         * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
6149         (gomp_destroy_lock_30): Ditto.
6150         (gomp_set_lock_30): Ditto.
6151         (gomp_unset_lock_30): Ditto.
6152         (gomp_test_lock_30): Ditto.
6153         (gomp_init_nest_lock_30): Ditto.
6154         (gomp_destroy_nest_lock_30): Ditto.
6155         (gomp_set_nest_lock_30): Ditto.
6156         (gomp_unset_nest_lock_30): Ditto.
6157         (gomp_test_nest_lock_30): Ditto.
6158         * lock.c: New.
6159         * config/nvptx/lock.c: New.
6160         * config/nvptx/bar.c: New.
6161         * config/nvptx/bar.h: New.
6162         * config/nvptx/doacross.h: New.
6163         * config/nvptx/error.c: New.
6164         * config/nvptx/icv-device.c: New.
6165         * config/nvptx/mutex.h: New.
6166         * config/nvptx/pool.h: New.
6167         * config/nvptx/proc.c: New.
6168         * config/nvptx/ptrlock.h: New.
6169         * config/nvptx/sem.h: New.
6170         * config/nvptx/simple-bar.h: New.
6171         * config/nvptx/target.c: New.
6172         * config/nvptx/task.c: New.
6173         * config/nvptx/team.c: New.
6174         * config/nvptx/time.c: New.
6175         * config/posix/simple-bar.h: New.
6176         * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
6177         (gomp_num_teams_var): Declare.
6178         (struct gomp_thread_pool): Change threads_dock member to
6179         gomp_simple_barrier_t.
6180         [__nvptx__] (gomp_thread): New implementation.
6181         (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
6182         (gomp_thread_destructor): Ditto.
6183         (gomp_init_thread_affinity): Ditto.
6184         * team.c: Guard uses of Pthreads-specific interfaces by
6185         LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
6186         (gomp_free_thread) [__nvptx__]: Do not call 'free'.
6187         * config/nvptx/alloc.c: Delete.
6188         * config/nvptx/barrier.c: Ditto.
6189         * config/nvptx/fortran.c: Ditto.
6190         * config/nvptx/iter.c: Ditto.
6191         * config/nvptx/iter_ull.c: Ditto.
6192         * config/nvptx/loop.c: Ditto.
6193         * config/nvptx/loop_ull.c: Ditto.
6194         * config/nvptx/ordered.c: Ditto.
6195         * config/nvptx/parallel.c: Ditto.
6196         * config/nvptx/priority_queue.c: Ditto.
6197         * config/nvptx/sections.c: Ditto.
6198         * config/nvptx/single.c: Ditto.
6199         * config/nvptx/splay-tree.c: Ditto.
6200         * config/nvptx/work.c: Ditto.
6201         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
6202         -foffload=-lgfortran in addition to -lgfortran.
6203         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
6204         * plugin/plugin-nvptx.c: Include <limits.h>.
6205         (struct targ_fn_descriptor): Add new fields.
6206         (struct ptx_device): Ditto.  Set them...
6207         (nvptx_open_device): ...here.
6208         (nvptx_adjust_launch_bounds): New.
6209         (nvptx_host2dev): Allow NULL 'nvthd'.
6210         (nvptx_dev2host): Ditto.
6211         (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
6212         (link_ptx): Adjust log sizes.
6213         (nvptx_host2dev): Allow NULL 'nvthd'.
6214         (nvptx_dev2host): Ditto.
6215         (nvptx_set_clocktick): New.  Use it...
6216         (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
6217         fields.
6218         (GOMP_OFFLOAD_dev2dev): New.
6219         (nvptx_adjust_launch_bounds): New.
6220         (nvptx_stacks_size): New.
6221         (nvptx_stacks_alloc): New.
6222         (nvptx_stacks_free): New.
6223         (GOMP_OFFLOAD_run): New.
6224         (GOMP_OFFLOAD_async_run): New (stub).
6226 2016-11-23  Martin Jambor  <mjambor@suse.cz>
6228         * testsuite/libgomp.hsa.c/bits-insns.c: New test.
6229         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
6230         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
6232 2016-11-23  Martin Liska  <mliska@suse.cz>
6233             Martin Jambor  <mjambor@suse.cz>
6235         * plugin/hsa.h: New file.
6236         * plugin/hsa_ext_finalize.h: New file.
6237         * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
6238         header file unistd.h, and functions secure_getenv, __secure_getenv,
6239         getuid, geteuid, getgid and getegid.
6240         * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
6241         -D_GNU_SOURCE.
6242         * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
6243         Handle various cases of secure_getenv presence, add an implementation
6244         when we can test effective UID and GID.
6245         (struct hsa_runtime_fn_info): New structure.
6246         (hsa_runtime_fn_info hsa_fns): New variable.
6247         (hsa_runtime_lib): Likewise.
6248         (support_cpu_devices): Likewise.
6249         (init_enviroment_variables): Load newly introduced ENV
6250         variables.
6251         (hsa_warn): Call hsa run-time functions via hsa_fns structure.
6252         (hsa_fatal): Likewise.
6253         (DLSYM_FN): New macro.
6254         (init_hsa_runtime_functions): New function.
6255         (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
6256         structure.  Depending on environment, also allow CPU devices.
6257         (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
6258         (get_kernarg_memory_region): Likewise.
6259         (GOMP_OFFLOAD_init_device): Likewise.
6260         (destroy_hsa_program): Likewise.
6261         (init_basic_kernel_info): New function.
6262         (GOMP_OFFLOAD_load_image): Use it.
6263         (create_and_finalize_hsa_program): Call hsa run-time functions via
6264         hsa_fns structure.
6265         (create_single_kernel_dispatch): Likewise.
6266         (release_kernel_dispatch): Likewise.
6267         (init_single_kernel): Likewise.
6268         (parse_target_attributes): Allow up multiple HSA grid dimensions.
6269         (get_group_size): New function.
6270         (run_kernel): Likewise.
6271         (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
6272         (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
6273         structure.
6274         * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
6275         * testsuite/libgomp-test-support.exp.in: Likewise.
6276         * Makefile.in: Regenerated.
6277         * aclocal.m4: Likewise.
6278         * config.h.in: Likewise.
6279         * configure: Likewise.
6280         * testsuite/Makefile.in: Likewise.
6282 2016-11-15  Martin Jambor  <mjambor@suse.cz>
6283             Alexander Monakov  <amonakov@ispras.ru>
6285         * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
6286         mapping clauses to target constructs.
6287         * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
6289 2016-11-15  Matthias Klose  <doko@ubuntu.com>
6291         * configure: Regenerate.
6293 2016-11-10  Jakub Jelinek  <jakub@redhat.com>
6295         * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
6296         * omp_lib.h.in (openmp_version): Likewise.
6297         * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
6298         of 201307.
6299         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6301         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
6302         (fib_wrapper): Add map(from: x) clause.
6303         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
6304         (e_53_2): Likewise.
6305         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
6306         (accum): Add map(tmp) clause.
6307         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
6308         (accum): Add map(tofrom: tmp) clause.
6309         * testsuite/libgomp.fortran/examples-4/target_data-3.f90
6310         (gramSchmidt): Likewise.
6311         * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
6312         map(tofrom: sum) clause.
6313         * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
6314         map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
6315         * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
6316         only allowed on the loop iterator.
6317         * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
6318         * testsuite/libgomp.fortran/taskloop2.f90: New test.
6319         * testsuite/libgomp.fortran/taskloop4.f90: New test.
6320         * testsuite/libgomp.fortran/doacross1.f90: New test.
6321         * testsuite/libgomp.fortran/doacross3.f90: New test.
6322         * testsuite/libgomp.fortran/taskloop1.f90: New test.
6323         * testsuite/libgomp.fortran/taskloop3.f90: New test.
6324         * testsuite/libgomp.fortran/doacross2.f90: New test.
6325         * testsuite/libgomp.c/doacross-1.c (main): Add missing
6326         #pragma omp atomic read.
6327         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
6328         * testsuite/libgomp.c/doacross-3.c (main): Likewise.
6330 2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
6331             Nathan Sidwell  <nathan@acm.org>
6333         * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
6334         to determine default geometry.
6335         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
6336         dimension.
6338 2016-11-01  Jakub Jelinek  <jakub@redhat.com>
6340         * hashtab.h: Use standard GPLv3 with runtime exception
6341         boilerplate.
6343 2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
6345         * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
6346         size when allocating new thread.
6348 2016-09-14  Marek Polacek  <polacek@redhat.com>
6350         * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
6352 2016-08-19  Jakub Jelinek  <jakub@redhat.com>
6354         PR fortran/71014
6355         * testsuite/libgomp.fortran/pr71014.f90: New test.
6357 2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
6359         PR middle-end/70895
6360         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
6361         firstprivate clauses.
6362         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
6363         copy clauses.
6364         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6365         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
6366         * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
6367         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6368         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6369         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6370         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6371         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
6372         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6373         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6374         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6375         * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
6377 2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
6379         PR fortran/70598
6380         * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
6382 2016-08-08  Jakub Jelinek  <jakub@redhat.com>
6384         PR c++/58706
6385         * testsuite/libgomp.c++/pr58706.C: New test.
6387 2016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
6389         * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
6390         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
6391         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
6392         Likewise.
6393         * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
6394         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
6395         Likewise.
6396         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
6398         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
6399         test, and don't hardcode -O0.
6401 2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
6403         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
6405 2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
6407         * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
6408         test.
6410 2016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
6412         PR middle-end/71734
6413         * testsuite/libgomp.fortran/pr71734-1.f90: New test.
6414         * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
6416 2016-07-01  Jakub Jelinek  <jakub@redhat.com>
6418         PR fortran/71717
6419         * testsuite/libgomp.fortran/associate3.f90: New test.
6421 2016-06-17  Jakub Jelinek  <jakub@redhat.com>
6423         * testsuite/libgomp.c++/target-21.C: New test.
6425 2016-06-16  Jakub Jelinek  <jakub@redhat.com>
6427         * testsuite/libgomp.c++/target-20.C: New test.
6429 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
6430             Cesar Philippidis  <cesar@codesourcery.com>
6432         PR middle-end/71373
6433         * libgomp.oacc-c/nested-function-1.c: New file.
6434         * libgomp.oacc-c/nested-function-2.c: Likewise.
6435         * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
6436         * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
6437         * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
6439 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
6441         PR c/71381
6442         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
6443         "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
6444         * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
6446 2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
6448         * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
6449         * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
6451 2016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
6453         PR c/70688
6454         * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
6456 2016-05-26  Jakub Jelinek  <jakub@redhat.com>
6458         * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
6459         instead of invalid schedule(static, 0).
6460         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
6462 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
6464         * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
6465         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
6466         parameter, use to set async stream around call to gomp_unmap_vars,
6467         call gomp_unmap_vars() with 'do_copyfrom' set to true.
6468         * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
6469         (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
6470         events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
6471         (event_add): Add int parameter, initialize 'val' field when
6472         adding new ptx_event struct.
6473         (nvptx_evec): Adjust event_add() call arguments.
6474         (nvptx_host2dev): Likewise.
6475         (nvptx_dev2host): Likewise.
6476         (nvptx_wait_async): Likewise.
6477         (nvptx_wait_all_async): Likewise.
6478         (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
6479         pass to event_add() call.
6480         * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
6481         parameter.
6482         * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
6483         call openacc.register_async_cleanup_func() hook.
6484         * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
6485         * target.c (gomp_copy_from_async): Delete function.
6486         (gomp_map_vars): Remove async_refcount.
6487         (gomp_unmap_vars): Likewise.
6488         (gomp_load_image_to_device): Likewise.
6489         (omp_target_associate_ptr): Likewise.
6490         * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
6491         (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
6492         (gomp_copy_from_async): Remove.
6494 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
6496         * target.c (gomp_device_copy): New function.
6497         (gomp_copy_host2dev): Likewise.
6498         (gomp_copy_dev2host): Likewise.
6499         (gomp_free_device_memory): Likewise.
6500         (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
6501         (gomp_map_pointer): Likewise.
6502         (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
6503         NULL value from alloc_func plugin hook.
6504         (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
6505         (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
6506         (gomp_unmap_vars): Likewise.
6507         (gomp_update): Adjust to call gomp_copy_dev2host and
6508         gomp_copy_host2dev functions.
6509         (gomp_unload_image_from_device): Handle false value from
6510         unload_image_func plugin hook.
6511         (gomp_init_device): Handle false value from init_device_func
6512         plugin hook.
6513         (gomp_exit_data): Adjust to call gomp_copy_dev2host.
6514         (omp_target_free): Adjust to call gomp_free_device_memory.
6515         (omp_target_memcpy): Handle return values from host2dev_func,
6516         dev2host_func, and dev2dev_func plugin hooks.
6517         (omp_target_memcpy_rect_worker): Likewise.
6518         (gomp_target_fini): Handle false value from fini_device_func
6519         plugin hook.
6520         * libgomp.h (struct gomp_device_descr): Adjust return type of
6521         init_device_func, fini_device_func, unload_image_func, free_func,
6522         dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
6523         * oacc-init.c (acc_shutdown_1): Handle false value from
6524         fini_device_func plugin hook.
6525         * oacc-host.c (host_init_device): Change return type to bool.
6526         (host_fini_device): Likewise.
6527         (host_unload_image): Likewise.
6528         (host_free): Likewise.
6529         (host_dev2host): Likewise.
6530         (host_host2dev): Likewise.
6531         * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
6532         (acc_memcpy_to_device): Likewise.
6533         (acc_memcpy_from_device): Likewise.
6534         (delete_copyout): Add libfnname parameter, handle free_func
6535         hook fatal error case.
6536         (acc_delete): Adjust delete_copyout call.
6537         (acc_copyout): Likewise.
6538         (update_dev_host): Move gomp_mutex_unlock to after
6539         host2dev/dev2host hook calls.
6541         * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
6542         to 'hsa_error_msg', for clarity.
6543         (hsa_fatal): Likewise.
6544         (hsa_error): New function.
6545         (init_hsa_context): Change return type to bool, adjust to return
6546         false on error.
6547         (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
6548         return value.
6549         (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
6550         return false on error.
6551         (get_agent_info): Adjust to return NULL on error.
6552         (destroy_hsa_program): Change return type to bool, adjust to
6553         return false on error.
6554         (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
6555         (destroy_module): Change return type to bool, adjust to
6556         return false on error.
6557         (GOMP_OFFLOAD_unload_image): Likewise.
6558         (GOMP_OFFLOAD_fini_device): Likewise.
6559         (GOMP_OFFLOAD_alloc): Change to return NULL when called.
6560         (GOMP_OFFLOAD_free): Change to return false when called.
6561         (GOMP_OFFLOAD_dev2host): Likewise.
6562         (GOMP_OFFLOAD_host2dev): Likewise.
6563         (GOMP_OFFLOAD_dev2dev): Likewise.
6565         * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
6566         (CUDA_CALL): Likewise.
6567         (CUDA_CALL_ASSERT): Likewise.
6568         (map_init): Change return type to bool, use CUDA_CALL* macros.
6569         (map_fini): Likewise.
6570         (init_streams_for_device): Change return type to bool, adjust
6571         call to map_init.
6572         (fini_streams_for_device): Change return type to bool, adjust
6573         call to map_fini.
6574         (select_stream_for_async): Release stream_lock before calls to
6575         GOMP_PLUGIN_fatal, adjust call to map_init.
6576         (nvptx_init): Use CUDA_CALL* macros.
6577         (nvptx_attach_host_thread_to_device): Change return type to bool,
6578         use CUDA_CALL* macros.
6579         (nvptx_open_device): Use CUDA_CALL* macros.
6580         (nvptx_close_device): Change return type to bool, use CUDA_CALL*
6581         macros.
6582         (nvptx_get_num_devices): Use CUDA_CALL* macros.
6583         (link_ptx): Change return type to bool, use CUDA_CALL* macros.
6584         (nvptx_exec): Use CUDA_CALL* macros.
6585         (nvptx_alloc): Use CUDA_CALL* macros.
6586         (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
6587         (nvptx_host2dev): Likewise.
6588         (nvptx_dev2host): Likewise.
6589         (nvptx_wait): Use CUDA_CALL* macros.
6590         (nvptx_wait_async): Likewise.
6591         (nvptx_wait_all): Likewise.
6592         (nvptx_wait_all_async): Likewise.
6593         (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
6594         use CUDA_CALL* macros, adjust call to map_fini.
6595         (GOMP_OFFLOAD_init_device): Change return type to bool,
6596         adjust code accordingly.
6597         (GOMP_OFFLOAD_fini_device): Likewise.
6598         (GOMP_OFFLOAD_load_image): Adjust calls to
6599         nvptx_attach_host_thread_to_device/link_ptx to handle errors,
6600         use CUDA_CALL* macros.
6601         (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
6602         return code.
6603         (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
6604         (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
6605         handle error return.
6606         (GOMP_OFFLOAD_dev2host): Likewise.
6607         (GOMP_OFFLOAD_host2dev): Likewise.
6608         (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
6609         (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
6611 2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
6613         * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
6614         (acc_free): Likewise.
6615         (acc_memcpy_to_device): Likewise.
6616         (acc_memcpy_from_device): Likewise.
6617         (acc_deviceptr): Likewise.
6618         (acc_hostptr): Likewise.
6619         (acc_is_present): Likewise.
6620         (acc_map_data): Likewise.
6621         (acc_unmap_data): Likewise.
6622         (present_create_copy): Likewise.
6623         (delete_copyout): Likewise.
6624         (update_dev_host): Likewise.
6625         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
6626         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
6627         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
6628         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6629         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
6630         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
6631         it only runs on nvptx targets.
6632         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6633         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6634         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6635         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6636         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6637         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6638         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6639         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6640         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6641         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6642         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6643         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6644         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6645         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6646         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6647         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6648         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6649         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6650         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6651         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6652         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6653         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6654         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6656 2016-05-23  Martin Jambor  <mjambor@suse.cz>
6658         * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
6660 2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
6662         * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
6663         to gomp_init_targets_once.
6664         (acc_set_device_type): Remove !cached_base_dev condition on call to
6665         gomp_init_targets_once, move call to before acc_device_lock acquire,
6666         to avoid deadlock.
6667         (acc_get_device_num): Remove !cached_base_dev condition on call to
6668         gomp_init_targets_once.
6669         (acc_set_device_num): Likewise.
6671 2016-05-16  Martin Jambor  <mjambor@suse.cz>
6673         * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
6675 2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
6677         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
6678         expected partitioning.
6680 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
6682         PR middle-end/70626
6683         * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
6684         * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
6685         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
6687 2016-04-21  Alexander Monakov  <amonakov@ispras.ru>
6689         * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
6690         non-fatal.
6692 2016-04-19  Jakub Jelinek  <jakub@redhat.com>
6694         PR middle-end/70680
6695         * testsuite/libgomp.c/pr70680-1.c: New test.
6696         * testsuite/libgomp.c/pr70680-2.c: New test.
6698 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
6700         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
6701         pass parameter variables to subroutines.
6703 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
6705         PR middle-end/70643
6706         * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
6708 2016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
6710         PR testsuite/68242
6711         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
6712         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6714 2016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
6716         * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
6717         GOACC_parallel_keyed, restore GOACC_parallel prototype, new
6718         GOACC_declare prototype.
6720         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
6721         Merge this file, and...
6722         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
6723         ... this file, and...
6724         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
6725         ... this file, and...
6726         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
6727         ... this file, and...
6728         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
6729         ... this file, and...
6730         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
6731         ... this file, and...
6732         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
6733         ... this file, and...
6734         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
6735         ... this file, and...
6736         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
6737         ... this file, and...
6738         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
6739         ... this file, and...
6740         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
6741         ... this file, and...
6742         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
6743         ... this file, and...
6744         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
6745         ... this file into...
6746         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
6747         file.
6749         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
6750         Make failure observable.
6752 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
6754         * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
6755         field.
6756         * target.c (gomp_target_fallback_firstprivate,
6757         gomp_target_unshare_firstprivate): Removed.
6758         (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
6759         before waiting for dependencies.
6760         (gomp_target_task_fn): Don't copy firstprivate vars here.
6761         * task.c (GOMP_PLUGIN_target_task_completion): Don't free
6762         firstprivate_copies here.
6763         (gomp_create_target_task): Don't initialize firstprivate_copies field.
6764         * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
6765         explicit/implicit firstprivate.
6767 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
6769         PR lto/70289
6770         PR ipa/70348
6771         PR tree-optimization/70373
6772         PR middle-end/70533
6773         PR middle-end/70534
6774         PR middle-end/70535
6775         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
6776         test.
6777         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
6778         test.
6779         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
6780         test.
6781         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
6782         test.
6783         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
6784         test.
6785         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
6786         test.
6787         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
6788         test.
6789         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
6790         test.
6791         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
6792         test.
6793         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
6794         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
6795         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
6796         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
6797         test.
6798         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
6799         test.
6800         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
6801         test.
6802         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
6803         test.
6804         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
6805         coverage.
6806         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6807         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6808         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
6809         * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
6810         * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
6811         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
6812         coverage.
6813         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6814         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6815         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6816         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6817         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
6818         * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
6819         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
6820         * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
6821         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
6822         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6823         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6824         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6825         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6826         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6827         * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
6829 2016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
6830             James Norris  <jnorris@codesourcery.com>
6831             Nathan Sidwell  <nathan@codesourcery.com>
6832             Julian Brown  <julian@codesourcery.com>
6833             Cesar Philippidis  <cesar@codesourcery.com>
6834             Chung-Lin Tang  <cltang@codesourcery.com>
6835             Tom de Vries  <tom@codesourcery.com>
6837         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
6838         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6839         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6840         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
6841         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6842         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6843         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6844         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6845         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6846         XFAIL.
6847         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6848         Incorporate...
6849         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
6850         file.
6851         * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
6852         * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
6853         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
6854         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
6855         Likewise.
6856         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6857         Likewise.
6858         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6859         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
6860         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6861         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6862         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
6863         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
6864         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
6865         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
6866         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6867         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
6868         Likewise.
6869         * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
6870         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6871         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
6872         file...
6873         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
6874         file into...
6875         * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
6876         file.  Update.
6877         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
6878         file.
6879         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
6880         Likewise.
6881         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
6882         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
6883         ... this new file.  Update.
6884         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
6885         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
6886         ... this new file.  Update.
6887         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
6888         file.  Incorporate...
6889         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
6890         file, and...
6891         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
6892         file, and...
6893         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
6894         file.
6895         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
6897 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
6899         * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
6900         set-torture-options.
6902 2016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
6904         * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
6905         gcc-dg-runtest.
6906         * testsuite/libgomp.oacc-c/c.exp: Likewise.
6907         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
6908         -fno-builtin-acc_on_device instead of -O0.
6909         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
6910         -O0.
6911         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6912         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
6913         Likewise.
6914         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6915         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6916         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6917         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6918         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6919         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6920         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6921         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6922         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6923         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6924         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6925         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6926         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6927         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
6928         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
6929         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6930         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
6931         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
6932         Don't specify -O2.
6933         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
6934         Likewise.
6935         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
6936         Likewise.
6938 2016-03-24  Martin Liska  <mliska@suse.cz>
6940         * plugin/plugin-hsa.c (packet_store_release): New function
6941         that is taken from the HSA runtime manual.
6942         (GOMP_OFFLOAD_run): Use the function.
6944 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
6946         PR c++/70376
6947         * testsuite/libgomp.c++/pr70376.C: New test.
6949 2016-03-23  Tom de Vries  <tom@codesourcery.com>
6951         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
6952         initialization of lresult and lvresult.
6953         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
6955 2016-03-23  James Norris  <jnorris@codesourcery.com>
6956             Daichi Fukuoka <dc-fukuoka@sgi.com>
6958         PR libgomp/69414
6959         * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
6960         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
6961         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6962         * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
6964 2016-03-23  Martin Liska  <mliska@suse.cz>
6966         PR hsa/70337
6967         * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
6968         argument just in case a dispatched kernel uses that argument.
6970 2016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
6972         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
6973         -ftree-parallelize-loops/-fopenacc changes.
6974         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
6975         Likewise.
6976         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
6977         Likewise.
6978         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
6979         Likewise.
6980         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
6981         Likewise.
6982         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
6983         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
6985 2016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
6987         * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
6988         always_ld_library_path the path to libgcc_s.
6990 2016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
6992         PR testsuite/70009
6993         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
6995 2016-03-09  Tom de Vries  <tom@codesourcery.com>
6997         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
6998         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
6999         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
7000         Same.
7001         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
7002         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
7003         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
7004         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
7006 2016-03-07  Martin Jambor  <mjambor@suse.cz>
7008         * testsuite/lib/libgomp.exp
7009         (check_effective_target_hsa_offloading_selected_nocache): New.
7010         (check_effective_target_hsa_offloading_selected): Likewise.
7011         * testsuite/libgomp.hsa.c/c.exp: Likewise.
7012         * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
7013         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
7014         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
7015         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
7016         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7017         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7018         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7019         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7020         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7021         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7022         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7023         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7024         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7025         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7026         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7027         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7029 2016-03-07  Martin Jambor  <mjambor@suse.cz>
7031         * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
7032         non-shared memory accelerators.
7033         * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
7034         * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
7035         * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
7036         * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
7037         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
7038         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
7039         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
7040         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
7041         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
7043 2016-03-07  Martin Jambor  <mjambor@suse.cz>
7045         * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
7046         ALWAYS_CFLAGS.
7048 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
7050         PR libgomp/69555
7051         * testsuite/libgomp.c++/pr69555-1.C: New test.
7052         * testsuite/libgomp.c++/pr69555-2.C: New test.
7054 2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
7055             Martin Jambor  <mjambor@suse.cz>
7057         * testsuite/lib/libgomp.exp
7058         (check_effective_target_offload_device_shared_as): New proc.
7059         * testsuite/libgomp.c++/declare_target-1.C: New test.
7061 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
7063         PR driver/68463
7064         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
7066 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
7068         * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
7069         * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
7070         dims.
7071         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
7072         -ftree-parallelize-loops/-fopenacc changes.
7073         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
7074         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
7075         Likewise.
7076         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
7077         Likewise.
7078         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
7079         Likewise.
7080         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
7081         Likewise.
7082         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
7083         Likewise.
7084         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
7085         Likewise.
7086         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
7087         Likewise.
7088         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
7089         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
7090         Likewise.
7091         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
7092         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
7093         Likewise.
7094         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
7095         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
7096         Likewise.
7098 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
7100         * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
7102 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
7104         PR driver/69805
7105         * testsuite/libgomp.c/pr69805.c: New test.
7107 2016-02-16  Tom de Vries  <tom@codesourcery.com>
7109         PR lto/67709
7110         * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
7112 2016-02-09  Tom de Vries  <tom@codesourcery.com>
7114         PR tree-optimization/69599
7115         * testsuite/libgomp.c/omp-nested-3.c: New test.
7116         * testsuite/libgomp.c/pr46032-2.c: New test.
7117         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
7118         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
7120 2016-02-09  Tom de Vries  <tom@codesourcery.com>
7122         PR lto/69707
7123         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
7125 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
7127         * testsuite/libgomp.c/target-31.c: Fix testcase.
7129 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
7131         * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
7132         clause.
7133         * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
7134         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
7135         reduction and map clauses.
7136         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
7138 2016-02-02  James Norris  <jnorris@codesourcery.com>
7140         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
7142 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
7144         * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
7145         * oacc-parallel.c (GOACC_host_data): Remove function definition.
7147         * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
7148         cases.
7150         * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
7151         variables.
7152         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
7153         (hsa_kmt_lib): Set variables.
7154         * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
7155         always_ld_library_path.
7156         * Makefile.in: Regenerate.
7157         * configure: Likewise.
7158         * testsuite/Makefile.in: Likewise.
7160         * plugin/configfrag.ac (offload_additional_options)
7161         (offload_additional_lib_paths): Don't amend for hsa offloading.
7162         * configure: Regenerate.
7164         * plugin/configfrag.ac: Don't configure for offloading target if
7165         we don't build the corresponding plugin.
7166         * configure: Regenerate.
7168 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
7170         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
7171         * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
7173 2016-01-26  Tom de Vries  <tom@codesourcery.com>
7175         PR tree-optimization/69110
7176         * testsuite/libgomp.c/pr69110.c: New test.
7178 2016-01-25  Richard Biener  <rguenther@suse.de>
7180         PR lto/69393
7181         * testsuite/libgomp.c++/pr69393.C: New testcase.
7183 2016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
7185         * target.c (gomp_get_target_fn_addr): Allow host fallback if target
7186         function wasn't mapped to the device with non-shared memory.
7188 2016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
7190         * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
7192 2016-01-19  Martin Jambor  <mjambor@suse.cz>
7193             Martin Liska  <mliska@suse.cz>
7195         * plugin/Makefrag.am: Add HSA plugin requirements.
7196         * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
7197         (HSA_RUNTIME_LIB): Likewise.
7198         (HSA_RUNTIME_CPPFLAGS): Likewise.
7199         (HSA_RUNTIME_INCLUDE): New substitution.
7200         (HSA_RUNTIME_LIB): Likewise.
7201         (HSA_RUNTIME_LDFLAGS): Likewise.
7202         (hsa-runtime): New configure option.
7203         (hsa-runtime-include): Likewise.
7204         (hsa-runtime-lib): Likewise.
7205         (PLUGIN_HSA): New substitution variable.
7206         Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
7207         configure options.
7208         (PLUGIN_HSA_CPPFLAGS): Likewise.
7209         (PLUGIN_HSA_LDFLAGS): Likewise.
7210         (PLUGIN_HSA_LIBS): Likewise.
7211         Check that we have access to HSA run-time.
7212         * libgomp-plugin.h (offload_target_type): New element
7213         OFFLOAD_TARGET_TYPE_HSA.
7214         * libgomp.h (gomp_target_task): New fields firstprivate_copies and
7215         args.
7216         (bool gomp_create_target_task): Updated.
7217         (gomp_device_descr): Extra parameter of run_func and async_run_func,
7218         new field can_run_func.
7219         * libgomp_g.h (GOMP_target_ext): Update prototype.
7220         * oacc-host.c (host_run): Added a new parameter args.
7221         * target.c (calculate_firstprivate_requirements): New function.
7222         (copy_firstprivate_data): Likewise.
7223         (gomp_target_fallback_firstprivate): Use them.
7224         (gomp_target_unshare_firstprivate): New function.
7225         (gomp_get_target_fn_addr): Allow returning NULL for shared memory
7226         devices.
7227         (GOMP_target): Do host fallback for all shared memory devices.  Do not
7228         pass any args to plugins.
7229         (GOMP_target_ext): Introduce device-specific argument parameter args.
7230         Allow host fallback if device shares memory.  Do not remap data if
7231         device has shared memory.
7232         (gomp_target_task_fn): Likewise.  Also treat shared memory devices
7233         like host fallback for mappings.
7234         (GOMP_target_data): Treat shared memory devices like host fallback.
7235         (GOMP_target_data_ext): Likewise.
7236         (GOMP_target_update): Likewise.
7237         (GOMP_target_update_ext): Likewise.  Also pass NULL as args to
7238         gomp_create_target_task.
7239         (GOMP_target_enter_exit_data): Likewise.
7240         (omp_target_alloc): Treat shared memory devices like host fallback.
7241         (omp_target_free): Likewise.
7242         (omp_target_is_present): Likewise.
7243         (omp_target_memcpy): Likewise.
7244         (omp_target_memcpy_rect): Likewise.
7245         (omp_target_associate_ptr): Likewise.
7246         (gomp_load_plugin_for_device): Also load can_run.
7247         * task.c (GOMP_PLUGIN_target_task_completion): Free
7248         firstprivate_copies.
7249         (gomp_create_target_task): Accept new argument args and store it to
7250         ttask.
7251         * plugin/plugin-hsa.c: New file.
7253 2016-01-18  Tom de Vries  <tom@codesourcery.com>
7255         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
7256         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
7257         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
7258         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
7259         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
7260         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
7261         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
7262         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
7263         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
7264         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
7265         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7266         Same.
7267         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7268         Same.
7269         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
7270         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
7271         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
7272         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
7273         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
7274         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
7275         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
7276         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7277         Same.
7278         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
7280 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
7282         * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
7284 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
7286         * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
7288 2016-01-12  James Norris  <jnorris@codesourcery.com>
7290         * libgomp.texi: Updates for OpenACC.
7292 2016-01-11  Alexander Monakov  <amonakov@ispras.ru>
7294         * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
7296 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
7298         PR fortran/66680
7299         * testsuite/libgomp.fortran/pr66680.f90: New test.
7301 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
7303         PR middle-end/68960
7304         * testsuite/libgomp.c/pr68960.c: New test.
7306 2016-01-06  Nathan Sidwell  <nathan@acm.org>
7308         * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
7309         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
7311 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
7313         Update copyright years.
7315         * libgomp.texi: Bump @copying's copyright year.
7317 2015-12-31  Nathan Sidwell  <nathan@acm.org>
7319         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
7320         dg-additional-options syntax.
7321         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
7322         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
7323         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
7324         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
7325         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
7326         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
7327         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
7328         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
7329         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
7330         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
7331         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
7332         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
7333         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
7334         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
7335         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
7336         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
7337         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
7338         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
7340 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
7342         * libgomp.h (REFCOUNT_LINK): Define.
7343         (struct splay_tree_key_s): Add link_key.
7344         * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
7345         Replace target address of the pointer with target address of newly
7346         mapped object in the splay tree.  Set link pointer on target to the
7347         device address of the mapped object.
7348         (gomp_unmap_vars): Restore target address of the pointer in the splay
7349         tree for REFCOUNT_LINK objects after unmapping.
7350         (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
7351         declare target link" objects.
7352         (gomp_unload_image_from_device): Replace j with i.  Force unmap of all
7353         "omp declare target link" objects, which were mapped for the image.
7354         (gomp_exit_data): Restore target address of the pointer in the splay
7355         tree for REFCOUNT_LINK objects after unmapping.
7356         * testsuite/libgomp.c/target-link-1.c: New file.
7358 2015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
7360         * libgomp.h (gomp_device_state): New enum.
7361         (struct gomp_device_descr): Replace is_initialized with state.
7362         (gomp_fini_device): Remove declaration.
7363         * oacc-host.c (host_dispatch): Use state instead of is_initialized.
7364         * oacc-init.c (acc_init_1): Use state instead of is_initialized.
7365         (acc_shutdown_1): Likewise.  Inline gomp_fini_device.
7366         (acc_set_device_type): Use state instead of is_initialized.
7367         (acc_set_device_num): Likewise.
7368         * target.c (resolve_device): Use state instead of is_initialized.
7369         Do not initialize finalized device.
7370         (gomp_map_vars): Do nothing if device is finalized.
7371         (gomp_unmap_vars): Likewise.
7372         (gomp_update): Likewise.
7373         (GOMP_offload_register_ver): Use state instead of is_initialized.
7374         (GOMP_offload_unregister_ver): Likewise.
7375         (gomp_init_device): Likewise.
7376         (gomp_unload_device): Likewise.
7377         (gomp_fini_device): Remove.
7378         (gomp_get_target_fn_addr): Do nothing if device is finalized.
7379         (GOMP_target): Go to host fallback if device is finalized.
7380         (GOMP_target_ext): Likewise.
7381         (gomp_exit_data): Do nothing if device is finalized.
7382         (gomp_target_task_fn): Go to host fallback if device is finalized.
7383         (gomp_target_fini): New static function.
7384         (gomp_target_init): Use state instead of is_initialized.
7385         Call gomp_target_fini at exit.
7387 2015-12-09  Tom de Vries  <tom@codesourcery.com>
7389         PR tree-optimization/68716
7390         * testsuite/libgomp.c/omp-nested-2.c: New test.
7392 2015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
7394         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
7395         target openacc_nvidia_accel_selected.
7396         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
7397         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
7398         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
7399         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
7401 2015-12-01  Julian Brown  <julian@codesourcery.com>
7402             James Norris  <James_Norris@mentor.com>
7404         * oacc-parallel.c (GOACC_host_data): New function.
7405         * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
7406         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
7407         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
7408         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
7409         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
7410         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
7411         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
7413 2015-11-30  James Norris  <jnorris@codesourcery.com>
7414             Cesar Philippidis  <cesar@codesourcery.com>
7416         libgomp/
7417         * libgomp.oacc-fortran/routine-5.f90: New test.
7418         * libgomp.oacc-fortran/routine-7.f90: New test.
7419         * libgomp.oacc-fortran/routine-9.f90: New test.
7421 2015-11-30  Tom de Vries  <tom@codesourcery.com>
7423         PR tree-optimization/46032
7424         * testsuite/libgomp.c/pr46032.c: New test.
7426 2015-11-27  Jakub Jelinek  <jakub@redhat.com>
7428         PR libgomp/68579
7429         * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
7430         (gomp_create_target_task): Call it before freeing
7431         GOMP_TARGET_TASK_DATA tasks.
7433         PR c/63326
7434         * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
7435         in between case label and OpenMP standalone directives.
7436         * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
7438 2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
7440         * configure: Regenerate.
7442 2015-11-26  Jakub Jelinek  <jakub@redhat.com>
7444         * testsuite/libgomp.c/target-35.c: New test.
7446 2015-11-22  James Norris  <jnorris@codesourcery.com>
7447             Cesar Philippidis  <cesar@codesourcery.com>
7449         * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
7450         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
7451         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7452         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
7453         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
7455 2015-11-20  Jakub Jelinek  <jakub@redhat.com>
7457         PR middle-end/68221
7458         * testsuite/libgomp.c/reduction-11.c: Remove xfail.
7459         * testsuite/libgomp.c/reduction-12.c: Likewise.
7460         * testsuite/libgomp.c++/reduction-11.C: Likewise.
7461         * testsuite/libgomp.c++/reduction-12.C: Likewise.
7463 2015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
7465         * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
7466         * libgomp.oacc-c-c++-common/reduction-flt.c: New.
7467         * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
7468         * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
7469         * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
7470         and fix.
7471         * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7472         * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7474 2015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
7476         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
7477         worker & gang cases.
7478         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
7480 2015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
7482         * config/nvptx/priority_queue.c: New file.
7484 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
7486         * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
7487         sections.
7489 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
7490             Aldy Hernandez  <aldyh@redhat.com>
7491             Ilya Verbin  <ilya.verbin@intel.com>
7493         * ordered.c (gomp_doacross_init, GOMP_doacross_post,
7494         GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
7495         GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
7496         iterators or IV by chunk size.
7497         * parallel.c (gomp_resolve_num_threads): Don't assume that
7498         if thr->ts.team is non-NULL, then pool must be non-NULL.
7499         * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
7500         * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
7501         GOMP_PLUGIN_target_task_completion.
7502         * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
7503         * Makefile.in: Regenerate.
7504         * libgomp.h: Shuffle prototypes and forward definitions around so
7505         priority queues can be defined.
7506         (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
7507         (enum gomp_target_task_state): New enum.
7508         (struct gomp_target_task): Add state, tgt, task and team fields.
7509         (gomp_create_target_task): Change return type to bool, add
7510         state argument.
7511         (gomp_target_task_fn): Change return type to bool.
7512         (struct gomp_device_descr): Add async_run_func.
7513         (struct gomp_task): Remove children, next_child, prev_child,
7514         next_queue, prev_queue, next_taskgroup, prev_taskgroup.
7515         Add pnode field.
7516         (struct gomp_taskgroup): Remove children.
7517         Add taskgroup_queue.
7518         (struct gomp_team): Change task_queue type to a priority queue.
7519         (splay_compare): Define inline.
7520         (priority_queue_offset): New.
7521         (priority_node_to_task): New.
7522         (task_to_priority_node): New.
7523         * oacc-mem.c: Do not include splay-tree.h.
7524         * priority_queue.c: New file.
7525         * priority_queue.h: New file.
7526         * splay-tree.c: Do not include splay-tree.h.
7527         (splay_tree_foreach_internal): New.
7528         (splay_tree_foreach): New.
7529         * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
7530         (splay_tree_callback): Define typedef.
7531         * target.c (splay_compare): Move to libgomp.h.
7532         (GOMP_target): Don't adjust *thr in any way around running offloaded
7533         task.
7534         (GOMP_target_ext): Likewise.  Handle target nowait.
7535         (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
7536         return value from gomp_create_target_task, if false, fallthrough
7537         as if no dependencies exist.
7538         (gomp_target_task_fn): Change return type to bool, return true
7539         if the task should have another part scheduled later.  Handle
7540         target nowait.
7541         (gomp_load_plugin_for_device): Initialize async_run.
7542         * task.c (gomp_init_task): Initialize children_queue.
7543         (gomp_clear_parent_in_list): New.
7544         (gomp_clear_parent_in_tree): New.
7545         (gomp_clear_parent): Handle priorities.
7546         (GOMP_task): Likewise.
7547         (priority_queue_move_task_first,
7548         gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
7549         New functions.
7550         (gomp_create_target_task): Use priority queues.  Change return type
7551         to bool, add state argument, return false if for async
7552         {{enter,exit} data,update} constructs no dependencies need to be
7553         waited for, handle target nowait.  Set task->fn to NULL instead of
7554         gomp_target_task_fn.
7555         (verify_children_queue): Remove.
7556         (priority_list_upgrade_task): New.
7557         (priority_queue_upgrade_task): New.
7558         (verify_task_queue): Remove.
7559         (priority_list_downgrade_task): New.
7560         (priority_queue_downgrade_task): New.
7561         (gomp_task_run_pre): Use priority queues.
7562         Abstract code out to priority_queue_downgrade_task.
7563         (gomp_task_run_post_handle_dependers): Use priority queues.
7564         (gomp_task_run_post_remove_parent): Likewise.
7565         (gomp_task_run_post_remove_taskgroup): Likewise.
7566         (gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
7567         tasks specially.
7568         (GOMP_taskwait): Likewise.
7569         (gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
7570         priority-queue_upgrade_task.
7571         (GOMP_taskgroup_start): Use priority queues.
7572         (GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
7573         specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
7574         barrier.
7575         * taskloop.c (GOMP_taskloop): Handle priorities.
7576         * team.c (gomp_new_team): Call priority_queue_init.
7577         (free_team): Call priority_queue_free.
7578         (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
7579         team created for target nowait in implicit parallel region.
7580         (gomp_team_start): For nested check, test thr->ts.level instead of
7581         thr->ts.team != NULL.
7582         * testsuite/libgomp.c/doacross-3.c: New test.
7583         * testsuite/libgomp.c/ordered-5.c: New test.
7584         * testsuite/libgomp.c/priority.c: New test.
7585         * testsuite/libgomp.c/target-31.c: New test.
7586         * testsuite/libgomp.c/target-32.c: New test.
7587         * testsuite/libgomp.c/target-33.c: New test.
7588         * testsuite/libgomp.c/target-34.c: New test.
7590 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
7592         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
7594         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
7595         loop is sequential.
7597 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
7599         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
7600         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
7602 2015-11-12  James Norris  <jnorris@codesourcery.com>
7603             Joseph Myers  <joseph@codesourcery.com>
7605         * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
7606         * oacc-parallel.c (GOACC_declare): New function.
7607         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
7608         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
7609         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
7610         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
7611         * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
7613 2015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
7615         * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
7617 2015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
7619         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
7620         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
7622 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
7624         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
7625         inadvertent commit.
7627 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
7629         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
7630         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
7631         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
7632         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
7633         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
7635 2015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
7637         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
7638         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
7640 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
7641             Ilya Verbin  <ilya.verbin@intel.com>
7643         * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
7644         GOMP_loop_nonmonotonic_dynamic_start,
7645         GOMP_loop_nonmonotonic_guided_next,
7646         GOMP_loop_nonmonotonic_guided_start,
7647         GOMP_loop_ull_nonmonotonic_dynamic_next,
7648         GOMP_loop_ull_nonmonotonic_dynamic_start,
7649         GOMP_loop_ull_nonmonotonic_guided_next,
7650         GOMP_loop_ull_nonmonotonic_guided_start,
7651         GOMP_parallel_loop_nonmonotonic_dynamic,
7652         GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
7653         (GOMP_target_41): Renamed to ...
7654         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
7655         arguments.
7656         (GOMP_target_data_41): Renamed to ...
7657         (GOMP_target_data_ext): ... this.
7658         (GOMP_target_update_41): Renamed to ...
7659         (GOMP_target_update_ext): ... this.
7660         * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
7661         GOMP_target_data_ext and GOMP_target_update_ext instead of
7662         GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
7663         Export GOMP_loop_nonmonotonic_dynamic_next,
7664         GOMP_loop_nonmonotonic_dynamic_start,
7665         GOMP_loop_nonmonotonic_guided_next,
7666         GOMP_loop_nonmonotonic_guided_start,
7667         GOMP_loop_ull_nonmonotonic_dynamic_next,
7668         GOMP_loop_ull_nonmonotonic_dynamic_start,
7669         GOMP_loop_ull_nonmonotonic_guided_next,
7670         GOMP_loop_ull_nonmonotonic_guided_start,
7671         GOMP_parallel_loop_nonmonotonic_dynamic and
7672         GOMP_parallel_loop_nonmonotonic_guided.
7673         * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
7674         GOMP_parallel_loop_nonmonotonic_guided,
7675         GOMP_loop_nonmonotonic_dynamic_start,
7676         GOMP_loop_nonmonotonic_guided_start,
7677         GOMP_loop_nonmonotonic_dynamic_next,
7678         GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
7679         * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
7680         GOMP_loop_ull_nonmonotonic_guided_start,
7681         GOMP_loop_ull_nonmonotonic_dynamic_next,
7682         GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
7683         * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
7684         functions.
7685         (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
7686         GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
7687         Use gomp_map_val function.
7688         (gomp_target_fallback_firstprivate): New static function.
7689         (GOMP_target_41): Renamed to ...
7690         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
7691         arguments.  Move firstprivate fallback handling into a new
7692         function.
7693         (GOMP_target_data_41): Renamed to ...
7694         (GOMP_target_data_ext): ... this.
7695         (GOMP_target_update_41): Renamed to ...
7696         (GOMP_target_update_ext): ... this.
7697         (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
7698         gomp_map_0len_lookup instead of gomp_map_lookup.
7699         (omp_target_is_present): Use gomp_map_0len_lookup instead of
7700         gomp_map_lookup.
7701         * testsuite/libgomp.c/target-28.c: Likewise.
7702         * testsuite/libgomp.c/monotonic-1.c: New test.
7703         * testsuite/libgomp.c/monotonic-2.c: New test.
7704         * testsuite/libgomp.c/nonmonotonic-1.c: New test.
7705         * testsuite/libgomp.c/nonmonotonic-2.c: New test.
7706         * testsuite/libgomp.c/pr66199-5.c: New test.
7707         * testsuite/libgomp.c/pr66199-6.c: New test.
7708         * testsuite/libgomp.c/pr66199-7.c: New test.
7709         * testsuite/libgomp.c/pr66199-8.c: New test.
7710         * testsuite/libgomp.c/pr66199-9.c: New test.
7711         * testsuite/libgomp.c/reduction-11.c: New test.
7712         * testsuite/libgomp.c/reduction-12.c: New test.
7713         * testsuite/libgomp.c/reduction-13.c: New test.
7714         * testsuite/libgomp.c/reduction-14.c: New test.
7715         * testsuite/libgomp.c/reduction-15.c: New test.
7716         * testsuite/libgomp.c/target-12.c (main): Adjust for
7717         omp_target_is_present change for one-past-last element.
7718         * testsuite/libgomp.c/target-17.c (foo): Drop tests where
7719         the same var is both mapped and privatized.
7720         * testsuite/libgomp.c/target-19.c (foo): Adjust for different
7721         handling of zero-length array sections.
7722         * testsuite/libgomp.c/target-28.c: New test.
7723         * testsuite/libgomp.c/target-29.c: New test.
7724         * testsuite/libgomp.c/target-30.c: New test.
7725         * testsuite/libgomp.c/target-teams-1.c: New test.
7726         * testsuite/libgomp.c++/member-6.C: New test.
7727         * testsuite/libgomp.c++/member-7.C: New test.
7728         * testsuite/libgomp.c++/monotonic-1.C: New test.
7729         * testsuite/libgomp.c++/monotonic-2.C: New test.
7730         * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
7731         * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
7732         * testsuite/libgomp.c++/pr66199-3.C: New test.
7733         * testsuite/libgomp.c++/pr66199-4.C: New test.
7734         * testsuite/libgomp.c++/pr66199-5.C: New test.
7735         * testsuite/libgomp.c++/pr66199-6.C: New test.
7736         * testsuite/libgomp.c++/pr66199-7.C: New test.
7737         * testsuite/libgomp.c++/pr66199-8.C: New test.
7738         * testsuite/libgomp.c++/pr66199-9.C: New test.
7739         * testsuite/libgomp.c++/reduction-11.C: New test.
7740         * testsuite/libgomp.c++/reduction-12.C: New test.
7741         * testsuite/libgomp.c++/target-13.C: New test.
7742         * testsuite/libgomp.c++/target-14.C: New test.
7743         * testsuite/libgomp.c++/target-15.C: New test.
7744         * testsuite/libgomp.c++/target-16.C: New test.
7745         * testsuite/libgomp.c++/target-17.C: New test.
7746         * testsuite/libgomp.c++/target-18.C: New test.
7747         * testsuite/libgomp.c++/target-19.C: New test.
7749 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
7751         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
7752         and reduction copy.
7753         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7754         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7755         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7756         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7757         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
7758         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7759         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7760         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7761         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7762         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
7763         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7764         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7765         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7766         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
7768 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
7770         * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
7771         * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
7772         * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
7773         * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
7774         * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
7775         * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
7776         * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
7777         * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
7779 2015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
7781         * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
7782         * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
7783         (GOMP_OFFLOAD_openacc_parallel): Likewise.
7784         * oacc-host.c (host_openacc_exec): Likewise.
7785         * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
7787 2015-11-03  Julian Brown  <julian@codesourcery.com>
7788             Thomas Schwinge  <thomas@codesourcery.com>
7790         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
7791         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
7792         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
7793         Likewise.
7794         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
7795         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
7797 2015-11-03  James Norris  <jnorris@codesourcery.com>
7799         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
7800         file.
7801         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
7802         Likewise.
7803         * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
7804         * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
7805         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
7806         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
7807         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
7809 2015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
7811         * openacc.h (enum acc_device_t): Reformat. Ensure layout
7812         compatibility.
7813         (enum acc_async_t): Reformat.
7814         (acc_on_device): Declare compatible with builtin and provide C++
7815         wrapper.
7816         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
7818 2015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
7819             Cesar Philippidis  <cesar@codesourcery.com>
7821         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
7822         * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
7823         ... this.  Add a description of the test at the top of the file.
7824         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
7825         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
7826         ... this.  Add a description of the test at the top of the file.
7828 2015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
7830         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
7831         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
7832         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
7833         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
7834         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
7835         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
7837 2015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
7839         * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
7840         dimensions.
7842 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
7844         PR testsuite/68063
7845         * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
7847 2015-10-27  James Norris  <jnorris@codesourcery.com>
7849         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
7850         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
7852 2015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
7854         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
7855         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7857         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
7858         acc_device_nvidia usage.
7859         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7860         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7861         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7863         * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
7864         * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
7866         PR libgomp/66518
7867         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
7869         PR libgomp/65437
7870         PR libgomp/66518
7871         * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
7872         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
7874 2015-10-23  Tom de Vries  <tom@codesourcery.com>
7876         PR testsuite/68063
7877         * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
7879 2015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
7881         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
7882         vector_length.
7883         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7885 2015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
7886             Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
7888         * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
7889         to 0 when mapnum is 0.
7891 2015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
7893         * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
7894         Cast to int from int32_t.
7896 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
7897             Aldy Hernandez  <aldyh@redhat.com>
7898             Ilya Verbin  <ilya.verbin@intel.com>
7900         * config/linux/affinity.c (omp_get_place_num_procs,
7901         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7902         * config/linux/doacross.h: New file.
7903         * config/posix/affinity.c (omp_get_place_num_procs,
7904         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
7905         * config/posix/doacross.h: New file.
7906         * env.c: Include gomp-constants.h.
7907         (struct gomp_task_icv): Rename run_sched_modifier to
7908         run_sched_chunk_size.
7909         (gomp_max_task_priority_var): New variable.
7910         (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
7911         (handle_omp_display_env): Change _OPENMP value from 201307 to
7912         201511.  Print OMP_MAX_TASK_PRIORITY.
7913         (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
7914         (omp_set_schedule, omp_get_schedule): Rename modifier argument to
7915         chunk_size and run_sched_modifier to run_sched_chunk_size.
7916         (omp_get_max_task_priority, omp_get_initial_device,
7917         omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
7918         omp_get_partition_place_nums): New functions.
7919         * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
7920         omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
7921         to chunk_size.
7922         (omp_get_num_places_, omp_get_place_num_procs_,
7923         omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
7924         omp_get_place_proc_ids_8_, omp_get_place_num_,
7925         omp_get_partition_num_places_, omp_get_partition_place_nums_,
7926         omp_get_partition_place_nums_8_, omp_get_initial_device_,
7927         omp_get_max_task_priority_): New functions.
7928         * libgomp_g.h (GOMP_loop_doacross_static_start,
7929         GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
7930         GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
7931         GOMP_loop_ull_doacross_dynamic_start,
7932         GOMP_loop_ull_doacross_guided_start,
7933         GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
7934         GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
7935         GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
7936         GOMP_target_data_41, GOMP_target_update_41,
7937         GOMP_target_enter_exit_data): New prototypes.
7938         (GOMP_task): Add prototype argument.
7939         * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
7940         (struct gomp_doacross_work_share): New type.
7941         (struct gomp_work_share): Add doacross field.
7942         (struct gomp_task_icv): Rename run_sched_modifier to
7943         run_sched_chunk_size.
7944         (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
7945         GOMP_TASK_UNDEFERRED.  Add comments.
7946         (struct gomp_task_depend_entry): Add comments.
7947         (struct gomp_task): Likewise.
7948         (struct gomp_taskgroup): Likewise.
7949         (struct gomp_target_task): New type.
7950         (struct gomp_team): Add comment.
7951         (gomp_get_place_proc_ids_8, gomp_doacross_init,
7952         gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
7953         gomp_create_target_task, gomp_target_task_fn): New prototypes.
7954         (struct target_var_desc): New type.
7955         (struct target_mem_desc): Adjust comment.  Use struct
7956         target_var_desc instead of splay_tree_key for list.
7957         (REFCOUNT_INFINITY): Define.
7958         (struct splay_tree_key_s): Remove copy_from field.
7959         (struct gomp_device_descr): Add dev2dev_func field.
7960         (enum gomp_map_vars_kind): New enum.
7961         (gomp_map_vars): Add one argument.
7962         * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
7963         omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
7964         omp_get_place_num_procs, omp_get_place_num_procs_,
7965         omp_get_place_num_procs_8_, omp_get_place_proc_ids,
7966         omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
7967         omp_get_place_num_, omp_get_partition_num_places,
7968         omp_get_partition_num_places_, omp_get_partition_place_nums,
7969         omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
7970         omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
7971         omp_target_free, omp_target_is_present, omp_target_memcpy,
7972         omp_target_memcpy_rect, omp_target_associate_ptr and
7973         omp_target_disassociate_ptr.
7974         (GOMP_4.0.2): Renamed to ...
7975         (GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
7976         GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
7977         GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
7978         GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7979         GOMP_loop_doacross_static_start, GOMP_doacross_post,
7980         GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
7981         GOMP_loop_ull_doacross_guided_start,
7982         GOMP_loop_ull_doacross_runtime_start,
7983         GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
7984         GOMP_doacross_ull_wait.
7985         * libgomp.texi: Document omp_get_max_task_priority.
7986         Rename modifier argument to chunk_size for omp_set_schedule and
7987         omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
7988         * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
7989         to run_sched_chunk_size renaming.
7990         (GOMP_loop_ordered_runtime_start): Likewise.
7991         (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
7992         gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
7993         GOMP_parallel_loop_runtime_start): New functions.
7994         (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
7995         to run_sched_chunk_size renaming.
7996         (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
7997         GOMP_loop_doacross_guided_start): New functions or aliases.
7998         * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
7999         run_sched_modifier to run_sched_chunk_size renaming.
8000         (GOMP_loop_ull_ordered_runtime_start): Likewise.
8001         (gomp_loop_ull_doacross_static_start,
8002         gomp_loop_ull_doacross_dynamic_start,
8003         gomp_loop_ull_doacross_guided_start,
8004         GOMP_loop_ull_doacross_runtime_start): New functions.
8005         (GOMP_loop_ull_doacross_static_start,
8006         GOMP_loop_ull_doacross_dynamic_start,
8007         GOMP_loop_ull_doacross_guided_start): New functions or aliases.
8008         * oacc-mem.c (acc_map_data, present_create_copy,
8009         gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
8010         to gomp_map_vars.
8011         (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
8012         * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
8013         instead of false to gomp_map_vars.
8014         (GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
8015         * omp.h.in (omp_lock_hint_t): New type.
8016         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8017         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8018         omp_get_place_num, omp_get_partition_num_places,
8019         omp_get_partition_place_nums, omp_get_initial_device,
8020         omp_get_max_task_priority, omp_target_alloc, omp_target_free,
8021         omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
8022         omp_target_associate_ptr, omp_target_disassociate_ptr): New
8023         prototypes.
8024         * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
8025         (omp_lock_hint_none, omp_lock_hint_uncontended,
8026         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
8027         omp_lock_hint_speculative): New parameters.
8028         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8029         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8030         omp_get_place_num, omp_get_partition_num_places,
8031         omp_get_partition_place_nums, omp_get_initial_device,
8032         omp_get_max_task_priority): New interfaces.
8033         (omp_set_schedule, omp_get_schedule): Rename modifier argument
8034         to chunk_size.
8035         * omp_lib.h.in (omp_lock_hint_kind): New parameter.
8036         (omp_lock_hint_none, omp_lock_hint_uncontended,
8037         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
8038         omp_lock_hint_speculative): New parameters.
8039         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
8040         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
8041         omp_get_place_num, omp_get_partition_num_places,
8042         omp_get_partition_place_nums, omp_get_initial_device,
8043         omp_get_max_task_priority): New functions and subroutines.
8044         * ordered.c: Include stdarg.h and string.h.
8045         (MAX_COLLAPSED_BITS): Define.
8046         (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
8047         gomp_doacross_ull_init, GOMP_doacross_ull_post,
8048         GOMP_doacross_ull_wait): New functions.
8049         * target.c: Include errno.h.
8050         (resolve_device): If device is not initialized, call
8051         gomp_init_device on it.
8052         (gomp_map_lookup): New function.
8053         (gomp_map_vars_existing): Add tgt_var argument, fill it in.
8054         Don't bump refcount if REFCOUNT_INFINITY.  Handle
8055         GOMP_MAP_ALWAYS_TO_P.
8056         (get_kind): Rename is_openacc argument to short_mapkind.
8057         (gomp_map_pointer): Use gomp_map_lookup.
8058         (gomp_map_fields_existing): New function.
8059         (gomp_map_vars): Rename is_openacc argument to short_mapkind
8060         and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
8061         handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
8062         GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
8063         Adjust for tgt->list changed type and copy_from living in there.
8064         (gomp_copy_from_async): Adjust for tgt->list changed type and
8065         copy_from living in there.
8066         (gomp_unmap_vars): Likewise.
8067         (gomp_update): Likewise.  Rename is_openacc argument to
8068         short_mapkind.  Don't fail if object is not mapped.
8069         (gomp_load_image_to_device): Initialize refcount to
8070         REFCOUNT_INFINITY.
8071         (gomp_target_fallback): New function.
8072         (gomp_get_target_fn_addr): Likewise.
8073         (GOMP_target): Adjust gomp_map_vars caller, use
8074         gomp_get_target_fn_addr and gomp_target_fallback.
8075         (GOMP_target_41): New function.
8076         (gomp_target_data_fallback): New function.
8077         (GOMP_target_data): Use it, adjust gomp_map_vars caller.
8078         (GOMP_target_data_41): New function.
8079         (GOMP_target_update): Adjust gomp_update caller.
8080         (GOMP_target_update_41): New function.
8081         (gomp_exit_data, GOMP_target_enter_exit_data,
8082         gomp_target_task_fn, omp_target_alloc, omp_target_free,
8083         omp_target_is_present, omp_target_memcpy,
8084         omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
8085         omp_target_associate_ptr, omp_target_disassociate_ptr,
8086         gomp_load_plugin_for_device): New functions.
8087         * task.c: Include gomp-constants.h.  Include taskloop.c
8088         twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
8089         (gomp_task_handle_depend): New function.
8090         (GOMP_task): Use it.  Add priority argument.  Use
8091         gomp-constant.h constants instead of hardcoded numbers.
8092         Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
8093         (gomp_create_target_task): New function.
8094         (verify_children_queue, verify_taskgroup_queue,
8095         verify_task_queue): New functions.
8096         (gomp_task_run_pre): Call verify_*_queue functions.
8097         If an upcoming tied task is about to leave the sibling or
8098         taskgroup queues in an invalid state, adjust appropriately.
8099         Remove taskgroup argument.  Add comments.
8100         (gomp_task_run_post_handle_dependers): Add comments.
8101         (gomp_task_run_post_remove_parent): Likewise.
8102         (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
8103         (GOMP_taskwait): Likewise.  Add comments.
8104         (gomp_task_maybe_wait_for_dependencies): Fix scheduling
8105         problem such that the first non parent_depends_on task does not
8106         end up at the end of the children queue.
8107         (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
8108         GOMP_TASK_UNDEFERRED.
8109         (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
8110         * taskloop.c: New file.
8111         * testsuite/lib/libgomp.exp
8112         (check_effective_target_offload_device_nonshared_as): New proc.
8113         * testsuite/libgomp.c/affinity-2.c: New test.
8114         * testsuite/libgomp.c/doacross-1.c: New test.
8115         * testsuite/libgomp.c/doacross-2.c: New test.
8116         * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
8117         Add map clause to target.
8118         * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
8119         * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
8120         * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
8121         * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
8122         * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
8123         Likewise.
8124         * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
8125         * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
8126         * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
8127         * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
8128         not defined.  Use those where needed.
8129         * testsuite/libgomp.c/for-4.c: New test.
8130         * testsuite/libgomp.c/for-5.c: New test.
8131         * testsuite/libgomp.c/for-6.c: New test.
8132         * testsuite/libgomp.c/linear-1.c: New test.
8133         * testsuite/libgomp.c/ordered-4.c: New test.
8134         * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
8135         only allowed on the loop iterator.
8136         * testsuite/libgomp.c/pr66199-3.c: New test.
8137         * testsuite/libgomp.c/pr66199-4.c: New test.
8138         * testsuite/libgomp.c/reduction-7.c: New test.
8139         * testsuite/libgomp.c/reduction-8.c: New test.
8140         * testsuite/libgomp.c/reduction-9.c: New test.
8141         * testsuite/libgomp.c/reduction-10.c: New test.
8142         * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
8143         map(tofrom:s).
8144         * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
8145         * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
8146         * testsuite/libgomp.c/target-11.c: New test.
8147         * testsuite/libgomp.c/target-12.c: New test.
8148         * testsuite/libgomp.c/target-13.c: New test.
8149         * testsuite/libgomp.c/target-14.c: New test.
8150         * testsuite/libgomp.c/target-15.c: New test.
8151         * testsuite/libgomp.c/target-16.c: New test.
8152         * testsuite/libgomp.c/target-17.c: New test.
8153         * testsuite/libgomp.c/target-18.c: New test.
8154         * testsuite/libgomp.c/target-19.c: New test.
8155         * testsuite/libgomp.c/target-20.c: New test.
8156         * testsuite/libgomp.c/target-21.c: New test.
8157         * testsuite/libgomp.c/target-22.c: New test.
8158         * testsuite/libgomp.c/target-23.c: New test.
8159         * testsuite/libgomp.c/target-24.c: New test.
8160         * testsuite/libgomp.c/target-25.c: New test.
8161         * testsuite/libgomp.c/target-26.c: New test.
8162         * testsuite/libgomp.c/target-27.c: New test.
8163         * testsuite/libgomp.c/taskloop-1.c: New test.
8164         * testsuite/libgomp.c/taskloop-2.c: New test.
8165         * testsuite/libgomp.c/taskloop-3.c: New test.
8166         * testsuite/libgomp.c/taskloop-4.c: New test.
8167         * testsuite/libgomp.c++/ctor-13.C: New test.
8168         * testsuite/libgomp.c++/doacross-1.C: New test.
8169         * testsuite/libgomp.c++/examples-4/declare_target-2.C:
8170         Replace offload_device with offload_device_nonshared_as.
8171         * testsuite/libgomp.c++/for-12.C: New test.
8172         * testsuite/libgomp.c++/for-13.C: New test.
8173         * testsuite/libgomp.c++/for-14.C: New test.
8174         * testsuite/libgomp.c++/linear-1.C: New test.
8175         * testsuite/libgomp.c++/member-1.C: New test.
8176         * testsuite/libgomp.c++/member-2.C: New test.
8177         * testsuite/libgomp.c++/member-3.C: New test.
8178         * testsuite/libgomp.c++/member-4.C: New test.
8179         * testsuite/libgomp.c++/member-5.C: New test.
8180         * testsuite/libgomp.c++/ordered-1.C: New test.
8181         * testsuite/libgomp.c++/reduction-5.C: New test.
8182         * testsuite/libgomp.c++/reduction-6.C: New test.
8183         * testsuite/libgomp.c++/reduction-7.C: New test.
8184         * testsuite/libgomp.c++/reduction-8.C: New test.
8185         * testsuite/libgomp.c++/reduction-9.C: New test.
8186         * testsuite/libgomp.c++/reduction-10.C: New test.
8187         * testsuite/libgomp.c++/reference-1.C: New test.
8188         * testsuite/libgomp.c++/simd14.C: New test.
8189         * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
8190         * testsuite/libgomp.c++/target-5.C: New test.
8191         * testsuite/libgomp.c++/target-6.C: New test.
8192         * testsuite/libgomp.c++/target-7.C: New test.
8193         * testsuite/libgomp.c++/target-8.C: New test.
8194         * testsuite/libgomp.c++/target-9.C: New test.
8195         * testsuite/libgomp.c++/target-10.C: New test.
8196         * testsuite/libgomp.c++/target-11.C: New test.
8197         * testsuite/libgomp.c++/target-12.C: New test.
8198         * testsuite/libgomp.c++/taskloop-1.C: New test.
8199         * testsuite/libgomp.c++/taskloop-2.C: New test.
8200         * testsuite/libgomp.c++/taskloop-3.C: New test.
8201         * testsuite/libgomp.c++/taskloop-4.C: New test.
8202         * testsuite/libgomp.c++/taskloop-5.C: New test.
8203         * testsuite/libgomp.c++/taskloop-6.C: New test.
8204         * testsuite/libgomp.c++/taskloop-7.C: New test.
8205         * testsuite/libgomp.c++/taskloop-8.C: New test.
8206         * testsuite/libgomp.c++/taskloop-9.C: New test.
8207         * testsuite/libgomp.fortran/affinity1.f90: New test.
8208         * testsuite/libgomp.fortran/affinity2.f90: New test.
8210 2015-10-13  Tom de Vries  <tom@codesourcery.com>
8212         PR tree-optimization/67476
8213         * testsuite/libgomp.c/autopar-3.c: New test.
8214         * testsuite/libgomp.c/autopar-4.c: New test.
8215         * testsuite/libgomp.c/autopar-5.c: New test.
8216         * testsuite/libgomp.c/autopar-6.c: New test.
8217         * testsuite/libgomp.c/autopar-7.c: New test.
8218         * testsuite/libgomp.c/autopar-8.c: New test.
8220 2015-10-12  James Norris  <jnorris@codesourcery.com>
8222         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
8223         initializer.
8225 2015-10-09  David Malcolm  <dmalcolm@redhat.com>
8227         * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
8228         using load_gcc_lib.
8230 2015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
8232         * oacc-ptx.h: Remove file, moving its content into...
8233         * config/nvptx/fortran.c: ... here...
8234         * config/nvptx/oacc-init.c: ..., here...
8235         * config/nvptx/oacc-parallel.c: ..., and here.
8236         * config/nvptx/openacc.f90: New file.
8237         * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
8238         (link_ptx): Don't link in predefined bits of PTX code.
8240 2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
8241             Bernd Schmidt <bernds@codesourcery.com>
8243         * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
8244         (struct targ_ptx_obj): New.
8245         (nvptx_tdata): Move earlier, change data format.
8246         (link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
8247         objects.
8248         (GOMP_OFFLOAD_load_image): Adjust.
8250 2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
8252         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
8253         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
8254         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
8255         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8256         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8257         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8258         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8259         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8260         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8261         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8262         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8263         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8264         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8265         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8266         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8267         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8268         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8269         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8270         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8271         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8272         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8273         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8274         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8275         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8276         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8277         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8278         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8279         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8280         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8281         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8282         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8283         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8284         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8285         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8286         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8287         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8288         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8289         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8290         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8291         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8292         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8293         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8294         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8295         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8296         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8297         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8298         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8299         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8300         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8301         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8302         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8303         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8304         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8305         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8306         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8307         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8308         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8309         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8310         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8311         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8312         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8313         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8314         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8316 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
8318         * oacc-init.c (acc_on_device): Force optimization level.
8320 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
8322         * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
8323         (cuda_errlist): Delete.
8324         (cuda_error): Reimplement.
8326 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
8328         * libgomp.h (acc_dispatch_t): Replace separate geometry args with
8329         array.
8330         * libgomp.map (GOACC_parallel_keyed): New.
8331         * oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
8332         all callers.
8333         (GOACC_parallel_keyed): New interface.  Lose geometry arguments
8334         and take keyed varargs list.  Adjust call to exec_func.
8335         (GOACC_parallel): Force host fallback.
8336         * libgomp_g.h (GOACC_parallel): Remove.
8337         (GOACC_parallel_keyed): Declare.
8338         * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
8339         (struct targ_gn_descriptor): Replace name field with launch field.
8340         (nvptx_exec): Lose separate geometry args, take array.  Process
8341         dynamic dimensions and adjust.
8342         (struct nvptx_tdata): Replace fn_names field with fn_descs.
8343         (GOMP_OFFLOAD_load_image): Adjust for change in function table
8344         data.
8345         (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
8346         passing.
8347         * oacc-host.c (host_openacc_exec): Adjust for change in dimension
8348         passing.
8350 2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
8352         PR libgomp/67141
8353         * oacc-int.h (goacc_host_init): Add declaration.
8354         * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
8355         * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
8357 2015-09-08  Aditya Kumar  <hiraditya@msn.com>
8358             Sebastian Pop  <s.pop@samsung.com>
8360         * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
8361         match o/p.
8362         * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
8363         * testsuite/libgomp.graphite/force-parallel-4.c: Same.
8364         * testsuite/libgomp.graphite/force-parallel-5.c: Same.
8365         * testsuite/libgomp.graphite/force-parallel-7.c: Same.
8366         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
8368 2015-09-03  Jakub Jelinek  <jakub@redhat.com>
8370         * configure.tgt: Add missing ;; in between nvptx and rtems
8371         snippets.
8373 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8375         * config/posix/pool.h (gomp_adjust_thread_attr): New.
8376         * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
8377         (gomp_thread_pool_reservoir): Add priority member.
8378         * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
8379         priority.
8380         (parse_thread_pools): Likewise.
8381         * team.c (gomp_team_start): Call configuration provided
8382         gomp_adjust_thread_attr(). Destroy thread attributes if
8383         necessary.
8384         * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
8386 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8388         * config/posix/pool.h: New.
8389         * config/rtems/pool.h: Likewise.
8390         * config/rtems/proc.c: Likewise.
8391         * libgomp.h (gomp_thread_destructor): Declare.
8392         * team.c: Include configuration provided "pool.h".
8393         (gomp_get_thread_pool): Define in configuration.
8394         (gomp_team_end): Call configuration defined
8395         gomp_release_thread_pool().
8397 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8399         * config/rtems/bar.c: New.
8400         * config/rtems/bar.h: Likewise.
8401         * config/rtems/mutex.c: Likewise.
8402         * config/rtems/mutex.h: Likewise.
8403         * config/rtems/sem.c: Likewise.
8404         * config/rtems/sem.h: Likewise.
8405         * configure.ac (*-*-rtems*): Check that Newlib provides a proper
8406         <sys/lock.h> header file.
8407         * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
8408         supported by Newlib.
8409         * configure: Regenerate.
8411 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8413         * team.c (gomp_new_thread_pool): Delete and move content to ...
8414         (gomp_get_thread_pool): ... new function.  Allocate and
8415         initialize thread pool on demand.
8416         (get_last_team): Use gomp_get_thread_pool().
8417         (gomp_team_start): Delete thread pool initialization.
8419 2015-09-03  Tom de Vries  <tom@codesourcery.com>
8421         PR tree-optimization/65637
8422         * testsuite/libgomp.c/autopar-2.c: New test.
8424 2015-08-29  Tom de Vries  <tom@codesourcery.com>
8426         PR tree-optimization/46193
8427         * testsuite/libgomp.c/pr46193.c: New test.
8429 2015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
8431         libgomp/
8432         * libgomp.map: Add 4.0.2 version.
8433         * target.c (offload_image_descr): Add version field.
8434         (gomp_load_image_to_device): Add version argument.  Adjust plugin
8435         call.  Improve load mismatch diagnostic.
8436         (gomp_unload_image_from_device): Add version argument.  Adjust plugin
8437         call.
8438         (GOMP_offload_regster): Make stub function, move bulk to ...
8439         (GOMP_offload_register_ver): ... here.  Process version argument.
8440         (GOMP_offload_unregister): Make stub function, move bulk to ...
8441         (GOMP_offload_unregister_ver): ... here.  Process version argument.
8442         (gomp_init_device): Process version field.
8443         (gomp_unload_device): Process version field.
8444         (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
8445         macros.  Check plugin version.
8446         * libgomp.h (gomp_device_descr): Add version function field.  Adjust
8447         loader and unloader types.
8448         * oacc-host.c: Include gomp-constants.h.
8449         (host_version): New.
8450         (host_load_image, host_unload_image): Adjust.
8451         (host_dispatch): Add host_version.
8452         * plugin/plugin-nvptx.c: Include gomp-constants.h.
8453         (GOMP_OFFLOAD_version): New.
8454         (GOMP_OFFLOAD_load_image): Add version arg and check it.
8455         (GOMP_OFFLOAD_unload_image): Likewise.
8456         * plugin/plugin-host.c: Include gomp-constants.h.
8457         (GOMP_OFFLOAD_version): New.
8458         (GOMP_OFFLOAD_load_image): Add version arg.
8459         (GOMP_OFFLOAD_unload_image): Likewise.
8461 2015-08-24  Tom de Vries  <tom@codesourcery.com>
8463         PR tree-optimization/65468
8464         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
8466 2015-08-24  Tom de Vries  <tom@codesourcery.com>
8468         PR tree-optimization/65468
8469         * testsuite/libgomp.c/static-chunk-size-one.c: New test.
8471 2015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
8473         PR libgomp/66761
8474         PR libgomp/67303
8475         * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
8476         (gomp_iter_guided_next): Idem.
8477         * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
8478         (gomp_iter_ull_guided_next): Idem.
8479         * config/linux/wait.h (do_spin): Idem.
8481 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
8483         * libgomp-plugin.h (enum offload_target_type): Remove
8484         OFFLOAD_TARGET_TYPE_HOST_NONSHM.
8485         * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
8486         * openacc.h (enum acc_device_t): Likewise.
8487         * openacc_lib.h: Likewise.
8488         * oacc-init.c (name_of_acc_device_t): Don't handle it.
8489         (acc_on_device): Just use __builtin_acc_on_device.
8490         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
8491         of acc_on_device builtin.
8492         * plugin/plugin-host.h: Remove file.
8493         * plugin/plugin-host.c: Likewise, but salvage some content into...
8494         * oacc-host.c: ... this file.
8495         * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
8496         * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
8497         * Makefile.in: Regenerate.
8498         * configure: Likewise.
8499         * testsuite/lib/libgomp.exp
8500         (check_effective_target_openacc_host_nonshm_selected): Remove.
8501         * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
8502         ACC_DEVICE_TYPE=host_nonshm.
8503         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8504         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8505         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
8506         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8507         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8508         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8510 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
8511             Jakub Jelinek  <jakub@redhat.com>
8513         * config/nvptx/affinity.c: New file.
8514         * config/nvptx/alloc.c: Likewise.
8515         * config/nvptx/bar.c: Likewise.
8516         * config/nvptx/barrier.c: Likewise.
8517         * config/nvptx/critical.c: Likewise.
8518         * config/nvptx/env.c: Likewise.
8519         * config/nvptx/error.c: Likewise.
8520         * config/nvptx/fortran.c: Likewise.
8521         * config/nvptx/iter.c: Likewise.
8522         * config/nvptx/iter_ull.c: Likewise.
8523         * config/nvptx/libgomp-plugin.c: Likewise.
8524         * config/nvptx/lock.c: Likewise.
8525         * config/nvptx/loop.c: Likewise.
8526         * config/nvptx/loop_ull.c: Likewise.
8527         * config/nvptx/mutex.c: Likewise.
8528         * config/nvptx/oacc-async.c: Likewise.
8529         * config/nvptx/oacc-cuda.c: Likewise.
8530         * config/nvptx/oacc-host.c: Likewise.
8531         * config/nvptx/oacc-init.c: Likewise.
8532         * config/nvptx/oacc-mem.c: Likewise.
8533         * config/nvptx/oacc-parallel.c: Likewise.
8534         * config/nvptx/oacc-plugin.c: Likewise.
8535         * config/nvptx/omp-lock.h: Likewise.
8536         * config/nvptx/ordered.c: Likewise.
8537         * config/nvptx/parallel.c: Likewise.
8538         * config/nvptx/proc.c: Likewise.
8539         * config/nvptx/ptrlock.c: Likewise.
8540         * config/nvptx/sections.c: Likewise.
8541         * config/nvptx/sem.c: Likewise.
8542         * config/nvptx/single.c: Likewise.
8543         * config/nvptx/splay-tree.c: Likewise.
8544         * config/nvptx/target.c: Likewise.
8545         * config/nvptx/task.c: Likewise.
8546         * config/nvptx/team.c: Likewise.
8547         * config/nvptx/time.c: Likewise.
8548         * config/nvptx/work.c: Likewise.
8549         * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
8550         * configure: Regenerate.
8551         * configure.tgt (config_path): Set to "nvptx" for target
8552         nvptx*-*-*.
8554 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
8556         * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
8558 2015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
8560         * plugin/plugin-nvptx.c: Don't include dlfcn.h.
8561         (cuda_errlist): Constify.
8562         (errmsg):  Move into ...
8563         (cuda_error): ... here.  Make smaller.
8564         (_XSTR, _STR): Delete.
8565         (cuda_synames): Delete.
8566         (verify_device_library): Delete.
8567         (nvptx_init): Don't call it.
8569 2015-07-28  Tom de Vries  <tom@codesourcery.com>
8571         * testsuite/libgomp.c/uns-outer-4.c: New test.
8573 2015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
8575         * testsuite/libgomp.c/pr66714.c: New test.
8577 2015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
8579         PR libgomp/66950
8580         * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
8581         (fib_ref): New function.
8582         (fib): Correct corner cases in the recursion.
8583         (main): Replace the non-simd loop with fib_ref call.
8584         * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
8585         subroutine.
8586         (fibonacci): Lower the parameter N to 30.  Correct accordingly check
8587         for the last array element value.  Replace the non-simd loop with
8588         fib_ref call.  Remove redundant b_ref array.  Remove the comparison
8589         of the last array element with according Fibonacci sequence element.
8590         (fib): Correct corner cases in the recursion.
8592 2015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
8594         * target.c (gomp_offload_image_to_device): Rename to ...
8595         (gomp_load_image_to_device): ... here.
8596         (GOMP_offload_register): Adjust call.
8597         (gomp_init_device): Likewise.
8598         (gomp_unload_image_from_device): New.  Broken out of ...
8599         (GOMP_offload_unregister): ... here.  Call it.
8600         (gomp_unload_device): New.
8601         * libgomp.h (gomp_unload_device): Declare.
8602         * oacc-init.c (acc_shutdown_1): Unload from device before deleting
8603         mem maps.
8605 2015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
8607         * oacc-parallel.c (GOACC_parallel): Move variadic handling into
8608         wait=-specific if.
8609         (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
8610         !=0 condition.
8611         (goacc_waits): Move !num_waits handling to ...
8612         (GOACC_wait): ... here, the only caller that might have zero waits.
8614         * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
8615         (struct ptx_image_data): Move earlier, add fns field.
8616         (struct ptx_device): Add images and image_lock fields.
8617         (ptx_images, ptx_image_lock): Delete.
8618         (nvptx_open_device): Initialize images and image_lock fields.
8619         (nvptx_close_device): Destroy image_lock.
8620         (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
8621         (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
8622         fields.
8624 2015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
8626         * target.c (GOMP_offload_register): Use int for device type arg.
8627         (GOMP_offload_unregister): Likewise.
8629         * target.c (struct_offload_image_descr): Constify host_table.
8630         (gomp_offload_image_to_device): Likewise.
8631         (GOMP_offload_register, GOMP_offload_unregister): Likewise.
8633         * libgomp.h (gomp_device_descr): Constify target data arguments.
8634         * target.c (struct offload_image_descr): Constify target_data.
8635         (gomp_offload_image_to_device): Likewise.
8636         (GOMP_offload_register): Likewise.
8637         (GOMP_offload_unregister): Likewise.
8638         * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
8639         GOMP_OFFLOAD_unload_image): Constify target data.
8640         * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
8641         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
8643 2015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
8645         * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
8646         Workaround driver library const error.
8647         (struct nvptx_tdata, nvptx_tdata_t): New.
8648         (GOMP_OFFLOAD_load_image): Use struct for target_data's real
8649         type.
8651 2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
8653         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
8654         of EPS parameter from integer to real.
8655         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
8656         type of EPS parameter from integer to real.
8658 2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8660         * team.c (get_last_team): New.
8661         (gomp_new_team): Recycle last non-nested team if possible.
8662         (gomp_team_end): Move team work share list free lock destruction
8663         to ...
8664         (free_team): ... here.
8666 2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
8668         * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
8669         and ref from int to double.  Replaced their comparison with
8670         an inequality of their difference and EPS.
8671         * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
8672         comparison of pri and a reference number with an inequality of their
8673         difference and EPS.
8674         * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
8675         the comparison of sum and sum_ref with an inequality of their
8676         difference and EPS.
8677         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
8678         the comparison of pri and a reference number with an inequality of
8679         their difference and EPS.
8681 2015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
8683         * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
8684         * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
8685         * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
8686         * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
8687         * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
8688         * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
8689         * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
8690         * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
8691         * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
8692         * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
8693         * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
8694         * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
8695         (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
8696         variables.
8697         (vec_mult): Likewise.  Add #pragma omp taskwait.
8698         (main): Adjust caller.
8699         * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
8700         * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
8701         * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
8702         * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
8703         * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
8704         * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
8705         * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
8706         * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
8707         * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
8708         * testsuite/libgomp.c/examples-4/device-1.c: ...this.
8709         * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
8710         * testsuite/libgomp.c/examples-4/device-2.c: ...this.
8711         * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
8712         * testsuite/libgomp.c/examples-4/device-3.c: ...this.
8713         * testsuite/libgomp.c/examples-4/simd-1.c: New file.
8714         * testsuite/libgomp.c/examples-4/simd-2.c: New file.
8715         * testsuite/libgomp.c/examples-4/simd-3.c: New file.
8716         * testsuite/libgomp.c/examples-4/simd-4.c: New file.
8717         * testsuite/libgomp.c/examples-4/simd-5.c: New file.
8718         * testsuite/libgomp.c/examples-4/simd-6.c: New file.
8719         * testsuite/libgomp.c/examples-4/simd-7.c: New file.
8720         * testsuite/libgomp.c/examples-4/simd-8.c: New file.
8721         * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
8722         * testsuite/libgomp.c/examples-4/target-1.c: ...this.
8723         * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
8724         * testsuite/libgomp.c/examples-4/target-2.c: ...this.
8725         * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
8726         * testsuite/libgomp.c/examples-4/target-3.c: ...this.
8727         * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
8728         * testsuite/libgomp.c/examples-4/target-4.c: ...this.
8729         * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
8730         * testsuite/libgomp.c/examples-4/target-5.c: ...this.
8731         * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
8732         * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
8733         * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
8734         * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
8735         * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
8736         * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
8737         * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
8738         * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
8739         * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
8740         * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
8741         * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
8742         * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
8743         * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
8744         * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
8745         * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
8746         * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
8747         * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
8748         * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
8749         * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
8750         * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
8751         * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
8752         * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
8753         * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
8754         * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
8755         * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
8756         * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
8757         * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
8758         * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
8759         * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
8760         * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
8761         * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
8762         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
8763         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
8764         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
8765         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
8766         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
8767         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
8768         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
8769         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
8770         (vec_mult): Add !$omp taskwait.
8771         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
8772         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
8773         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
8774         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
8775         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
8776         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
8777         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
8778         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
8779         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
8780         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
8781         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
8782         * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
8783         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
8784         * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
8785         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
8786         * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
8787         * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
8788         * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
8789         * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
8790         * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
8791         * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
8792         * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
8793         * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
8794         * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
8795         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
8796         * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
8797         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
8798         * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
8799         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
8800         * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
8801         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
8802         * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
8803         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
8804         * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
8805         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
8806         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
8807         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
8808         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
8809         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
8810         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
8811         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
8812         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
8813         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
8814         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
8815         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
8816         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
8817         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
8818         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
8819         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
8820         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
8821         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
8822         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
8823         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
8824         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
8825         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
8826         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
8827         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
8828         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
8829         * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
8830         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
8831         * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
8832         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
8833         * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
8834         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
8835         * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
8836         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
8837         * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
8839 2015-07-10  Tom de Vries  <tom@codesourcery.com>
8841         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
8842         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
8844 2015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
8846         PR libgomp/65099
8847         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
8848         in a 64-bit configuration.
8849         * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
8850         offloading testing if no such device is available.
8851         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8852         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8854 2015-07-08  Tom de Vries  <tom@codesourcery.com>
8856         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
8857         second call to f.
8858         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8860 2015-07-07  Tom de Vries  <tom@codesourcery.com>
8862         PR tree-optimization/66642
8863         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
8864         iteration count case.
8865         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
8866         function, factor out of ...
8867         (main): ... here.  Test low iteration count case.
8869 2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
8871         * libgomp.h (gomp_thread_pool): Comment last_team field.
8873 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
8875         * testsuite/libgomp.c++/pr66702-1.C: Require
8876         vect_simd_clones effective target.
8877         * testsuite/libgomp.c++/pr66702-2.C: Ditto.
8879 2015-06-30  Tom de Vries  <tom@codesourcery.com>
8881         * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8882         already set.  Use DEFAULT_CFLAGS in dg-runtest.
8883         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
8884         "-O2".
8886 2015-06-30  Tom de Vries  <tom@codesourcery.com>
8888         * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
8889         already set.  Use DEFAULT_CFLAGS in dg-runtest.
8890         * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
8891         * testsuite/libgomp.c++/pr64824.C: Same.
8892         * testsuite/libgomp.c++/pr64868.C: Same.
8893         * testsuite/libgomp.c++/pr66199-1.C: Same.
8894         * testsuite/libgomp.c++/pr66199-2.C: Same.
8895         * testsuite/libgomp.c++/target-2.C: Same.
8896         * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
8897         -std=<standard> option.
8898         * testsuite/libgomp.c++/udr-11.C: Same.
8899         * testsuite/libgomp.c++/udr-12.C: Same.
8900         * testsuite/libgomp.c++/udr-13.C: Same.
8901         * testsuite/libgomp.c++/udr-14.C: Same.
8902         * testsuite/libgomp.c++/udr-15.C: Same.
8903         * testsuite/libgomp.c++/udr-16.C: Same.
8904         * testsuite/libgomp.c++/udr-17.C: Same.
8905         * testsuite/libgomp.c++/udr-18.C: Same.
8906         * testsuite/libgomp.c++/udr-19.C: Same.
8907         * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
8908         * testsuite/libgomp.c++/simd-1.C: Same.
8909         * testsuite/libgomp.c++/simd-2.C: Same.
8910         * testsuite/libgomp.c++/simd-3.C: Same.
8911         * testsuite/libgomp.c++/simd-4.C: Same.
8912         * testsuite/libgomp.c++/simd-5.C: Same.
8913         * testsuite/libgomp.c++/simd-6.C: Same.
8914         * testsuite/libgomp.c++/simd-7.C: Same.
8915         * testsuite/libgomp.c++/simd-8.C: Same.
8916         * testsuite/libgomp.c++/simd-9.C: Same.
8917         * testsuite/libgomp.c++/simd10.C: Same.
8918         * testsuite/libgomp.c++/simd11.C: Same.
8919         * testsuite/libgomp.c++/simd12.C: Same.
8920         * testsuite/libgomp.c++/simd13.C: Same.
8922 2015-06-30  Jakub Jelinek  <jakub@redhat.com>
8924         PR middle-end/66702
8925         * testsuite/libgomp.c++/pr66702-1.C: New test.
8926         * testsuite/libgomp.c++/pr66702-2.C: New test.
8928 2015-06-30  Tom de Vries  <tom@codesourcery.com>
8930         * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
8931         * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
8932         * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
8933         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
8935 2015-06-30  Tom de Vries  <tom@codesourcery.com>
8937         PR tree-optimization/66652
8938         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
8939         using restrict pointers.
8940         (main): Add arguments to calls to f.
8941         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8943 2015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
8945         * configure.ac: Fix check for header <sys/sysctl.h>.
8946         * configure: Regenerate.
8947         * config.h.in: Likewise.
8949 2015-06-23  Tom de Vries  <tom@codesourcery.com>
8951         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
8952         abort.
8953         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
8955 2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
8957         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
8958         acc_device_nvidia.
8960         PR libgomp/66518
8961         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
8962         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8964 2015-06-15  Tom de Vries  <tom@codesourcery.com>
8966         * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
8967         dg-additional-options for any remaining options.
8968         * testsuite/libgomp.c/atomic-2.c: Same.
8969         * testsuite/libgomp.c/atomic-4.c: Same.
8970         * testsuite/libgomp.c/atomic-5.c: Same.
8971         * testsuite/libgomp.c/atomic-6.c: Same.
8972         * testsuite/libgomp.c/autopar-1.c: Same.
8973         * testsuite/libgomp.c/copyin-1.c: Same.
8974         * testsuite/libgomp.c/copyin-2.c: Same.
8975         * testsuite/libgomp.c/copyin-3.c: Same.
8976         * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
8977         * testsuite/libgomp.c/nestedfn-5.c: Same.
8978         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
8979         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
8980         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
8981         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
8982         * testsuite/libgomp.c/pr32362-1.c: Same.
8983         * testsuite/libgomp.c/pr32362-2.c: Same.
8984         * testsuite/libgomp.c/pr32362-3.c: Same.
8985         * testsuite/libgomp.c/pr39591-1.c: Same.
8986         * testsuite/libgomp.c/pr39591-2.c: Same.
8987         * testsuite/libgomp.c/pr39591-3.c: Same.
8988         * testsuite/libgomp.c/pr58392.c: Same.
8989         * testsuite/libgomp.c/pr58756.c: Same.
8990         * testsuite/libgomp.c/simd-1.c: Same.
8991         * testsuite/libgomp.c/simd-10.c: Same.
8992         * testsuite/libgomp.c/simd-11.c: Same.
8993         * testsuite/libgomp.c/simd-12.c: Same.
8994         * testsuite/libgomp.c/simd-13.c: Same.
8995         * testsuite/libgomp.c/simd-14.c: Same.
8996         * testsuite/libgomp.c/simd-15.c: Same.
8997         * testsuite/libgomp.c/simd-2.c: Same.
8998         * testsuite/libgomp.c/simd-3.c: Same.
8999         * testsuite/libgomp.c/simd-4.c: Same.
9000         * testsuite/libgomp.c/simd-5.c: Same.
9001         * testsuite/libgomp.c/simd-6.c: Same.
9002         * testsuite/libgomp.c/simd-7.c: Same.
9003         * testsuite/libgomp.c/simd-8.c: Same.
9004         * testsuite/libgomp.c/simd-9.c: Same.
9006 2015-06-15  Tom de Vries  <tom@codesourcery.com>
9008         * testsuite/libgomp.c/pr35625.c: Fix typo.
9010 2015-06-15  Tom de Vries  <tom@codesourcery.com>
9012         * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
9013         in dg-options.
9014         * testsuite/libgomp.c/atomic-3.c: Same.
9015         * testsuite/libgomp.c/debug-1.c: Same.
9016         * testsuite/libgomp.c/nqueens-1.c: Same.
9017         * testsuite/libgomp.c/pr26171.c: Same.
9018         * testsuite/libgomp.c/pr48591.c: Same.
9019         * testsuite/libgomp.c/pr64824.c: Same.
9020         * testsuite/libgomp.c/pr64868.c: Same.
9021         * testsuite/libgomp.c/pr66133.c: Same.
9022         * testsuite/libgomp.c/pr66199-1.c: Same.
9023         * testsuite/libgomp.c/pr66199-2.c: Same.
9024         * testsuite/libgomp.c/target-8.c: Same.
9026 2015-06-15  Tom de Vries  <tom@codesourcery.com>
9028         * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
9029         -std={gnu99,c99}.
9030         * testsuite/libgomp.c/for-1.c: Same.
9031         * testsuite/libgomp.c/for-2.c: Same.
9032         * testsuite/libgomp.c/for-3.c: Same.
9033         * testsuite/libgomp.c/pr35625.c: Same.
9034         * testsuite/libgomp.c/pr39154.c: Same.
9035         * testsuite/libgomp.c/simd-16.c: Same.
9036         * testsuite/libgomp.c/simd-17.c: Same.
9038 2015-06-13  Tom de Vries  <tom@codesourcery.com>
9040         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
9042 2015-06-13  Tom de Vries  <tom@codesourcery.com>
9044         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
9045         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
9046         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
9047         (N): Define.
9048         (main): Use N instead of hardcoded constants.
9050 2015-06-05  Tom de Vries  <tom@codesourcery.com>
9052         merge from gomp4 branch:
9053         2015-05-28  Tom de Vries  <tom@codesourcery.com>
9055         PR tree-optimization/65443
9056         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
9057         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
9058         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
9060 2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
9062         * testsuite/libgomp.graphite/bounds.c: Adjust for
9063         cleanup-tree-dump removal.
9064         * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
9065         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9066         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9067         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
9068         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9069         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9070         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9071         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9072         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9073         * testsuite/libgomp.graphite/pr41118.c: Likewise.
9075 2015-05-28  Uros Bizjak  <ubizjak@gmail.com>
9077         * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
9078         (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
9079         (futex_wake) [!__x86_64__]: Ditto.
9081 2015-05-28  Julian Brown  <julian@codesourcery.com>
9083         * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
9084         function comment. Only call gomp_fatal if new argument is true.
9085         (acc_dev_num_out_of_range): New function.
9086         (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
9087         acc_dev_num_out_of_range as appropriate.
9088         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
9089         (acc_get_device_num, acc_set_device_num): Update calls to
9090         resolve_device.
9091         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
9092         output.
9094 2015-05-28  Julian Brown  <julian@codesourcery.com>
9096         PR libgomp/65742
9097         * oacc-init.c (plugin/plugin-host.h): Include.
9098         (acc_on_device): Check whether we're in an offloaded region for
9099         host_nonshm
9100         plugin. Don't use __builtin_acc_on_device.
9101         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
9102         nonshm_exec flag in thread-local data.
9103         (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
9104         data for host_nonshm plugin.
9105         (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
9106         for host_nonshm plugin.
9107         * plugin/plugin-host.h: New.
9109 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
9111         * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
9113 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
9115         * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
9116         Declare as int.
9117         (FUTEX_PRIVATE_FLAG): Remove L suffix.
9118         * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
9119         Declare as int.
9121 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
9123         * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
9125 2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
9127         * target.c (gomp_map_pointer): New function abstracting out
9128         GOMP_MAP_POINTER handling.
9129         (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
9130         gomp_map_pointer().
9132 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
9134         PR middle-end/66199
9135         * testsuite/libgomp.c/pr66199-1.c: New test.
9136         * testsuite/libgomp.c/pr66199-2.c: New test.
9137         * testsuite/libgomp.c++/pr66199-1.C: New test.
9138         * testsuite/libgomp.c++/pr66199-2.C: New test.
9139         * testsuite/libgomp.fortran/pr66199-1.f90: New test.
9140         * testsuite/libgomp.fortran/pr66199-2.f90: New test.
9142 2015-05-19  Julian Brown  <julian@codesourcery.com>
9144         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
9145         on cuInit failure.
9147 2015-05-13  Jakub Jelinek  <jakub@redhat.com>
9149         PR middle-end/66133
9150         * testsuite/libgomp.c/pr66133.c: New test.
9152 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
9154         * Makefile.in: Regenerated with automake-1.11.6.
9155         * aclocal.m4: Likewise.
9156         * config.h.in: Likewise.
9157         * configure: Likewise.
9158         * testsuite/Makefile.in: Likewise.
9160 2015-05-08  Jason Merrill  <jason@redhat.com>
9162         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
9163         _Complex.
9165         * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
9167 2015-05-06  Julian Brown  <julian@codesourcery.com>
9169         * oacc-init.c (acc_device_lock): Add explanatory comment.
9170         (resolve_device): Add comment about locking requirement.
9171         (acc_init_1, acc_shutdown_1): Likewise. Add locking around
9172         gomp_init_device and gomp_fini_device calls.
9173         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
9174         (acc_get_device_num, acc_set_device_num): Add locking around
9175         resolve_device and gomp_init_device calls.
9177 2015-05-06  Julian Brown  <julian@codesourcery.com>
9179         * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
9180         goacc_thread_lock on error paths.
9181         * oacc-mem.c (lookup_host): Remove locking from function. Note
9182         locking requirement for caller in function comment.
9183         (lookup_dev): Likewise.
9184         (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
9185         (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
9186         (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
9187         Add locking.
9189 2015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
9191         PR testsuite/65205
9192         PR libgomp/65993
9193         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
9194         don't expect "0x" prefix for "%p" format specifier, don't expect
9195         "(nil)" for NULL pointer.
9196         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9197         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9198         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9199         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9200         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9201         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9202         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9203         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9204         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9205         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9206         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9207         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9208         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9209         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9210         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9211         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9212         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9213         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9214         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9215         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9216         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9217         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9218         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9219         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9220         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9221         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9222         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9223         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9224         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
9225         accurately specify what we're looking for.
9226         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9227         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9228         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9229         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9230         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9232 2015-04-30  James Norris  <jnorris@codesourcery.com>
9234         PR testsuite/65205
9235         * testsuite/lib/libgomp.exp
9236         (check_effective_target_openacc_host_selected)
9237         (check_effective_target_openacc_host_nonshm_selected): New
9238         procedures.
9239         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
9240         dg-shouldfail.
9241         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9242         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9243         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9244         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9245         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9246         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9247         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9248         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9249         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9250         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9251         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9252         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9253         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9254         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9255         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9256         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9257         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9258         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9259         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9260         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9261         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9262         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9263         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9264         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9265         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9266         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9267         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9268         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9269         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9270         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9271         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9272         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9273         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9274         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9275         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9276         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9277         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9278         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9279         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9280         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9281         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9282         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9283         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9285 2015-04-08  Julian Brown  <julian@codesourcery.com>
9287         * libgomp.h (target_mem_desc: Remove mem_map field.
9288         (acc_dispatch_t): Remove open_device_func, close_device_func,
9289         get_device_num_func, set_device_num_func, target_data members.
9290         Change create_thread_data_func argument to device number instead of
9291         generic pointer.
9292         * oacc-async.c (assert.h): Include.
9293         (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
9294         (acc_wait_all, acc_wait_all_async): Use current host thread's
9295         active device, not base_dev.
9296         * oacc-cuda.c (acc_get_current_cuda_device)
9297         (acc_get_current_cuda_context, acc_get_cuda_stream)
9298         (acc_set_cuda_stream): Likewise.
9299         * oacc-host.c (host_dispatch): Don't set open_device_func,
9300         close_device_func, get_device_num_func or set_device_num_func.
9301         * oacc-init.c (base_dev, init_key): Remove.
9302         (cached_base_dev): New.
9303         (name_of_acc_device_t): New.
9304         (acc_init_1): Initialise default-numbered device, not zeroth.
9305         (acc_shutdown_1): Close all devices of a given type.
9306         (goacc_destroy_thread): Don't use base_dev.
9307         (lazy_open, lazy_init, lazy_init_and_open): Remove.
9308         (goacc_attach_host_thread_to_device): New.
9309         (acc_init): Reimplement with goacc_attach_host_thread_to_device.
9310         (acc_get_num_devices): Don't use base_dev.
9311         (acc_set_device_type): Reimplement.
9312         (acc_get_device_type): Don't use base_dev.
9313         (acc_get_device_num): Tweak logic.
9314         (acc_set_device_num): Likewise.
9315         (acc_on_device): Use acc_get_device_type.
9316         (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
9317         (goacc_lazy_initialize): Reimplement with acc_init and
9318         goacc_attach_host_thread_to_device.
9319         * oacc-int.h (goacc_thread): Add base_dev field.
9320         (base_dev): Remove extern declaration.
9321         (goacc_attach_host_thread_to_device): Add prototype.
9322         * oacc-mem.c (acc_malloc): Use current thread's device instead of
9323         base_dev.
9324         (acc_free): Likewise.
9325         (acc_memcpy_to_device): Likewise.
9326         (acc_memcpy_from_device): Likewise.
9327         * oacc-parallel.c (select_acc_device): Remove. Replace calls with
9328         goacc_lazy_initialize (throughout).
9329         (GOACC_parallel): Use tgt_offset to locate target functions.
9330         * target.c (gomp_map_vars): Don't set tgt->mem_map.
9331         (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
9332         (gomp_load_plugin_for_device): Remove open_device, close_device,
9333         get_device_num, set_device_num openacc hook initialisation. Don't set
9334         openacc.target_data.
9335         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
9336         (GOMP_OFFLOAD_openacc_close_device)
9337         (GOMP_OFFLOAD_openacc_get_device_num)
9338         (GOMP_OFFLOAD_openacc_set_device_num): Remove.
9339         (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
9340         to int.
9341         * plugin/plugin-nvptx.c (ptx_inited): Remove.
9342         (instantiated_devices, ptx_dev_lock): New.
9343         (struct ptx_image_data): New.
9344         (ptx_devices, ptx_images, ptx_image_lock): New.
9345         (fini_streams_for_device): Reorder cuStreamDestroy call.
9346         (nvptx_get_num_devices): Remove forward declaration.
9347         (nvptx_init): Change return type to bool.
9348         (nvptx_fini): Remove.
9349         (nvptx_attach_host_thread_to_device): New.
9350         (nvptx_open_device): Return struct ptx_device* instead of void*.
9351         (nvptx_close_device): Change argument type to struct ptx_device*,
9352         return type to void.
9353         (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
9354         (kernel_target_data, kernel_host_table): Remove static globals.
9355         (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
9356         (GOMP_OFFLOAD_init_device): Reimplement.
9357         (GOMP_OFFLOAD_fini_device): Likewise.
9358         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
9359         (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
9360         (GOMP_OFFLOAD_host2dev): Use ORD argument.
9361         (GOMP_OFFLOAD_openacc_open_device)
9362         (GOMP_OFFLOAD_openacc_close_device)
9363         (GOMP_OFFLOAD_openacc_set_device_num)
9364         (GOMP_OFFLOAD_openacc_get_device_num): Remove.
9365         (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
9366         (device number).
9368         testsuite/
9369         * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
9371 2015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
9373         * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
9374         * libgomp.h (struct gomp_memory_mapping): Remove.
9375         (struct target_mem_desc): Change type of mem_map from
9376         gomp_memory_mapping * to splay_tree_s *.
9377         (struct gomp_device_descr): Remove register_image_func, get_table_func.
9378         Add load_image_func, unload_image_func.
9379         Change type of mem_map from gomp_memory_mapping to splay_tree_s.
9380         Remove offload_regions_registered.
9381         (gomp_init_tables): Remove.
9382         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
9383         to splay_tree_s *.
9384         * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
9385         * oacc-host.c (host_dispatch): Do not initialize register_image_func,
9386         get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
9387         offload_regions_registered.
9388         Initialize load_image_func, unload_image_func, mem_map.root.
9389         (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
9390         * oacc-init.c (lazy_open): Don't call gomp_init_tables.
9391         (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
9392         * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
9393         gomp_memory_mapping *.  Use dev's lock and splay_tree.
9394         (lookup_dev): Use dev's lock.
9395         (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
9396         (acc_is_present): Likewise.
9397         (acc_map_data): Likewise.
9398         (acc_unmap_data): Likewise.  Use dev's lock.
9399         (present_create_copy): Likewise.
9400         (delete_copyout): Pass dev to lookup_host instead of mem_map.
9401         (update_dev_host): Likewise.
9402         (gomp_acc_remove_pointer): Likewise.  Use dev's lock.
9403         * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
9404         * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
9405         (GOMP_OFFLOAD_get_table): Remove
9406         (GOMP_OFFLOAD_load_image): New function.
9407         (GOMP_OFFLOAD_unload_image): New function.
9408         * target.c (register_lock): New mutex for offload image registration.
9409         (num_devices): Do not guard with PLUGIN_SUPPORT.
9410         (gomp_realloc_unlock): New static function.
9411         (gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
9412         before gomp_fatal.
9413         (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
9414         Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
9415         (gomp_copy_from_async): Use dev's lock and splay_tree instead of
9416         mem_map's.
9417         (gomp_unmap_vars): Likewise.
9418         (gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
9419         splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
9420         (gomp_offload_image_to_device): New static function.
9421         (GOMP_offload_register): Add mutex lock.
9422         Call gomp_offload_image_to_device for all initialized devices.
9423         Replace gomp_realloc with gomp_realloc_unlock.
9424         (GOMP_offload_unregister): New function.
9425         (gomp_init_tables): Replace with gomp_init_device.  Replace a call to
9426         get_table_func from the plugin with calls to init_device_func and
9427         gomp_offload_image_to_device.
9428         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
9429         to splay_tree_s *.
9430         (GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
9431         splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
9432         (GOMP_target_data): Do not call gomp_init_tables.
9433         (GOMP_target_update): Likewise.  Remove argument from gomp_update.
9434         (gomp_load_plugin_for_device): Replace register_image and get_table
9435         with load_image and unload_image in DLSYM ().
9436         (gomp_register_images_for_device): Remove function.
9437         (gomp_target_init): Do not initialize current_device.mem_map.*,
9438         current_device.offload_regions_registered.
9439         Remove call to gomp_register_images_for_device.
9440         Do not free offload_images and num_offload_images.
9442 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
9444         PR fortran/65597
9445         * testsuite/libgomp.fortran/pr65597.f90: New test.
9447 2015-03-27  Tom de Vries  <tom@codesourcery.com>
9449         PR testsuite/65594
9450         * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
9451         (init, check): New function.
9452         (foo): Change return type to void.
9453         (main): Call init and check.
9455 2015-03-27  Tom de Vries  <tom@codesourcery.com>
9457         PR testsuite/65594
9458         * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
9459         (foo): Use M for non-inner loops to scale down test-case.
9461 2015-03-25  Kai Tietz  <ktietz@redhat.com>
9463         PR libgomp/64972
9464         * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
9465         (GOACC_data_start): Likewise.
9466         * target.c (gomp_map_vars): Likewise.
9468 2015-03-21  John David Anglin  <danglin@gcc.gnu.org>
9470         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
9471         hppa*-*-hpux*.
9473 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
9475         * testsuite/libgomp.c/target-10.c: New test.
9476         * testsuite/libgomp.c++/target-4.C: New test.
9478 2015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
9480         * testsuite/libgomp.fortran/declare-target-1.f90: New test.
9481         * testsuite/libgomp.fortran/declare-target-2.f90: New file.
9483 2015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9485         * configure.tgt (*-*-rtems*): Use local-exec TLS model.
9486         * configure.ac (*-*-rtems*): Assume Pthread is supported.
9487         (pthread.h): Check for this header file.
9488         * configure: Regenerate.
9490 2015-02-25  Tom de Vries  <tom@codesourcery.com>
9492         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
9493         (check_reduction_op, check_reduction_macro, max, min):
9494         Declare.
9495         (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
9496         function.
9497         (main): Use new functions.
9499 2015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
9501         * target.c (gomp_load_plugin_for_device): Use const char * instead of
9502         char * for variables holding dlerror return values.
9503         (DLSYM_OPT): Ditto.
9505 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
9507         * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
9509 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
9510             Cesar Philippidis  <cesar@codesourcery.com>
9512         * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
9513         GOACC_ctaid, and GOACC_nctaid routines.
9515 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
9517         PR c/64824
9518         * testsuite/libgomp.c/atomic-18.c: New test.
9519         * testsuite/libgomp.c++/atomic-16.C: New test.
9521 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
9523         PR c/64824
9524         PR c/64868
9525         * testsuite/libgomp.c/pr64824.c: New test.
9526         * testsuite/libgomp.c/pr64868.c: New test.
9527         * testsuite/libgomp.c++/pr64824.C: New test.
9528         * testsuite/libgomp.c++/pr64868.C: New test.
9530 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
9532         PR libgomp/64635
9533         * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
9534         Link with -lpthread.
9535         * config/aix/plugin-suffix.h: Delete.
9537 2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
9539         PR libgomp/64635
9540         * configure.tgt (*-*-aix*): Use config_path "aix posix".
9541         (*-*-darwin*): Use config_path "bsd darwin posix".
9542         (*-*-hpux*): Use config_path "hpux posix".
9543         * target.c: Add include of plugin-suffix.h and use
9544         SONAME_SUFFIX macro.
9545         * config/aix/plugin-suffix.h: New file.
9546         * config/darwin/plugin-suffix.h: New file.
9547         * config/hpux/plugin-suffix.h: New file.
9548         * config/posix/plugin-suffix.h: New file.
9550 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
9552         PR middle-end/64734
9553         * libgomp.c/pr64734.c: New test.
9555 2015-01-23  Tom de Vries  <tom@codesourcery.com>
9557         PR libgomp/64672
9558         * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
9560 2015-01-23  Tom de Vries  <tom@codesourcery.com>
9562         PR libgomp/64707
9563         * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
9564         dg-options.
9566 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
9568         PR libgomp/64625
9569         * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
9570         (GOACC_parallel, GOACC_update): Remove const_void *offload_table
9571         formal parameter.  Update all users.
9572         * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
9573         Document unused formal parameter.
9575 2015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
9577         * oacc-parallel.c: Don't include <alloca.h>.
9578         (GOACC_parallel): Use gomp_alloca instead of alloca.
9580 2015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
9582         * target.c (num_devices): Guard with PLUGIN_SUPPORT.
9584 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
9585             James Norris  <jnorris@codesourcery.com>
9586             Tom de Vries  <tom@codesourcery.com>
9587             Julian Brown  <julian@codesourcery.com>
9588             Cesar Philippidis  <cesar@codesourcery.com>
9589             Nathan Sidwell  <nathan@codesourcery.com>
9590             Tobias Burnus  <burnus@net-b.de>
9592         * Makefile.am (search_path): Add $(top_srcdir)/../include.
9593         (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
9594         oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
9595         oacc-async.c, oacc-plugin.c, oacc-cuda.c.
9596         [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
9597         Include $(top_srcdir)/plugin/Makefrag.am.
9598         (nodist_libsubinclude_HEADERS): Add openacc.h.
9599         [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
9600         openacc.f90, openacc.mod, openacc_kinds.mod.
9601         (omp_lib.mod): Generalize into...
9602         (%.mod): ... this new rule.
9603         (openacc_kinds.mod, openacc.mod): New rules.
9604         * plugin/configfrag.ac: New file.
9605         * configure.ac: Move plugin/offloading support into it.  Include
9606         it.  Instantiate testsuite/libgomp-test-support.pt.exp.
9607         * plugin/Makefrag.am: New file.
9608         * testsuite/Makefile.am (OFFLOAD_TARGETS)
9609         (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
9610         export.
9611         (libgomp-test-support.exp): New rule.
9612         (all-local): Depend on it.
9613         * Makefile.in: Regenerate.
9614         * testsuite/Makefile.in: Regenerate.
9615         * config.h.in: Likewise.
9616         * configure: Likewise.
9617         * configure.tgt: Harden shell syntax.
9618         * env.c: Include "oacc-int.h".
9619         (parse_acc_device_type): New function.
9620         (gomp_debug_var, goacc_device_type, goacc_device_num): New
9621         variables.
9622         (initialize_env): Initialize those.  Call
9623         goacc_runtime_initialize.
9624         * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
9625         (gomp_fatal): Call gomp_vfatal.
9626         * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
9627         (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
9628         (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
9629         (splay_tree_node, splay_tree, splay_tree_key)
9630         (struct target_mem_desc, struct splay_tree_key_s)
9631         (struct gomp_memory_mapping, struct acc_dispatch_t)
9632         (struct gomp_device_descr, gomp_acc_insert_pointer)
9633         (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
9634         (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
9635         (gomp_free_memmap, gomp_fini_device): New declarations.
9636         (gomp_vdebug, gomp_debug): New macros.
9637         Include "splay-tree.h".
9638         * libgomp.map (OACC_2.0): New symbol version.  Use for
9639         acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
9640         acc_set_device_type_h_, acc_get_device_type,
9641         acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
9642         acc_get_device_num, acc_get_device_num_h_, acc_async_test,
9643         acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
9644         acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
9645         acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
9646         acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
9647         acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
9648         acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
9649         acc_copyin_array_h_, acc_present_or_copyin,
9650         acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
9651         acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
9652         acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
9653         acc_present_or_create_32_h_, acc_present_or_create_64_h_,
9654         acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
9655         acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
9656         acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
9657         acc_update_device, acc_update_device_32_h_,
9658         acc_update_device_64_h_, acc_update_device_array_h_,
9659         acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
9660         acc_update_self_array_h_, acc_map_data, acc_unmap_data,
9661         acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
9662         acc_is_present_64_h_, acc_is_present_array_h_,
9663         acc_memcpy_to_device, acc_memcpy_from_device,
9664         acc_get_current_cuda_device, acc_get_current_cuda_context,
9665         acc_get_cuda_stream, acc_set_cuda_stream.
9666         (GOACC_2.0): New symbol version.  Use for GOACC_data_end,
9667         GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
9668         GOACC_update, GOACC_wait, GOACC_get_thread_num,
9669         GOACC_get_num_threads.
9670         (GOMP_PLUGIN_1.0): New symbol version.  Use for
9671         GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
9672         GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
9673         GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
9674         GOMP_PLUGIN_acc_thread.
9675         * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
9676         environment variable.
9677         * libgomp_g.h (GOACC_data_start, GOACC_data_end)
9678         (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
9679         (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
9680         * splay-tree.h (splay_tree_lookup, splay_tree_insert)
9681         (splay_tree_remove): New declarations.
9682         (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
9683         (splay_tree_remove, splay_tree_lookup): Move into...
9684         * splay-tree.c: ... this new file.
9685         * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
9686         (splay_tree_node, splay_tree, splay_tree_key)
9687         (struct target_mem_desc, struct splay_tree_key_s)
9688         (struct gomp_device_descr): Don't declare.
9689         (num_devices_openmp): New variable.
9690         (gomp_get_num_devices ): Use it.
9691         (gomp_init_targets_once): New function.
9692         (gomp_get_num_devices ): Use it.
9693         (get_kind, gomp_copy_from_async, gomp_free_memmap)
9694         (gomp_fini_device, gomp_register_image_for_device): New functions.
9695         (gomp_map_vars): Add devaddrs parameter.
9696         (gomp_update): Add mm parameter.
9697         (gomp_init_device): Move most of it into...
9698         (gomp_init_tables): ... this new function.
9699         (gomp_register_images_for_device): Remove function.
9700         (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
9701         Make them hidden instead of static.
9702         (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
9703         (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
9704         (GOMP_target_end_data, GOMP_target_update)
9705         (gomp_load_plugin_for_device, gomp_target_init): Update for
9706         OpenACC changes.
9707         * oacc-async.c: New file.
9708         * oacc-cuda.c: Likewise.
9709         * oacc-host.c: Likewise.
9710         * oacc-init.c: Likewise.
9711         * oacc-int.h: Likewise.
9712         * oacc-mem.c: Likewise.
9713         * oacc-parallel.c: Likewise.
9714         * oacc-plugin.c: Likewise.
9715         * oacc-plugin.h: Likewise.
9716         * oacc-ptx.h: Likewise.
9717         * openacc.f90: Likewise.
9718         * openacc.h: Likewise.
9719         * openacc_lib.h: Likewise.
9720         * plugin/plugin-host.c: Likewise.
9721         * plugin/plugin-nvptx.c: Likewise.
9722         * libgomp-plugin.c: Likewise.
9723         * libgomp-plugin.h: Likewise.
9724         * libgomp_target.h: Remove file after merging content into the
9725         former file.  Update all users.
9726         * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
9727         (offload_targets_s, offload_targets_s_openacc): New variables.
9728         (check_effective_target_openacc_nvidia_accel_present)
9729         (check_effective_target_openacc_nvidia_accel_selected): New
9730         procedures.
9731         (libgomp_init): Update for OpenACC changes.
9732         * testsuite/libgomp-test-support.exp.in: New file.
9733         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9734         * testsuite/libgomp.oacc-c/c.exp: Likewise.
9735         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9736         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
9737         * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
9738         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
9739         * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
9740         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
9741         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9742         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
9743         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
9744         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
9745         * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
9746         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9747         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
9748         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9749         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
9750         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
9751         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
9752         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
9753         * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
9754         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9755         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9756         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
9757         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9758         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9759         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9760         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9761         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9762         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9763         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9764         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9765         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9766         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
9767         * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
9768         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
9769         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
9770         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
9771         * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
9772         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
9773         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9774         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9775         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9776         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9777         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9778         * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
9779         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
9780         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9781         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9782         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9783         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9784         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9785         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9786         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
9787         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
9788         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9789         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9790         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
9791         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9792         * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
9793         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
9794         * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
9795         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9796         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
9797         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
9798         * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
9799         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
9800         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
9801         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
9802         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
9803         * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
9804         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9805         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9806         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9807         * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
9808         * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
9809         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9810         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9811         * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
9812         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
9813         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
9814         * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
9815         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9816         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9817         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9818         * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
9819         * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
9820         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
9821         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
9822         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
9823         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
9824         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
9825         * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
9826         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
9827         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
9828         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
9829         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
9830         * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
9831         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
9832         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
9833         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
9834         * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
9835         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
9836         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
9837         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
9838         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
9839         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
9840         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
9841         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
9842         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
9843         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
9844         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9845         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
9846         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
9847         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
9848         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
9849         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
9850         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9851         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
9852         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
9853         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
9854         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
9855         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
9856         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
9857         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
9858         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
9859         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
9860         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
9861         * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
9862         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
9863         * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
9864         * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
9865         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
9866         * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
9867         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
9868         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9869         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9870         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9871         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9872         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
9873         Likewise.
9874         * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
9875         * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
9876         * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
9877         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9878         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
9879         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
9880         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
9881         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
9882         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
9883         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
9884         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9885         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9886         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9887         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
9888         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
9889         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
9890         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
9891         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
9892         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
9893         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
9894         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
9895         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9896         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9897         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
9898         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
9899         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
9900         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9901         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9902         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9903         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9904         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9905         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9906         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9907         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9908         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
9909         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
9910         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
9911         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
9912         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
9913         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
9914         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
9915         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
9916         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
9917         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
9918         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
9919         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
9920         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
9921         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
9922         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
9923         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9924         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9925         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9926         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9927         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9928         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
9929         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
9930         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
9931         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
9932         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
9933         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
9935 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
9936             Julian Brown  <julian@codesourcery.com>
9937             David Malcolm  <dmalcolm@redhat.com>
9939         * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
9940         to "GNU Offloading and Multi Processing Runtime Library".  Change
9941         all users.
9942         * configure: Regenerate.
9943         * libgomp.texi: Update.
9945 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
9947         * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
9948         "$tgt_dir/lib32".
9949         * configure: Regenerate.
9951         * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
9952         "intelmic" in $offload_targets.
9954 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
9956         Update copyright years.
9958         * libgomp.texi: Bump @copying's copyright year.
9960 2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
9962         * testsuite/lib/libgomp.exp: Load target-utils.exp.
9963         Move load of target-supports.exp earlier.
9965 2014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
9967         * testsuite/libgomp.c/target-9.c: New test.
9969 2014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
9971         * config.h.in: Regenerate.
9972         * configure: Regenerate.
9973         * configure.ac: Add GCC_CHECK_EMUTLS.
9974         * libgomp.h: Add check for USE_EMUTLS: this case
9975         is equal to HAVE_TLS.
9976         * team.c: Likewise.
9978 2014-12-03  Uros Bizjak  <ubizjak@gmail.com>
9980         * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
9982 2014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
9983             Ilya Verbin  <ilya.verbin@intel.com>
9985         * testsuite/libgomp.c/target-critical-1.c: New test.
9987 2014-11-26  Jakub Jelinek  <jakub@redhat.com>
9989         * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
9990         to dg-options unless expensive testing is on.
9991         (TESTITERS): Define to N if not defined.
9992         (main): Use TESTITERS instead of N.
9993         * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
9994         dg-additional-options depending on whether expensive testing is on.
9995         * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
9996         Decrease N to 100000 and CHUNKSZ to 10000.
9998 2014-11-24  Jakub Jelinek  <jakub@redhat.com>
10000         PR fortran/63938
10001         * testsuite/libgomp.fortran/pr63938-1.f90: New test.
10002         * testsuite/libgomp.fortran/pr63938-2.f90: New test.
10004 2014-11-21  Steve Ellcey  <sellcey@imgtec.com>
10006         * config/linux/mips/futex.h (SYS_futex): Define if not already done.
10008 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
10010         PR bootstrap/63784
10011         * configure: Regenerated.
10013 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
10015         * testsuite/libgomp.c/examples-4/e.53.5.c: Require
10016         vect_simd_clones effective target.
10017         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
10019 2014-11-14  Jakub Jelinek  <jakub@redhat.com>
10021         * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
10022         of 32 as block_size.
10023         * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
10024         instead of 32 as block_size.
10026 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
10027             Ilya Verbin  <ilya.verbin@intel.com>
10029         * Makefile.in: Regenerate.
10030         * configure: Regenerate.
10031         * configure.ac: Set up offload_additional_options,
10032         offload_additional_lib_paths and offload_targets.
10033         * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
10034         OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
10035         * testsuite/Makefile.in: Regenerate.
10036         * testsuite/lib/libgomp.exp (libgomp_init): Append
10037         offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
10038         offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
10039         build directory to LD_LIBRARY_PATH for intelmic offload targets.
10041 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
10042             Ilya Verbin  <ilya.verbin@intel.com>
10043             Kirill Yukhin  <kirill.yukhin@intel.com>
10044             Ilya Tocar  <ilya.tocar@intel.com>
10046         * testsuite/lib/libgomp.exp
10047         (check_effective_target_offload_device): New.
10048         * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
10049         * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
10050         * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
10051         * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
10052         * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
10053         * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
10054         * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
10055         * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
10056         * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
10057         * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
10058         * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
10059         * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
10060         * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
10061         * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
10062         * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
10063         * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
10064         * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
10065         * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
10066         * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
10067         * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
10068         * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
10069         * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
10070         * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
10071         * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
10072         * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
10073         * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
10074         * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
10075         * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
10076         * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
10077         * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
10078         * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
10079         * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
10080         * testsuite/libgomp.c/target-7.c: Fix test.
10081         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
10082         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
10083         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
10084         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
10085         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
10086         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
10087         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
10088         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
10089         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
10090         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
10091         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
10092         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
10093         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
10094         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
10095         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
10096         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
10097         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
10098         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
10099         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
10100         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
10101         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
10102         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
10103         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
10104         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
10105         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
10106         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
10107         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
10108         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
10109         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
10110         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
10111         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
10113 2014-11-13  Jakub Jelinek  <jakub@redhat.com>
10114             Ilya Verbin  <ilya.verbin@intel.com>
10115             Thomas Schwinge  <thomas@codesourcery.com>
10116             Andrey Turetskiy  <andrey.turetskiy@intel.com>
10118         * libgomp.map (GOMP_4.0.1): New symbol version.
10119         Add GOMP_offload_register.
10120         * libgomp_target.h: New file.
10121         * splay-tree.h: New file.
10122         * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
10123         (gomp_target_init): New forward declaration.
10124         (gomp_is_initialized): New static variable.
10125         (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
10126         (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
10127         New structures.
10128         (offload_images, num_offload_images, devices, num_devices): New static
10129         variables.
10130         (splay_compare): New static function.
10131         (struct gomp_device_descr): New structure.
10132         (gomp_get_num_devices): Call gomp_target_init.
10133         (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
10134         (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
10135         (GOMP_offload_register): New function.
10136         (GOMP_target): Arrange for host callback to be performed in a separate
10137         initial thread and contention group, inheriting ICVs from
10138         gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
10139         Add device initialization and lookup for target function in splay tree.
10140         (GOMP_target_data): Add device initialization and call gomp_map_vars.
10141         (GOMP_target_end_data): Call gomp_unmap_vars.
10142         (GOMP_target_update): Add device initialization and call gomp_update.
10143         (gomp_load_plugin_for_device, gomp_register_images_for_device)
10144         (gomp_target_init): New static functions.
10146 2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
10147             Thomas Schwinge  <thomas@codesourcery.com>
10148             Ilya Verbin  <ilya.verbin@intel.com>
10149             Andrey Turetskiy  <andrey.turetskiy@intel.com>
10151         * config.h.in: Regenerate.
10152         * configure: Regenerate.
10153         * configure.ac: Check for libdl, required for plugin support.
10154         (PLUGIN_SUPPORT): Define if plugins are supported.
10155         (enable_offload_targets): Support Intel MIC targets.
10156         (OFFLOAD_TARGETS): List of target names suitable for offloading.
10158 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
10160         PR target/63610
10161         * configure: Regenerate.
10163 2014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
10165         * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
10167 2014-10-06  Marek Polacek  <polacek@redhat.com>
10169         * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
10170         * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
10171         * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
10172         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
10174 2014-10-06  Marek Polacek  <polacek@redhat.com>
10176         * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
10177         * testsuite/libgomp.c/nqueens-1.c: Likewise.
10178         * testsuite/libgomp.c/pr26943-3.c: Likewise.
10179         * testsuite/libgomp.c/pr26943-4.c: Likewise.
10180         * testsuite/libgomp.c/pr36802-2.c: Likewise.
10181         * testsuite/libgomp.c/pr36802-3.c: Likewise.
10182         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
10183         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
10184         * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
10185         * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
10186         * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
10187         * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
10188         * testsuite/libgomp.c/omp-single-1.c: Likewise.
10189         * testsuite/libgomp.c/omp-single-2.c: Likewise.
10190         * testsuite/libgomp.c/omp_matvec.c: Likewise.
10191         * testsuite/libgomp.c/omp_workshare3.c: Likewise.
10192         * testsuite/libgomp.c/omp_workshare4.c: Likewise.
10193         * testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
10194         declarations.
10196 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
10198         PR libgomp/61200
10199         * testsuite/libgomp.c/pr61200.c: New test.
10201 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
10203         PR c++/63248
10204         * testsuite/libgomp.c++/pr63248.C: New test.
10206 2014-08-04  Jakub Jelinek  <jakub@redhat.com>
10208         * task.c (GOMP_taskgroup_end): If taskgroup->num_children
10209         is not zero, but taskgroup->children is NULL and there are
10210         any task->children, schedule those instead of waiting.
10211         * testsuite/libgomp.c/depend-6.c: New test.
10212         * testsuite/libgomp.c/depend-7.c: New test.
10213         * testsuite/libgomp.c/depend-8.c: New test.
10214         * testsuite/libgomp.c/depend-9.c: New test.
10215         * testsuite/libgomp.c/depend-10.c: New test.
10217 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
10219         * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
10220         (struct gomp_taskwait): New type.
10221         (struct gomp_task): Add taskwait and parent_depends_on, remove
10222         in_taskwait and taskwait_sem fields.
10223         (gomp_finish_task): Don't destroy taskwait_sem.
10224         * task.c (gomp_init_task): Don't init in_taskwait, instead init
10225         taskwait and parent_depends_on.
10226         (GOMP_task): For if (0) tasks with depend clause that depend on
10227         earlier tasks don't defer them, instead call
10228         gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
10229         Initialize redundant_out field, for redundant out entries just
10230         move them at the end of linked list instead of removing them
10231         completely, and set redundant_out flag instead of redundant.
10232         (gomp_task_run_pre): Update last_parent_depends_on if scheduling
10233         that task.
10234         (gomp_task_run_post_handle_dependers): If parent is in
10235         gomp_task_maybe_wait_for_dependencies and newly runnable task
10236         is not parent_depends_on, queue it in parent->children linked
10237         list after all runnable tasks with parent_depends_on set.
10238         Adjust for addition of taskwait indirection.
10239         (gomp_task_run_post_remove_parent): If parent is in
10240         gomp_task_maybe_wait_for_dependencies and task to be removed
10241         is parent_depends_on, decrement n_depend and if needed awake
10242         parent.  Adjust for addition of taskwait indirection.
10243         (GOMP_taskwait): Adjust for addition of taskwait indirection.
10244         (gomp_task_maybe_wait_for_dependencies): New function.
10245         * testsuite/libgomp.c/depend-5.c: New test.
10247 2014-07-13  Tobias Burnus  <burnus@net-b.de>
10249         * testsuite/libgomp.fortran/pr34020.f90: Make compile
10250         with TS 18508/Fortran 2015.
10252 2014-07-06  Marek Polacek  <polacek@redhat.com>
10254         PR c/6940
10255         * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
10257 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
10259         * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
10260         matches regex $lang_source_re, add $lang_include_flags to options.
10261         * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
10262         * testsuite/libgomp.c++/c++.exp: Likewise.
10263         * testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
10264         and lang_include_flags instead of adding -fintrinsic-modules-path= to
10265         ALWAYS_CFLAGS.
10266         * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
10268 2014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
10270         * testsuite/libgomp.fortran/fortran.exp: Explain
10271         gfortran-dg-runtest usage.
10273 2014-06-25  Jakub Jelinek  <jakub@redhat.com>
10275         * testsuite/libgomp.fortran/simd5.f90: New test.
10276         * testsuite/libgomp.fortran/simd6.f90: New test.
10277         * testsuite/libgomp.fortran/simd7.f90: New test.
10279 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
10281         * testsuite/libgomp.c/for-2.c: Define SC to static for
10282         #pragma omp for simd testing.
10283         * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
10284         (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
10285         SC macro.
10286         * testsuite/libgomp.c/simd-14.c: New test.
10287         * testsuite/libgomp.c/simd-15.c: New test.
10288         * testsuite/libgomp.c/simd-16.c: New test.
10289         * testsuite/libgomp.c/simd-17.c: New test.
10290         * testsuite/libgomp.c++/for-10.C: Define SC to static for
10291         #pragma omp for simd testing.
10292         * testsuite/libgomp.c++/simd10.C: New test.
10293         * testsuite/libgomp.c++/simd11.C: New test.
10294         * testsuite/libgomp.c++/simd12.C: New test.
10295         * testsuite/libgomp.c++/simd13.C: New test.
10297         * testsuite/libgomp.fortran/aligned1.f03: New test.
10298         * testsuite/libgomp.fortran/nestedfn5.f90: New test.
10299         * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
10300         tasks with !$omp parallel !$omp single.
10301         * testsuite/libgomp.fortran/target8.f90: New test.
10302         * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
10303         not to use trim in the combiner, instead call elemental function.
10304         (fn): New elemental function.
10305         * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
10306         Make elemental.
10307         * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
10308         omp_in): Likewise.
10309         * testsuite/libgomp.fortran/udr12.f90: New test.
10310         * testsuite/libgomp.fortran/udr13.f90: New test.
10311         * testsuite/libgomp.fortran/udr14.f90: New test.
10312         * testsuite/libgomp.fortran/udr15.f90: New test.
10314 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
10316         * omp_lib.f90.in (openmp_version): Set to 201307.
10317         * omp_lib.h.in (openmp_version): Likewise.
10318         * testsuite/libgomp.c/target-8.c: New test.
10319         * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
10320         and inbranch clauses.
10321         * testsuite/libgomp.fortran/depend-3.f90: New test.
10322         * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
10323         openmp_version.
10324         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10325         * testsuite/libgomp.fortran/target1.f90: New test.
10326         * testsuite/libgomp.fortran/target2.f90: New test.
10327         * testsuite/libgomp.fortran/target3.f90: New test.
10328         * testsuite/libgomp.fortran/target4.f90: New test.
10329         * testsuite/libgomp.fortran/target5.f90: New test.
10330         * testsuite/libgomp.fortran/target6.f90: New test.
10331         * testsuite/libgomp.fortran/target7.f90: New test.
10333 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
10335         PR fortran/60928
10336         * testsuite/libgomp.fortran/allocatable9.f90: New test.
10337         * testsuite/libgomp.fortran/allocatable10.f90: New test.
10338         * testsuite/libgomp.fortran/allocatable11.f90: New test.
10339         * testsuite/libgomp.fortran/allocatable12.f90: New test.
10340         * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
10341         * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
10342         * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
10343         * testsuite/libgomp.fortran/associate1.f90: New test.
10344         * testsuite/libgomp.fortran/associate2.f90: New test.
10345         * testsuite/libgomp.fortran/procptr1.f90: New test.
10347 2014-06-06  Jakub Jelinek  <jakub@redhat.com>
10349         * testsuite/libgomp.fortran/simd1.f90: New test.
10350         * testsuite/libgomp.fortran/udr1.f90: New test.
10351         * testsuite/libgomp.fortran/udr2.f90: New test.
10352         * testsuite/libgomp.fortran/udr3.f90: New test.
10353         * testsuite/libgomp.fortran/udr4.f90: New test.
10354         * testsuite/libgomp.fortran/udr5.f90: New test.
10355         * testsuite/libgomp.fortran/udr6.f90: New test.
10356         * testsuite/libgomp.fortran/udr7.f90: New test.
10357         * testsuite/libgomp.fortran/udr8.f90: New test.
10358         * testsuite/libgomp.fortran/udr9.f90: New test.
10359         * testsuite/libgomp.fortran/udr10.f90: New test.
10360         * testsuite/libgomp.fortran/udr11.f90: New test.
10362 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
10364         * testsuite/libgomp.fortran/declare-simd-1.f90: Require
10365         vect_simd_clones effective target.
10366         * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
10368 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
10370         PR middle-end/61252
10371         * testsuite/libgomp.c++/simd-9.C: New test.
10373 2014-05-18  Uros Bizjak  <ubizjak@gmail.com>
10375         * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
10376         (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
10377         texts according to their @menu entry positions.
10379 2014-05-11  Jakub Jelinek  <jakub@redhat.com>
10381         * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
10382         * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
10383         * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
10384         * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
10385         * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
10386         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
10387         * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
10388         * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
10389         * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
10390         * testsuite/libgomp.fortran/depend-1.f90: New test.
10391         * testsuite/libgomp.fortran/depend-2.f90: New test.
10392         * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
10393         * testsuite/libgomp.fortran/simd1.f90: New test.
10394         * testsuite/libgomp.fortran/simd2.f90: New test.
10395         * testsuite/libgomp.fortran/simd3.f90: New test.
10396         * testsuite/libgomp.fortran/simd4.f90: New test.
10397         * testsuite/libgomp.fortran/taskgroup1.f90: New test.
10399 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
10401         * testsuite/libgomp.c/simd-10.c: New test.
10402         * testsuite/libgomp.c/simd-11.c: New test.
10403         * testsuite/libgomp.c/simd-12.c: New test.
10404         * testsuite/libgomp.c/simd-13.c: New test.
10406 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
10408         * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
10409         atomic type clauses in any order and optional comma in between.
10410         * testsuite/libgomp.c++/atomic-15.C: Likewise.
10411         * testsuite/libgomp.c/atomic-17.c: Likewise.
10413         * testsuite/libgomp.c/simd-7.c: New test.
10414         * testsuite/libgomp.c/simd-8.c: New test.
10415         * testsuite/libgomp.c/simd-9.c: New test.
10416         * testsuite/libgomp.c/loop-16.c: New test.
10418 2014-04-02  Richard Henderson  <rth@redhat.com>
10420         * config/linux/futex.h (futex_wait): Get error value from errno.
10421         (futex_wake): Likewise.
10423 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
10425         PR c++/60331
10426         * testsuite/libgomp.c++/udr-11.C: New test.
10427         * testsuite/libgomp.c++/udr-12.C: New test.
10428         * testsuite/libgomp.c++/udr-13.C: New test.
10429         * testsuite/libgomp.c++/udr-14.C: New test.
10430         * testsuite/libgomp.c++/udr-15.C: New test.
10431         * testsuite/libgomp.c++/udr-16.C: New test.
10432         * testsuite/libgomp.c++/udr-17.C: New test.
10433         * testsuite/libgomp.c++/udr-18.C: New test.
10434         * testsuite/libgomp.c++/udr-19.C: New test.
10436 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
10438         Update copyright years
10440 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
10442         * hashtab.h: Use the standard form for the copyright notice.
10444 2014-01-02  Tobias Burnus  <burnus@net-b.de>
10446         * libgomp.texi: Bump @copying's copyright year.
10448 2013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
10450         * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
10451         alloca () with __builtin_alloca ().
10452         * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
10453         * testsuite/libgomp.c/lock-3.c: Likewise.
10454         * testsuite/libgomp.c/pr48591.c: Likewise.
10456 2013-12-17  Jakub Jelinek  <jakub@redhat.com>
10458         PR testsuite/59534
10459         * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
10460         comparisons.
10462 2013-12-16  Jakub Jelinek  <jakub@redhat.com>
10464         PR libgomp/58756
10465         * testsuite/libgomp.c/pr58756.c: New test.
10467 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
10469         PR libgomp/59467
10470         * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
10471         !$omp parallel.
10473 2013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
10475         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
10476         ALWAYS_CFLAGS.
10477         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
10478         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
10479         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
10480         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
10481         Likewise.
10483         * libgomp_g.h: Include <stddef.h> for size_t.
10485         * libgomp.spec.in: Update comment about libgomp's dependencies.
10486         * configure.ac: Likewise.
10487         * configure: Regenerate.
10489 2013-10-16  Tobias Burnus  <burnus@net-b.de>
10491         * libgomp.texi: (Runtime Library Routines): Update references for
10492         OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
10493         omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
10494         omp_get_team_num, omp_is_initial_device, omp_set_default_device.
10495         (Environment Variables): Update references for OpenMP 4.0. Add
10496         OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
10497         Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
10498         order.
10500 2013-10-14  Jakub Jelinek  <jakub@redhat.com>
10502         * env.c (parse_bind_var): Initialize value to avoid
10503         (false positive) warning.
10505 2013-10-12  Jakub Jelinek  <jakub@redhat.com>
10507         PR libgomp/58691
10508         * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
10509         to check variable.
10510         (gomp_init_num_threads): Move i variable declaration into
10511         #ifdef CPU_ALLOC_SIZE block.
10512         * config/linux/affinity.c (gomp_affinity_init_level): Test
10513         gomp_places_list_len == 0 rather than gomp_places_list == 0
10514         when checking for topology reading error.
10515         * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
10516         * env.c (parse_affinity): Add ignore argument, if true, don't populate
10517         gomp_places_list, only parse env var and always return false.
10518         (parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
10519         (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
10520         vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
10521         and either of these variables were parsed correctly into a places
10522         list.
10524 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
10525             Jakub Jelinek  <jakub@redhat.com>
10527         * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
10528         of 5 loopfn matches.
10529         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
10530         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
10531         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
10532         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
10533         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
10534         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
10535         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
10536         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
10538 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
10540         * Makefile.am (omp_lib.mod): Streamline rule.
10541         * Makefile.in: Regenerate.
10543         * libgomp.texi (Runtime Library Routines): C linkage, don't throw
10544         exceptions.
10546         * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
10547         * testsuite/libgomp.fortran/lib1.f90: Likewise.
10548         * testsuite/libgomp.fortran/lib2.f: Likewise.
10549         * testsuite/libgomp.fortran/lib3.f: Likewise.
10551         * configure.ac: Typo fix.
10552         * configure: Regenerate.
10554         * testsuite/libgomp.fortran/openmp_version-1.f: New file.
10555         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10557         * omp.h.in: Don't touch the user's namespace.
10559 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
10560             Tobias Burnus  <burnus@net-b.de>
10561             Richard Henderson  <rth@redhat.com>
10563         * target.c: New file.
10564         * Makefile.am (libgomp_la_SOURCES): Add target.c.
10565         * Makefile.in: Regenerated.
10566         * libgomp_g.h (GOMP_task): Add depend argument.
10567         (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10568         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10569         GOMP_target_end_data, GOMP_target_update, GOMP_teams,
10570         GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10571         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10572         GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
10573         GOMP_taskgroup_start, GOMP_taskgroup_end,
10574         GOMP_parallel_sections): New prototypes.
10575         * fortran.c (omp_is_initial_device): Add ialias_redirect.
10576         (omp_is_initial_device_): New function.
10577         (ULP, STR1, STR2, ialias_redirect): Removed.
10578         (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
10579         omp_set_default_device_8_, omp_get_default_device_,
10580         omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
10581         functions.
10582         * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
10583         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
10584         GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
10585         @@GOMP_4.0.
10586         (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
10587         omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
10588         omp_set_default_device, omp_set_default_device_,
10589         omp_set_default_device_8_, omp_get_default_device,
10590         omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
10591         omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
10592         omp_get_team_num_): Export @@OMP_4.0.
10593         * team.c (struct gomp_thread_start_data): Add place field.
10594         (gomp_thread_start): Clear thr->thread_pool and
10595         thr->task before returning.  Use gomp_team_barrier_wait_final
10596         instead of gomp_team_barrier_wait.  Initialize thr->place.
10597         (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
10598         team_cancelled and task_queued_count fields.
10599         (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
10600         before calling pthread_exit.
10601         (gomp_free_thread): No longer static.  Use
10602         gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
10603         (gomp_team_start): Add flags argument.  Set
10604         thr->thread_pool->threads_busy to nthreads immediately after creating
10605         new pool.  Use gomp_managed_threads_lock instead of
10606         gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
10607         (gomp_team_end): Use gomp_managed_threads_lock instead of
10608         gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
10609         of gomp_team_barrier_wait.  If team->team_cancelled, call
10610         gomp_fini_workshare on ws chain starting at team->work_shares_to_free
10611         rather than thr->ts.work_share.
10612         (initialize_team): Don't call gomp_sem_init here.
10613         * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
10614         caller.
10615         (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
10616         * env.c (gomp_global_icv): Add default_device_var, target_data and
10617         bind_var initializers.
10618         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10619         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10620         gomp_places_list_len): New variables.
10621         (parse_bind_var, parse_one_place, parse_places_var): New functions.
10622         (parse_affinity): Rewritten to construct OMP_PLACES list with unit
10623         sized places.
10624         (gomp_cancel_var): New global variable.
10625         (parse_int): New function.
10626         (handle_omp_display_env): New function.
10627         (initialize_env): Use it.  Initialize default_device_var.
10628         Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
10629         OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
10630         OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
10631         been successfully parsed (and call gomp_init_affinity in that case).
10632         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10633         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10634         omp_get_team_num, omp_is_initial_device): New functions.
10635         * libgomp.h: Include stdlib.h.
10636         (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
10637         Define.
10638         (struct target_mem_desc): Forward declare.
10639         (struct gomp_task_icv): Add default_device_var, target_data, bind_var
10640         and thread_limit_var fields.
10641         (gomp_get_num_devices): New prototype.
10642         (gomp_cancel_var): New extern decl.
10643         (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
10644         team_cancelled and task_queued_count fields.  Add comments about
10645         task_{,queued_,running_}count.
10646         (gomp_cancel_kind): New enum.
10647         (gomp_work_share_end_cancel): New prototype.
10648         (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
10649         copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
10650         and depend fields.
10651         (struct gomp_taskgroup): New type.
10652         (struct gomp_task_depend_entry,
10653         struct gomp_dependers_vec): New types.
10654         (gomp_finish_task): Free depend_hash if non-NULL.
10655         (struct gomp_team_state): Add place_partition_off
10656         and place_partition_len fields.
10657         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
10658         gomp_places_list_len): New extern decls.
10659         (struct gomp_thread): Add place field.
10660         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
10661         (gomp_init_thread_affinity): Add place argument.
10662         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10663         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10664         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10665         gomp_affinity_init_level, gomp_affinity_print_place): New
10666         prototypes.
10667         (gomp_team_start): Add flags argument.
10668         (gomp_thread_limit_var, gomp_remaining_threads_count,
10669         gomp_remaining_threads_lock): Remove.
10670         (gomp_managed_threads_lock): New variable.
10671         (struct gomp_thread_pool): Add threads_busy field.
10672         (gomp_free_thread): New prototype.
10673         * task.c: Include hashtab.h.
10674         (hash_entry_type): New typedef.
10675         (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
10676         (gomp_init_task): Clear dependers, depend_hash, depend_count,
10677         copy_ctors_done and taskgroup fields.
10678         (GOMP_task): Add depend argument, handle depend clauses.  If
10679         gomp_team_barrier_cancelled or if it's taskgroup has been
10680         cancelled, don't queue or start new tasks.  Set copy_ctors_done
10681         field if needed.  Initialize taskgroup field.  If copy_ctors_done
10682         and already cancelled, don't discard the task.  If taskgroup is
10683         non-NULL, enqueue the task into taskgroup queue.  Increment
10684         num_children field in taskgroup.  Increment task_queued_count.
10685         (gomp_task_run_pre, gomp_task_run_post_remove_parent,
10686         gomp_task_run_post_remove_taskgroup): New inline functions.
10687         (gomp_task_run_post_handle_depend_hash,
10688         gomp_task_run_post_handle_dependers,
10689         gomp_task_run_post_handle_depend): New functions.
10690         (GOMP_taskwait): Use them.  If more than one new tasks
10691         have been queued, wake other threads if needed.
10692         (gomp_barrier_handle_tasks): Likewise.  If
10693         gomp_team_barrier_cancelled, don't start any new tasks, just free
10694         all tasks.
10695         (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
10696         * omp_lib.f90.in
10697         (omp_proc_bind_kind, omp_proc_bind_false,
10698         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10699         omp_proc_bind_spread): New params.
10700         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10701         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10702         omp_get_team_num, omp_is_initial_device): New interfaces.
10703         (omp_get_dynamic, omp_get_nested, omp_in_parallel,
10704         omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
10705         omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
10706         omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
10707         omp_get_team_size, omp_get_active_level, omp_in_final): Remove
10708         useless use omp_lib_kinds.
10709         * omp.h.in (omp_proc_bind_t): New typedef.
10710         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10711         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10712         omp_get_team_num, omp_is_initial_device): New prototypes.
10713         * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
10714         through to gomp_team_start.
10715         (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
10716         GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
10717         Adjust gomp_parallel_loop_start callers.
10718         (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
10719         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
10720         GOMP_loop_end_cancel): New functions.
10721         (GOMP_parallel_end): Add ialias_redirect.
10722         * hashtab.h: New file.
10723         * libgomp.texi (Environment Variables): Minor cleanup,
10724         update section refs to OpenMP 4.0rc2.
10725         (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
10726         environment variables.
10727         * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
10728         team->work_shares_to_free to thr->ts.work_share before calling
10729         free_work_share.
10730         (gomp_work_share_end_cancel): New function.
10731         * config/linux/proc.c: Include errno.h.
10732         (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
10733         (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
10734         sizeof (cpu_set_t) to determine number of iterations.  Fix up check
10735         extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
10736         gomp_cpuset_size is sizeof (cpu_set_t).
10737         (gomp_init_num_threads): Initialize gomp_cpuset_size,
10738         gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
10739         of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
10740         to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
10741         contain any logical CPUs.
10742         (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
10743         is NULL.  Use gomp_cpusetp instead of &cpuset and pass
10744         gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
10745         pthread_getaffinity_np.  Check gomp_places_list instead of
10746         gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
10747         * config/linux/bar.c (gomp_barrier_wait_end,
10748         gomp_barrier_wait_last): Use BAR_* defines.
10749         (gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
10750         from state where needed.  Set work_share_cancelled to 0 on last
10751         thread.
10752         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
10753         gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
10754         functions.
10755         * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
10756         Add cpusetsize argument.
10757         (gomp_cpuset_size, gomp_cpusetp): Declare.
10758         * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
10759         (affinity_counter): Remove.
10760         (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
10761         if CPU_ALLOC_SIZE isn't defined.
10762         (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
10763         silently create OMP_PLACES=threads, if it is non-NULL afterwards,
10764         bind current thread to the first place.
10765         (gomp_init_thread_affinity): Rewritten.  Add place argument, just
10766         pthread_setaffinity_np to gomp_places_list[place].
10767         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10768         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10769         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10770         gomp_affinity_init_level, gomp_affinity_print_place): New functions.
10771         * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10772         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10773         (gomp_barrier_t): Add awaited_final field.
10774         (gomp_barrier_init): Initialize awaited_final field.
10775         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
10776         gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
10777         prototypes.
10778         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
10779         defines.
10780         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
10781         gomp_team_barrier_cancelled): New inline functions.
10782         (gomp_barrier_last_thread,
10783         gomp_team_barrier_set_task_pending,
10784         gomp_team_barrier_clear_task_pending,
10785         gomp_team_barrier_set_waiting_for_tasks,
10786         gomp_team_barrier_waiting_for_tasks,
10787         gomp_team_barrier_done): Use BAR_* defines.
10788         * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
10789         (gomp_barrier_wait_end): Use BAR_* defines.
10790         (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
10791         Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
10792         Use BAR_* defines.
10793         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
10794         gomp_team_barrier_cancel): New functions.
10795         * config/posix/affinity.c (gomp_init_thread_affinity): Add place
10796         argument.
10797         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
10798         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
10799         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
10800         gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
10801         * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
10802         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
10803         (gomp_barrier_t): Add cancellable field.
10804         (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
10805         gomp_team_barrier_cancel): New prototypes.
10806         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
10807         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
10808         gomp_team_barrier_cancelled): New inline functions.
10809         (gomp_barrier_wait_start, gomp_barrier_last_thread,
10810         gomp_team_barrier_set_task_pending,
10811         gomp_team_barrier_clear_task_pending,
10812         gomp_team_barrier_set_waiting_for_tasks,
10813         gomp_team_barrier_waiting_for_tasks,
10814         gomp_team_barrier_done): Use BAR_* defines.
10815         * barrier.c (GOMP_barrier_cancel): New function.
10816         * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
10817         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
10818         omp_proc_bind_spread): New params.
10819         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
10820         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
10821         omp_get_team_num, omp_is_initial_device): New externals.
10822         * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
10823         New functions.
10824         (gomp_resolve_num_threads): Adjust for thread_limit now being in
10825         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
10826         infinity.  If not nested, just return minimum of max_num_threads
10827         and icv->thread_limit_var and if thr->thread_pool, set threads_busy
10828         to the returned value.  Otherwise, don't update atomically
10829         gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
10830         (GOMP_parallel_end): Adjust for thread_limit now being in
10831         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
10832         infinity.  Adjust threads_busy in the pool rather than
10833         gomp_remaining_threads_count.  Remember team->nthreads and call
10834         gomp_team_end before adjusting threads_busy, if not nested
10835         afterwards, just set it to 1 non-atomically.  Add ialias.
10836         (GOMP_parallel_start): Adjust gomp_team_start caller.
10837         * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
10838         * testsuite/libgomp.c/affinity-1.c: New test.
10839         * testsuite/libgomp.c/atomic-15.c: New test.
10840         * testsuite/libgomp.c/atomic-16.c: New test.
10841         * testsuite/libgomp.c/atomic-17.c: New test.
10842         * testsuite/libgomp.c/cancel-for-1.c: New test.
10843         * testsuite/libgomp.c/cancel-for-2.c: New test.
10844         * testsuite/libgomp.c/cancel-parallel-1.c: New test.
10845         * testsuite/libgomp.c/cancel-parallel-2.c: New test.
10846         * testsuite/libgomp.c/cancel-parallel-3.c: New test.
10847         * testsuite/libgomp.c/cancel-sections-1.c: New test.
10848         * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
10849         * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
10850         * testsuite/libgomp.c/depend-1.c: New test.
10851         * testsuite/libgomp.c/depend-2.c: New test.
10852         * testsuite/libgomp.c/depend-3.c: New test.
10853         * testsuite/libgomp.c/depend-4.c: New test.
10854         * testsuite/libgomp.c/for-1.c: New test.
10855         * testsuite/libgomp.c/for-1.h: New file.
10856         * testsuite/libgomp.c/for-2.c: New test.
10857         * testsuite/libgomp.c/for-2.h: New file.
10858         * testsuite/libgomp.c/for-3.c: New test.
10859         * testsuite/libgomp.c/pr58392.c: New test.
10860         * testsuite/libgomp.c/simd-1.c: New test.
10861         * testsuite/libgomp.c/simd-2.c: New test.
10862         * testsuite/libgomp.c/simd-3.c: New test.
10863         * testsuite/libgomp.c/simd-4.c: New test.
10864         * testsuite/libgomp.c/simd-5.c: New test.
10865         * testsuite/libgomp.c/simd-6.c: New test.
10866         * testsuite/libgomp.c/target-1.c: New test.
10867         * testsuite/libgomp.c/target-2.c: New test.
10868         * testsuite/libgomp.c/target-3.c: New test.
10869         * testsuite/libgomp.c/target-4.c: New test.
10870         * testsuite/libgomp.c/target-5.c: New test.
10871         * testsuite/libgomp.c/target-6.c: New test.
10872         * testsuite/libgomp.c/target-7.c: New test.
10873         * testsuite/libgomp.c/taskgroup-1.c: New test.
10874         * testsuite/libgomp.c/thread-limit-1.c: New test.
10875         * testsuite/libgomp.c/thread-limit-2.c: New test.
10876         * testsuite/libgomp.c/thread-limit-3.c: New test.
10877         * testsuite/libgomp.c/udr-1.c: New test.
10878         * testsuite/libgomp.c/udr-2.c: New test.
10879         * testsuite/libgomp.c/udr-3.c: New test.
10880         * testsuite/libgomp.c++/affinity-1.C: New test.
10881         * testsuite/libgomp.c++/atomic-10.C: New test.
10882         * testsuite/libgomp.c++/atomic-11.C: New test.
10883         * testsuite/libgomp.c++/atomic-12.C: New test.
10884         * testsuite/libgomp.c++/atomic-13.C: New test.
10885         * testsuite/libgomp.c++/atomic-14.C: New test.
10886         * testsuite/libgomp.c++/atomic-15.C: New test.
10887         * testsuite/libgomp.c++/cancel-for-1.C: New test.
10888         * testsuite/libgomp.c++/cancel-for-2.C: New test.
10889         * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
10890         * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
10891         * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
10892         * testsuite/libgomp.c++/cancel-sections-1.C: New test.
10893         * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
10894         * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
10895         * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
10896         * testsuite/libgomp.c++/cancel-test.h: New file.
10897         * testsuite/libgomp.c++/for-9.C: New test.
10898         * testsuite/libgomp.c++/for-10.C: New test.
10899         * testsuite/libgomp.c++/for-11.C: New test.
10900         * testsuite/libgomp.c++/simd-1.C: New test.
10901         * testsuite/libgomp.c++/simd-2.C: New test.
10902         * testsuite/libgomp.c++/simd-3.C: New test.
10903         * testsuite/libgomp.c++/simd-4.C: New test.
10904         * testsuite/libgomp.c++/simd-5.C: New test.
10905         * testsuite/libgomp.c++/simd-6.C: New test.
10906         * testsuite/libgomp.c++/simd-7.C: New test.
10907         * testsuite/libgomp.c++/simd-8.C: New test.
10908         * testsuite/libgomp.c++/target-1.C: New test.
10909         * testsuite/libgomp.c++/target-2.C: New test.
10910         * testsuite/libgomp.c++/target-2-aux.cc: New file.
10911         * testsuite/libgomp.c++/target-3.C: New test.
10912         * testsuite/libgomp.c++/taskgroup-1.C: New test.
10913         * testsuite/libgomp.c++/udr-1.C: New test.
10914         * testsuite/libgomp.c++/udr-2.C: New test.
10915         * testsuite/libgomp.c++/udr-3.C: New test.
10916         * testsuite/libgomp.c++/udr-4.C: New test.
10917         * testsuite/libgomp.c++/udr-5.C: New test.
10918         * testsuite/libgomp.c++/udr-6.C: New test.
10919         * testsuite/libgomp.c++/udr-7.C: New test.
10920         * testsuite/libgomp.c++/udr-8.C: New test.
10921         * testsuite/libgomp.c++/udr-9.C: New test.
10923 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
10925         PR testsuite/57605
10926         * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
10927         ALWAYS_CFLAGS.
10929 2013-09-20  Alan Modra  <amodra@gmail.com>
10931         * configure: Regenerate.
10933 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
10935         * testsuite/libgomp.c/sections-2.c: New test.
10937 2013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
10939         * testsuite/libgomp.fortran/strassen.f90:
10940         Add dg-skip-if aarch64_tiny.
10942 2013-06-20  Iain Sandoe  <iain@codesourcery.com>
10943             Cesar Philippidis  <cesar@codesourcery.com>
10945         * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
10946         Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
10947         * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
10948         * testsuite/libgomp.fortran/fortran.exp: Likewise.
10949         * testsuite/libgomp.graphite/graphite.exp: Likewise.
10950         * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
10951         Use dg-runtest rather than gfortran-dg-runtest.
10953 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
10955         * testsuite/libgomp.c/icv-2.c: Extend current handling of
10956         Linux-based x86 systems to cover all GNU systems.
10957         * testsuite/libgomp.c/lock-3.c: Likewise.
10958         * testsuite/libgomp.c/pr48591.c: Likewise.
10960 2013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
10962         * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
10963         GNU/Hurd, as done for Linux-based systems.
10965         * config/posix/ptrlock.h: Fix comment.
10967 2013-05-27  Tobias Burnus  <burnus@net-b.de>
10969         PR fortran/57423
10970         * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
10971         omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
10972         omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
10973         omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
10974         omp_destroy_nest_lock): Correct arguments to match the one in
10975         the OpenMP spec.
10976         * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
10977         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
10978         omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
10979         omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
10981 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
10983         * testsuite/libgomp.c/loop-13.c: New test.
10984         * testsuite/libgomp.c/loop-14.c: New test.
10985         * testsuite/libgomp.c/loop-15.c: New test.
10986         * testsuite/libgomp.c++/loop-13.C: New test.
10987         * testsuite/libgomp.c++/loop-14.C: New test.
10988         * testsuite/libgomp.c++/loop-15.C: New test.
10990 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
10992         PR middle-end/56217
10993         * testsuite/libgomp.c++/pr56217.C: New test.
10995 2013-02-01  Alan Modra  <amodra@gmail.com>
10997         * task.c (GOMP_task, GOMP_taskwait): Comment.
10999 2013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
11000             Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
11002         PR libgomp/55561
11003         * config/linux/wait.h (do_spin): Use atomic load for addr.
11004         * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
11005         for intptr and ptrlock.
11006         * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
11007         for ptrlock.
11009 2013-01-22  Alan Modra  <amodra@gmail.com>
11011         PR libgomp/51376
11012         PR libgomp/56073
11013         * task.c (GOMP_task): Revert 2011-12-09 change.
11014         (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
11015         barrier to read task->children..
11016         (gomp_barrier_handle_tasks): ..and matching atomic store with
11017         release barrier here when setting parent->children to NULL.
11019 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
11020             Tobias Burnus  <burnus@net-b.de>
11022         PR driver/55884
11023         * testsuite/libgomp.fortran/fortran.exp: Use
11024         -fintrinsic-modules-path= instead of
11025         -fintrinsic-modules-path.
11027 2013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
11029         Update copyright years.
11031 2012-12-19  Tobias Burnus  <burnus@net-b.de>
11033         * testsuite/libgomp.fortran/fortran.exp: Set
11034         -fintrinsic-modules-path.
11036 2012-12-19  Tobias Burnus  <burnus@net-b.de>
11038         * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
11039         from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
11041 2012-11-21  Jakub Jelinek  <jakub@redhat.com>
11043         PR libgomp/55411
11044         * team.c (gomp_free_thread): Decrease gomp_managed_threads
11045         if pool had any threads_used.
11047 2012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
11049         * testsuite/libgomp.c++/pr24455.C: Use
11050         -Wl,-undefined,dynamic_lookup on darwin.
11052 2012-11-07  David Edelsohn  <dje.gcc@gmail.com>
11054         * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
11056 2012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
11058         * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
11060 2012-10-23  Ian Bolton  <ian.bolton@arm.com>
11061             Jim MacArthur  <jim.macarthur@arm.com>
11062             Marcus Shawcroft  <marcus.shawcroft@arm.com>
11063             Nigel Stephens  <nigel.stephens@arm.com>
11064             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
11065             Richard Earnshaw  <rearnsha@arm.com>
11066             Sofiane Naci  <sofiane.naci@arm.com>
11067             Stephen Thomas  <stephen.thomas@arm.com>
11068             Tejas Belagod  <tejas.belagod@arm.com>
11069             Yufeng Zhang  <yufeng.zhang@arm.com>
11071         * configure.tgt: Add AArch64.
11073 2012-10-04  Jason Merrill  <jason@redhat.com>
11075         * testsuite/libgomp.c++/tls-init1.C: New.
11077 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
11079         * configure: Regenerated.
11081 2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
11083         * config/linux/mips/futex.h (sys_futex0): Change to static
11084         function with noinline, nomips16 attributes under MIPS16. Adjust
11085         asm statement to place 'li v0,SYS_futex' immediately before
11086         syscall insn.
11088 2012-07-04  Sandra Loosemore <sandra@codesourcery.com>
11090         * libgomp.texi (Library Index): Renamed from "Index" to prevent
11091         conflict with index.html on case-insensitive file systems.
11093 2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
11095         * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
11096         * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
11098 2012-07-02  Richard Guenther  <rguenther@suse.de>
11099             Michael Matz  <matz@suse.de>
11100             Tobias Grosser <tobias@grosser.es>
11101             Sebastian Pop <sebpop@gmail.com>
11103         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
11104         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11105         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11106         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11108 2012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
11110         * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
11112 2012-06-22  Richard Guenther  <rguenther@suse.de>
11114         Merge from graphite branch
11115         2012-01-13  Tobias Grosser  <tobias@grosser.es>
11117         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11118         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11120 2012-06-07  Jakub Jelinek  <jakub@redhat.com>
11122         PR middle-end/53580
11123         * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
11124         use GOMP_barrier () call instead.
11125         * testsuite/libgomp.c/pr26943-3.c: Likewise.
11126         * testsuite/libgomp.c/pr26943-4.c: Likewise.
11127         * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
11128         call GOMP_barrier instead.
11129         * testsuite/libgomp.fortran/vla5.f90: Likewise.
11131 2012-06-06  Jakub Jelinek  <jakub@redhat.com>
11133         PR libgomp/52993
11134         * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
11135         argument to memset call.
11137 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
11139         * configure: Regenerated.
11141 2012-04-11  Manuel LĂłpez-Ibáñez  <manu@gcc.gnu.org>
11143         * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
11145 2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
11147         PR bootstrap/52812
11148         * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
11150 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
11152         PR middle-end/52547
11153         * testsuite/libgomp.c/pr52547.c: New test.
11155 2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
11157         * testsuite/lib/libgomp.exp: load fortran-modules.exp
11159 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11161         * configure.tgt (mips-sgi-irix6*): Remove.
11163 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11165         * configure.tgt (alpha*-dec-osf*): Remove.
11167         * config/osf/sem.h: Remove.
11168         * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
11170 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
11172         * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
11174 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11176         PR libstdc++/52188
11177         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
11178         Remove ENABLE_SYMVERS_SOL2.
11179         * configure: Regenerate.
11180         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
11181         (PREPROCESS): New variable.
11182         (libgomp.ver): New target.
11183         [LIBGOMP_BUILD_VERSIONED_SHLIB &&
11184         LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
11185         LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
11186         Use libgomp.ver.
11187         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
11188         * Makefile.in: Regenerate.
11190 2012-02-14  Walter Lee  <walt@tilera.com>
11192         * configure.tgt: Handle tilegx and tilepro.
11193         * config/linux/tile/futex.h: New file.
11195 2012-02-08  Richard Guenther  <rguenther@suse.de>
11197         PR tree-optimization/46886
11198         * testsuite/libgomp.c/pr46886.c: New testcase.
11200 2012-01-25  Matthias Klose  <doko@ubuntu.com>
11202         * config/linux/arm: Remove empty directory.
11203         * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
11205 2011-12-09  Alan Modra  <amodra@gmail.com>
11207         PR libgomp/51376
11208         * task.c (GOMP_taskwait): Don't access task->children outside of
11209         task_lock mutex region.
11210         (GOMP_task): Likewise.
11212 2011-12-06  Jakub Jelinek  <jakub@redhat.com>
11214         PR libgomp/51132
11215         * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
11216         to file scope.
11217         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11218         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
11219         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
11220         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
11221         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
11223 2011-12-02  Alan Modra  <amodra@gmail.com>
11225         * config/linux/affinity.c: Use atomic rather than sync builtin.
11226         * config/linux/lock.c: Likewise.
11227         * config/linux/ptrlock.h: Likewise.
11228         * config/linux/ptrlock.c: Likewise.
11229         * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
11230         * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
11231         * config/linux/futex.h (atomic_write_barrier): Delete unused function.
11232         * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
11233         * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
11234         * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
11235         * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
11236         * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
11237         * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
11238         * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
11240 2011-11-30  Alan Modra  <amodra@gmail.com>
11242         PR libgomp/51298
11243         * config/linux/bar.h: Use atomic rather than sync builtins.
11244         * config/linux/bar.c: Likewise.  Add missing acquire
11245         synchronisation on generation field.
11246         * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
11247         double unlock.
11249 2011-11-30  Alan Modra  <amodra@gmail.com>
11251         * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
11252         * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
11253         * config/linux/mutex.h: Use atomic rather than sync builtins.
11254         * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
11255         * config/linux/omp-lock.h: Comment fix.
11256         * config/linux/arm/mutex.h: Delete.
11257         * config/linux/powerpc/mutex.h: Delete.
11258         * config/linux/ia64/mutex.h: Delete.
11259         * config/linux/mips/mutex.h: Delete.
11261 2011-11-30  Alan Modra  <amodra@gmail.com>
11263         PR libgomp/51249
11264         * config/linux/sem.h: Rewrite.
11265         * config/linux/sem.c: Rewrite.
11267 2011-11-28  Richard Henderson  <rth@redhat.com>
11269         * libgomp.h (enum memmodel): New.
11271 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
11273         * configure: Regenerate.
11275 2011-10-10  Matthias Klose  <doko@ubuntu.com>
11277         * config/posix95: Remove empty directory.
11279 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
11281         * testsuite/libgomp.fortran/threadprivate4.f90: New test.
11283 2011-08-19  Jakub Jelinek  <jakub@redhat.com>
11285         PR fortran/49792
11286         * testsuite/libgomp.fortran/pr49792-1.f90: New test.
11287         * testsuite/libgomp.fortran/pr49792-2.f90: New test.
11289 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11291         * config/posix95/lock.c, posix95/omp-lock.h: Remove.
11293 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11295         PR libgomp/49965
11296         * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
11298 2011-08-03  Uros Bizjak  <ubizjak@gmail.com>
11300         * config/linux/proc.h: New.
11301         * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
11302         (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
11303         (gomp_init_num_threads): Update call to cpuset_popcount.
11304         (get_num_procs): Ditto.
11305         * config/linux/affinity.c (gomp_init_affinity): Call
11306         gomp_cpuset_popcount.
11308 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
11310         PR fortran/42041
11311         PR fortran/46752
11312         * omp.h.in (omp_in_final): New prototype.
11313         * omp_lib.f90.in (omp_in_final): New interface.
11314         (omp_integer_kind, omp_logical_kind): Remove
11315         and replace all its uses in the module with 4.
11316         (openmp_version): Change to 201107.
11317         * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
11318         omp_sched_guided, omp_sched_auto): Use omp_sched_kind
11319         kind for the parameters.
11320         (omp_in_final): New external.
11321         (openmp_version): Change to 201107.
11322         * task.c (omp_in_final): New function.
11323         (gomp_init_task): Initialize final_task.
11324         (GOMP_task): Remove unused attribute from flags.  Handle final
11325         tasks.
11326         (GOMP_taskyield): New function.
11327         (omp_in_final): Return true if if (false) or final (true) task
11328         or descendant of final (true).
11329         * fortran.c (omp_in_final_): New function.
11330         * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
11331         (GOMP_3.0): Export GOMP_taskyield.
11332         * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
11333         variables.
11334         (parse_unsigned_long_list): New function.
11335         (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
11336         with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
11337         even if parse_affinity returned false.
11338         * config/linux/affinity.c (gomp_init_affinity): Handle
11339         gomp_cpu_affinity_len == 0.
11340         * libgomp_g.h (GOMP_taskyield): New prototype.
11341         * libgomp.h (struct gomp_task): Add final_task field.
11342         (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
11343         * team.c (gomp_team_start): Override new task's nthreads_var icv
11344         if list form OMP_NUM_THREADS has been used and it has value for
11345         the new nesting level.
11347         * testsuite/libgomp.c/atomic-11.c: New test.
11348         * testsuite/libgomp.c/atomic-12.c: New test.
11349         * testsuite/libgomp.c/atomic-13.c: New test.
11350         * testsuite/libgomp.c/atomic-14.c: New test.
11351         * testsuite/libgomp.c/reduction-6.c: New test.
11352         * testsuite/libgomp.c/task-5.c: New test.
11353         * testsuite/libgomp.c++/atomic-2.C: New test.
11354         * testsuite/libgomp.c++/atomic-3.C: New test.
11355         * testsuite/libgomp.c++/atomic-4.C: New test.
11356         * testsuite/libgomp.c++/atomic-5.C: New test.
11357         * testsuite/libgomp.c++/atomic-6.C: New test.
11358         * testsuite/libgomp.c++/atomic-7.C: New test.
11359         * testsuite/libgomp.c++/atomic-8.C: New test.
11360         * testsuite/libgomp.c++/atomic-9.C: New test.
11361         * testsuite/libgomp.c++/task-8.C: New test.
11362         * testsuite/libgomp.c++/reduction-4.C: New test.
11363         * testsuite/libgomp.fortran/allocatable7.f90: New test.
11364         * testsuite/libgomp.fortran/allocatable8.f90: New test.
11365         * testsuite/libgomp.fortran/crayptr3.f90: New test.
11366         * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
11367         * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
11368         * testsuite/libgomp.fortran/pointer1.f90: New test.
11369         * testsuite/libgomp.fortran/pointer2.f90: New test.
11370         * testsuite/libgomp.fortran/task4.f90: New test.
11372 2011-08-02  Tobias Burnus  <burnus@net-b.de>
11374         * libgomp.texi: Update OpenMP spec references to 3.1.
11375         (omp_in_final,OMP_PROC_BIND): New sections.
11376         (OMP_NUM_THREADS): Document that the value can be now a list.
11377         (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
11379 2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
11381         * config/linux/x86/futex.h: Check __x86_64__ instead of
11382         __LP64__.
11384 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
11386         PR middle-end/49897
11387         PR middle-end/49898
11388         * testsuite/libgomp.c/pr49897-1.c: New test.
11389         * testsuite/libgomp.c/pr49897-2.c: New test.
11390         * testsuite/libgomp.c/pr49898-1.c: New test.
11391         * testsuite/libgomp.c/pr49898-2.c: New test.
11393 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
11395         * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
11396         for ia32 instead of ilp32.
11398         * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
11399         * testsuite/libgomp.c/atomic-6.c: Likewise.
11401 2011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
11403         * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
11404         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
11406 2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11408         PR libgomp/45351
11409         * config/osf/sem.h: New file.
11410         * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
11412 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11414         PR target/49541
11415         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
11416         ldflags.
11418 2011-07-15  Jakub Jelinek  <jakub@redhat.com>
11420         * config/linux/wait.h (do_spin): New inline, largely copied
11421         from do_wait, just don't do futex_wait here, instead return true if
11422         it should be done.
11423         (do_wait): Implement using do_spin.
11424         * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
11425         to prototype.
11426         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
11427         __sync_bool_compare_and_swap, pass the oldval to
11428         gomp_mutex_lock_slow.
11429         * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
11430         If all mutex contenders are just spinning and not sleeping, don't
11431         change state to 2 unnecessarily.  Optimize the loop when state has
11432         already become 2 to use just one atomic operation per loop instead
11433         of two.
11434         * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
11435         to prototype.
11436         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
11437         __sync_bool_compare_and_swap, pass the oldval to
11438         gomp_mutex_lock_slow.
11440 2011-06-22  Jakub Jelinek  <jakub@redhat.com>
11442         PR libgomp/49490
11443         * iter.c (gomp_iter_static_next): For chunk size 0
11444         only use n ceil/ nthreads size for the first
11445         n % nthreads threads in the team instead of
11446         all threads except for the last few ones which
11447         get less work or none at all.
11448         * iter_ull.c (gomp_iter_ull_static_next): Likewise.
11449         * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
11450         chunk argument, set run_sched_modifier to 0 for static
11451         resp. 1 for other kinds.  If chunk argument is 0
11452         and not static, set value to 1.
11454 2011-05-19  Jakub Jelinek  <jakub@redhat.com>
11456         PR c++/49043
11457         * testsuite/libgomp.c++/pr49043.C: New test.
11459         PR c++/48869
11460         * testsuite/libgomp.c++/pr48869.C: New test.
11462 2011-05-06  Jakub Jelinek  <jakub@redhat.com>
11464         PR fortran/48894
11465         * fortran.c: Include limits.h.
11466         (TO_INT): Define.
11467         (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
11468         *set.
11469         (omp_set_num_threads_8_, omp_set_schedule_8_,
11470         omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
11471         omp_get_team_size_8_): Use TO_INT macro.
11472         * testsuite/libgomp.fortran/pr48894.f90: New test.
11474 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
11476         PR middle-end/48591
11477         * testsuite/libgomp.c/pr48591.c: New test.
11479 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11481         PR bootstrap/48135
11482         * acinclude.m4 (enable_symvers): Handle --disable-symvers.
11483         * configure: Regenerate.
11485 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
11487         PR fortran/47886
11488         * testsuite/libgomp.fortran/task3.f90: New test.
11490 2011-02-24  Tobias Burnus  <burnus@net-b.de>
11492         * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
11494 2011-02-23  Jakub Jelinek  <jakub@redhat.com>
11496         PR libgomp/47854
11497         * libgomp.texi (omp_get_wtime): Don't say time in the past
11498         must be Unix Epoch.
11500 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
11502         PR libgomp/47804
11503         * testsuite/libgomp.fortran/fortran.exp: Check for both
11504         libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
11505         but $blddir != "", still append ${blddir}/${lang_library_path}
11506         to ld_library_path.
11508 2011-02-16  Tobias Burnus  <burnus@net-b.de>
11510         PR libgomp/47758
11511         * testsuite/libgomp.fortran/fortran.exp: Check for the existence
11512         of libquadmath.a before adding its libpath to ldflags.
11514 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
11516         PR libgomp/47731
11517         * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
11518         to FUTEX_WAIT futex syscall.
11519         * config/linux/wait.h: Include <futex.h> instead of "futex.h".
11521 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11523         * configure: Regenerate.
11525 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
11527         PR libstdc++/36104
11528         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
11530 2011-01-16  Gerald Pfeifer
11532         * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
11534 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
11536         PR fortran/46874
11537         * libgomp.fortran/allocatable6.f90: New test.
11539 2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11541         * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
11542         * configure: Regenerate.
11544 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
11546         PR target/40125
11547         PR lto/46695
11548         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
11549         * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
11550         * aclocal.m4: Regenerate.
11551         * configure: Regenerate.
11552         * Makefile.in: Regenerate.
11553         * testsuite/Makefile.in: Regenerate.
11555 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
11557         PR fortran/46753
11558         * libgomp.fortran/pr46753.f90: New test.
11560         PR libgomp/43706
11561         * env.c (initialize_env): Default to spin count 300000
11562         instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
11563         is specified.
11565         PR libgomp/45240
11566         * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
11567         at the end if sync builtins aren't supported.
11569 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11571         * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
11573 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11575         * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
11577 2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
11579         * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
11581 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
11582             Tobias Burnus  <burnus@net-b.de>
11584         PR fortran/32049
11585         * configure.ac:
11586         * configure: Regenerate.
11588 2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
11590         * config/linux/futex.h: New.
11591         * config/linux/arm/mutex.h: New.
11592         * configure.tgt (arm*-*-linux*): Add config path.
11594 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
11596         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11598 2010-09-23  Tobias Burnus  <burnus@net-b.de>
11600         * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
11601         Change Fortran datatype to LOGICAL.
11602         (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
11603         omp_unset_nested_lock): Use intent(inout) instead of intent(out).
11605 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11607         * configure: Regenerate.
11609 2010-07-26  Jakub Jelinek  <jakub@redhat.com>
11611         * libgomp.texi: Add function keyword to a couple of Fortran
11612         interfaces, use integer instead of int for Fortran.
11614 2010-07-26  Aldy Hernandez  <aldyh@redhat.com>
11616         * libgomp.texi: Fix spelling and pasto problems throughout.
11617         Adjust prototypes to match code.
11619 2010-07-24  Tobias Burnus  <burnus@net-b.de>
11621         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
11622         silence -fwhole-file warning.
11624 2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11626         * configure.tgt (*-*-solaris2.[56]*): Removed.
11628 2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11630         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
11631         Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
11632         LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
11633         (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
11634         targetting solaris2*.
11635         * configure: Regenerate.
11636         * config.h.in: Regenerate.
11638         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
11639         libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
11640         Add libgomp_version_dep.
11641         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
11642         versioning.
11643         [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
11644         (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
11645         * Makefile.in: Regenerate.
11647         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
11648         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11649         * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
11650         to common block, protected by
11651         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
11653 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
11655         * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
11657 2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
11659         PR bootstrap/43170
11660         * configure: Regenerate.
11662 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11664         PR other/43620
11665         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
11666         * configure: Regenerate.
11667         * Makefile.in: Regenerate.
11668         * testsuite/Makefile.in: Regenerate.
11670 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
11672         PR c/43893
11673         * testsuite/libgomp.c/pr43893.c: New test.
11674         * testsuite/libgomp.c++/pr43893.C: New test.
11676 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
11678         PR middle-end/43570
11679         * testsuite/libgomp.fortran/vla8.f90: New test.
11681 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
11683         PR libgomp/43706
11684         * config/linux/affinity.c (gomp_init_affinity): Decrease
11685         gomp_available_cpus if affinity mask confines the process to fewer
11686         CPUs.
11687         * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
11688         non-NULL, just return gomp_available_cpus.
11690         PR libgomp/43569
11691         * sections.c (gomp_sections_init): Initialize ws->mode.
11693 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
11695         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
11696         not unused bar variable.
11697         * configure: Regenerate.
11699 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11701         * Makefile.in: Regenerate.
11702         * aclocal.m4: Regenerate.
11703         * testsuite/Makefile.in: Regenerate.
11705 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
11707         PR libgomp/42942
11708         * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
11709         (initialize_env): Adjust callers.
11710         (omp_set_max_active_levels): Set gomp_max_active_levels_var even
11711         when the argument is 0.
11713         * testsuite/libgomp.c/pr42942.c: New test.
11715 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
11717         PR middle-end/42644
11718         PR middle-end/42130
11719         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
11720         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
11722 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11724         * testsuite/libgomp.c++/task-1.C: Renamed err to e.
11725         * testsuite/libgomp.c++/task-6.C: Likewise.
11727 2010-01-28  Steve Ellcey  <sje@cup.hp.com>
11729         * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
11731 2010-01-26  Paolo Bonzini  <bonzini@gnu.org>
11733         * configure.ac: Test for executability of _the first word_ of GFORTRAN.
11734         * configure: Regenerate.
11736 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
11738         PR fortran/42866
11739         * testsuite/libgomp.fortran/allocatable5.f90: New test.
11741 2010-01-20  Paolo Bonzini  <bonzini@gnu.org>
11743         * configure.ac: Test for executability of GFORTRAN.
11744         * configure: Regenerate.
11746 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11748         * configure: Regenerate.
11750 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
11752         PR libgomp/42602
11753         * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
11755 2010-01-03  Richard Guenther  <rguenther@suse.de>
11757         * testsuite/libgomp.fortran/recursion1.f90: New testcase.
11759 2009-12-23  Sebastian Pop  <sebpop@gmail.com>
11761         * testsuite/libgomp.graphite/pr4118.c: New.
11763 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
11765         * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
11766         for darwin, protect the test with require-effective-target tls_runtime.
11767         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
11769 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
11771         PR target/41605
11772         * testsuite/lib/libgomp.exp: Provide -B options to allow for
11773         link spec %s substitutions for static libraries.
11775 2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
11777         PR testsuite/42135
11778         * libgomp.graphite/force-parallel-2.c: Reduce array size.
11780 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11782         * Makefile.in: Regenerate.
11783         * configure: Regenerate.
11784         * testsuite/Makefile.in: Regenerate.
11786 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
11788         * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
11789         settings for LC_ALL and LANG.
11791 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
11793         PR fortran/42162
11794         * testsuite/libgomp.fortran/pr42162.f90: New test.
11796 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
11798         PR middle-end/42029
11799         * testsuite/libgomp.c/pr42029.c: New test.
11801 2009-10-26  Jakub Jelinek  <jakub@redhat.com>
11803         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
11804         *s.  Accept ld version without text in ()s.
11805         * configure: Regenerated.
11807 2009-10-22  Razya Ladelsky  <razya@il.ibm.com>
11809         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
11811 2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11813         PR libgomp/41418
11814         * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
11815         or a hyphen (happens with fortran language disabled).
11816         * configure: Regenerate.
11818 2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11820         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
11821         use sed script portable to Solaris /bin/sed for extracting ld
11822         version.
11823         * configure: Regenerate.
11825 2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
11827         * testsuite/libgomp.graphite/bounds.c: New test.
11829 2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11831         * Makefile.am (libgomp_la_LINK): New.
11832         * Makefile.in: Regenerate.
11834 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11836         * configure.ac (AC_PREREQ): Bump to 2.64.
11838 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11840         * Makefile.am (install-html, install-pdf): Remove.
11841         * Makefile.in: Regenerate.
11843         * Makefile.in: Regenerate.
11844         * aclocal.m4: Regenerate.
11845         * config.h.in: Regenerate.
11846         * configure: Regenerate.
11847         * testsuite/Makefile.in: Regenerate.
11849 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11851         * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
11852         * Makefile.in: Regenerate.
11854 2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
11856         * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
11857         * Makefile.in: Regenerate.
11859 2009-08-19  Tobias Burnus  <burnus@net-b.de>
11861         PR fortran/41102
11862         omp_lib.h.in: Fix -std=f95 errors.
11864 2009-08-14  David Edelsohn  <edelsohn@gnu.org>
11866         * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
11867         * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
11868         * testsuite/libgomp.graphite/graphite.exp: New.
11870 2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
11872         * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
11873         only build.
11875 2009-08-04  David Daney  <ddaney@caviumnetworks.com>
11877         * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
11878         needed memory barrier semantics.
11879         * config/linux/mips/mutex.h: New file.
11881 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11883         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
11885 2009-07-16  Joseph Myers  <joseph@codesourcery.com>
11887         * configure: Regenerate.
11889 2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
11891         PR testsuite/40699
11892         PR testsuite/40707
11893         PR testsuite/40709
11894         * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
11895         * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
11896         testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
11898 2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
11900         * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
11901         options when choosing a multilib.
11903 2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
11905         * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
11906         ld_library_path.  Use add_path.  Add just find_libgcc_s to
11907         ld_library_path, not every libgcc multilib directory.
11908         * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
11909         gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
11910         * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
11911         Use add_path.
11912         * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
11914 2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
11916         * Makefile.am (LTLDFLAGS): Define.
11917         (LINK): Define.
11918         * Makefile.in: Regenerate.
11920 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
11922         PR fortran/39718
11923         * testsuite/libgomp.fortran/fortran.exp: Don't link with
11924         libgfortranbegin, check existence of libgfortran.a instead of
11925         libgfortranbegin.a.
11927 2009-05-20  Jakub Jelinek  <jakub@redhat.com>
11929         PR libgomp/40174
11930         * team.c (gomp_thread_start): Destroy thr->release semaphore.
11931         (gomp_free_pool_helper): Likewise.
11933 2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
11934             Jakub Jelinek  <jakub@redhat.com>
11936         PR fortran/35423
11937         * testsuite/libgomp.fortran/workshare2.f90: New test.
11939 2009-04-09  Nick Clifton  <nickc@redhat.com>
11941         * iter.c: Change copyright header to refer to version 3 of the
11942         GNU General Public License with version 3.1 of the GCC Runtime
11943         Library Exception and to point readers at the COPYING3 and
11944         COPYING3.RUNTIME files and the FSF's license web page.
11945         * alloc.c: Likewise.
11946         * barrier.c: Likewise.
11947         * config/bsd/proc.c: Likewise.
11948         * config/linux/affinity.c: Likewise.
11949         * config/linux/alpha/futex.h: Likewise.
11950         * config/linux/bar.c: Likewise.
11951         * config/linux/bar.h: Likewise.
11952         * config/linux/ia64/futex.h: Likewise.
11953         * config/linux/ia64/mutex.h: Likewise.
11954         * config/linux/lock.c: Likewise.
11955         * config/linux/mips/futex.h: Likewise.
11956         * config/linux/mutex.c: Likewise.
11957         * config/linux/mutex.h: Likewise.
11958         * config/linux/powerpc/futex.h: Likewise.
11959         * config/linux/proc.c: Likewise.
11960         * config/linux/ptrlock.c: Likewise.
11961         * config/linux/ptrlock.h: Likewise.
11962         * config/linux/s390/futex.h: Likewise.
11963         * config/linux/sem.c: Likewise.
11964         * config/linux/sem.h: Likewise.
11965         * config/linux/sparc/futex.h: Likewise.
11966         * config/linux/wait.h: Likewise.
11967         * config/linux/x86/futex.h: Likewise.
11968         * config/mingw32/proc.c: Likewise.
11969         * config/mingw32/time.c: Likewise.
11970         * config/posix/affinity.c: Likewise.
11971         * config/posix/bar.c: Likewise.
11972         * config/posix/bar.h: Likewise.
11973         * config/posix/lock.c: Likewise.
11974         * config/posix/mutex.h: Likewise.
11975         * config/posix/proc.c: Likewise.
11976         * config/posix/ptrlock.h: Likewise.
11977         * config/posix/sem.c: Likewise.
11978         * config/posix/sem.h: Likewise.
11979         * config/posix/time.c: Likewise.
11980         * config/posix95/lock.c: Likewise.
11981         * critical.c: Likewise.
11982         * env.c: Likewise.
11983         * error.c: Likewise.
11984         * fortran.c: Likewise.
11985         * iter_ull.c: Likewise.
11986         * libgomp.h: Likewise.
11987         * libgomp_f.h.in: Likewise.
11988         * libgomp_g.h: Likewise.
11989         * loop.c: Likewise.
11990         * loop_ull.c: Likewise.
11991         * omp.h.in: Likewise.
11992         * omp_lib.f90.in: Likewise.
11993         * omp_lib.h.in: Likewise.
11994         * ordered.c: Likewise.
11995         * parallel.c: Likewise.
11996         * sections.c: Likewise.
11997         * single.c: Likewise.
11998         * task.c: Likewise.
11999         * team.c: Likewise.
12000         * work.c: Likewise.
12002 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
12004         * testsuite/config/default.exp: Change copyright header to refer to
12005         version 3 of the GNU General Public License and to point readers
12006         at the COPYING3 file and the FSF's license web page.
12008 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
12010         PR middle-end/39573
12011         * libgomp.c++/pr39573.C: New test.
12013 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
12015         PR other/39591
12016         * testsuite/libgomp.c/pr39591-1.c: New test.
12017         * testsuite/libgomp.c/pr39591-2.c: New test.
12018         * testsuite/libgomp.c/pr39591-3.c: New test.
12020 2009-03-25  Uros Bizjak  <ubizjak@gmail.com>
12022         * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
12023         * testsuite/libgomp.c/atomic-6.c: Ditto.
12025 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
12027         PR c/39495
12028         * testsuite/libgomp.c/loop-12.c: New test.
12029         * testsuite/libgomp.c/loop-11.c: New test.
12030         * testsuite/libgomp.c++/loop-11.C: New test.
12031         * testsuite/libgomp.c++/loop-12.C: New test.
12032         * testsuite/libgomp.c++/for-8.C: New test.
12034 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12036         * configure: Regenerate.
12038 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
12040         PR middle-end/39154
12041         * testsuite/libgomp.c/pr39154.c: New test.
12043 2009-01-30  Ian Lance Taylor  <iant@google.com>
12045         * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
12046         libgomp_ld_is_gold.  Get gold version number.
12047         (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
12048         * configure: Rebuild.
12050 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
12052         * testsuite/lib/libgomp.exp: Add -B option for targets that
12053         use libgfortran.a%s in their specs.
12055 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
12057         PR libgomp/38086
12058         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
12059         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
12060         HAVE_AS_SYMVER_DIRECTIVE is not defined.
12061         * configure: Regenerated.
12062         * config.h.in: Likewise.
12064 2008-12-28  Jakub Jelinek  <jakub@redhat.com>
12066         PR c++/38650
12067         * testsuite/libgomp.c/pr38650.c: New test.
12068         * testsuite/libgomp.c++/pr38650.C: New test.
12070 2008-12-27  Jakub Jelinek  <jakub@redhat.com>
12072         * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
12074 2008-12-26  Uros Bizjak  <ubizjak@gmail.com>
12076         * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
12078 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12080         * configure: Regenerate.
12082 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
12084         PR middle-end/36802
12085         * testsuite/libgomp.c/pr36802-1.c: New test.
12086         * testsuite/libgomp.c/pr36802-2.c: New test.
12087         * testsuite/libgomp.c/pr36802-3.c: New test.
12089 2008-12-01  Janis Johnson  <janis187@us.ibm.com>
12091         PR libgomp/38270
12092         * config/linux/powerpc/mutex.h: New.
12094 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
12096         PR c++/38257
12097         * testsuite/libgomp.c++/for-7.C: New test.
12099         PR c++/38348
12100         * testsuite/libgomp.c++/for-6.C: New test.
12102 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
12104         PR testsuite/28870
12105         * testsuite/lib/libgomp.exp: Include new timeout library files.
12106         (libgomp_target_compile): Set timeout value from new proc.
12108 2008-11-13  Steve Ellcey  <sje@cup.hp.com>
12110         PR libgomp/37938
12111         * config/linux/ia64/mutex.h: New.
12113 2008-11-04  Tobias Burnus  <burnus@net-b.de>
12115         PR libgomp/37935
12116         * libgomp.texi (Runtime library routines, environment variables):
12117         Update for OpenMP version 3.0.
12119 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
12120             Steve Ellcey  <sje@cup.hp.com>
12122         * configure: Regenerate for new libtool.
12123         * Makefile.in: Ditto.
12124         * testsuite/Makefile.in: Ditto.
12126 2008-09-19  Jakub Jelinek  <jakub@redhat.com>
12127             Andreas Tobler  <a.tobler@schweiz.org>
12129         * config/bsd/proc.c: New file.
12130         * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
12131         * configure.ac: Check for header <sys/sysctl.h>
12132         * configure: Regenerate.
12133         * config.h.in: Likewise.
12135 2008-09-05  Janis Johnson  <janis187@us.ibm.com>
12137         * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
12139 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
12141         * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
12142         * Makefile.in: Regenerated.
12143         * testsuite/Makefile.in: Regenerated.
12145 2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
12147         * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
12148         depend on blddir if blddir exists.
12149         (libgomp_target_compile): Likewise.
12150         * testsuite/libgomp.c++/c++.exp: Likewise.
12151         * testsuite/libgomp.fortran/fortran.exp: Likewise.
12153 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12155         * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
12156         Do not list GPL as Invariant Section.
12158 2008-07-28  Ilie Garbacea  <ilie@mips.com>
12159             Chao-ying Fu  <fu@mips.com>
12161         * configure.tgt: Enable futex for MIPS.
12162         * config/linux/mips/futex.h: New file.
12164 2008-07-16  Jakub Jelinek  <jakub@redhat.com>
12166         * team.c (gomp_team_end): Free team immediately if it has
12167         just one thread.
12169 2008-07-08  David Edelsohn  <edelsohn@gnu.org>
12171         * testsuite/libgomp.c++/c++.exp: Append multilib library path.
12172         * testsuite/libgomp.fortran/fortran.exp: Same.
12173         * testsuite/libgomp.c/c.exp: Same.
12174         * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
12175         directory to library path first.
12177 2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
12179         * env.c (parse_stacksize): Add cast to avoid warning.
12180         (parse_spincount): Likewise.
12182 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
12184         * testsuite/libgomp.c/loop-10.c: New test.
12185         * libgomp.c/loop-3.c (main): Add lastprivate clause.
12186         * libgomp.c++/loop-6.C (main): Likewise.
12188         PR debug/36617
12189         * testsuite/libgomp.c/debug-1.c: New test.
12191 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
12193         * testsuite/libgomp.c/nqueens-1.c: New test.
12195         PR c++/36523
12196         * testsuite/libgomp.c++/task-7.C: New function.
12198 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12200         * configure: Regenerate.
12202 2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12204         * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
12205         mutex when HAVE_SYNC_BUILTINS isn't defined.
12207 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12209         * libgomp.texi (omp_test_lock): Fix typo.
12211 2008-06-12  Tobias Burnus  <burnus@net-b.de>
12213         * omp_lib.f90.in: Add "implicit none".
12215 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
12217         PR middle-end/36506
12218         * testsuite/libgomp.c/reduction-5.c: New test.
12220 2008-06-11  Jakub Jelinek  <jakub@redhat.com>
12222         * libgomp.h (struct gomp_task): Add in_tied_task field.
12223         * task.c (gomp_init_task): Initialize it.
12224         (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
12225         unconditionally.  Don't call gomp_team_barrier_wake if
12226         current task is implicit or if(0) from implicit and number of
12227         running tasks is equal to nthreads - 1.
12229         PR libgomp/36471
12230         * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
12231         omp_get_team_size_8): Fix pastos.
12233         PR libgomp/36469
12234         * configure.ac: Add AC_CHECK_FUNCS (strtoull).
12235         * configure: Regenerated.
12236         * config.h.in: Regenerated.
12237         * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
12238         defined.
12240 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
12242         PR bootstrap/36452
12243         * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
12244         (GOMP_loop_ull_dynamic_start): Likewise.
12245         (GOMP_loop_ull_guided_start): Likewise.
12246         (GOMP_loop_ull_ordered_static_start): Likewise.
12247         (GOMP_loop_ull_ordered_dynamic_start): Likewise.
12248         (GOMP_loop_ull_ordered_guided_start): Likewise.
12250 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
12251             Richard Henderson  <rth@redhat.com>
12252             Ulrich Drepper  <drepper@redhat.com>
12253             Jakob Blomer  <jakob.blomer@ira.uka.de>
12255         * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
12256         Substitute also OMP_*LOCK_25*.
12257         * configure: Regenerated.
12258         * config.h.in: Regenerated.
12259         * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
12260         ptrlock.c and task.c.
12261         * Makefile.in: Regenerated.
12262         * testsuite/Makefile.in: Regenerated.
12263         * task.c: New file.
12264         * loop_ull.c: New file.
12265         * iter_ull.c: New file.
12266         * libgomp.h: Include ptrlock.h.
12267         (enum gomp_task_kind): New type.
12268         (struct gomp_team): Add task_lock, task_queue, task_count,
12269         task_running_count, single_count fields.  Add
12270         work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
12271         Remove work_share_lock, generation_mask,
12272         oldest_live_gen, num_live_gen and init_work_shares fields, add
12273         work work_share_list_alloc, work_share_list_free and work_share_chunk
12274         fields.  Change work_shares from pointer to pointers into an array.
12275         Change ordered_release field into gomp_sem_t ** from flexible array
12276         member.  Add implicit_task and initial_work_shares fields.
12277         Move close to the end of the struct.
12278         (struct gomp_team_state): Add single_count, last_work_share,
12279         active_level and level fields, remove work_share_generation.
12280         (gomp_barrier_handle_tasks): New prototype.
12281         (gomp_finish_task): New inline function.
12282         (struct gomp_work_share): Move chunk_size, end, incr into
12283         transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
12284         next_ll fields.  Reshuffle fields.  Add next_alloc,
12285         next_ws, next_free and inline_ordered_team_ids fields, change
12286         ordered_team_ids into pointer from flexible array member.
12287         Add mode field.  Put lock and next into a different cache line
12288         from most of the write-once fields.
12289         (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
12290         gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
12291         gomp_iter_ull_guided_next): New prototypes.
12292         (gomp_new_icv): New prototype.
12293         (struct gomp_thread): Add thread_pool and task fields.
12294         (struct gomp_thread_pool): New type.
12295         (gomp_new_team): New prototype.
12296         (gomp_team_start): Change type of last argument.
12297         (gomp_new_work_share): Removed.
12298         (gomp_init_work_share, gomp_fini_work_share): New prototypes.
12299         (gomp_work_share_init_done): New static inline.
12300         (gomp_throttled_spin_count_var, gomp_available_cpus,
12301         gomp_managed_threads): New extern decls.
12302         (gomp_init_task): New prototype.
12303         (gomp_spin_count_var): New extern var decl.
12304         (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
12305         or no alias support, or if not PIC.
12306         (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
12307         gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
12308         gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
12309         gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
12310         gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
12311         gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
12312         gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
12313         gomp_test_nest_lock_25): New prototypes.
12314         (omp_lock_symver, strong_alias): Define.
12315         (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
12316         decls.
12317         (gomp_end_task): New.
12318         (struct gomp_task_icv, gomp_global_icv): New.
12319         (gomp_thread_limit_var, gomp_max_active_levels_var): New.
12320         (struct gomp_task): New.
12321         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12322         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12323         (gomp_icv): New.
12324         (gomp_schedule_type): Reorder enum to match
12325         omp_sched_t.
12326         * team.c (struct gomp_thread_start_data): Add thread_pool and task
12327         fields.
12328         (gomp_thread_start): Add gomp_team_barrier_wait call.
12329         For non-nested case remove clearing of docked thread thr fields.
12330         Use pool fields instead of global gomp_* variables.  Use
12331         gomp_barrier_wait_last when needed.  Initialize ts.active_level.
12332         Create tasks for each member thread.
12333         (free_team): Only destroy team barrier, task_lock here and free it.
12334         (gomp_free_thread): Free last_team if non-NULL.
12335         (gomp_team_end): Call gomp_team_barrier_wait instead of
12336         gomp_barrier_wait.  For nested case call one extra
12337         gomp_barrier_wait.  Move here some destruction from free_team.
12338         Call free_team on pool->last_team if any, rather than freeing
12339         current team.  Destroy work_share_list_free_lock ifndef
12340         HAVE_SYNC_BUILTINS.
12341         (gomp_new_icv): New function.
12342         (gomp_threads, gomp_threads_size, gomp_threads_used,
12343         gomp_threads_dock): Removed.
12344         (gomp_thread_destructor): New variable.
12345         (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
12346         functions.
12347         (gomp_team_start): Create new pool if current thread doesn't have
12348         one.  Use pool fields instead of global gomp_* variables.
12349         Initialize thread_pool field for new threads.  Clear single_count.
12350         Change last argument from ws to team, don't create
12351         new team, set ts.work_share to &team->work_shares[0] and clear
12352         ts.last_work_share.  Don't clear ts.work_share_generation.
12353         If number of threads changed, adjust atomically gomp_managed_threads.
12354         Use gomp_init_task instead of gomp_new_task,
12355         set thr->task to the corresponding implicit_task array entry.
12356         Create tasks for each member thread.  Initialize ts.level.
12357         (initialize_team): Call pthread_key_create on
12358         gomp_thread_destructor.
12359         (team_destructor): New function.
12360         (new_team): Removed.
12361         (gomp_new_team): New function.
12362         (free_team): Free gomp_work_share blocks chained through next_alloc,
12363         instead of freeing work_shares and destroying work_share_lock.
12364         (gomp_team_end): Call gomp_fini_work_share.  If number of threads
12365         changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
12366         * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
12367         of gomp_barrier_wait.
12368         * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
12369         instead of gomp_barrier_wait.  Call gomp_work_share_init_done
12370         if gomp_work_share_start returned true.  Don't unlock ws->lock.
12371         (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
12372         of gomp_barrier_wait.
12373         (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
12374         gomp_work_share_init_done if gomp_work_share_start returned true.
12375         Don't unlock ws->lock.
12376         * work.c: Include stddef.h.
12377         (free_work_share): Use work_share_list_free_lock instead
12378         of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
12379         Call gomp_fini_work_share and then either free ws if orphaned, or
12380         put it into work_share_list_free list of the current team.
12381         (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
12382         functions.
12383         (gomp_work_share_start, gomp_work_share_end,
12384         gomp_work_share_end_nowait): Rewritten.
12385         * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
12386         (openmp_version): Set to 200805.
12387         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
12388         omp_sched_guided, omp_sched_auto): New parameters.
12389         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12390         omp_set_max_active_levels, omp_get_max_active_levels,
12391         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12392         omp_get_active_level): New interfaces.
12393         * omp_lib.h.in (openmp_version): Set to 200805.
12394         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
12395         omp_sched_guided, omp_sched_auto): New parameters.
12396         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12397         omp_set_max_active_levels, omp_get_max_active_levels,
12398         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12399         omp_get_active_level): New externals.
12400         * loop.c: Include limits.h.
12401         (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
12402         GFS_AUTO.
12403         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
12404         Likewise.  Use gomp_icv.
12405         (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
12406         ts.static_trip here.
12407         (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
12408         gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
12409         (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
12410         gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
12411         don't unlock ws->lock, otherwise lock it.
12412         (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
12413         gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
12414         (gomp_parallel_loop_start): Call gomp_new_team instead of
12415         gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
12416         Adjust gomp_team_start caller.  Pass 0 as second argument to
12417         gomp_resolve_num_threads.
12418         (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
12419         If adding ws->chunk_size nthreads + 1 times after end won't
12420         overflow, set ws->mode to 1.
12421         * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
12422         GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
12423         GOMP_loop_ull_ordered_static_start,
12424         GOMP_loop_ull_ordered_dynamic_start,
12425         GOMP_loop_ull_ordered_guided_start,
12426         GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
12427         GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
12428         GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
12429         GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
12430         GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
12431         prototypes.
12432         * libgomp.map: Export lock routines also @@OMP_2.0.
12433         (GOMP_loop_ordered_dynamic_first,
12434         GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
12435         GOMP_loop_ordered_static_first): Remove.
12436         (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
12437         GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
12438         GOMP_loop_ull_ordered_dynamic_next,
12439         GOMP_loop_ull_ordered_dynamic_start,
12440         GOMP_loop_ull_ordered_guided_next,
12441         GOMP_loop_ull_ordered_guided_start,
12442         GOMP_loop_ull_ordered_runtime_next,
12443         GOMP_loop_ull_ordered_runtime_start,
12444         GOMP_loop_ull_ordered_static_next,
12445         GOMP_loop_ull_ordered_static_start,
12446         GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
12447         GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
12448         GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
12449         (omp_set_schedule, omp_get_schedule,
12450         omp_get_thread_limit, omp_set_max_active_levels,
12451         omp_get_max_active_levels, omp_get_level,
12452         omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
12453         omp_set_schedule_, omp_set_schedule_8_,
12454         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12455         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12456         omp_get_max_active_levels_, omp_get_level_,
12457         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12458         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12459         New exports @@OMP_3.0.
12460         * omp.h.in (omp_sched_t): New type.
12461         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12462         omp_set_max_active_levels, omp_get_max_active_levels,
12463         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
12464         omp_get_active_level): New prototypes.
12465         * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
12466         gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
12467         gomp_thread_limit_var, gomp_remaining_threads_count,
12468         gomp_remaining_threads_lock): New variables.
12469         (parse_spincount): New function.
12470         (initialize_env): Call gomp_init_num_threads unconditionally.
12471         Initialize gomp_available_cpus.  Call parse_spincount,
12472         initialize gomp_{,throttled_}spin_count_var
12473         depending on presence and value of OMP_WAIT_POLICY and
12474         GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
12475         Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
12476         OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
12477         for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
12478         gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
12479         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
12480         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
12481         (gomp_global_icv): New.
12482         (parse_schedule): Use it.  Parse "auto".
12483         (omp_set_num_threads): Use gomp_icv.
12484         (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
12485         Likewise.
12486         (omp_get_max_threads): Move from parallel.c.
12487         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
12488         omp_set_max_active_levels, omp_get_max_active_levels): New functions,
12489         add ialias.
12490         (parse_stacksize, parse_wait_policy): New functions.
12491         * fortran.c: Rewrite lock wrappers, if symbol versioning provide
12492         both wrappers for compatibility and new locks.
12493         (omp_set_schedule, omp_get_schedule,
12494         omp_get_thread_limit, omp_set_max_active_levels,
12495         omp_get_max_active_levels, omp_get_level,
12496         omp_get_ancestor_thread_num, omp_get_team_size,
12497         omp_get_active_level): New ialias_redirect.
12498         (omp_set_schedule_, omp_set_schedule_8_,
12499         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
12500         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
12501         omp_get_max_active_levels_, omp_get_level_,
12502         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
12503         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
12504         New functions.
12505         * parallel.c: Include limits.h.
12506         (gomp_resolve_num_threads): Add count argument.  Rewritten.
12507         (GOMP_parallel_start): Call gomp_new_team and pass that as last
12508         argument to gomp_team_start.  Pass 0 as second argument to
12509         gomp_resolve_num_threads.
12510         (GOMP_parallel_end): Decrease gomp_remaining_threads_count
12511         if gomp_thread_limit_var != ULONG_MAX.
12512         (omp_in_parallel): Implement using ts.active_level.
12513         (omp_get_max_threads): Move to env.c.
12514         (omp_get_level, omp_get_ancestor_thread_num,
12515         omp_get_team_size, omp_get_active_level): New functions,
12516         add ialias.
12517         * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
12518         after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
12519         gomp_iter_dynamic_next instead of the _locked variant and don't take
12520         lock around it, otherwise acquire it before calling
12521         gomp_iter_dynamic_next_locked.
12522         (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
12523         gomp_iter_dynamic_next instead of the _locked variant and don't take
12524         lock around it.
12525         (GOMP_parallel_sections_start): Call gomp_new_team instead of
12526         gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
12527         Adjust gomp_team_start caller.  Pass count as second argument to
12528         gomp_resolve_num_threads, don't adjust num_threads after the call.
12529         Use gomp_icv.
12530         * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
12531         ws->chunk_size by incr.
12532         (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
12533         code.
12534         * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
12535         types.
12536         (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
12537         (omp_check_defines): Check even the compat defines.
12538         * config/linux/ptrlock.c: New file.
12539         * config/linux/ptrlock.h: New file.
12540         * config/linux/wait.h: New file.
12541         * config/posix/ptrlock.c: New file.
12542         * config/posix/ptrlock.h: New file.
12543         * config/linux/bar.h (gomp_team_barrier_wait,
12544         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12545         (gomp_team_barrier_set_task_pending,
12546         gomp_team_barrier_clear_task_pending,
12547         gomp_team_barrier_set_waiting_for_tasks,
12548         gomp_team_barrier_waiting_for_tasks,
12549         gomp_team_barrier_done): New inlines.
12550         (gomp_barrier_t): Rewritten.
12551         (gomp_barrier_state_t): New typedef.
12552         (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
12553         gomp_barrier_wait_start): Rewritten.
12554         (gomp_barrier_wait_end): Change second argument to
12555         gomp_barrier_state_t.
12556         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12557         inlines.
12558         * config/linux/bar.c: Include wait.h instead of libgomp.h and
12559         futex.h.
12560         (gomp_barrier_wait_end): Rewritten.
12561         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12562         gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
12563         * config/posix/bar.h (gomp_barrier_t): Add generation field.
12564         (gomp_barrier_state_t): New typedef.
12565         (gomp_team_barrier_wait,
12566         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
12567         (gomp_barrier_wait_start): Or all but low 2 bits from generation
12568         into the return value.  Return gomp_barrier_state_t.
12569         (gomp_team_barrier_set_task_pending,
12570         gomp_team_barrier_clear_task_pending,
12571         gomp_team_barrier_set_waiting_for_tasks,
12572         gomp_team_barrier_waiting_for_tasks,
12573         gomp_team_barrier_done): New inlines.
12574         (gomp_barrier_wait_end): Change second argument to
12575         gomp_barrier_state_t.
12576         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
12577         inlines.
12578         * config/posix/bar.c (gomp_barrier_init): Clear generation field.
12579         (gomp_barrier_wait_end): Change second argument to
12580         gomp_barrier_state_t.
12581         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
12582         gomp_team_barrier_wake): New functions.
12583         * config/linux/mutex.c: Include wait.h instead of libgomp.h and
12584         futex.h.
12585         (gomp_futex_wake, gomp_futex_wait): New variables.
12586         (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
12587         * config/linux/lock.c: Rewrite to make locks task owned,
12588         for backwards compatibility provide the old entrypoints
12589         if symbol versioning.  Include wait.h instead of libgomp.h and
12590         futex.h.
12591         (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
12592         * config/posix95/lock.c: Rewrite to make locks task owned,
12593         for backwards compatibility provide the old entrypoints
12594         if symbol versioning.
12595         * config/posix/lock.c: Rewrite to make locks task owned,
12596         for backwards compatibility provide the old entrypoints
12597         if symbol versioning.
12598         * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
12599         (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
12600         * config/posix/proc.c, config/mingw32/proc.c: Similarly.
12601         * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12602         (sys_futex0): Return error code.
12603         (futex_wake, futex_wait): If ENOSYS was returned, clear
12604         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12605         (cpu_relax, atomic_write_barrier): New static inlines.
12606         * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12607         (futex_wake, futex_wait): If ENOSYS was returned, clear
12608         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12609         (cpu_relax, atomic_write_barrier): New static inlines.
12610         * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12611         (sys_futex0): Return error code.
12612         (futex_wake, futex_wait): If ENOSYS was returned, clear
12613         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12614         (cpu_relax, atomic_write_barrier): New static inlines.
12615         * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12616         (sys_futex0): Return error code.
12617         (futex_wake, futex_wait): If ENOSYS was returned, clear
12618         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12619         (cpu_relax, atomic_write_barrier): New static inlines.
12620         * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12621         (sys_futex0): Return error code.
12622         (futex_wake, futex_wait): If ENOSYS was returned, clear
12623         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12624         (cpu_relax, atomic_write_barrier): New static inlines.
12625         * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
12626         (sys_futex0): Return error code.
12627         (futex_wake, futex_wait): If ENOSYS was returned, clear
12628         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
12629         (cpu_relax, atomic_write_barrier): New static inlines.
12630         * config/linux/sem.c: Include wait.h instead of libgomp.h and
12631         futex.h.
12632         (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
12633         * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
12634         * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
12635         types.
12636         (omp_nest_lock_t): Change owner into void *, add lock field.
12637         * config/posix95/omp-lock.h: Include semaphore.h.
12638         (omp_lock_25_t, omp_nest_lock_25_t): New types.
12639         (omp_lock_t): Use sem_t instead of mutex if semaphores
12640         aren't broken.
12641         (omp_nest_lock_t): Likewise.  Change owner to void *.
12642         * config/posix/omp-lock.h: Include semaphore.h.
12643         (omp_lock_25_t, omp_nest_lock_25_t): New types.
12644         (omp_lock_t): Use sem_t instead of mutex if semaphores
12645         aren't broken.
12646         (omp_nest_lock_t): Likewise.  Add owner field.
12648 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
12650         * testsuite/libgomp.c/collapse-1.c: New test.
12651         * testsuite/libgomp.c/collapse-2.c: New test.
12652         * testsuite/libgomp.c/collapse-3.c: New test.
12653         * testsuite/libgomp.c/icv-1.c: New test.
12654         * testsuite/libgomp.c/icv-2.c: New test.
12655         * testsuite/libgomp.c/lib-2.c: New test.
12656         * testsuite/libgomp.c/lock-1.c: New test.
12657         * testsuite/libgomp.c/lock-2.c: New test.
12658         * testsuite/libgomp.c/lock-3.c: New test.
12659         * testsuite/libgomp.c/loop-4.c: New test.
12660         * testsuite/libgomp.c/loop-5.c: New test.
12661         * testsuite/libgomp.c/loop-6.c: New test.
12662         * testsuite/libgomp.c/loop-7.c: New test.
12663         * testsuite/libgomp.c/loop-8.c: New test.
12664         * testsuite/libgomp.c/loop-9.c: New test.
12665         * testsuite/libgomp.c/nested-3.c: New test.
12666         * testsuite/libgomp.c/nestedfn-6.c: New test.
12667         * testsuite/libgomp.c/sort-1.c: New test.
12668         * testsuite/libgomp.c/task-1.c: New test.
12669         * testsuite/libgomp.c/task-2.c: New test.
12670         * testsuite/libgomp.c/task-3.c: New test.
12671         * testsuite/libgomp.c/task-4.c: New test.
12672         * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
12673         to C++ testsuite default compiler options.
12674         * testsuite/libgomp.c++/collapse-1.C: New test.
12675         * testsuite/libgomp.c++/collapse-2.C: New test.
12676         * testsuite/libgomp.c++/ctor-10.C: New test.
12677         * testsuite/libgomp.c++/for-1.C: New test.
12678         * testsuite/libgomp.c++/for-2.C: New test.
12679         * testsuite/libgomp.c++/for-3.C: New test.
12680         * testsuite/libgomp.c++/for-4.C: New test.
12681         * testsuite/libgomp.c++/for-5.C: New test.
12682         * testsuite/libgomp.c++/loop-8.C: New test.
12683         * testsuite/libgomp.c++/loop-9.C: New test.
12684         * testsuite/libgomp.c++/loop-10.C: New test.
12685         * testsuite/libgomp.c++/task-1.C: New test.
12686         * testsuite/libgomp.c++/task-2.C: New test.
12687         * testsuite/libgomp.c++/task-3.C: New test.
12688         * testsuite/libgomp.c++/task-4.C: New test.
12689         * testsuite/libgomp.c++/task-5.C: New test.
12690         * testsuite/libgomp.c++/task-6.C: New test.
12691         * testsuite/libgomp.fortran/allocatable1.f90: New test.
12692         * testsuite/libgomp.fortran/allocatable2.f90: New test.
12693         * testsuite/libgomp.fortran/allocatable3.f90: New test.
12694         * testsuite/libgomp.fortran/allocatable4.f90: New test.
12695         * testsuite/libgomp.fortran/collapse1.f90: New test.
12696         * testsuite/libgomp.fortran/collapse2.f90: New test.
12697         * testsuite/libgomp.fortran/collapse3.f90: New test.
12698         * testsuite/libgomp.fortran/collapse4.f90: New test.
12699         * testsuite/libgomp.fortran/lastprivate1.f90: New test.
12700         * testsuite/libgomp.fortran/lastprivate2.f90: New test.
12701         * testsuite/libgomp.fortran/lib4.f90: New test.
12702         * testsuite/libgomp.fortran/lock-1.f90: New test.
12703         * testsuite/libgomp.fortran/lock-2.f90: New test.
12704         * testsuite/libgomp.fortran/nested1.f90: New test.
12705         * testsuite/libgomp.fortran/nestedfn4.f90: New test.
12706         * testsuite/libgomp.fortran/strassen.f90: New test.
12707         * testsuite/libgomp.fortran/tabs1.f90: New test.
12708         * testsuite/libgomp.fortran/tabs2.f: New test.
12709         * testsuite/libgomp.fortran/task1.f90: New test.
12710         * testsuite/libgomp.fortran/task2.f90: New test.
12711         * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
12712         * testsuite/libgomp.fortran/vla5.f90: Likewise.
12713         * testsuite/libgomp.c/pr26943-2.c: Likewise.
12714         * testsuite/libgomp.c/pr26943-3.c: Likewise.
12715         * testsuite/libgomp.c/pr26943-4.c: Likewise.
12717 2008-05-23  Jakub Jelinek  <jakub@redhat.com>
12719         PR c++/36308
12720         * testsuite/libgomp.c++/ctor-11.C: New test.
12721         * testsuite/libgomp.c++/ctor-12.C: New test.
12723 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
12725         * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
12727 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
12729         PR middle-end/36106
12730         * testsuite/libgomp.c/atomic-5.c: New test.
12731         * testsuite/libgomp.c/atomic-6.c: New test.
12732         * testsuite/libgomp.c/autopar-1.c: New test.
12734 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12736         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
12737         (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
12738         (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
12739         (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
12740         * configure: Regenerate.
12741         * Makefile.in, testsuite/Makefile.in: Likewise.
12743 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
12745         PR bootstrap/35457
12746         * aclocal.m4: Regenerate.
12747         * configure: Regenerate.
12749 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
12751         PR middle-end/35611
12752         * testsuite/libgomp.c/atomic-4.c: New test.
12754         PR libgomp/35625
12755         * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
12756         (gomp_iter_guided_next): Likewise.
12757         * testsuite/libgomp.c/pr35625.c: New test.
12759 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12761         * aclocal.m4: Regenerate.
12762         * configure: Likewise.
12763         * Makefile.in: Likewise.
12764         * testsuite/Makefile.in: Likewise.
12766 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
12768         PR middle-end/35185
12769         * testsuite/libgomp.c++/pr35185.C: New test.
12771 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
12773         PR middle-end/35549
12774         * testsuite/libgomp.c/pr35549.c: New test.
12776 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
12778         * testsuite/libgomp.c/atomic-3.c: New test.
12780 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
12782         PR fortran/33197
12783         * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
12784         .F08 file suffixes.
12786 2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
12788         PR libgomp/33131
12789         * configure.ac: Add ACX_HEADER_STRING.
12790         * env.c: Include strings.h.
12791         * aclocal.m4: Regenerate.
12792         * config.h.in: Regenerate.
12793         * configure: Regenerate.
12794         * Makefile.in: Regenerate.
12795         * testsuite/Makefile.in: Regenerate.
12797 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
12799         PR middle-end/35196
12800         * testsuite/libgomp.c/pr35196.c: New test.
12802         PR middle-end/35130
12803         * testsuite/libgomp.fortran/pr35130.f90: New test.
12804         * testsuite/libgomp.c/pr35130.c: New test.
12806 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
12808         PR middle-end/33880
12809         * testsuite/libgomp.c/pr33880.c: New test.
12810         * testsuite/libgomp.fortran/pr33880.f90: New test.
12812 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
12814         * configure: Regenerate.
12816 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
12818         * configure.ac: Move futex checking into ../config/futex.m4.
12819         * configure: Rebuilt.
12820         * aclocal.m4: Rebuilt.
12821         * Makefile.in: Rebuilt.
12823         * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
12824         2007-10-15 ../config/tls.m4 change.
12826 2007-12-19  Jakub Jelinek  <jakub@redhat.com>
12828         PR c++/34513
12829         * testsuite/libgomp.c/pr34513.c: New test.
12830         * testsuite/libgomp.c++/pr34513.C: New test.
12832 2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
12834         PR target/32765
12835         * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
12837 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
12839         * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
12841 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
12843         * testsuite/libgomp.c/private-1.c: New test.
12845 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
12846             Paolo Bonzini  <bonzini@gnu.org>
12848         * Makefile.am: Use space as vpath separator.  Use 'vpath %'
12849         instead of 'VPATH ='.
12850         * Makefile.in: Regenerate.
12852 2007-11-23  Matthias Klose  <doko@ubuntu.com>
12854         * configure.ac: Adjust makeinfo version check.
12855         * configure: Regenerate.
12857 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
12859         PR fortran/34020
12860         * testsuite/libgomp.fortran/pr34020.f90: New test.
12862 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
12864         PR c++/33894
12865         * testsuite/libgomp.c++/atomic-1.C: New test.
12867 2007-10-25  Jakub Jelinek  <jakub@redhat.com>
12869         PR libgomp/33275
12870         * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
12871         Make x and y integers rather than (implicit) reals.  Add private (j)
12872         clause to the last omp parallel.
12874 2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
12876         * configure: Regenerate following changes to ../config/tls.m4.
12878 2007-09-28  Jakub Jelinek  <jakub@redhat.com>
12880         * testsuite/libgomp.fortran/stack.f90: New test.
12882 2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
12884         * config/mingw32/proc.c: New file.
12886 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
12888         * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
12889         (main): Use __get_cpuid to get i386 target fetaures.
12890         * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
12891         (main): Use __get_cpuid to get x86_64 target fetaures.
12893 2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
12895         PR target/32765
12896         * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
12897         * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
12899 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
12901         PR fortran/32550
12902         * testsuite/libgomp.fortran/pr32550.f90: New test.
12903         * testsuite/libgomp.fortran/crayptr2.f90: New test.
12905 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
12907         * aclocal.m4: Regenerated.
12909 2007-07-05  Tobias Burnus  <burnus@net-b.de>
12911         PR fortran/32359
12912         * testsuite/libgomp.fortran/pr32359.f90: New.
12914 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
12916         PR libgomp/32468
12917         * sections.c (GOMP_parallel_sections_start): Only decrease
12918         number of threads to COUNT if dyn_var is true.
12919         * testsuite/libgomp.c/pr32468.c: New test.
12921 2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
12923         PR libgomp/26308
12924         * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
12926 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
12928         PR middle-end/32362
12929         * testsuite/libgomp.c/pr32362-1.c: New test.
12930         * testsuite/libgomp.c/pr32362-2.c: New test.
12931         * testsuite/libgomp.c/pr32362-3.c: New test.
12933 2007-06-07  Jakub Jelinek  <jakub@redhat.com>
12935         * team.c (gomp_team_start): Fix setting up thread_attr
12936         stack size.
12938 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
12940         * configure: Regenerate.
12942 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
12944         * Makefile.in: Regenerate.
12945         * configure: Regenerate.
12946         * aclocal.m4: Regenerate.
12947         * testsuite/Makefile.in: Regenerate.
12949 2007-05-04  Jakub Jelinek  <jakub@redhat.com>
12951         * config/linux/proc.c: New file.
12953         PR libgomp/28482
12954         * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
12956 2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
12958         * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
12960 2007-04-16  Matthias Klose  <doko@debian.org>
12962         * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
12963         flags if not building with -m64.
12964         * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
12965         flag for i?86-*-* targets, if current target matches -m64.
12967 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
12969         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
12970         * Makefile.in: Regenerate.
12972 2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
12974         PR testsuite/31369
12975         * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
12976         ld_library_path.
12977         * testsuite/libgomp.fortran/fortran.exp: Likewise.
12979 2007-04-04  Jakub Jelinek  <jakub@redhat.com>
12981         * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
12982         decls.
12983         (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
12984         * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
12985         (parse_affinity): New function.
12986         (initialize_env): Call it and gomp_init_affinity.
12987         * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
12988         create new pthread_attr_t and call gomp_init_thread_affinity
12989         on it for each thread before passing the attribute to pthread_create.
12990         * config/linux/affinity.c: New file.
12991         * config/posix/affinity.c: New file.
12992         * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
12993         * configure: Rebuilt.
12994         * config.h.in: Rebuilt.
12995         * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
12996         * Makefile.in: Rebuilt.
12998 2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
13000         * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
13001         *-*-darwin*.
13002         * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
13003         and use it if found.
13005 2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
13007         * testsuite/config/default.exp: New file.
13008         * testsuite/lib/libgomp.exp: New file.
13009         * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
13010         libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
13011         load_lib *, load_gcc_lib *): Move to libgomp.exp.
13012         (libgomp_load): Remove.
13013         * testsuite/lib/libgomp.exp (libgomp_init): Compute
13014         always_ld_library_path, not ld_library_path.  Set additional_flags
13015         to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
13016         (target_compile): Do not call libgomp_init.  Append lang_library_path
13017         and lang_link_flags to options.
13018         * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
13019         ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
13020         here.
13021         * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
13022         always_ld_library_path.  Set LD_LIBRARY_PATH here.
13023         * testsuite/libgomp.fortran/fortran.exp: Ditto.
13024         * testsuite/libgomp.c/atomic-1.c: Set dg-options to
13025         "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
13026         CX8 flag.
13027         * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
13028         lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
13029         * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
13030         * testsuite/libgomp.c/pr29947-1.c: Ditto.
13031         * testsuite/libgomp.c/atomic-10.c: Ditto.
13033 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
13035         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
13036         dg-final cleanup-modules line.
13037         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
13038         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
13039         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
13040         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
13041         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
13042         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
13043         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
13045 2007-03-18  Andreas Schwab  <schwab@suse.de>
13047         * acinclude.m4: Adjust regular expression for ld version
13048         extraction.
13049         * configure: Regenerate.
13051 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
13053         * Makefile.am: Add install-pdf target as copied from
13054         automake v1.10 rules.
13055         * Makefile.in: Regenerate
13057 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
13059         PR libgomp/28486
13060         * configure: Regenerate.
13062         PR c++/30703
13063         * testsuite/libgomp.c++/pr30703.C: New test.
13065 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
13067         Revert:
13068         2006-07-05  Eric Christopher  <echristo@apple.com>
13069         * configure.ac: Depend addition of -pthread on host OS.
13070         * configure: Regenerate.
13072 2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13074         * libgomp.texi: Fix spacing after abbreviations.
13076 2007-01-31  Daniel Franke <franke.daniel@gmail.com>
13078         PR libgomp/30546
13079         * configure.ac: Add check for makeinfo
13080         * Makefile.am: Redefined target libgomp.info, build libgomp.info only
13081         if an appropriate version of makeinfo is found.
13082         * aclocal.m4: Regenerated.
13083         * configure: Regenerated.
13084         * Makefile.in: Regenerated.
13085         * testsuite/Makefile.in: Regenerated.
13087 2007-01-29  Daniel Franke <franke.daniel@gmail.com>
13089         PR libgomp/30540
13090         * libgomp.texi: More about implementation-dependent settings.
13092 2007-01-26  Tobias Burnus  <burnus@net-b.de>
13094         * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
13096 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
13098         PR middle-end/30494
13099         * testsuite/libgomp.c/pr30494.c: New test.
13101 2007-01-15  Tom Tromey  <tromey@redhat.com>
13103         * configure: Rebuilt.
13104         * configure.ac: Fixed comment.
13106 2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
13108         * libgomp.texi: Document implementation specific default values of
13109         environment variables.
13111 2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
13113         PR libgomp/28209
13114         * libgomp.texi: New file.
13115         * configure.ac: Add --enable-generated-files-in-srcdir option.
13116         * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
13117         files to srcdir.
13118         * Makefile.in: Regenerated.
13119         * config.h.in: Regenerated.
13120         * testsuite/Makefile.in: Regenerated.
13121         * NOTES: Removed.
13123 2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
13125         PR libgomp/29949
13126         * env.c (omp_set_num_threads): Set illegal thread count to 1.
13128 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
13130         * configure: Regenerate.
13132 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
13134         PR libgomp/29947
13135         * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
13136         start if there shouldn't be any loop iterations.
13137         (gomp_loop_ordered_static_start): Remove start == end test.
13138         * testsuite/libgomp.c/pr29947-1.c: New test.
13139         * testsuite/libgomp.c/pr29947-2.c: New test.
13141 2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
13143         * configure.tgt: Force initial-exec TLS model on Linux only.
13145 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
13147         * configure: Regenerated.
13149 2006-11-09  Uros Bizjak  <ubizjak@gmail.com>
13151         * env.c (parse_schedule): Reject out of range values.
13152         (parse_unsigned_long): Reject out of range, negative or zero values.
13154 2006-10-29  Jakub Jelinek  <jakub@redhat.com>
13156         PR fortran/29629
13157         * testsuite/libgomp.fortran/pr29629.f90: New test.
13159 2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
13161         PR libgomp/29494
13162         * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
13163         * config/posix95: New directory.
13164         * config/posix95/omp-lock.h: New file.
13165         * config/posix95/lock.c: Likewise.
13167 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
13169         * aclocal.m4: Regenerate.
13170         * configure: Regenerate.
13172 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
13174         * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
13175         '<' to '<='.
13177 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
13179         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
13180         test.
13181         * configure: Regenerate.
13182         * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
13184 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
13186         PR middle-end/25261
13187         PR middle-end/28790
13188         * testsuite/libgomp.c/nestedfn-4.c: New test.
13189         * testsuite/libgomp.c/nestedfn-5.c: New test.
13190         * testsuite/libgomp.fortran/nestedfn3.f90: New test.
13192         PR fortran/29097
13193         * testsuite/libgomp.fortran/condinc1.f: New test.
13194         * testsuite/libgomp.fortran/condinc2.f: New test.
13195         * testsuite/libgomp.fortran/condinc3.f90: New test.
13196         * testsuite/libgomp.fortran/condinc4.f90: New test.
13197         * testsuite/libgomp.fortran/condinc1.inc: New file.
13199 2006-09-18  Tom Tromey  <tromey@redhat.com>
13201         * configure: Rebuilt.
13203 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
13205         PR c/28768
13206         PR preprocessor/14634
13207         * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
13208         to AC_DEFINE.
13209         * configure: Regenerate.
13211 2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
13213         * testsuite/libgomp.fortran/reduction3.f90: Change
13214         -2147483648 to -huge(i)-1 to avoid overflow.
13215         * testsuite/libgomp.fortran/reduction4.f90: Change
13216         Z'ffffffff' to not(0) to avoid overflow.
13218 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
13220         PR libgomp/25938
13221         * Makefile.am (libsubincludedir): New.
13222         (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
13223         * Makefile.in: Regenerate.
13225 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
13227         PR libgomp/28725
13228         * env.c: Include ctype.h.
13229         (parse_schedule, parse_unsigned_long, parse_boolean): Allow
13230         leading and/or trailing whitespace and compare strings case
13231         insensitively.
13233 2006-07-16  Jakub Jelinek  <jakub@redhat.com>
13235         PR fortran/28390
13236         * testsuite/libgomp.fortran/pr28390.f: New test.
13238 2006-07-05  Eric Christopher  <echristo@apple.com>
13240         * configure.ac: Depend addition of -pthread on host OS.
13241         * configure: Regenerate.
13243 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
13245         * critical.c (GOMP_critical_name_start): Fix *pptr initialization
13246         when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
13247         defined.
13249 2006-06-20  Jakub Jelinek  <jakub@redhat.com>
13251         PR libgomp/26175
13252         PR libgomp/26477
13253         * configure.ac: If neither --enable-linux-futex nor
13254         --disable-linux-futex is passed, determine the default by checking
13255         for compiling and/or running against NPTL.  With --enable-linux-futex,
13256         check if SYS_gettid and SYS_futex are defined.
13257         * configure: Rebuilt.
13259 2006-06-14  Richard Henderson  <rth@redhat.com>
13261         PR libgomp/28008
13262         * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
13263         undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
13265 2006-06-09  Richard Henderson  <rth@redhat.com>
13267         * env.c (gomp_nthreads_var): Change to unsigned long.
13268         (gomp_run_sched_chunk): Likewise.
13269         (parse_unsigned_long): Rename from parse_num_threads and generalize.
13270         (initialize_env): Initialize gomp_thread_attr.
13271         * libgomp.h (gomp_nthreads_var): Update decl.
13272         (gomp_run_sched_chunk): Likewise.
13273         (gomp_thread_attr): Declare.
13274         * team.c (gomp_thread_attr): Export.
13275         (initialize_team): Don't initialize it.
13277 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
13279         PR fortran/27916
13280         * testsuite/libgomp.fortran/pr27916-1.f90: New test.
13281         * testsuite/libgomp.fortran/pr27916-2.f90: New test.
13283 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
13285         * config/mingw32/time.c: New file.
13286         * configure.tgt: Use it.
13288 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
13290         * Makefile.am: Add install-html target. Add install-html to .PHONY
13291         * Makefile.in: Regenerate.
13293 2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
13295         PR libgomp/27612
13296         * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
13297         * testsuite/libgomp.c/critical-1.c: Likewise.
13298         * testsuite/libgomp.c/loop-1.c: Likewise.
13299         * testsuite/libgomp.c/loop-2.c: Likewise.
13300         * testsuite/libgomp.c/single-1.c: Likewise.
13301         * testsuite/libgomp.c/ordered-1.c: Likewise.
13302         * testsuite/libgomp.c/ordered-2.c: Likewise.
13304 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
13306         PR middle-end/27416
13307         * libgomp.fortran/pr27416-1.f90: New test.
13309 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
13311         PR fortran/27395
13312         * testsuite/libgomp.fortran/pr27395-1.f90: New test.
13313         * testsuite/libgomp.fortran/pr27395-2.f90: New test.
13315 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
13317         PR c++/26943
13318         * testsuite/libgomp.c/pr26943-1.c: New test.
13319         * testsuite/libgomp.c/pr26943-2.c: New test.
13320         * testsuite/libgomp.c/pr26943-3.c: New test.
13321         * testsuite/libgomp.c/pr26943-4.c: New test.
13322         * testsuite/libgomp.c++/pr27337.C: Remove barrier.
13323         * testsuite/libgomp.c++/pr26943.C: New test.
13325 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
13327         PR middle-end/27337
13328         * testsuite/libgomp.c++/pr27337.C: New test.
13330 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
13332         PR c/26171
13333         * testsuite/libgomp.c/pr26171.c: New test.
13335 2006-04-25  Richard Henderson  <rth@redhat.com>
13337         PR libgomp/25865
13338         * configure.ac: Use GCC_CHECK_TLS.
13339         * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
13340         * Makefile.in, aclocal.m4, configure: Regenerate.
13342 2006-04-10  Matthias Klose  <doko@debian.org>
13344         * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
13345         directory names containing underscores.
13347 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
13349         PR c++/26691
13350         * testsuite/libgomp.c++/pr26691.C: New test.
13352 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
13354         * testsuite/libgomp.fortran/retval2.f90: New test.
13356 2006-03-09  Diego Novillo  <dnovillo@redhat.com>
13358         * testsuite/libgomp.c++: New directory.
13360 2006-02-25  Shantonu Sen  <ssen@opendarwin.org>
13362         * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
13363         * config/posix/sem.c: Implement the above.
13365 2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
13367         * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
13368         define HAVE_BROKEN_POSIX_SEMAPHORES.
13369         * configure: Rebuilt.
13370         * config.h.in: Rebuilt.
13372 2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
13374         PR bootstrap/26161
13375         * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
13376         for the other pthread check.
13377         * configure: Regenerate.
13378         * config.h.in: Regenerate.
13380 2006-02-15  Jakub Jelinek  <jakub@redhat.com>
13382         PR libgomp/25938
13383         PR libgomp/25984
13384         * Makefile.am (fincludedir): New variable.
13385         (nodist_include_HEADERS): Remove Fortran files.
13386         (nodist_finclude_HEADERS): New variable.
13387         * Makefile.in: Regenerated.
13389 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
13391         * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
13392         Remove tests for returning assumed character length arrays.
13394 2006-02-12  Roger Sayle  <roger@eyesopen.com>
13395             John David Anglin  <dave@hiauly1.hia.nrc.ca>
13397         PR libgomp/25936
13398         * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
13400 2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
13402         * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
13404 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
13406         * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
13407         part of LD_LIBRARY_PATH manually.
13409 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
13411         PR libgomp/25852
13412         * testsuite/lib/libgomp-dg.exp (blddir): Set it in
13413         libgomp_init.
13415 2005-01-25  Paolo Bonzini  <bonzini@gnu.org>
13417         PR libgomp/25884
13418         * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
13419         * configure.ac (PERL): Don't set.
13420         (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
13421         (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
13422         OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
13423         * omp.h.in: Wrap the new configure substitutions with @ characters.
13424         * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
13425         * aclocal.m4, configure, Makefile.in: Regenerate.
13426         * mkomp_h.pl: Delete.
13428 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
13430         PR libgomp/25259
13431         * configure.ac: Use GCC_HEADER_STDINT.
13432         * libgomp.h: Include gstdint.h.
13433         * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
13434         * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
13436 2006-01-24  Richard Henderson  <rth@redhat.com>
13438         PR libgomp/25942
13439         * configure.ac: Add AM_MAINTAINER_MODE.
13440         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
13442 2006-01-24  Diego Novillo  <dnovillo@redhat.com>
13444         * Makefile.in: Regenerate.
13445         * testsuite/Makefile.in: Regenerate.
13446         * aclocal.m4: Regenerate.
13448 2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
13450         * config/posix/proc.c: Conditional include of sys/loadavg.h for
13451         Solaris.
13452         * configure.ac: Add check for loadavg.h.
13453         (link_gomp): Adjust comment.
13454         * configure: Regenerate.
13455         * config.h.in: Regenerate.
13457 2006-01-21  Steve Ellcey  <sje@cup.hp.com>
13459         PR libgomp/25877
13460         * configure.ac: Remove check for alloca.h.
13461         * configure: Regenerate.
13462         * config.h.in: Regenerate.
13463         * libgomp.h: define gomp_alloca to be __builtin_alloca.
13464         * team.c: Remove use of alloca.h.
13465         Call gomp_alloca instead of alloca.
13467 2006-01-20  Steve Ellcey  <sje@cup.hp.com>
13469         PR libgomp/25877
13470         * team.c: Add include of alloca.h.
13471         * configure.ac: Add check for alloca.h.
13472         * configure: Regenerate.
13473         * config.h.in: Regenerate.
13475 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
13477         PR fortran/25219
13478         * testsuite/libgomp.fortran/pr25219.f90: New test.
13480 2005-12-05  Uros Bizjak  <uros@kss-loka.si>
13482         * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
13483         testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
13484         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13485         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13486         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
13487         testsuite/libgomp.fortran/threadprivate1.f90,
13488         testsuite/libgomp.fortran/threadprivate2.f90,
13489         testsuite/libgomp.fortran/threadprivate3.f90,
13490         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13491         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13492         testsuite/libgomp.fortran/omp_parse3.f90: Change required
13493         effective-target to TLS runtime.
13495         * testsuite/libgomp.fortran/pr25162.f: Require
13496         effective-target TLS runtime.
13498 2005-12-01  Jakub Jelinek  <jakub@redhat.com>
13500         * testsuite/libgomp.fortran/nestedfn2.f90: New test.
13501         * testsuite/libgomp.c/nestedfn-3.c: New test.
13503 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
13505         PR fortran/25162
13506         * testsuite/libgomp.fortran/pr25162.f: New test.
13508 2005-11-28  Jakub Jelinek  <jakub@redhat.com>
13510         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
13511         CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
13513 2005-11-25  Jakub Jelinek  <jakub@redhat.com>
13515         * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
13516         libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
13517         omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
13518         single.c, team.c, work.c, config/linux/alpha/futex.h,
13519         config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
13520         config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
13521         config/linux/powerpc/futex.h, config/linux/s390/futex.h,
13522         config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
13523         config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
13524         config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
13525         config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
13526         FSF address.
13528 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
13530         * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
13531         to nodist_noinst_HEADERS.
13532         * Makefile.in: Rebuilt.
13534         * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
13535         add integer count field.
13536         * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
13537         omp_nest_lock_t type change.
13538         (omp_init_nest_lock): Likewise.  Initialize count to 0.
13539         (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
13540         Increment count.
13541         (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
13542         Decrement count.
13543         (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
13544         Increment count if successful and return the new nesting level.
13545         * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
13546         * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
13547         * testsuite/libgomp.c/lib-1.c: New test.
13548         * testsuite/libgomp.fortran/lib1.f90: New test.
13549         * testsuite/libgomp.fortran/lib2.f: New test.
13550         * testsuite/libgomp.fortran/lib3.f: New test.
13552 2005-11-17  Richard Henderson  <rth@redhat.com>
13554         PR 24845
13555         * Makefile.am (nodist_toolexeclib_HEADERS): New.
13556         * configure.ac (link_gomp): New.  Substitute it.
13557         (AC_CONFIG_FILES): Add libgomp.spec.
13558         * libgomp.spec.in: New file.
13559         * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
13560         * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
13562 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
13564         * testsuite/libgomp.fortran/reduction1.f90: Adjust for
13565         reduction(-:var) behaving the same as reduction(+:var).
13566         * testsuite/libgomp.c/reduction-4.c: New test.
13568 2005-11-15  Uros Bizjak  <uros@kss-loka.si>
13570         * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
13571         testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
13572         testsuite/libgomp.c/copyin-3.c,
13573         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
13574         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
13575         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
13576         testsuite/libgomp.c++/pr24455.C,
13577         testsuite/libgomp.fortran/threadprivate1.f90,
13578         testsuite/libgomp.fortran/threadprivate2.f90,
13579         testsuite/libgomp.fortran/threadprivate3.f90,
13580         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
13581         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
13582         testsuite/libgomp.fortran/omp_parse3.f90: Require
13583         effective-target TLS.
13585 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
13587         * HEADER: Remove.
13589 2005-11-13  Jakub Jelinek  <jakub@redhat.com>
13591         PR libgomp/24797
13592         * team.c (initialize_team): Pass NULL rather than free as
13593         pthread_key_create destructor.  Initialize thread specific data
13594         pointer in initial thread to a static local variable rather than
13595         malloced memory.
13597 2005-11-11  Uros Bizjak  <uros@kss-loka.si>
13599         * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
13600         its location to ld_library_path.
13602 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
13604         * testsuite/libgomp.c/c.exp: Rename from dg.exp.
13606 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
13608         * testsuite/libgomp.c: Rename from libgomp.dg.
13610 2005-11-09  Diego Novillo  <dnovillo@redhat.com>
13612         * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
13613         threadprivate variable 'i'.
13615 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
13617         * config/linux/s390/futex.h: New file.
13618         * configure.tgt: Use it.
13620         * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
13621         before the parallel.
13623 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
13625         PR c++/24734
13626         * testsuite/libgomp.c++/master-1.C: New test.
13628 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
13630         * testsuite/libgomp.dg/copyin-3.c: New test.
13632 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
13634         * testsuite/libgomp.fortran/retval1.f90: New test.
13635         * testsuite/libgomp.fortran/vla7.f90: New test.
13637 2005-11-06  Jakub Jelinek  <jakub@redhat.com>
13639         * testsuite/libgomp.fortran/vla2.f90: New test.
13640         * testsuite/libgomp.fortran/vla3.f90: New test.
13641         * testsuite/libgomp.fortran/vla4.f90: New test.
13642         * testsuite/libgomp.fortran/vla5.f90: New test.
13643         * testsuite/libgomp.fortran/vla6.f90: New test.
13645 2005-11-01  Jakub Jelinek  <jakub@redhat.com>
13647         * config/linux/sparc/futex.h: New file.
13648         * configure.tgt: Use it.
13649         * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
13651         * critical.c: Include stdlib.h.
13652         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
13653         ignoring return value.
13654         * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
13655         LIBGOMP_CHECK_SYNC_BUILTINS check.
13656         * configure: Rebuilt.
13658 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
13660         * testsuite/libgomp.fortran/vla1.f90: New test.
13662 2005-10-31  Richard Henderson  <rth@redhat.com>
13664         * testsuite/libgomp.fortran/character2.f90: Fix race condition
13665         setting 's' in different threads.
13667 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
13669         * libgomp.h (attribute_hidden, ialias): Define.
13670         * config/posix/proc.c (omp_get_num_procs): Add ialias.
13671         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
13672         * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
13673         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13674         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13675         omp_test_lock, omp_test_nest_lock): Likewise.
13676         * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
13677         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
13678         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
13679         omp_test_lock, omp_test_nest_lock): Likewise.
13680         * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
13681         omp_get_dynamic, omp_get_nested): Likewise.
13682         * parallel.c (omp_get_num_threads, omp_get_max_threads,
13683         omp_get_thread_num, omp_in_parallel): Likewise.
13684         * fortran.c (ialias_redirect): Define.
13685         (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
13686         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
13687         omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
13688         omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
13689         omp_set_num_threads, omp_get_dynamic, omp_get_nested,
13690         omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
13691         omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
13692         omp_get_wtime): Add ialias_redirect.
13694 2005-10-30  Jakub Jelinek  <jakub@redhat.com>
13696         * fortran.c: Include stdlib.h.
13698 2005-10-29  Jakub Jelinek  <jakub@redhat.com>
13700         * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
13701         * Makefile.in: Regenerated.
13703 2005-10-28  Jakub Jelinek  <jakub@redhat.com>
13705         * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
13706         * libgomp_f.h.in (omp_check_defines): New function.
13707         * env.c: Include libgomp_f.h.
13708         (initialize_env): Call omp_check_defines.
13710         * testsuite/libgomp.dg/copyin-2.c: New test.
13711         * testsuite/libgomp.c++/copyin-2.C: New test.
13712         * testsuite/libgomp.fortran/threadprivate3.f90: New test.
13714         * testsuite/libgomp.fortran/threadprivate2.f90: New test.
13715         * testsuite/libgomp.fortran/sharing2.f90: New test.
13717         * testsuite/libgomp.dg/copyin-1.c: New test.
13718         * testsuite/libgomp.c++/copyin-1.C: New test.
13720 2005-10-26  Jakub Jelinek  <jakub@redhat.com>
13722         * testsuite/libgomp.fortran/crayptr1.f90: New test.
13724         * testsuite/libgomp.fortran/workshare1.f90: New test.
13726         * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
13727         only test.
13728         * libgomp.fortran/sharing1.f90: New test.
13730 2005-10-24  Jakub Jelinek  <jakub@redhat.com>
13732         PR c++/24502
13733         * testsuite/libgomp.c++/loop-7.C: New test.
13735         * testsuite/libgomp.dg/nestedfn-2.c: New test.
13737         * testsuite/libgomp.dg/nestedfn-1.c: New test.
13738         * testsuite/libgomp.fortran/reduction6.f90: New test.
13739         * testsuite/libgomp.fortran/nestedfn1.f90: New test.
13741 2005-10-23  Richard Henderson  <rth@redhat.com>
13743         * testsuite/libgomp.c++/ctor-1.C: New.
13744         * testsuite/libgomp.c++/ctor-2.C: New.
13745         * testsuite/libgomp.c++/ctor-3.C: New.
13746         * testsuite/libgomp.c++/ctor-4.C: New.
13747         * testsuite/libgomp.c++/ctor-5.C: New.
13748         * testsuite/libgomp.c++/ctor-6.C: New.
13749         * testsuite/libgomp.c++/ctor-7.C: New.
13750         * testsuite/libgomp.c++/ctor-8.C: New.
13751         * testsuite/libgomp.c++/ctor-9.C: New.
13753 2005-10-21  Diego Novillo  <dnovillo@redhat.com>
13755         PR 24455
13756         * testsuite/libgomp.c++/pr24455-1.C: New test.
13757         * testsuite/libgomp.c++/pr24455.C: New test.
13758         * testsuite/libgomp.dg/pr24455-1.c: New test.
13759         * testsuite/libgomp.dg/pr24455.c: New test.
13761 2005-10-20  Richard Henderson  <rth@redhat.com>
13763         * testsuite/libgomp.c++/loop-6.C: New.
13764         * testsuite/libgomp.dg/loop-3.c: New.
13766 2005-10-20  Jakub Jelinek  <jakub@redhat.com>
13768         * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
13769         explicitly private.
13770         * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
13771         explicitly shared.
13773 2005-10-19  Diego Novillo  <dnovillo@redhat.com>
13775         * testsuite/libgomp.fortran/jacobi.f: New test.
13777 2005-10-19  Richard Henderson  <rth@redhat.com>
13779         * configure.tgt (i?86-linux): Default to with_arch instead of
13780         CFLAGS.  Add -mtune to match target_cpu.
13781         (x86_64-linux): Tune to i686.
13783         * fortran.c (omp_test_nest_lock_): Fix typo.
13785 2005-10-19  Jakub Jelinek  <jakub@redhat.com>
13787         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
13788         gomp_ordered_sync): Do nothing if team->nthreads == 1.
13789         * testsuite/libgomp.dg/ordered-3.c: New test.
13791         * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
13792         Remove volatile keyword.
13794         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
13795         in COMMON block to avoid warnings on 64-bit targets.
13797 2005-10-18  Diego Novillo  <dnovillo@redhat.com>
13799         * testsuite/libgomp.dg/shared-3.c: New test.
13801 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
13803         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
13804         * testsuite/libgomp.fortran/reduction5.f90: New test.
13806 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
13808         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
13809         dg-options.
13810         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
13811         flush loop now that __sync_synchronize has proper memory barrier.
13812         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
13813         Add -ffixed-form to dg-options.
13815 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
13817         * testsuite/libgomp.fortran/fortran.exp: Also gather tests
13818         from subdirectories.
13819         * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
13820         * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
13821         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
13822         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
13823         * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
13824         * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
13825         * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
13826         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
13827         * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
13828         * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
13829         * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
13830         * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
13831         * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
13832         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
13833         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
13834         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
13835         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
13836         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
13837         * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
13838         * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
13839         * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
13840         * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
13841         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
13842         * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
13843         * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
13845 2005-10-17  Jakub Jelinek  <jakub@redhat.com>
13847         * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
13848         lang_library_path exists.  Use find instead of glob to gather tests.
13849         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
13851 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
13853         * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
13854         * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
13855         * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
13856         * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
13857         * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
13858         * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
13859         * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
13860         * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
13861         * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
13862         * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
13863         * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
13864         * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
13865         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
13867 2005-10-15  Jakub Jelinek  <jakub@redhat.com>
13869         * testsuite/libgomp.dg/vla-1.c: New test.
13871         * testsuite/libgomp.fortran/reference2.f90: New test.
13873         * testsuite/libgomp.fortran/character2.f90: Remove explicit
13874         declaration of omp_get_thread_num.
13875         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
13876         use omp_lib.
13878         * testsuite/libgomp.fortran/reduction1.f90: New test.
13879         * testsuite/libgomp.fortran/reduction2.f90: New test.
13880         * testsuite/libgomp.fortran/reduction3.f90: New test.
13881         * testsuite/libgomp.fortran/reduction4.f90: New test.
13883 2005-10-13  Richard Henderson  <rth@redhat.com>
13885         * Makefile.am (libgomp_la_SOURCES): Add bar.c.
13886         * Makefile.in: Regenerate.
13887         * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
13888         * libgomp.h: Include bar.h.
13889         (struct gomp_barrier): Remove.
13890         (struct gomp_team): Add barrier.  Replace master_barrier with
13891         master_release.  Replace threads with ordered_release.
13892         (struct gomp_thread): Replace barrier with release.
13893         * ordered.c (gomp_ordered_first): Update for ordered_release change.
13894         (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
13895         gomp_ordered_static_next, gomp_ordered_sync): Likewise.
13896         * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
13897         (GOMP_single_copy_end): Likewise.
13898         * team.c (gomp_threads_dock): New.
13899         (gomp_barrier_init, gomp_barrier_destroy): Remove.
13900         (gomp_thread_start): Use gomp_barrier_wait.
13901         (new_team, free_team): Update for gomp_team changes.
13902         (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
13903         (gomp_team_end): Use gomp_barrier_wait.
13904         (initialize_team): Update for gomp_thread changes.
13905         * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
13906         (gomp_work_share_end_nowait): Use atomic ops when available.
13907         * config/linux/bar.c, config/linux/bar.h: New files.
13908         * config/posix/bar.c, config/posix/bar.h: New files.
13910 2005-10-13  Jakub Jelinek  <jakub@redhat.com>
13912         * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
13913         * testsuite/libgomp.dg/single-2.c: New test.
13915         * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
13916         lang_link_flags): Unset, so that they aren't inherited from previously
13917         sourced *.exp.
13919         * testsuite/libgomp.fortran/threadprivate1.f90: New test.
13921 2005-10-12  Richard Henderson  <rth@redhat.com>
13923         * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
13924         (libgomp_init): Use lang_test_file, lang_library_path, and
13925         lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
13927         * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
13928         (lang_test_file, lang_link_flags): New.
13929         (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
13931         * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
13932         testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
13933         testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
13934         testsuite/libgomp.c++/parallel-1.C,
13935         testsuite/libgomp.c++/reduction-1.C,
13936         testsuite/libgomp.c++/reduction-2.C,
13937         testsuite/libgomp.c++/reduction-3.C,
13938         testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
13939         testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
13940         testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
13941         New files, largely cribbed from the C testsuite.
13943 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
13945         * testsuite/libgomp.fortran/character1.f90: New test.
13946         * testsuite/libgomp.fortran/character2.f90: New test.
13948         * testsuite/libgomp.dg/nested-1.c: New test.
13949         * testsuite/libgomp.dg/nested-2.c: New test.
13950         * testsuite/libgomp.fortran/do1.f90: New test.
13951         * testsuite/libgomp.fortran/do2.f90: New test.
13953         * testsuite/libgomp.fortran/reference1.f90: New test.
13955 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
13957         * testsuite/libgomp.dg/reduction-1.c: New test.
13958         * testsuite/libgomp.dg/reduction-2.c: New test.
13959         * testsuite/libgomp.dg/reduction-3.c: New test.
13961 2005-10-10  Jakub Jelinek  <jakub@redhat.com>
13963         * testsuite/libgomp.dg/atomic-1.c: New test.
13964         * testsuite/libgomp.dg/atomic-2.c: New test.
13966 2005-10-09  Richard Henderson  <rth@redhat.com>
13968         * critical.c (atomic_lock): New.
13969         (initialize_critical): Initialize it.
13970         (GOMP_atomic_start, GOMP_atomic_end): New.
13971         * libgomp.map: Export them.
13972         * libgomp_g.h: Declare them.
13974         * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
13976 2005-10-02  Richard Henderson  <rth@redhat.com>
13978         * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
13979         to XCFLAGS instead of CFLAGS.
13981 2005-09-30  Richard Henderson  <rth@redhat.com>
13983         * configure.ac: Determine whether -pthread or -lpthread is needed.
13984         * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
13985         * Makefile.in, configure: Rebuild.
13987 2005-09-28  Richard Henderson  <rth@redhat.com>
13989         * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
13990         * testsuite/libgomp.dg/omp-single-3.c: New test.
13992 2005-09-28  Diego Novillo  <dnovillo@redhat.com>
13994         * testsuite/libgomp.dg/omp-single-2.c: New test.
13995         * testsuite/libgomp.dg/shared-2.c: Fix return code.
13997 2005-09-27  Richard Henderson  <rth@redhat.com>
13999         * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
14000         * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
14002 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
14004         * testsuite/libgomp.dg/omp-loop03.c: New test.
14006 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
14008         * testsuite/libgomp.dg/omp-parallel-for.c: New test.
14010 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
14012         * testsuite/libgomp.dg/omp-single-1.c: New test.
14013         * testsuite/libgomp.dg/shared-1.c: Return 0.
14014         Add prototype for abort.
14015         * testsuite/libgomp.dg/shared-2.c: Likewise.
14017 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
14019         * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
14020         constructs.
14022 2005-09-26  Diego Novillo  <dnovillo@redhat.com>
14024         * testsuite/libgomp.dg/shared-1.c: New test.
14025         * testsuite/libgomp.dg/shared-2.c: New test.
14027 2005-09-24  Richard Henderson  <rth@redhat.com>
14029         * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
14031 2005-09-24  Richard Henderson  <rth@redhat.com>
14033         * iter.c (gomp_iter_static_next): Round up when computing number
14034         of iterations.  Don't bother distributing a remainder equally.
14036         * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
14037         Don't call srand.  Zero b before testing.
14038         (main): New.
14040 2005-09-24  Jakub Jelinek  <jakub@redhat.com>
14042         * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
14043         * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
14045 2005-09-23  Jakub Jelinek  <jakub@redhat.com>
14047         * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
14048         without !$omp end do, followed immediately by subroutine end.
14050 2005-09-23  Diego Novillo  <dnovillo@redhat.com>
14052         * testsuite/libgomp.dg/omp-parallel-if.c: New test.
14054 2005-09-22  Richard Henderson  <rth@redhat.com>
14056         * critical.c (GOMP_critical_name_start): Change argument to void**.
14057         Reuse the pointer space if the mutex fits.
14058         (GOMP_critical_name_end): Likewise.
14059         (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
14060         * libgomp_g.h (GOMP_critical_name_start): Update decl.
14061         (GOMP_critical_name_end): Likewise.
14062         * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
14063         * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
14065 2005-09-20  Richard Henderson  <rth@redhat.com>
14067         * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
14068         (create_lock_lock): New.
14069         (initialize_critical): Initialize it.
14070         * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
14071         * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
14073 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
14075         * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
14077 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
14079         * testsuite/libgomp.dg/omp-loop01.c: New test.
14080         * testsuite/libgomp.dg/omp-loop02.c: New test.
14082 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
14084         * configure.ac (AC_PROG_FC): Add.
14085         (USE_FORTRAN): New automake conditional.
14086         * configure: Rebuilt.
14087         * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
14088         (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
14089         If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
14090         Add rules to build them.
14091         * Makefile.in: Rebuilt.
14092         * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
14093         OMP_NEST_LOCK_KIND.
14094         * libgomp.map: Add Fortran wrappers.
14095         * libgomp_f.h.in: New file.
14096         * omp_lib.h.in: New file.
14097         * omp_lib.f90.in: New file.
14098         * fortran.c: New file.
14099         * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
14100         Append libgfortran directory to LD_LIBRARY_PATH if it exists.
14101         Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
14102         libgfortran has been built.
14103         * testsuite/libgomp.fortran/fortran.exp: New file.
14104         * testsuite/libgomp.fortran/omp_cond1.f: New test.
14105         * testsuite/libgomp.fortran/omp_cond2.f: New test.
14106         * testsuite/libgomp.fortran/omp_cond3.F90: New test.
14107         * testsuite/libgomp.fortran/omp_cond4.F90: New test.
14108         * testsuite/libgomp.fortran/omp_hello.f: New test.
14109         * testsuite/libgomp.fortran/omp_orphan.f: New test.
14110         * testsuite/libgomp.fortran/omp_parse1.f90: New test.
14111         * testsuite/libgomp.fortran/omp_parse2.f90: New test.
14112         * testsuite/libgomp.fortran/omp_parse3.f90: New test.
14113         * testsuite/libgomp.fortran/omp_parse4.f90: New test.
14114         * testsuite/libgomp.fortran/omp_reduction.f: New test.
14115         * testsuite/libgomp.fortran/omp_workshare1.f: New test.
14116         * testsuite/libgomp.fortran/omp_workshare2.f: New test.
14118 2005-08-30  Richard Henderson  <rth@redhat.com>
14120         * loop.c (GOMP_loop_static_start): Provide fallback wrapper
14121         function for when aliases are not usable.
14122         (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
14123         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
14124         GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
14125         GOMP_loop_dynamic_next, GOMP_loop_guided_next,
14126         GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
14127         GOMP_loop_ordered_guided_next): Likewise.
14128         * ordered.c (GOMP_ordered_start): Likewise.
14130 2005-08-01  Diego Novillo  <dnovillo@redhat.com>
14132         * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
14133         * testsuite/libgomp.dg/omp_hello.c: Fix return code
14134         * testsuite/libgomp.dg/omp_matvec.c: Likewise.
14135         * testsuite/libgomp.dg/omp_orphan.c: Likewise
14136         * testsuite/libgomp.dg/omp_reduction.c: Likewise
14137         * testsuite/libgomp.dg/omp_workshare1.c: Likewise
14138         * testsuite/libgomp.dg/omp_workshare2.c: Likewise
14139         * testsuite/libgomp.dg/omp_workshare3.c: Likewise
14140         * testsuite/libgomp.dg/omp_workshare4.c: Likewise
14142 2005-07-07  Eric Christopher  <echristo@redhat.com>
14143             Diego Novillo  <dnovillo@redhat.com>
14145         * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
14146         * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
14147         up code.
14148         * testsuite/libgomp.dg/omp_matvec.c: Ditto.
14149         * testsuite/libgomp.dg/omp_orphan.c: Ditto.
14150         * testsuite/libgomp.dg/omp_reduction.c: Ditto.
14151         * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
14152         * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
14153         * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
14154         * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
14156 2005-06-13  Diego Novillo  <dnovillo@redhat.com>
14158         * TOPLEVEL.patch: Remove.
14160 2005-05-16  Richard Henderson  <rth@redhat.com>
14162         * configure.ac: Test for clock_gettime.
14163         * config.h.in, configure: Rebuild.
14164         * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
14165         (omp_get_wtime): Use clock_gettime if available.
14166         (omp_get_wtick): Use clock_getres if available.
14168 2005-05-11  Richard Henderson  <rth@redhat.com>
14170         * config/linux/ia64/futex.h: New file.
14171         * configure.tgt: Use it.
14173         * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
14175 2005-05-07  Richard Henderson  <rth@redhat.com>
14177         * config/linux/powerpc/futex.h: New file.
14178         * configure.tgt: Use it.
14180         * config/linux/i486/futex.h: Merge ...
14181         * config/linux/x86_64/futex.h: ... into ...
14182         * config/linux/x86/futex.h: ... here.
14183         * configure.tgt: Update to match.
14185 2005-05-06  Richard Henderson  <rth@redhat.com>
14187         * config/linux/alpha/futex.h: Conditionally define SYS_futex.
14188         * config/linux/i486/futex.h: Likewise.
14189         * config/linux/x86_64/futex.h: Likewise.
14191         * config/linux/lock.c: New file.
14192         * config/linux/omp-lock.h: New file.
14194         * critical.c, env.h: Don't include omp.h
14195         * config/posix/lock.c: Include libgomp.h instead of omp.h.
14196         * config/posix/time.c: Likewise.
14197         * config/posix/omp-lock.h: New file.
14198         * libgomp.h: Include omp-lock.h and omp.h.
14199         * Makefile.am (nodist_include_HEADERS): New.
14200         (omp.h): New rule.
14201         * configure.ac (PERL): New.
14202         * mkomp_h.pl: New file.
14203         * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
14204         with templates.
14205         * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
14207         * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
14208         build directory.  Re-add -march=i486 hack.
14210         * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
14211         (libgomp_link_flags): Remove.
14212         (libgomp_initialized): Remove.
14213         (libgomp_init): Don't protect from reinitialization.  Copy code
14214         from libstdc++ for getting the multilib set correctly.
14216 2005-05-05  Richard Henderson  <rth@redhat.com>
14218         * config/linux/alpha/futex.h: New file.
14219         * configure.tgt (alpha*-*-linux*): Use it.
14221         * config/posix/mutex.c: New file.
14222         * config/posix/sem.c: Use libgomp.h.
14224         * configure.tgt (x86_64-linux): Also test CC for -m32.
14225         * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
14227         * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
14228         after $gccpath.
14230         * Makefile.am (SUBDIRS): New.
14231         (libgomp_la_LDFLAGS): Add -lpthread.
14232         * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
14233         * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
14235         * libgomp_g.h: New file.
14236         * libgomp.h: Split out all public declarations to libgomp_g.h.
14237         Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
14238         * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
14239         * config/linux/sem.h: Likewise.
14240         * config/posix/sem.h: Likewise.
14242         * Makefile.am (AM_LDFLAGS): New.
14243         (libgomp_version_script): Split out from ...
14244         (libgomp_la_LDFLAGS): ... here.
14245         (libgomp_version_info): New.
14246         * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
14247         (LIBGOMP_ENABLE): New.
14248         (LIBGOMP_CHECK_LINKER_FEATURES): New.
14249         (LIBGOMP_ENABLE_SYMVERS): New.
14250         * configure.ac (AC_INIT): Version 1.0.
14251         (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
14252         (enable-linux-futex): Likewise.  Rename from enable-futex.
14253         (libtool_VERSION): New.
14254         (LIBGOMP_ENABLE_SYMVERS): Use it.
14255         * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
14256         * Makefile.in, aclocal.m4, configure: Rebuild.
14258         * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
14259         (gomp_mutex_unlock_slow): Fix typo.
14260         * config/linux/sem.c: Similarly.
14261         (gomp_sem_post_slow): Fix typo.
14262         * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
14263         * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
14264         [__PIC__] (sys_futex0): Don't use tmp output in asm.
14266         * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
14267         (libgomp_la_LDFLAGS): Add top_srcdir to path.
14268         * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
14269         * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
14270         XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
14271         * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
14272         LDFLAGS.  Pull enable_futex check to top-level.
14273         * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
14274         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
14276         First attempt at real configury.
14277         * Makefile, config.h: Remove file.
14278         * Makefile.am, Makefile.in: New file.
14279         * acinclude.m4 aclocal.m4: New file.
14280         * configure.ac, configure.tgt, configure: New file.
14282         * config/posix/lock.c: Rename from sys-lock.c.
14283         * config/posix/mutex.h: Rename from sys-mutex.h.
14284         * config/posix/sem.c: Rename from sys-sem.c.
14285         * config/posix/sem.h: Rename from sys-sem.h.
14286         * config/posix/proc.c: Rename from sys-proc.c.
14287         * config/posix/time.c: Rename from sys-proc.c.
14289         * config/linux/mutex.c: New file.
14290         * config/linux/mutex.h: New file.
14291         * config/linux/sem.c: New file.
14292         * config/linux/sem.h: New file.
14293         * config/linux/i486/futex.h: New file.
14294         * config/linux/x86_64/futex.h: New file.
14296 2005-05-04  Richard Henderson  <rth@redhat.com>
14298         * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
14299         * libgomp.h: Declare them.
14300         * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
14301         gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
14303 2005-05-04  Richard Henderson  <rth@redhat.com>
14305         * libgomp-1 code drop
14307 2005-05-04  Richard Henderson  <rth@redhat.com>
14309         * iter.c (gomp_iter_static_next): Return tri-state on 0.
14310         * ordered.c (gomp_ordered_static_next): Remove not_last argument.
14311         * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
14312         (gomp_iter_static_next): Update.
14313         (gomp_ordered_static_next): Update.
14314         * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
14315         (gomp_loop_ordered_static_start): Likewise.  Exit early for a
14316         totally empty range.
14317         (gomp_loop_ordered_static_next): Refine test for calling
14318         gomp_ordered_static_next.
14319         * testsuite/ordered-1.c: Add case for more threads than iterations.
14321         * iter.c (gomp_iter_runtime_next_locked): Remove.
14322         * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
14323         gomp_loop_guided_start, gomp_loop_ordered_static_start,
14324         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
14325         gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
14326         gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
14327         gomp_loop_ordered_guided_next): Downcase name, make static, add
14328         an external alias with the old name.
14329         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
14330         GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
14331         switch and call one of the above static functions.
14332         * libgomp.h: Update.
14334         * work.c (gomp_work_share_start): Lock the mutex for !first too.
14335         * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
14336         GOMP_loop_guided_start, GOMP_loop_runtime_start,
14337         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
14338         GOMP_loop_ordered_guided_start): Update to match.
14339         * sections.c (GOMP_sections_start): Likewise.
14340         * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
14342         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
14343         gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
14344         Use bounds check instead of modulus.
14345         (gomp_ordered_sync): Split out of GOMP_ordered_start.
14346         (gomp_ordered_last): Don't sync with ordered_owner here.
14347         (gomp_ordered_next): Likewise.
14348         (gomp_ordered_static_loop_next): Likewise.
14349         * loop.c, libgomp.h: Update to match.
14351         * libgomp.h (GOMP_barrier): Declare.
14353         * testsuite/barrier-1.c: New file.
14354         * testsuite/critical-1.c: New file.
14355         * testsuite/ordered-2.c: New file.
14356         * testsuite/ordered-1.c: New file.
14357         * testsuite/sections-1.c: New file.
14358         * testsuite/single-1.c: New file.
14359         * testsuite/Makefile (TESTS): Add them.
14361 2005-05-04  Richard Henderson  <rth@redhat.com>
14363         * libgomp.h (struct gomp_work_share): Add ordered_owner.
14364         * loop.c (GOMP_loop_static_start): If not the startup thread,
14365         acquire the mutex to wait for initialization complete.
14366         (GOMP_loop_ordered_static_start): Likewise.
14367         (GOMP_loop_ordered_runtime_start): Likewise.
14368         (GOMP_loop_ordered_static_first): Remove.
14369         (GOMP_loop_ordered_dynamic_first): Remove.
14370         (GOMP_loop_ordered_guided_first): Remove.
14371         (GOMP_loop_ordered_runtime_first): Remove.
14372         * ordered.c (gomp_ordered_loop_first): Post to own release when
14373         we're the first thread.
14374         (gomp_ordered_loop_last): Wait on release if not owner.
14375         (gomp_ordered_loop_next): Likewise.
14376         (gomp_ordered_static_loop_init): New.
14377         (gomp_ordered_static_loop_next): Use ordered_owner.
14378         (GOMP_ordered_start): Likewise.
14379         * work.c (gomp_new_work_share): Initialize ordered_owner.
14381 2005-05-03  Richard Henderson  <rth@redhat.com>
14383         * Makefile (OPT): New.
14384         (CFLAGS): Use it.
14386         * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
14387         * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
14388         * libgomp.h, libgomp.map, NOTES: Update to match.
14390         * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
14391         Add initialized and thr members.
14392         (gomp_thread_start): Pause when initially spawned to wait for
14393         the whole team to be created.
14394         (gomp_team_start): Release team members at the end.
14396         * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
14397         (f_foo_1): Use GOMP_loop_end.
14398         (f_foo_2): Use GOMP_loop_end_nowait.
14400         * testsuite/loop-2.c: New file.
14401         * testsuite/Makefile (TESTS): Add it.
14403 2005-05-03  Richard Henderson  <rth@redhat.com>
14405         * iter.c (gomp_iter_static_next): Fix overflow check typo.
14406         (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
14407         * team.c (new_team): Initialize oldest_live_gen to 1 if no
14408         initial work_share.
14410         * testsuite/Makefile: New file.
14411         * testsuite/loop-1.c: New file.
14413 2005-05-03  Richard Henderson  <rth@redhat.com>
14415         Initial implementation and checkin.
14417 Copyright (C) 2005-2020 Free Software Foundation, Inc.
14419 Copying and distribution of this file, with or without modification,
14420 are permitted in any medium without royalty provided the copyright
14421 notice and this notice are preserved.