gcc.c-torture/execute/builtins/fputs.c: fputs_unlocked prototype
[official-gcc.git] / libgomp / ChangeLog
blobe2a674667a007aa74e7fa5230aa7118ff866154d
1 2023-11-05  Jakub Jelinek  <jakub@redhat.com>
3         * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
4         supported also in C.
6 2023-10-31  Thomas Schwinge  <thomas@codesourcery.com>
8         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
9         'acc_map_data' variant.
11 2023-10-25  Thomas Schwinge  <thomas@codesourcery.com>
13         * oacc-parallel.c (GOACC_data_start): Handle
14         'GOACC_FLAG_LOCAL_DEVICE'.
15         (GOACC_parallel_keyed): Simplify accordingly.
16         * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
18 2023-10-25  Thomas Schwinge  <thomas@codesourcery.com>
20         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
21         * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
22         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
23         * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
24         * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
26 2023-10-25  Chung-Lin Tang  <cltang@codesourcery.com>
28         * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
29         GOACC_FLAG_LOCAL_DEVICE case.
30         * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
32 2023-10-22  Iain Sandoe  <iain@sandoe.co.uk>
34         * Makefile.am: Handle Darwin rpaths.
35         * Makefile.in: Regenerate.
36         * configure: Regenerate.
37         * configure.ac: Handle Darwin rpaths
39 2023-10-20  Andrew Stubbs  <ams@codesourcery.com>
41         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
42         (isa_hsa_name): Recognise gfx1030.
43         (isa_code): Likewise.
44         * team.c (defined): Remove s_endpgm.
46 2023-10-20  Tobias Burnus  <tobias@codesourcery.com>
48         * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
49         _OPENMP >= 201811.
51 2023-10-15  Tobias Burnus  <tobias@codesourcery.com>
53         * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
54         improve wording especially for Fortran; mention -fopenmp-simd.
55         (Enabling OpenACC): Minor cleanup; remove conditional compilation
56         sentinel.
58 2023-10-15  Tobias Burnus  <tobias@codesourcery.com>
60         * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
61         Actually document what the function does.
62         (GCC_ACC_NOTIFY): Remove unused env var.
64 2023-10-15  Tobias Burnus  <tobias@codesourcery.com>
66         * libgomp.texi: Replace most future tense by present tense.
68 2023-10-14  Tobias Burnus  <tobias@codesourcery.com>
70         * testsuite/libgomp.fortran/allocate-6.f90: Add missing
71         dg-additional-options "-fdump-tree-gimple"; fix scan.
73 2023-10-14  Tobias Burnus  <tobias@codesourcery.com>
75         * libgomp.texi: Fix some typos.
76         (Memory Management Routines): Document remaining 5.x routines.
77         (Memory allocation): Make clear when the section applies.
79 2023-10-14  Tobias Burnus  <tobias@codesourcery.com>
81         * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
82         supports the allocate directive for stack variables.
83         * testsuite/libgomp.fortran/allocate-5.f90: New test.
84         * testsuite/libgomp.fortran/allocate-6.f90: New test.
85         * testsuite/libgomp.fortran/allocate-7.f90: New test.
86         * testsuite/libgomp.fortran/allocate-8.f90: New test.
88 2023-10-12  Tobias Burnus  <tobias@codesourcery.com>
90         * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
91         OMP_TARGET_OFFLOAD.
92         (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
93         clarify MANDATORY behavior.
95 2023-10-12  Zhang, Jun  <jun.zhang@intel.com>
97         * env.c (initialize_env): Use do_adjust_default_spincount.
98         * config/linux/x86/spincount.h: New file.
100 2023-10-08  Tobias Burnus  <tobias@codesourcery.com>
102         * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
104 2023-10-06  Tobias Burnus  <tobias@codesourcery.com>
106         * libgomp.texi (Device Memory Routines): New.
108 2023-10-04  Tobias Burnus  <tobias@codesourcery.com>
110         * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
111         and that other target archs have no 'arch'/'isa' traits implemented.
113 2023-09-20  Tobias Burnus  <tobias@codesourcery.com>
115         * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
116         implemented for C only.
117         * testsuite/libgomp.c/allocate-4.c: New test.
118         * testsuite/libgomp.c/allocate-5.c: New test.
119         * testsuite/libgomp.c/allocate-6.c: New test.
121 2023-09-20  Jakub Jelinek  <jakub@redhat.com>
123         PR c++/111392
124         * libgomp.texi: Mark decl attribute was added to the C++ attribute
125         syntax as implemented.
127 2023-09-19  Jakub Jelinek  <jakub@redhat.com>
129         PR libgomp/111413
130         * env.c (initialize_env): Don't dereference environ if it is NULL.
131         Reindent.
133 2023-09-18  Richard Biener  <rguenther@suse.de>
135         PR tree-optimization/111294
136         * team.c (gomp_team_start): Assert alloca size to avoid false
137         positive alloc-size diagnostic.
139 2023-09-12  Thomas Schwinge  <thomas@codesourcery.com>
140             Chung-Lin Tang  <cltang@codesourcery.com>
142         PR testsuite/91884
143         PR testsuite/109951
144         * configure.ac: Revert earlier changes, instead
145         'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
146         * Makefile.in: Regenerate.
147         * configure: Likewise.
148         * testsuite/Makefile.in: Likewise.
149         * testsuite/lib/libgomp.exp (libgomp_init): Remove
150         "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
151         If '--with-build-sysroot=[...]' was specified, use it for
152         build-tree testing.
153         * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
154         (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
155         (SYSROOT_CFLAGS_FOR_TARGET): Set.
156         * testsuite/libgomp.c++/c++.exp (lang_source_re)
157         (lang_include_flags): Set for build-tree testing.
158         * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
159         (lang_include_flags): Likewise.
161 2023-09-07  Tobias Burnus  <tobias@codesourcery.com>
163         * libgomp.texi (Memory Management Routines): New; add documentation for
164         omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
165         omp_get_default_allocator.
166         (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
168 2023-09-07  Tobias Burnus  <tobias@codesourcery.com>
170         * target.c (gomp_unload_device): Remove tailing whitespace.
172 2023-09-04  Tobias Burnus  <tobias@codesourcery.com>
173             Thomas Schwinge  <thomas@codesourcery.com>
175         * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
177 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
179         * libgomp.texi (OpenMP 5.0):  Imperfectly-nested loops are done.
181 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
183         * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
184         * testsuite/libgomp.fortran/imperfect1.f90: New.
185         * testsuite/libgomp.fortran/imperfect2.f90: New.
186         * testsuite/libgomp.fortran/imperfect3.f90: New.
187         * testsuite/libgomp.fortran/imperfect4.f90: New.
188         * testsuite/libgomp.fortran/target-imperfect1.f90: New.
189         * testsuite/libgomp.fortran/target-imperfect2.f90: New.
190         * testsuite/libgomp.fortran/target-imperfect3.f90: New.
191         * testsuite/libgomp.fortran/target-imperfect4.f90: New.
193 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
195         * testsuite/libgomp.c-c++-common/imperfect1.c: New.
196         * testsuite/libgomp.c-c++-common/imperfect2.c: New.
197         * testsuite/libgomp.c-c++-common/imperfect3.c: New.
198         * testsuite/libgomp.c-c++-common/imperfect4.c: New.
199         * testsuite/libgomp.c-c++-common/imperfect5.c: New.
200         * testsuite/libgomp.c-c++-common/imperfect6.c: New.
201         * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
202         * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
203         * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
204         * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
206 2023-08-25  Sandra Loosemore  <sandra@codesourcery.com>
208         * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
209         * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
210         * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
211         * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
212         * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
213         * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
214         * testsuite/libgomp.c++/imperfect-class-1.C: New test.
215         * testsuite/libgomp.c++/imperfect-class-2.C: New test.
216         * testsuite/libgomp.c++/imperfect-class-3.C: New test.
217         * testsuite/libgomp.c++/imperfect-destructor.C: New test.
218         * testsuite/libgomp.c++/imperfect-template-1.C: New test.
219         * testsuite/libgomp.c++/imperfect-template-2.C: New test.
220         * testsuite/libgomp.c++/imperfect-template-3.C: New test.
222 2023-08-22  Francois-Xavier Coudert  <fxcoudert@gmail.com>
224         * testsuite/lib/libgomp.exp: Add effective target.
225         * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
226         functions.
228 2023-08-22  Tobias Burnus  <tobias@codesourcery.com>
230         * libgomp.texi (OpenMP 5.2 status): Add depobj with
231         destroy-var argument as 'N'. Mark defaultmap with
232         'all' category as 'Y'.
234 2023-08-19  Tobias Burnus  <tobias@codesourcery.com>
236         PR middle-end/111017
237         * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
239 2023-08-17  Tobias Burnus  <tobias@codesourcery.com>
241         PR libgomp/111024
242         * allocator.c (gomp_init_libnuma): Call numa_available; if
243         not available or not returning 0, disable libnuma usage.
245 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
247         * configure: Regenerate.
249 2023-08-07  Alexander von Gluck IV  <kallisti5@unixzen.com>
251         * configure: Regenerate.
253 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
255         * configure: Regenerate.
257 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
259         * configure: Regenerate.
261 2023-08-07  H.J. Lu  <hjl.tools@gmail.com>
263         * configure: Regenerate.
265 2023-08-07  H.J. Lu  <hjl.tools@gmail.com>
267         * configure: Regenerate.
269 2023-07-29  Tobias Burnus  <tobias@codesourcery.com>
271         * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
272         GOMP_OFFLOAD_CAP_SHARED_MEM.
273         (omp_target_memcpy_rect_copy): Likewise for lock condition.
274         (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
275         memcpy3d/memcpy2d.
276         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
277         GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
278         unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
280 2023-07-26  Tobias Burnus  <tobias@codesourcery.com>
282         * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
283         GOMP_OFFLOAD_memcpy3d): New prototypes.
284         * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
285         and memcpy3d_func.
286         * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
287         * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
288         * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
289         cuMemcpy3D): Invoke via CUDA_ONE_CALL.
290         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
291         GOMP_OFFLOAD_memcpy3d): New.
292         * target.c (omp_target_memcpy_rect_worker):
293         (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
294         Permit all device-to-device copyies; invoke new plugins for
295         2D and 3D copying when available.
296         (gomp_load_plugin_for_device): DLSYM the new plugin functions.
297         * testsuite/libgomp.c/target-12.c: Fix dimension bug.
298         * testsuite/libgomp.fortran/target-12.f90: Likewise.
299         * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
301 2023-07-26  Tobias Burnus  <tobias@codesourcery.com>
303         * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
304         (Tasking Routines): Document omp_in_explicit_task.
305         (Implementation-defined ICV Initialization): Use @ref not @code.
307 2023-07-20  Tobias Burnus  <tobias@codesourcery.com>
309         * libgomp.texi (OpenMP Runtime Library Routines):
310         Split long list by adding sections and moving routines there.
311         (OMP_ALLOCATORS): Fix typo.
313 2023-07-19  Tobias Burnus  <tobias@codesourcery.com>
315         PR fortran/107424
316         * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
317         * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
318         commented tests.
319         * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
320         test file; tests are in non-rectangular-loop-1.f90.
321         * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
322         testcase to use a non-constant step to retain the 'sorry' test.
323         * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
325 2023-07-17  Tobias Burnus  <tobias@codesoucery.com>
326             Chung-Lin Tang  <cltang@codesourcery.com>
328         * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
329         * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
331 2023-07-14  Tobias Burnus  <tobias@codesourcery.com>
333         * libgomp.texi (OMP_ALLOCATOR): Document the default values for
334         the traits. Add crossref to 'Memory allocation'.
335         (Memory allocation): Refer to OMP_ALLOCATOR for the available
336         traits and allocators/mem spaces; document the default value
337         for the pool_size trait.
339 2023-07-14  Tobias Burnus  <tobias@codesourcery.com>
341         * allocator.c (omp_init_allocator): Check whether symbol from
342         dlopened libnuma is available before using libnuma for
343         allocations.
345 2023-07-13  David Edelsohn  <dje.gcc@gmail.com>
347         * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
348         * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
349         * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
351 2023-07-12  Tobias Burnus  <tobias@codesourcery.com>
353         * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
354         'Memory allocation' section which contains the full status.
355         (TR11): Remove differently worded duplicated entry.
357 2023-07-12  Tobias Burnus  <tobias@codesourcery.com>
359         * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
360         (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
361         add GOMP_MEMKIND_LIBNUMA.
362         (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
363         (omp_init_allocator): Handle partition=nearest with libnuma if avail.
364         (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
365         numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
366         needed.
367         * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
368         * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
369         (Memory allocation): Renamed from 'Memory allocation with libmemkind';
370         updated for libnuma usage.
371         * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
372         * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
374 2023-07-11  Tobias Burnus  <tobias@codesourcery.com>
376         * allocator.c (omp_init_allocator): Use malloc for
377         omp_high_bw_mem_space when the memkind lib is unavailable
378         instead of returning omp_null_allocator.
379         * libgomp.texi (OpenMP 5.0): Fix typo.
380         (Memory allocation with libmemkind): Document implementation
381         in more detail.
383 2023-06-22  Tobias Burnus  <tobias@codesourcery.com>
385         * libgomp.texi: Use @var for ICV vars.
386         (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
387         document which ICV is set and which scope the ICV has; extend/cleanup
388         some @ref.
389         (Implementation-defined ICV Initialization): New.
390         (nvptx): Document the implementation-defined used per-warp stack size.
392 2023-06-19  Thomas Schwinge  <thomas@codesourcery.com>
394         * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
395         error.
397 2023-06-19  Tobias Burnus  <tobias@codesourcery.com>
399         * testsuite/libgomp.c/target-51.c: Accept more error msg variants
400         as expected dg-output.
402 2023-06-19  Tobias Burnus  <tobias@codesourcery.com>
404         PR middle-end/110270
405         * target.c (gomp_map_vars_internal): Copy host value instead of NULL
406         for  GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
407         * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
408         * testsuite/libgomp.c/target-19.c: Update expected value.
409         * testsuite/libgomp.c++/target-18.C: Likewise.
410         * testsuite/libgomp.c++/target-19.C: Likewise.
411         * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
412         * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
413         * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
415 2023-06-16  Tobias Burnus  <tobias@codesourcery.com>
417         * target.c (resolve_device): Call gomp_get_num_devices early to ensure
418         gomp_init_targets_once was called before using default-device-var.
419         * testsuite/libgomp.c/target-55.c: New test.
420         * testsuite/libgomp.c/target-55a.c: New test.
422 2023-06-15  Tobias Burnus  <tobias@codesourcery.com>
424         * env.c (gomp_def_allocator_envvar): New var.
425         (parse_allocator): Handle OpenMP 5.1 syntax.
426         (cleanup_env): New.
427         (omp_display_env): Output gomp_def_allocator_envvar
428         for an allocator with traits.
429         * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
430         OMP_DISPLAY_AFFINITY): New.
431         * testsuite/libgomp.c/allocator-1.c: New test.
432         * testsuite/libgomp.c/allocator-2.c: New test.
433         * testsuite/libgomp.c/allocator-3.c: New test.
434         * testsuite/libgomp.c/allocator-4.c: New test.
435         * testsuite/libgomp.c/allocator-5.c: New test.
436         * testsuite/libgomp.c/allocator-6.c: New test.
438 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
440         * target.c (resolve_device): Align a
441         'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
442         * testsuite/libgomp.c/target-51.c: Adjust.
444 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
446         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
447         set.
448         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
449         Likewise.
450         * testsuite/libgomp.c/simd-math-1.c: Remove
451         '-foffload-options=-lm'.
452         * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
453         Likewise.
454         * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
455         Likewise.
457 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
459         * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
460         * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
461         Likewise.
463 2023-06-14  Thomas Schwinge  <thomas@codesourcery.com>
465         * testsuite/libgomp.c/target-51.c: Fix typo.
467 2023-06-14  Tobias Burnus  <tobias@codesourcery.com>
469         * env.c (gomp_default_icv_values): Init default_device_var to
470         an nonconforming value - INT_MIN.
471         (initialize_env): After env-var parsing, set default_device_var to
472         device 0 unless OMP_TARGET_OFFLOAD=mandatory.
473         (omp_display_env): If default_device_var is INT_MIN, call
474         gomp_init_targets_once.
475         * icv-device.c (omp_get_default_device): Likewise.
476         * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
477         (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
478         * target.c (resolve_device): Improve error message device-num < 0
479         with 'mandatory' and no no-host devices available.
480         (gomp_target_init): Set default-device-var if INT_MIN.
481         * testsuite/libgomp.c/target-48.c: New test.
482         * testsuite/libgomp.c/target-49.c: New test.
483         * testsuite/libgomp.c/target-50.c: New test.
484         * testsuite/libgomp.c/target-50a.c: New test.
485         * testsuite/libgomp.c/target-51.c: New test.
486         * testsuite/libgomp.c/target-52.c: New test.
487         * testsuite/libgomp.c/target-53.c: New test.
488         * testsuite/libgomp.c/target-54.c: New test.
490 2023-06-13  Tobias Burnus  <tobias@codesourcery.com>
492         PR libgomp/109837
493         * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
494         * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
496 2023-06-12  Tobias Burnus  <tobias@codesourcery.com>
498         * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
499         GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
500         (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
501         error message.
502         * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
503         changed error message.
504         * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
505         * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
506         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
507         * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
508         extend testcase to check that data is copied when needed.
509         * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
510         * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
512 2023-06-07  Thomas Schwinge  <thomas@codesourcery.com>
513             Tobias Burnus  <tobias@codesourcery.com>
515         * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
516         also for non-offload_device targets; check that it runs
517         successfully for those and for all until a checkpoint for all
518         * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
519         * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
520         * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
521         * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
522         * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
523         add missing vars to map clause.
525 2023-06-06  Tobias Burnus  <tobias@codesourcery.com>
527         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
528         unified_address requirement as supported.
529         * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
530         'unified_address' from the not-supported requirements.
532 2023-06-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
533             Tobias Burnus  <tobias@codesourcery.com>
535         * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
536         defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
537         * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
538         modifier.
539         (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
540         (gomp_map_vars_internal, gomp_update, gomp_target_rev):
541         Emit runtime error if memory region not present.
542         * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
543         * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
544         * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
545         * testsuite/libgomp.fortran/target-present-1.f90: New test.
546         * testsuite/libgomp.fortran/target-present-2.f90: New test.
547         * testsuite/libgomp.fortran/target-present-3.f90: New test.
549 2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
551         PR testsuite/66005
552         * testsuite/lib/libgomp.exp: 'flock' through stdout.
553         * testsuite/flock: New.
554         * configure.ac (FLOCK): Point to that if no 'flock' available, but
555         'perl' is.
556         * configure: Regenerate.
558 2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
560         * configure.ac (PERL): Remove.
561         * configure: Regenerate.
562         * Makefile.in: Likewise.
563         * testsuite/Makefile.in: Likewise.
565 2023-06-01  Tobias Burnus  <tobias@codesourcery.com>
567         * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
569 2023-05-26  Tobias Burnus  <tobias@codesourcery.com>
571         * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
573 2023-05-21  Tobias Burnus  <tobias@codesourcery.com>
575         PR libgomp/109875
576         * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
577         * config/nvptx/target.c (GOMP_teams4): Likewise.
578         * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
579         * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
580         * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
581         * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
583 2023-05-19  Jakub Jelinek  <jakub@redhat.com>
585         PR libgomp/109904
586         * configure.ac (link_gomp): Include also $DL_LIBS.
587         * configure: Regenerated.
589 2023-05-17  Tobias Burnus  <tobias@codesourcery.com>
591         * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
592         'target exit data'.
593         * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
594         * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
595         * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
596         * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
598 2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
600         PR testsuite/66005
601         * configure.ac: Look for 'flock'.
602         * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
603         * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
604         * testsuite/lib/libgomp.exp: ... but here, instead.
605         (libgomp_load): Override for parallel testing.
606         * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
607         * configure: Regenerate.
608         * Makefile.in: Regenerate.
609         * testsuite/Makefile.in: Regenerate.
611 2023-05-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
612             Thomas Schwinge  <thomas@codesourcery.com>
614         PR testsuite/66005
615         * testsuite/Makefile.am (PWD_COMMAND): New variable.
616         (%/site.exp): New target.
617         (check_p_numbers0, check_p_numbers1, check_p_numbers2)
618         (check_p_numbers3, check_p_numbers4, check_p_numbers5)
619         (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
620         (check_p_subdirs)
621         (check_DEJAGNU_libgomp_targets): New variables.
622         ($(check_DEJAGNU_libgomp_targets)): New target.
623         ($(check_DEJAGNU_libgomp_targets)): New dependency.
624         (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
625         * testsuite/Makefile.in: Regenerate.
626         * testsuite/lib/libgomp.exp: For parallel testing,
627         'load_file ../libgomp-test-support.exp'.
629 2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
631         PR testsuite/91884
632         * configure.ac: 'AC_SUBST(CXX)'.
633         * configure: Regenerate.
634         * Makefile.in: Likewise.
635         * testsuite/Makefile.in: Likewise.
636         * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
637         (GFORTRAN_UNDER_TEST): Set.
638         * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
639         * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
640         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
641         * testsuite/libgomp.fortran/fortran.exp: Use
642         'GFORTRAN_UNDER_TEST'.
643         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
645 2023-05-15  Thomas Schwinge  <thomas@codesourcery.com>
647         PR testsuite/91884
648         * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
649         specify compiler.
650         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
651         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
652         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
653         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
654         Likewise.
655         * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
656         * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
657         * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
658         Likewise.
660 2023-05-12  Tobias Burnus  <tobias@codesourcery.com>
662         PR libstdc++/109816
663         * testsuite/libgomp.c++/target-map-class-1.C: New test.
664         * testsuite/libgomp.c++/target-map-class-2.C: New test.
666 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
668         * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
669         'lang_library_path' into a list of 'lang_library_paths'.
670         * testsuite/libgomp.c++/c++.exp: Adjust.
671         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
672         * testsuite/libgomp.fortran/fortran.exp: Adjust.  Use that for
673         libquadmath, too.
674         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
676 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
678         * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
679         at 'lang_test_file_found'.
680         * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
681         'return' early if not able to test.  Simplify 'ld_library_path' setup.
682         * testsuite/libgomp.fortran/fortran.exp: Likewise.
683         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
684         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
686 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
688         * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
689         first.
690         * testsuite/libgomp.fortran/fortran.exp: Likewise.
691         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
692         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
694 2023-05-12  Thomas Schwinge  <thomas@codesourcery.com>
696         * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
697         * testsuite/libgomp.c/c.exp: Likewise.
698         * testsuite/libgomp.fortran/fortran.exp: Likewise.
699         * testsuite/libgomp.graphite/graphite.exp: Likewise.
700         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
701         * testsuite/libgomp.oacc-c/c.exp: Likewise.
702         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
704 2023-05-09  Thomas Schwinge  <thomas@codesourcery.com>
706         * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
707         * testsuite/libgomp.fortran/fortran.exp: Likewise.
708         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
709         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
710         * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
711         'lang_test_file'.
712         * testsuite/libgomp.oacc-c/c.exp: Likewise.
713         * testsuite/libgomp.graphite/graphite.exp: Likewise.
714         * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
715         'lang_test_file_found' instead of 'lang_test_file'.
717 2023-05-09  Thomas Schwinge  <thomas@codesourcery.com>
719         * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
720         set.
721         * testsuite/libgomp.c++/c++.exp: Likewise.
722         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
724 2023-05-09  Thomas Schwinge  <thomas@codesourcery.com>
726         * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
727         * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
729 2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
731         * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
732         of 'libstdcxx_includes'.
733         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
735 2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
737         * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
738         'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
739         * libgomp.h (gomp_target_rev): Adjust.
740         * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
741         * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
742         * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
743         * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
744         (rev_off_host_to_dev_cpy): Remove.
745         (GOMP_OFFLOAD_run): Adjust.
747 2023-05-04  Julian Brown  <julian@codesourcery.com>
749         PR fortran/109622
750         * testsuite/libgomp.fortran/pr109622.f90: Move test...
751         * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
752         vector length warning.
753         * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
754         * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here.  Add
755         missing copyin/copyout variable. Ignore vector length warnings.
756         * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
757         * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here.  Ignore
758         vector length warnings.
759         * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
761 2023-04-28  Julian Brown  <julian@codesourcery.com>
763         PR fortran/109622
764         * testsuite/libgomp.fortran/pr109622.f90: New test.
765         * testsuite/libgomp.fortran/pr109622-2.f90: New test.
766         * testsuite/libgomp.fortran/pr109622-3.f90: New test.
768 2023-04-25  Tobias Burnus  <tobias@codesourcery.com>
770         * testsuite/libgomp.c-c++-common/scan-1.c: New test.
771         * testsuite/libgomp.c/scan-23.c: New test.
772         * testsuite/libgomp.fortran/scan-2.f90: New test.
774 2023-03-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
776         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
777         weak_undefined options.
779 2023-03-24  Tobias Burnus  <tobias@codesourcery.com>
781         * libgomp.texi (Offload-Target Specifics): Grammar fix.
783 2023-03-24  Thomas Schwinge  <thomas@codesourcery.com>
785         PR fortran/104949
786         * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
787         caveat/safeguard.
789 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
791         PR libgomp/90596
792         * target.c (gomp_map_vars_internal): Allow for
793         'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
794         * oacc-parallel.c (GOACC_parallel_keyed): Pass
795         'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
796         * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
797         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
798         Adjust, simplify.
799         (gomp_offload_free): Remove.
800         * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
801         (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
802         (cuda_free_argmem): Remove.
803         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
804         Adjust.
806 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
808         * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
809         libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
810         data.
812 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
814         * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
815         'GOMP_MAP_IF_PRESENT'.
816         * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
817         (GOMP_OFFLOAD_openacc_async_exec): Adjust.
818         * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
819         (GOMP_OFFLOAD_openacc_async_exec): Likewise.
820         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
821         testing.
822         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
824 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
826         * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
827         shortcut.
829 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
831         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
832         another aspect of OpenACC 'async' semantics.
834 2023-03-10  Thomas Schwinge  <thomas@codesourcery.com>
836         * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
837         position.
838         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
839         Verify 'acc_ev_alloc', 'acc_ev_free'.
841 2023-03-09  Hongyu Wang  <hongyu.wang@intel.com>
843         PR libgomp/109062
844         * env.c (wait_policy): Initialize to -1.
845         (initialize_icvs): Initialize icvs->wait_policy to -1.
846         * testsuite/libgomp.c-c++-common/pr109062.c: New test.
848 2023-03-08  Tobias Burnus  <tobias@codesourcery.com>
850         * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
852 2023-03-02  Kwok Cheung Yeung  <kcy@codesourcery.com>
853             Paul-Antoine Arras  <pa@codesourcery.com>
855         * testsuite/libgomp.c/simd-math-1.c: New testcase.
857 2023-03-01  Tobias Burnus  <tobias@codesourcery.com>
859         PR middle-end/108546
860         * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
861         * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
863 2023-02-22  Thomas Schwinge  <thomas@codesourcery.com>
865         * testsuite/libgomp.fortran/alloc-10.f90: Use
866         '-Wno-complain-wrong-lang'.
867         * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
868         * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
869         * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
870         * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
871         * testsuite/libgomp.fortran/depend-4.f90: Likewise.
872         * testsuite/libgomp.fortran/depend-5.f90: Likewise.
873         * testsuite/libgomp.fortran/depend-6.f90: Likewise.
874         * testsuite/libgomp.fortran/depend-7.f90: Likewise.
875         * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
876         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
877         Likewise.
878         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
879         Likewise.
880         * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
881         * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
882         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
883         * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
884         'dg-prune-output'.
886 2023-02-16  Jakub Jelinek  <jakub@redhat.com>
888         * libgomp.texi: Fix typos - theads -> threads.
890 2023-02-16  Jakub Jelinek  <jakub@redhat.com>
892         * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
893         comment typo and improve its wording.
895 2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
897         * target.c (gomp_target_rev): Dereference ptr
898         to get device address.
899         * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
900         for unallocated allocatable.
902 2023-02-15  Tobias Burnus  <tobias@codesourcery.com>
904         * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
905         kind check.
906         (GOMP_target_enter_exit_data): If the next map item is
907         GOMP_MAP_ALWAYS_POINTER map it together with the current item.
908         * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
910 2023-02-09  Tobias Burnus  <tobias@codesourcery.com>
912         PR fortran/107424
913         * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
914         * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
915         * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
916         * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
917         * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
918         * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
920 2023-02-07  Thomas Schwinge  <thomas@codesourcery.com>
922         * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
923         offloading compilation.
925 2023-02-03  Tobias Burnus  <tobias@codesourcery.com>
927         * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
928         freeing not allocated memory.
929         * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
931 2023-02-03  Tobias Burnus  <tobias@codesourcery.com>
933         * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
934         reverse offload.
935         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
936         reverse-offload requirement.
938 2023-02-02  Andrew Stubbs  <ams@codesourcery.com>
940         * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
941         (DEFAULT_TEAM_ARENA_SIZE): New define.
942         (struct heap): Move to this file.
943         (struct kernargs_abi): Likewise.
944         * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
945         the kernargs.
946         * libgomp.h: Include libgomp-gcn.h.
947         (TEAM_ARENA_SIZE): Remove.
948         (team_malloc): Update the error message.
949         * plugin/plugin-gcn.c (struct kernargs): Move common content to
950         struct kernargs_abi.
951         (struct agent_info): Rename team arenas to ephemeral memories.
952         (struct team_arena_list): Rename ....
953         (struct ephemeral_memories_list): to this.
954         (struct heap): Delete.
955         (team_arena_size): New variable.
956         (stack_size): New variable.
957         (print_kernel_dispatch): Update debug messages.
958         (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
959         Read GCN_STACK_SIZE.
960         (get_team_arena): Rename ...
961         (configure_ephemeral_memories): ... to this, and set up stacks.
962         (release_team_arena): Rename ...
963         (release_ephemeral_memories): ... to this.
964         (destroy_team_arenas): Rename ...
965         (destroy_ephemeral_memories): ... to this.
966         (create_kernel_dispatch): Add num_threads parameter.
967         Adjust for kernargs_abi refactor and ephemeral memories.
968         (release_kernel_dispatch): Adjust for ephemeral memories.
969         (run_kernel): Pass thread-count to create_kernel_dispatch.
970         (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
971         (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
973 2023-02-02  Tobias Burnus  <tobias@codesourcery.com>
975         * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
977 2023-02-01  Tobias Burnus  <tobias@codesourcery.com>
979         * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
980         usage, remove unused -fdump-tree-original.
981         * testsuite/libgomp.fortran/allocate-4.f90: New.
983 2023-02-01  Tobias Burnus  <tobias@codesourcery.com>
985         * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
986         (GCN): Add item about 'omp requires'.
987         (nvptx): Likewise; add item about reverse offload.
989 2023-01-27  Tobias Burnus  <tobias@codesourcery.com>
991         PR fortran/108558
992         * testsuite/libgomp.fortran/has_device_addr.f90: New test.
994 2023-01-23  Tobias Burnus  <tobias@codesourcery.com>
996         * libgomp.texi (OpenMP 5.0): Set non-rectangular
997         loop nest back to 'P' as Fortran support is incomplete.
999 2023-01-19  Jakub Jelinek  <jakub@redhat.com>
1001         PR middle-end/108459
1002         * testsuite/libgomp.c/pr108459.c: New test.
1004 2023-01-17  Martin Liska  <mliska@suse.cz>
1006         * Makefile.in: Regenerate.
1007         * configure: Regenerate.
1009 2023-01-07  LIU Hao  <lh_mouse@126.com>
1011         PR middle-end/108300
1012         * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
1013         <windows.h>.
1015 2023-01-05  Jakub Jelinek  <jakub@redhat.com>
1017         PR c++/108286
1018         * testsuite/libgomp.c++/pr108286.C: New test.
1020 2023-01-02  Jakub Jelinek  <jakub@redhat.com>
1022         * libgomp.texi: Bump @copying's copyright year.
1024 2022-12-21  Chung-Lin Tang  <cltang@codesourcery.com>
1026         PR target/99555
1027         * config/nvptx/bar.c (generation_to_barrier): Remove.
1028         (futex_wait,futex_wake,do_spin,do_wait): Remove.
1029         (GOMP_WAIT_H): Remove.
1030         (#include "../linux/bar.c"): Remove.
1031         (gomp_barrier_wait_end): New function.
1032         (gomp_barrier_wait): Likewise.
1033         (gomp_barrier_wait_last): Likewise.
1034         (gomp_team_barrier_wait_end): Likewise.
1035         (gomp_team_barrier_wait): Likewise.
1036         (gomp_team_barrier_wait_final): Likewise.
1037         (gomp_team_barrier_wait_cancel_end): Likewise.
1038         (gomp_team_barrier_wait_cancel): Likewise.
1039         (gomp_team_barrier_cancel): Likewise.
1040         * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
1041         (gomp_barrier_init): Remove init of waiters, lock fields.
1042         (gomp_team_barrier_wake): Remove prototype, add new static inline
1043         function.
1045 2022-12-21  Jakub Jelinek  <jakub@redhat.com>
1047         PR c++/108180
1048         * testsuite/libgomp.c++/pr108180.C: New test.
1050 2022-12-16  Tobias Burnus  <tobias@codesourcery.com>
1052         PR libfortran/108056
1053         * testsuite/libgomp.fortran/allocate-4.f90: Remove
1054         accidentally added file.
1056 2022-12-15  Tobias Burnus  <tobias@codesourcery.com>
1058         PR libfortran/108056
1059         * testsuite/libgomp.fortran/allocate-4.f90: New file.
1061 2022-12-14  Julian Brown  <julian@codesourcery.com>
1063         * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
1064         test.
1066 2022-12-10  Tobias Burnus  <tobias@codesourcery.com>
1068         * libgomp.h (struct target_mem_desc): Predeclare; move
1069         below after 'reverse_splay_tree_node' and add rev_array
1070         member.
1071         (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
1072         (reverse_splay_tree_node, reverse_splay_tree,
1073         reverse_splay_tree_key): New typedef.
1074         (struct gomp_device_descr): Add mem_map_rev member.
1075         * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
1076         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
1077         support for GOMP_REQUIRES_REVERSE_OFFLOAD.
1078         * splay-tree.h (splay_tree_callback_stop): New typedef; like
1079         splay_tree_callback but returning int not void.
1080         (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
1081         taking splay_tree_callback_stop as argument.
1082         * splay-tree.c (splay_tree_foreach_internal_lazy,
1083         splay_tree_foreach_lazy): New; but early exit if callback returns
1084         nonzero.
1085         * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
1086         (gomp_map_lookup_rev): New.
1087         (gomp_load_image_to_device): Handle reverse-offload function
1088         lookup table.
1089         (gomp_unload_image_from_device): Free devicep->mem_map_rev.
1090         (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
1091         gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
1092         gomp_map_cdata_lookup): New auxiliary structs and functions for
1093         gomp_target_rev.
1094         (gomp_target_rev): Implement reverse offloading and its mapping.
1095         (gomp_target_init): Init current_device.mem_map_rev.root.
1096         * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
1097         * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
1098         * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
1099         * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
1100         * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
1101         mapping of on-device allocated variables.
1103 2022-12-09  Tobias Burnus  <tobias@codesourcery.com>
1105         * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
1106         item about 'align'; mark clause as 'Y' and directive as 'N'.
1107         * testsuite/libgomp.fortran/allocate-2.f90: New test.
1108         * testsuite/libgomp.fortran/allocate-3.f90: New test.
1110 2022-12-06  Marcel Vollweiler  <marcel@codesourcery.com>
1112         * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
1113         allow processing of device-specific values.
1114         (omp_set_teams_thread_limit): Likewise.
1115         (ialias): Likewise.
1116         * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
1117         (omp_set_teams_thread_limit): Likewise.
1118         (ialias): Likewise.
1119         * icv-device.c (omp_get_teams_thread_limit): Likewise.
1120         (ialias): Likewise.
1121         (omp_set_teams_thread_limit): Likewise.
1122         * icv.c (omp_set_teams_thread_limit): Removed.
1123         (omp_get_teams_thread_limit): Likewise.
1124         (ialias): Likewise.
1125         * libgomp.texi: Updated documentation for nvptx and gcn corresponding
1126         to the limitation of the number of teams.
1127         * plugin/plugin-gcn.c (limit_teams): New helper function that limits
1128         the number of teams by twice the number of compute units.
1129         (parse_target_attributes): Limit the number of teams on gcn offload
1130         devices.
1131         * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
1132         handling.
1133         (gomp_load_image_to_device): Added a size check for the ICVs struct
1134         variable.
1135         (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
1136         copy back the ICV values from device to host.
1137         (GOMP_target_ext): Update the number of teams and threads in the kernel
1138         args also considering device-specific values.
1139         * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
1140         of OMP_TEAMS_THREAD_LIMIT from the environment.
1141         * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
1142         * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
1143         * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
1144         * testsuite/libgomp.c-c++-common/icv-9.c: New test.
1145         * testsuite/libgomp.fortran/icv-5.f90: New test.
1146         * testsuite/libgomp.fortran/icv-6.f90: New test.
1148 2022-12-06  Tobias Burnus  <tobias@codesourcery.com>
1150         * libgomp.texi (OpenMP 5.2): Add missing 'the'.
1151         (TR11): Add missing '@tab N @tab'.
1153 2022-11-30  Tobias Burnus  <tobias@codesourcery.com>
1155         * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
1157 2022-11-30  Paul-Antoine Arras  <pa@codesourcery.com>
1159         * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
1160         * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
1161         * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
1162         * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
1163         * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
1164         * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
1165         * testsuite/libgomp.c/declare-variant-4.h: New header file.
1167 2022-11-28  Tobias Burnus  <tobias@codesourcery.com>
1169         * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
1171 2022-11-25  Sandra Loosemore  <sandra@codesourcery.com>
1173         * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
1174         * testsuite/libgomp.c/target-simd-clone-1.c: New.
1175         * testsuite/libgomp.c/target-simd-clone-2.c: New.
1176         * testsuite/libgomp.c/target-simd-clone-3.c: New.
1178 2022-11-25  Tobias Burnus  <tobias@codesourcery.com>
1180         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
1181         for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
1182         as valid and the code having no reverse-offload code.
1183         * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
1185 2022-11-25  Tobias Burnus  <tobias@codesourcery.com>
1187         * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
1188         and status for Technical Report (TR) 11.
1190 2022-11-21  Tobias Burnus  <tobias@codesourcery.com>
1192         * config/gcn/libgomp-gcn.h (struct output):
1193         Remove 'msg_u64' from the union, change
1194         value_u64[2] to value_u64[6].
1195         * config/gcn/target.c (GOMP_target_ext): Update accordingly.
1196         * plugin/plugin-gcn.c (process_reverse_offload, console_output):
1197         Likewise.
1199 2022-11-19  Tobias Burnus  <tobias@codesourcery.com>
1201         * config/gcn/libgomp-gcn.h: New file; contains
1202         struct output, declared previously in plugin-gcn.c.
1203         * config/gcn/target.c: Include it.
1204         (GOMP_ADDITIONAL_ICVS): Declare as extern var.
1205         (GOMP_target_ext): Handle reverse offload.
1206         * plugin/plugin-gcn.c: Include libgomp-gcn.h.
1207         (struct kernargs): Replace struct def by the one
1208         from libgomp-gcn.h for output_data.
1209         (process_reverse_offload): New.
1210         (console_output): Call it.
1212 2022-11-16  Tobias Burnus  <tobias@codesourcery.com>
1213             Andrew Stubbs  <ams@codesourcery.com>
1215         * config/gcn/team.c (gomp_gcn_enter_kernel): Use
1216         __builtin_gcn_kernarg_ptr instead of asm ("s8").
1218 2022-11-14  Martin Liska  <mliska@suse.cz>
1220         Revert:
1221         2022-11-14  Martin Liska  <mliska@suse.cz>
1223         * doc/amd-radeon-gcn.rst: New file.
1224         * doc/conf.py: New file.
1225         * doc/copyright.rst: New file.
1226         * doc/cuda-streams-usage.rst: New file.
1227         * doc/enabling-openacc.rst: New file.
1228         * doc/enabling-openmp.rst: New file.
1229         * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1230         * doc/first-invocation-openacc-library-api.rst: New file.
1231         * doc/funding.rst: New file.
1232         * doc/general-public-license-3.rst: New file.
1233         * doc/gnu-free-documentation-license.rst: New file.
1234         * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1235         * doc/index.rst: New file.
1236         * doc/indices-and-tables.rst: New file.
1237         * doc/introduction.rst: New file.
1238         * doc/memory-allocation-with-libmemkind.rst: New file.
1239         * doc/nvptx.rst: New file.
1240         * doc/offload-target-specifics.rst: New file.
1241         * doc/openacc-environment-variables.rst: New file.
1242         * doc/openacc-environment-variables/accdevicenum.rst: New file.
1243         * doc/openacc-environment-variables/accdevicetype.rst: New file.
1244         * doc/openacc-environment-variables/accproflib.rst: New file.
1245         * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1246         * doc/openacc-introduction.rst: New file.
1247         * doc/openacc-library-and-environment-variables.rst: New file.
1248         * doc/openacc-library-interoperability.rst: New file.
1249         * doc/openacc-profiling-interface.rst: New file.
1250         * doc/openacc-runtime-library-routines.rst: New file.
1251         * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1252         * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1253         * doc/openacc-runtime-library-routines/accattach.rst: New file.
1254         * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1255         * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1256         * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1257         * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1258         * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1259         * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1260         * doc/openacc-runtime-library-routines/accfree.rst: New file.
1261         * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1262         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1263         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1264         * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1265         * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1266         * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1267         * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1268         * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1269         * doc/openacc-runtime-library-routines/accinit.rst: New file.
1270         * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1271         * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1272         * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1273         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1274         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1275         * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1276         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1277         * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1278         * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1279         * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1280         * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1281         * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1282         * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1283         * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1284         * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1285         * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1286         * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1287         * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1288         * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1289         * doc/openacc-runtime-library-routines/accwait.rst: New file.
1290         * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1291         * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1292         * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1293         * doc/openmp-context-selectors.rst: New file.
1294         * doc/openmp-environment-variables.rst: New file.
1295         * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1296         * doc/openmp-environment-variables/gompdebug.rst: New file.
1297         * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1298         * doc/openmp-environment-variables/gompspincount.rst: New file.
1299         * doc/openmp-environment-variables/gompstacksize.rst: New file.
1300         * doc/openmp-environment-variables/ompcancellation.rst: New file.
1301         * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1302         * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1303         * doc/openmp-environment-variables/ompdynamic.rst: New file.
1304         * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1305         * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1306         * doc/openmp-environment-variables/ompnested.rst: New file.
1307         * doc/openmp-environment-variables/ompnumteams.rst: New file.
1308         * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1309         * doc/openmp-environment-variables/ompplaces.rst: New file.
1310         * doc/openmp-environment-variables/ompprocbind.rst: New file.
1311         * doc/openmp-environment-variables/ompschedule.rst: New file.
1312         * doc/openmp-environment-variables/ompstacksize.rst: New file.
1313         * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1314         * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1315         * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1316         * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1317         * doc/openmp-implementation-specifics.rst: New file.
1318         * doc/openmp-implementation-status.rst: New file.
1319         * doc/openmp-implementation-status/openmp-45.rst: New file.
1320         * doc/openmp-implementation-status/openmp-50.rst: New file.
1321         * doc/openmp-implementation-status/openmp-51.rst: New file.
1322         * doc/openmp-implementation-status/openmp-52.rst: New file.
1323         * doc/openmp-runtime-library-routines.rst: New file.
1324         * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1325         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1326         * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1327         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1328         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1329         * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1330         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1331         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1332         * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1333         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1334         * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1335         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1336         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1337         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1338         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1339         * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1340         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1341         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1342         * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1343         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1344         * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1345         * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1346         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1347         * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1348         * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1349         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1350         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1351         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1352         * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1353         * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1354         * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1355         * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1356         * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1357         * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1358         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1359         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1360         * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1361         * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1362         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1363         * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1364         * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1365         * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1366         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1367         * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1368         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1369         * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1370         * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1371         * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1372         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1373         * doc/reporting-bugs.rst: New file.
1374         * doc/the-libgomp-abi.rst: New file.
1375         * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1376         * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1377         * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1378         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1379         New file.
1380         * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1381         * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1382         * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1383         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1384         * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1385         * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1386         * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1387         * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1388         * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1389         * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1390         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1392 2022-11-14  Martin Liska  <mliska@suse.cz>
1394         Revert:
1395         2022-11-14  Martin Liska  <mliska@suse.cz>
1397         * Makefile.in: Support Sphinx based documentation.
1399 2022-11-14  Martin Liska  <mliska@suse.cz>
1401         Revert:
1402         2022-11-14  Martin Liska  <mliska@suse.cz>
1404         * libgomp.texi: Removed.
1406 2022-11-14  Martin Liska  <mliska@suse.cz>
1408         Revert:
1409         2022-11-14  Martin Liska  <mliska@suse.cz>
1411         * Makefile.in: Support --with-sphinx-build.
1412         * configure.ac: Likewise..
1413         * configure: Regenerate.
1415 2022-11-14  Martin Liska  <mliska@suse.cz>
1417         Revert:
1418         2022-11-09  Martin Liska  <mliska@suse.cz>
1420         * Makefile.in: Build info pages conditionally.
1422 2022-11-14  Martin Liska  <mliska@suse.cz>
1424         Revert:
1425         2022-11-14  Martin Liska  <mliska@suse.cz>
1427         * doc/amd-radeon-gcn.rst:
1428         Add trailing newline.
1429         * doc/copyright.rst:
1430         Add trailing newline.
1431         * doc/cuda-streams-usage.rst:
1432         Add trailing newline.
1433         * doc/enabling-openacc.rst:
1434         Add trailing newline.
1435         * doc/enabling-openmp.rst:
1436         Add trailing newline.
1437         * doc/first-invocation-nvidia-cublas-library-api.rst:
1438         Add trailing newline.
1439         * doc/first-invocation-openacc-library-api.rst:
1440         Add trailing newline.
1441         * doc/funding.rst:
1442         Add trailing newline.
1443         * doc/general-public-license-3.rst:
1444         Add trailing newline.
1445         * doc/gnu-free-documentation-license.rst:
1446         Add trailing newline.
1447         * doc/implementation-status-and-implementation-defined-behavior.rst:
1448         Add trailing newline.
1449         * doc/index.rst:
1450         Add trailing newline.
1451         * doc/indices-and-tables.rst:
1452         Add trailing newline.
1453         * doc/introduction.rst:
1454         Add trailing newline.
1455         * doc/memory-allocation-with-libmemkind.rst:
1456         Add trailing newline.
1457         * doc/nvptx.rst:
1458         Add trailing newline.
1459         * doc/offload-target-specifics.rst:
1460         Add trailing newline.
1461         * doc/openacc-environment-variables.rst:
1462         Add trailing newline.
1463         * doc/openacc-environment-variables/accdevicenum.rst:
1464         Add trailing newline.
1465         * doc/openacc-environment-variables/accdevicetype.rst:
1466         Add trailing newline.
1467         * doc/openacc-environment-variables/accproflib.rst:
1468         Add trailing newline.
1469         * doc/openacc-environment-variables/gccaccnotify.rst:
1470         Add trailing newline.
1471         * doc/openacc-introduction.rst:
1472         Add trailing newline.
1473         * doc/openacc-library-and-environment-variables.rst:
1474         Add trailing newline.
1475         * doc/openacc-library-interoperability.rst:
1476         Add trailing newline.
1477         * doc/openacc-profiling-interface.rst:
1478         Add trailing newline.
1479         * doc/openacc-runtime-library-routines.rst:
1480         Add trailing newline.
1481         * doc/openacc-runtime-library-routines/accasynctest.rst:
1482         Add trailing newline.
1483         * doc/openacc-runtime-library-routines/accasynctestall.rst:
1484         Add trailing newline.
1485         * doc/openacc-runtime-library-routines/accattach.rst:
1486         Add trailing newline.
1487         * doc/openacc-runtime-library-routines/acccopyin.rst:
1488         Add trailing newline.
1489         * doc/openacc-runtime-library-routines/acccopyout.rst:
1490         Add trailing newline.
1491         * doc/openacc-runtime-library-routines/acccreate.rst:
1492         Add trailing newline.
1493         * doc/openacc-runtime-library-routines/accdelete.rst:
1494         Add trailing newline.
1495         * doc/openacc-runtime-library-routines/accdetach.rst:
1496         Add trailing newline.
1497         * doc/openacc-runtime-library-routines/accdeviceptr.rst:
1498         Add trailing newline.
1499         * doc/openacc-runtime-library-routines/accfree.rst:
1500         Add trailing newline.
1501         * doc/openacc-runtime-library-routines/accgetcudastream.rst:
1502         Add trailing newline.
1503         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
1504         Add trailing newline.
1505         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
1506         Add trailing newline.
1507         * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
1508         Add trailing newline.
1509         * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
1510         Add trailing newline.
1511         * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
1512         Add trailing newline.
1513         * doc/openacc-runtime-library-routines/accgetproperty.rst:
1514         Add trailing newline.
1515         * doc/openacc-runtime-library-routines/acchostptr.rst:
1516         Add trailing newline.
1517         * doc/openacc-runtime-library-routines/accinit.rst:
1518         Add trailing newline.
1519         * doc/openacc-runtime-library-routines/accispresent.rst:
1520         Add trailing newline.
1521         * doc/openacc-runtime-library-routines/accmalloc.rst:
1522         Add trailing newline.
1523         * doc/openacc-runtime-library-routines/accmapdata.rst:
1524         Add trailing newline.
1525         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
1526         Add trailing newline.
1527         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
1528         Add trailing newline.
1529         * doc/openacc-runtime-library-routines/accondevice.rst:
1530         Add trailing newline.
1531         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
1532         Add trailing newline.
1533         * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
1534         Add trailing newline.
1535         * doc/openacc-runtime-library-routines/accproflookup.rst:
1536         Add trailing newline.
1537         * doc/openacc-runtime-library-routines/accprofregister.rst:
1538         Add trailing newline.
1539         * doc/openacc-runtime-library-routines/accprofunregister.rst:
1540         Add trailing newline.
1541         * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
1542         Add trailing newline.
1543         * doc/openacc-runtime-library-routines/accsetcudastream.rst:
1544         Add trailing newline.
1545         * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
1546         Add trailing newline.
1547         * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
1548         Add trailing newline.
1549         * doc/openacc-runtime-library-routines/accshutdown.rst:
1550         Add trailing newline.
1551         * doc/openacc-runtime-library-routines/accunmapdata.rst:
1552         Add trailing newline.
1553         * doc/openacc-runtime-library-routines/accupdatedevice.rst:
1554         Add trailing newline.
1555         * doc/openacc-runtime-library-routines/accupdateself.rst:
1556         Add trailing newline.
1557         * doc/openacc-runtime-library-routines/accwait.rst:
1558         Add trailing newline.
1559         * doc/openacc-runtime-library-routines/accwaitall.rst:
1560         Add trailing newline.
1561         * doc/openacc-runtime-library-routines/accwaitallasync.rst:
1562         Add trailing newline.
1563         * doc/openacc-runtime-library-routines/accwaitasync.rst:
1564         Add trailing newline.
1565         * doc/openmp-context-selectors.rst:
1566         Add trailing newline.
1567         * doc/openmp-environment-variables.rst:
1568         Add trailing newline.
1569         * doc/openmp-environment-variables/gompcpuaffinity.rst:
1570         Add trailing newline.
1571         * doc/openmp-environment-variables/gompdebug.rst:
1572         Add trailing newline.
1573         * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
1574         Add trailing newline.
1575         * doc/openmp-environment-variables/gompspincount.rst:
1576         Add trailing newline.
1577         * doc/openmp-environment-variables/gompstacksize.rst:
1578         Add trailing newline.
1579         * doc/openmp-environment-variables/ompcancellation.rst:
1580         Add trailing newline.
1581         * doc/openmp-environment-variables/ompdefaultdevice.rst:
1582         Add trailing newline.
1583         * doc/openmp-environment-variables/ompdisplayenv.rst:
1584         Add trailing newline.
1585         * doc/openmp-environment-variables/ompdynamic.rst:
1586         Add trailing newline.
1587         * doc/openmp-environment-variables/ompmaxactivelevels.rst:
1588         Add trailing newline.
1589         * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
1590         Add trailing newline.
1591         * doc/openmp-environment-variables/ompnested.rst:
1592         Add trailing newline.
1593         * doc/openmp-environment-variables/ompnumteams.rst:
1594         Add trailing newline.
1595         * doc/openmp-environment-variables/ompnumthreads.rst:
1596         Add trailing newline.
1597         * doc/openmp-environment-variables/ompplaces.rst:
1598         Add trailing newline.
1599         * doc/openmp-environment-variables/ompprocbind.rst:
1600         Add trailing newline.
1601         * doc/openmp-environment-variables/ompschedule.rst:
1602         Add trailing newline.
1603         * doc/openmp-environment-variables/ompstacksize.rst:
1604         Add trailing newline.
1605         * doc/openmp-environment-variables/omptargetoffload.rst:
1606         Add trailing newline.
1607         * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
1608         Add trailing newline.
1609         * doc/openmp-environment-variables/ompthreadlimit.rst:
1610         Add trailing newline.
1611         * doc/openmp-environment-variables/ompwaitpolicy.rst:
1612         Add trailing newline.
1613         * doc/openmp-implementation-specifics.rst:
1614         Add trailing newline.
1615         * doc/openmp-implementation-status.rst:
1616         Add trailing newline.
1617         * doc/openmp-implementation-status/openmp-45.rst:
1618         Add trailing newline.
1619         * doc/openmp-implementation-status/openmp-50.rst:
1620         Add trailing newline.
1621         * doc/openmp-implementation-status/openmp-51.rst:
1622         Add trailing newline.
1623         * doc/openmp-implementation-status/openmp-52.rst:
1624         Add trailing newline.
1625         * doc/openmp-runtime-library-routines.rst:
1626         Add trailing newline.
1627         * doc/openmp-runtime-library-routines/ompdestroylock.rst:
1628         Add trailing newline.
1629         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
1630         Add trailing newline.
1631         * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
1632         Add trailing newline.
1633         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
1634         Add trailing newline.
1635         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
1636         Add trailing newline.
1637         * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
1638         Add trailing newline.
1639         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
1640         Add trailing newline.
1641         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
1642         Add trailing newline.
1643         * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
1644         Add trailing newline.
1645         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
1646         Add trailing newline.
1647         * doc/openmp-runtime-library-routines/ompgetlevel.rst:
1648         Add trailing newline.
1649         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
1650         Add trailing newline.
1651         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
1652         Add trailing newline.
1653         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
1654         Add trailing newline.
1655         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
1656         Add trailing newline.
1657         * doc/openmp-runtime-library-routines/ompgetnested.rst:
1658         Add trailing newline.
1659         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
1660         Add trailing newline.
1661         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
1662         Add trailing newline.
1663         * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
1664         Add trailing newline.
1665         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
1666         Add trailing newline.
1667         * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
1668         Add trailing newline.
1669         * doc/openmp-runtime-library-routines/ompgetschedule.rst:
1670         Add trailing newline.
1671         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
1672         Add trailing newline.
1673         * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
1674         Add trailing newline.
1675         * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
1676         Add trailing newline.
1677         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
1678         Add trailing newline.
1679         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
1680         Add trailing newline.
1681         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
1682         Add trailing newline.
1683         * doc/openmp-runtime-library-routines/ompgetwtick.rst:
1684         Add trailing newline.
1685         * doc/openmp-runtime-library-routines/ompgetwtime.rst:
1686         Add trailing newline.
1687         * doc/openmp-runtime-library-routines/ompinfinal.rst:
1688         Add trailing newline.
1689         * doc/openmp-runtime-library-routines/ompinitlock.rst:
1690         Add trailing newline.
1691         * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
1692         Add trailing newline.
1693         * doc/openmp-runtime-library-routines/ompinparallel.rst:
1694         Add trailing newline.
1695         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
1696         Add trailing newline.
1697         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
1698         Add trailing newline.
1699         * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
1700         Add trailing newline.
1701         * doc/openmp-runtime-library-routines/ompsetlock.rst:
1702         Add trailing newline.
1703         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
1704         Add trailing newline.
1705         * doc/openmp-runtime-library-routines/ompsetnested.rst:
1706         Add trailing newline.
1707         * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
1708         Add trailing newline.
1709         * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
1710         Add trailing newline.
1711         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
1712         Add trailing newline.
1713         * doc/openmp-runtime-library-routines/ompsetschedule.rst:
1714         Add trailing newline.
1715         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
1716         Add trailing newline.
1717         * doc/openmp-runtime-library-routines/omptestlock.rst:
1718         Add trailing newline.
1719         * doc/openmp-runtime-library-routines/omptestnestlock.rst:
1720         Add trailing newline.
1721         * doc/openmp-runtime-library-routines/ompunsetlock.rst:
1722         Add trailing newline.
1723         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
1724         Add trailing newline.
1725         * doc/reporting-bugs.rst:
1726         Add trailing newline.
1727         * doc/the-libgomp-abi.rst:
1728         Add trailing newline.
1729         * doc/the-libgomp-abi/implementing-atomic-construct.rst:
1730         Add trailing newline.
1731         * doc/the-libgomp-abi/implementing-barrier-construct.rst:
1732         Add trailing newline.
1733         * doc/the-libgomp-abi/implementing-critical-construct.rst:
1734         Add trailing newline.
1735         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1736         Add trailing newline.
1737         * doc/the-libgomp-abi/implementing-flush-construct.rst:
1738         Add trailing newline.
1739         * doc/the-libgomp-abi/implementing-for-construct.rst:
1740         Add trailing newline.
1741         * doc/the-libgomp-abi/implementing-master-construct.rst:
1742         Add trailing newline.
1743         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
1744         Add trailing newline.
1745         * doc/the-libgomp-abi/implementing-ordered-construct.rst:
1746         Add trailing newline.
1747         * doc/the-libgomp-abi/implementing-parallel-construct.rst:
1748         Add trailing newline.
1749         * doc/the-libgomp-abi/implementing-private-clause.rst:
1750         Add trailing newline.
1751         * doc/the-libgomp-abi/implementing-reduction-clause.rst:
1752         Add trailing newline.
1753         * doc/the-libgomp-abi/implementing-sections-construct.rst:
1754         Add trailing newline.
1755         * doc/the-libgomp-abi/implementing-single-construct.rst:
1756         Add trailing newline.
1757         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
1758         Add trailing newline.
1760 2022-11-14  Martin Liska  <mliska@suse.cz>
1762         Revert:
1763         2022-11-09  Martin Liska  <mliska@suse.cz>
1765         * Makefile.in: Add missing HAS_SPHINX_BUILD.
1767 2022-11-14  Martin Liska  <mliska@suse.cz>
1769         Revert:
1770         2022-11-14  Martin Liska  <mliska@suse.cz>
1772         * doc/conf.py: Add newline at last line.
1774 2022-11-14  Martin Liska  <mliska@suse.cz>
1776         Revert:
1777         2022-11-14  Martin Liska  <mliska@suse.cz>
1779         PR other/107620
1780         * configure: Regenerate.
1781         * configure.ac: Always set sphinx-build.
1783 2022-11-13  Martin Liska  <mliska@suse.cz>
1785         PR other/107620
1786         * configure: Regenerate.
1787         * configure.ac: Always set sphinx-build.
1789 2022-11-12  Jakub Jelinek  <jakub@redhat.com>
1791         PR libgomp/107641
1792         * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
1793         unsigned long.  Change type of upper from unsigned to unsigned long.
1795 2022-11-10  Martin Liska  <mliska@suse.cz>
1797         * doc/conf.py: Add newline at last line.
1799 2022-11-09  Martin Liska  <mliska@suse.cz>
1801         * Makefile.in: Add missing HAS_SPHINX_BUILD.
1803 2022-11-09  Martin Liska  <mliska@suse.cz>
1805         * doc/amd-radeon-gcn.rst:
1806         Add trailing newline.
1807         * doc/copyright.rst:
1808         Add trailing newline.
1809         * doc/cuda-streams-usage.rst:
1810         Add trailing newline.
1811         * doc/enabling-openacc.rst:
1812         Add trailing newline.
1813         * doc/enabling-openmp.rst:
1814         Add trailing newline.
1815         * doc/first-invocation-nvidia-cublas-library-api.rst:
1816         Add trailing newline.
1817         * doc/first-invocation-openacc-library-api.rst:
1818         Add trailing newline.
1819         * doc/funding.rst:
1820         Add trailing newline.
1821         * doc/general-public-license-3.rst:
1822         Add trailing newline.
1823         * doc/gnu-free-documentation-license.rst:
1824         Add trailing newline.
1825         * doc/implementation-status-and-implementation-defined-behavior.rst:
1826         Add trailing newline.
1827         * doc/index.rst:
1828         Add trailing newline.
1829         * doc/indices-and-tables.rst:
1830         Add trailing newline.
1831         * doc/introduction.rst:
1832         Add trailing newline.
1833         * doc/memory-allocation-with-libmemkind.rst:
1834         Add trailing newline.
1835         * doc/nvptx.rst:
1836         Add trailing newline.
1837         * doc/offload-target-specifics.rst:
1838         Add trailing newline.
1839         * doc/openacc-environment-variables.rst:
1840         Add trailing newline.
1841         * doc/openacc-environment-variables/accdevicenum.rst:
1842         Add trailing newline.
1843         * doc/openacc-environment-variables/accdevicetype.rst:
1844         Add trailing newline.
1845         * doc/openacc-environment-variables/accproflib.rst:
1846         Add trailing newline.
1847         * doc/openacc-environment-variables/gccaccnotify.rst:
1848         Add trailing newline.
1849         * doc/openacc-introduction.rst:
1850         Add trailing newline.
1851         * doc/openacc-library-and-environment-variables.rst:
1852         Add trailing newline.
1853         * doc/openacc-library-interoperability.rst:
1854         Add trailing newline.
1855         * doc/openacc-profiling-interface.rst:
1856         Add trailing newline.
1857         * doc/openacc-runtime-library-routines.rst:
1858         Add trailing newline.
1859         * doc/openacc-runtime-library-routines/accasynctest.rst:
1860         Add trailing newline.
1861         * doc/openacc-runtime-library-routines/accasynctestall.rst:
1862         Add trailing newline.
1863         * doc/openacc-runtime-library-routines/accattach.rst:
1864         Add trailing newline.
1865         * doc/openacc-runtime-library-routines/acccopyin.rst:
1866         Add trailing newline.
1867         * doc/openacc-runtime-library-routines/acccopyout.rst:
1868         Add trailing newline.
1869         * doc/openacc-runtime-library-routines/acccreate.rst:
1870         Add trailing newline.
1871         * doc/openacc-runtime-library-routines/accdelete.rst:
1872         Add trailing newline.
1873         * doc/openacc-runtime-library-routines/accdetach.rst:
1874         Add trailing newline.
1875         * doc/openacc-runtime-library-routines/accdeviceptr.rst:
1876         Add trailing newline.
1877         * doc/openacc-runtime-library-routines/accfree.rst:
1878         Add trailing newline.
1879         * doc/openacc-runtime-library-routines/accgetcudastream.rst:
1880         Add trailing newline.
1881         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
1882         Add trailing newline.
1883         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
1884         Add trailing newline.
1885         * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
1886         Add trailing newline.
1887         * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
1888         Add trailing newline.
1889         * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
1890         Add trailing newline.
1891         * doc/openacc-runtime-library-routines/accgetproperty.rst:
1892         Add trailing newline.
1893         * doc/openacc-runtime-library-routines/acchostptr.rst:
1894         Add trailing newline.
1895         * doc/openacc-runtime-library-routines/accinit.rst:
1896         Add trailing newline.
1897         * doc/openacc-runtime-library-routines/accispresent.rst:
1898         Add trailing newline.
1899         * doc/openacc-runtime-library-routines/accmalloc.rst:
1900         Add trailing newline.
1901         * doc/openacc-runtime-library-routines/accmapdata.rst:
1902         Add trailing newline.
1903         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
1904         Add trailing newline.
1905         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
1906         Add trailing newline.
1907         * doc/openacc-runtime-library-routines/accondevice.rst:
1908         Add trailing newline.
1909         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
1910         Add trailing newline.
1911         * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
1912         Add trailing newline.
1913         * doc/openacc-runtime-library-routines/accproflookup.rst:
1914         Add trailing newline.
1915         * doc/openacc-runtime-library-routines/accprofregister.rst:
1916         Add trailing newline.
1917         * doc/openacc-runtime-library-routines/accprofunregister.rst:
1918         Add trailing newline.
1919         * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
1920         Add trailing newline.
1921         * doc/openacc-runtime-library-routines/accsetcudastream.rst:
1922         Add trailing newline.
1923         * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
1924         Add trailing newline.
1925         * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
1926         Add trailing newline.
1927         * doc/openacc-runtime-library-routines/accshutdown.rst:
1928         Add trailing newline.
1929         * doc/openacc-runtime-library-routines/accunmapdata.rst:
1930         Add trailing newline.
1931         * doc/openacc-runtime-library-routines/accupdatedevice.rst:
1932         Add trailing newline.
1933         * doc/openacc-runtime-library-routines/accupdateself.rst:
1934         Add trailing newline.
1935         * doc/openacc-runtime-library-routines/accwait.rst:
1936         Add trailing newline.
1937         * doc/openacc-runtime-library-routines/accwaitall.rst:
1938         Add trailing newline.
1939         * doc/openacc-runtime-library-routines/accwaitallasync.rst:
1940         Add trailing newline.
1941         * doc/openacc-runtime-library-routines/accwaitasync.rst:
1942         Add trailing newline.
1943         * doc/openmp-context-selectors.rst:
1944         Add trailing newline.
1945         * doc/openmp-environment-variables.rst:
1946         Add trailing newline.
1947         * doc/openmp-environment-variables/gompcpuaffinity.rst:
1948         Add trailing newline.
1949         * doc/openmp-environment-variables/gompdebug.rst:
1950         Add trailing newline.
1951         * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
1952         Add trailing newline.
1953         * doc/openmp-environment-variables/gompspincount.rst:
1954         Add trailing newline.
1955         * doc/openmp-environment-variables/gompstacksize.rst:
1956         Add trailing newline.
1957         * doc/openmp-environment-variables/ompcancellation.rst:
1958         Add trailing newline.
1959         * doc/openmp-environment-variables/ompdefaultdevice.rst:
1960         Add trailing newline.
1961         * doc/openmp-environment-variables/ompdisplayenv.rst:
1962         Add trailing newline.
1963         * doc/openmp-environment-variables/ompdynamic.rst:
1964         Add trailing newline.
1965         * doc/openmp-environment-variables/ompmaxactivelevels.rst:
1966         Add trailing newline.
1967         * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
1968         Add trailing newline.
1969         * doc/openmp-environment-variables/ompnested.rst:
1970         Add trailing newline.
1971         * doc/openmp-environment-variables/ompnumteams.rst:
1972         Add trailing newline.
1973         * doc/openmp-environment-variables/ompnumthreads.rst:
1974         Add trailing newline.
1975         * doc/openmp-environment-variables/ompplaces.rst:
1976         Add trailing newline.
1977         * doc/openmp-environment-variables/ompprocbind.rst:
1978         Add trailing newline.
1979         * doc/openmp-environment-variables/ompschedule.rst:
1980         Add trailing newline.
1981         * doc/openmp-environment-variables/ompstacksize.rst:
1982         Add trailing newline.
1983         * doc/openmp-environment-variables/omptargetoffload.rst:
1984         Add trailing newline.
1985         * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
1986         Add trailing newline.
1987         * doc/openmp-environment-variables/ompthreadlimit.rst:
1988         Add trailing newline.
1989         * doc/openmp-environment-variables/ompwaitpolicy.rst:
1990         Add trailing newline.
1991         * doc/openmp-implementation-specifics.rst:
1992         Add trailing newline.
1993         * doc/openmp-implementation-status.rst:
1994         Add trailing newline.
1995         * doc/openmp-implementation-status/openmp-45.rst:
1996         Add trailing newline.
1997         * doc/openmp-implementation-status/openmp-50.rst:
1998         Add trailing newline.
1999         * doc/openmp-implementation-status/openmp-51.rst:
2000         Add trailing newline.
2001         * doc/openmp-implementation-status/openmp-52.rst:
2002         Add trailing newline.
2003         * doc/openmp-runtime-library-routines.rst:
2004         Add trailing newline.
2005         * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2006         Add trailing newline.
2007         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2008         Add trailing newline.
2009         * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2010         Add trailing newline.
2011         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2012         Add trailing newline.
2013         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2014         Add trailing newline.
2015         * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2016         Add trailing newline.
2017         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2018         Add trailing newline.
2019         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2020         Add trailing newline.
2021         * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2022         Add trailing newline.
2023         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2024         Add trailing newline.
2025         * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2026         Add trailing newline.
2027         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2028         Add trailing newline.
2029         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2030         Add trailing newline.
2031         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2032         Add trailing newline.
2033         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2034         Add trailing newline.
2035         * doc/openmp-runtime-library-routines/ompgetnested.rst:
2036         Add trailing newline.
2037         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2038         Add trailing newline.
2039         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2040         Add trailing newline.
2041         * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2042         Add trailing newline.
2043         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2044         Add trailing newline.
2045         * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2046         Add trailing newline.
2047         * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2048         Add trailing newline.
2049         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2050         Add trailing newline.
2051         * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2052         Add trailing newline.
2053         * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2054         Add trailing newline.
2055         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2056         Add trailing newline.
2057         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2058         Add trailing newline.
2059         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2060         Add trailing newline.
2061         * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2062         Add trailing newline.
2063         * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2064         Add trailing newline.
2065         * doc/openmp-runtime-library-routines/ompinfinal.rst:
2066         Add trailing newline.
2067         * doc/openmp-runtime-library-routines/ompinitlock.rst:
2068         Add trailing newline.
2069         * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2070         Add trailing newline.
2071         * doc/openmp-runtime-library-routines/ompinparallel.rst:
2072         Add trailing newline.
2073         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2074         Add trailing newline.
2075         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2076         Add trailing newline.
2077         * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2078         Add trailing newline.
2079         * doc/openmp-runtime-library-routines/ompsetlock.rst:
2080         Add trailing newline.
2081         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2082         Add trailing newline.
2083         * doc/openmp-runtime-library-routines/ompsetnested.rst:
2084         Add trailing newline.
2085         * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2086         Add trailing newline.
2087         * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2088         Add trailing newline.
2089         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2090         Add trailing newline.
2091         * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2092         Add trailing newline.
2093         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2094         Add trailing newline.
2095         * doc/openmp-runtime-library-routines/omptestlock.rst:
2096         Add trailing newline.
2097         * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2098         Add trailing newline.
2099         * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2100         Add trailing newline.
2101         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2102         Add trailing newline.
2103         * doc/reporting-bugs.rst:
2104         Add trailing newline.
2105         * doc/the-libgomp-abi.rst:
2106         Add trailing newline.
2107         * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2108         Add trailing newline.
2109         * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2110         Add trailing newline.
2111         * doc/the-libgomp-abi/implementing-critical-construct.rst:
2112         Add trailing newline.
2113         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2114         Add trailing newline.
2115         * doc/the-libgomp-abi/implementing-flush-construct.rst:
2116         Add trailing newline.
2117         * doc/the-libgomp-abi/implementing-for-construct.rst:
2118         Add trailing newline.
2119         * doc/the-libgomp-abi/implementing-master-construct.rst:
2120         Add trailing newline.
2121         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2122         Add trailing newline.
2123         * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2124         Add trailing newline.
2125         * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2126         Add trailing newline.
2127         * doc/the-libgomp-abi/implementing-private-clause.rst:
2128         Add trailing newline.
2129         * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2130         Add trailing newline.
2131         * doc/the-libgomp-abi/implementing-sections-construct.rst:
2132         Add trailing newline.
2133         * doc/the-libgomp-abi/implementing-single-construct.rst:
2134         Add trailing newline.
2135         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2136         Add trailing newline.
2138 2022-11-09  Martin Liska  <mliska@suse.cz>
2140         * Makefile.in: Build info pages conditionally.
2142 2022-11-09  Martin Liska  <mliska@suse.cz>
2144         * Makefile.in: Support --with-sphinx-build.
2145         * configure.ac: Likewise..
2146         * configure: Regenerate.
2148 2022-11-09  Martin Liska  <mliska@suse.cz>
2150         * libgomp.texi: Removed.
2152 2022-11-09  Martin Liska  <mliska@suse.cz>
2154         * Makefile.in: Support Sphinx based documentation.
2156 2022-11-09  Martin Liska  <mliska@suse.cz>
2158         * doc/amd-radeon-gcn.rst: New file.
2159         * doc/conf.py: New file.
2160         * doc/copyright.rst: New file.
2161         * doc/cuda-streams-usage.rst: New file.
2162         * doc/enabling-openacc.rst: New file.
2163         * doc/enabling-openmp.rst: New file.
2164         * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2165         * doc/first-invocation-openacc-library-api.rst: New file.
2166         * doc/funding.rst: New file.
2167         * doc/general-public-license-3.rst: New file.
2168         * doc/gnu-free-documentation-license.rst: New file.
2169         * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2170         * doc/index.rst: New file.
2171         * doc/indices-and-tables.rst: New file.
2172         * doc/introduction.rst: New file.
2173         * doc/memory-allocation-with-libmemkind.rst: New file.
2174         * doc/nvptx.rst: New file.
2175         * doc/offload-target-specifics.rst: New file.
2176         * doc/openacc-environment-variables.rst: New file.
2177         * doc/openacc-environment-variables/accdevicenum.rst: New file.
2178         * doc/openacc-environment-variables/accdevicetype.rst: New file.
2179         * doc/openacc-environment-variables/accproflib.rst: New file.
2180         * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2181         * doc/openacc-introduction.rst: New file.
2182         * doc/openacc-library-and-environment-variables.rst: New file.
2183         * doc/openacc-library-interoperability.rst: New file.
2184         * doc/openacc-profiling-interface.rst: New file.
2185         * doc/openacc-runtime-library-routines.rst: New file.
2186         * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2187         * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2188         * doc/openacc-runtime-library-routines/accattach.rst: New file.
2189         * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2190         * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2191         * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2192         * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2193         * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2194         * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2195         * doc/openacc-runtime-library-routines/accfree.rst: New file.
2196         * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2197         * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2198         * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2199         * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2200         * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2201         * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2202         * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2203         * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2204         * doc/openacc-runtime-library-routines/accinit.rst: New file.
2205         * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2206         * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2207         * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2208         * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2209         * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2210         * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2211         * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2212         * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2213         * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2214         * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2215         * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2216         * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2217         * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2218         * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2219         * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2220         * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2221         * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2222         * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2223         * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2224         * doc/openacc-runtime-library-routines/accwait.rst: New file.
2225         * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2226         * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2227         * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2228         * doc/openmp-context-selectors.rst: New file.
2229         * doc/openmp-environment-variables.rst: New file.
2230         * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2231         * doc/openmp-environment-variables/gompdebug.rst: New file.
2232         * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2233         * doc/openmp-environment-variables/gompspincount.rst: New file.
2234         * doc/openmp-environment-variables/gompstacksize.rst: New file.
2235         * doc/openmp-environment-variables/ompcancellation.rst: New file.
2236         * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2237         * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2238         * doc/openmp-environment-variables/ompdynamic.rst: New file.
2239         * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2240         * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2241         * doc/openmp-environment-variables/ompnested.rst: New file.
2242         * doc/openmp-environment-variables/ompnumteams.rst: New file.
2243         * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2244         * doc/openmp-environment-variables/ompplaces.rst: New file.
2245         * doc/openmp-environment-variables/ompprocbind.rst: New file.
2246         * doc/openmp-environment-variables/ompschedule.rst: New file.
2247         * doc/openmp-environment-variables/ompstacksize.rst: New file.
2248         * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2249         * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2250         * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2251         * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2252         * doc/openmp-implementation-specifics.rst: New file.
2253         * doc/openmp-implementation-status.rst: New file.
2254         * doc/openmp-implementation-status/openmp-45.rst: New file.
2255         * doc/openmp-implementation-status/openmp-50.rst: New file.
2256         * doc/openmp-implementation-status/openmp-51.rst: New file.
2257         * doc/openmp-implementation-status/openmp-52.rst: New file.
2258         * doc/openmp-runtime-library-routines.rst: New file.
2259         * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2260         * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2261         * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2262         * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2263         * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2264         * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2265         * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2266         * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2267         * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2268         * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2269         * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2270         * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2271         * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2272         * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2273         * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2274         * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2275         * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2276         * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2277         * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2278         * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2279         * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2280         * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2281         * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2282         * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2283         * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2284         * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2285         * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2286         * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2287         * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2288         * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2289         * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2290         * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2291         * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2292         * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2293         * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2294         * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2295         * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2296         * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2297         * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2298         * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2299         * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2300         * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2301         * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2302         * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2303         * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2304         * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2305         * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2306         * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2307         * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2308         * doc/reporting-bugs.rst: New file.
2309         * doc/the-libgomp-abi.rst: New file.
2310         * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2311         * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2312         * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2313         * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2314         New file.
2315         * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2316         * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2317         * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2318         * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2319         * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2320         * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2321         * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2322         * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2323         * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2324         * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2325         * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2327 2022-11-04  Thomas Schwinge  <thomas@codesourcery.com>
2329         * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
2330         * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
2331         documentation.
2332         * plugin/configfrag.ac <enable_offload_targets>
2333         [*-intelmic-* | *-intelmicemul-*]: Remove.
2334         * configure: Regenerate.
2335         * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
2336         handling.
2337         (offload_target_to_openacc_device_type)
2338         [$offload_target = *-intelmic*]: Remove.
2339         (check_effective_target_offload_device_intel_mic)
2340         (check_effective_target_offload_device_any_intel_mic): Remove.
2341         * testsuite/libgomp.c-c++-common/on_device_arch.h
2342         (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
2343         (any_device_arch_intel_mic): Remove.
2344         * testsuite/libgomp.c-c++-common/target-45.c: Remove
2345         'offload_device_any_intel_mic' XFAIL.
2346         * testsuite/libgomp.fortran/target10.f90: Likewise.
2348 2022-11-03  Tobias Burnus  <tobias@codesourcery.com>
2350         * testsuite/libgomp.fortran/target-11.f90: New test.
2351         * testsuite/libgomp.fortran/target-13.f90: New test.
2353 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2355         PR libgomp/106643
2356         PR fortran/96668
2357         * oacc-mem.c (goacc_enter_data_internal): Support
2358         OpenACC 'declare create' with Fortran allocatable arrays, part II.
2359         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2360         Adjust.
2361         * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
2363 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2365         PR libgomp/106643
2366         * oacc-mem.c (goacc_enter_data_internal): Support
2367         OpenACC 'declare create' with Fortran allocatable arrays, part I.
2368         * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
2369         New.
2370         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2371         New.
2373 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2375         * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
2376         New.
2378 2022-11-02  Thomas Schwinge  <thomas@codesourcery.com>
2380         * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
2381         New.
2383 2022-11-02  Cesar Philippidis  <cesar@codesourcery.com>
2384             Thomas Schwinge  <thomas@codesourcery.com>
2386         * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
2388 2022-10-28  Julian Brown  <julian@codesourcery.com>
2389             Thomas Schwinge  <thomas@codesourcery.com>
2391         PR middle-end/90115
2392         * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
2393         * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2394         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2395         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2396         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2398 2022-10-24  Thomas Schwinge  <thomas@codesourcery.com>
2400         * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
2401         'ptx_dev->rev_data'.
2403 2022-10-24  Tobias Burnus  <tobias@codesourcery.com>
2405         * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
2406         'static' for this variable.
2407         * config/nvptx/libgomp-nvptx.h: New file.
2408         * config/nvptx/target.c: Include it.
2409         (GOMP_ADDITIONAL_ICVS): Declare extern var.
2410         (GOMP_REV_OFFLOAD_VAR): Declare var.
2411         (GOMP_target_ext): Handle reverse offload.
2412         * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
2413         * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
2414         * target.c (gomp_target_rev): ... this new stub function.
2415         * libgomp.h (gomp_target_rev): Declare.
2416         * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
2417         * plugin/cuda-lib.def (cuMemHostAlloc): Add.
2418         * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
2419         (struct ptx_device): Add rev_data member.
2420         (nvptx_open_device): Remove async_engines query, last used in
2421         r10-304-g1f4c5b9b; add unified-address assert check.
2422         (GOMP_OFFLOAD_get_num_devices): Claim unified address
2423         support.
2424         (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
2425         offload functions exist. Make offload var available
2426         on host and device.
2427         (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
2428         (GOMP_OFFLOAD_run): Handle reverse offload.
2430 2022-10-21  Thomas Schwinge  <thomas@codesourcery.com>
2432         PR tree-optimization/107195
2433         PR target/107344
2434         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
2435         regions checking.
2437 2022-10-20  Tobias Burnus  <tobias@codesourcery.com>
2439         * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
2440         New.
2441         * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
2442         on_device_arch_gcn): New.
2443         * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
2444         requires-4.c but using heap-allocated memory.
2446 2022-10-20  Thomas Schwinge  <thomas@codesourcery.com>
2448         PR target/105421
2449         * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
2451 2022-10-17  Thomas Schwinge  <thomas@codesourcery.com>
2453         * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
2454         '-foffload-options' syntax.
2456 2022-10-13  Tobias Burnus  <tobias@codesourcery.com>
2458         * testsuite/libgomp.fortran/task-7.f90: New test.
2459         * testsuite/libgomp.fortran/task-8.f90: New test.
2460         * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
2461         * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
2462         * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
2463         * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
2464         * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
2466 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
2468         * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
2469         in deprecation bullet.
2471 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
2473         * omp.h.in (omp_in_explicit_task): Declare.
2474         * omp_lib.h.in (omp_in_explicit_task): Likewise.
2475         * omp_lib.f90.in (omp_in_explicit_task): New interface.
2476         * libgomp.map (OMP_5.2): New symbol version, export
2477         omp_in_explicit_task and omp_in_explicit_task_.
2478         * task.c (omp_in_explicit_task): New function.
2479         * fortran.c (omp_in_explicit_task): Add ialias_redirect.
2480         (omp_in_explicit_task_): New function.
2481         * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
2482         * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
2483         * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
2484         * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
2486 2022-10-12  Jakub Jelinek  <jakub@redhat.com>
2488         * task.c (gomp_create_artificial_team): Fix up handling of invocations
2489         from within explicit task.
2490         * target.c (GOMP_target_ext): Likewise.
2491         * testsuite/libgomp.c/task-7.c: New test.
2492         * testsuite/libgomp.c/task-8.c: New test.
2493         * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
2494         * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
2496 2022-10-12  Martin Liska  <mliska@suse.cz>
2498         * configure: Regenerate.
2500 2022-10-11  Olivier Hainque  <hainque@adacore.com>
2501             Olivier Hainque  <hainque@adacore.com>
2503         * configure: Regenerate.
2505 2022-10-05  Tobias Burnus  <tobias@codesourcery.com>
2507         * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
2509 2022-10-04  Jakub Jelinek  <jakub@redhat.com>
2511         * libgomp.texi (Support begin/end declare target syntax in C/C++):
2512         Mark as implemented.
2514 2022-09-30  Tobias Burnus  <tobias@codesourcery.com>
2516         PR fortran/105318
2517         * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
2519 2022-09-28  Tobias Burnus  <tobias@codesourcery.com>
2521         * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
2522         for C/C++. Remove duplicated 'begin declare target' entry.
2524 2022-09-24  Jakub Jelinek  <jakub@redhat.com>
2526         PR c/106981
2527         * testsuite/libgomp.c-c++-common/pr106981.c: New test.
2529 2022-09-14  Julian Brown  <julian@codesourcery.com>
2531         * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
2532         * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
2533         * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
2534         * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
2535         test to here, make "run" test.
2537 2022-09-13  Jakub Jelinek  <jakub@redhat.com>
2539         PR libgomp/106906
2540         * env.c (get_icv_member_addr): Cast false to void * before assigning
2541         it to icv_addr[1], and comment the whole assignment out.
2543 2022-09-13  Tobias Burnus  <tobias@codesourcery.com>
2545         * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
2546         (nvptx): ... here.
2548 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
2550         * libgomp.texi (Offload-Target Specifics: nvptx): Document
2551         that reverse offload requires >= -march=sm_35.
2552         * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
2553         with -misa=sm_35.
2554         * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
2555         * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
2556         * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
2557         * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
2558         * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
2560 2022-09-12  Tobias Burnus  <tobias@codesourcery.com>
2562         * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
2563         (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
2565 2022-09-12  Jakub Jelinek  <jakub@redhat.com>
2567         PR libgomp/106894
2568         * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
2569         (main): Avoid tests for which corresponding non-_ALL suffixed variable
2570         is in the environment, or for OMP_NUM_TEAMS on the device
2571         OMP_NUM_TEAMS_DEV_?.
2573 2022-09-10  Iain Sandoe  <iain@sandoe.co.uk>
2575         * env.c (initialize_env): Include libiberty environ.h.
2577 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
2579         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
2580         function address table '$offload_func_table' if rev_fn_table
2581         is not NULL.
2583 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
2585         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
2586         .offload_func_table to populate rev_fn_table when requested.
2588 2022-09-09  Tobias Burnus  <tobias@codesourcery.com>
2590         * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
2591         'uint64_t **rev_fn_table' argument.
2592         * oacc-host.c (host_load_image): Likewise.
2593         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
2594         currently unused.
2595         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
2596         * target.c (gomp_load_image_to_device): Update call but pass
2597         NULL for now.
2599 2022-09-09  Jakub Jelinek  <jakub@redhat.com>
2601         PR libgomp/106894
2602         * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
2603         char * for dest[1] initialization from params[1].  Formatting fixes.
2605 2022-09-08  Tobias Burnus  <tobias@codesourcery.com>
2607         PR fortran/106670
2608         * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
2610 2022-09-08  Tobias Burnus  <tobias@codesourcery.com>
2612         * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
2613         section; move OpenMP Context Selectors from ...
2614         (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
2615         'nvptx' sections.
2617 2022-09-08  Marcel Vollweiler  <marcel@codesourcery.com>
2619         * config/gcn/icv-device.c (omp_get_default_device): Return device-
2620         specific ICV.
2621         (omp_get_max_teams): Added for GCN devices.
2622         (omp_set_num_teams): Likewise.
2623         (ialias): Likewise.
2624         * config/nvptx/icv-device.c (omp_get_default_device): Return device-
2625         specific ICV.
2626         (omp_get_max_teams): Added for NVPTX devices.
2627         (omp_set_num_teams): Likewise.
2628         (ialias): Likewise.
2629         * env.c (struct gomp_icv_list): New struct to store entries of initial
2630         ICV values.
2631         (struct gomp_offload_icv_list): New struct to store entries of device-
2632         specific ICV values that are copied to the device and back.
2633         (struct gomp_default_icv_values): New struct to store default values of
2634         ICVs according to the OpenMP standard.
2635         (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
2636         (print_env_var_error): Function that prints an error for invalid values
2637         for ICVs.
2638         (parse_unsigned_long_1): Removed getenv.  Generalized.
2639         (parse_unsigned_long): Likewise.
2640         (parse_int_1): Likewise.
2641         (parse_int): Likewise.
2642         (parse_int_secure): Likewise.
2643         (parse_unsigned_long_list): Likewise.
2644         (parse_target_offload): Likewise.
2645         (parse_bind_var): Likewise.
2646         (parse_stacksize): Likewise.
2647         (parse_boolean): Likewise.
2648         (parse_wait_policy): Likewise.
2649         (parse_allocator): Likewise.
2650         (omp_display_env): Extended to output different variants of environment
2651         variables.
2652         (print_schedule): New helper function for omp_display_env which prints
2653         the values of run_sched_var.
2654         (print_proc_bind): New helper function for omp_display_env which prints
2655         the values of proc_bind_var.
2656         (enum gomp_parse_type): Collection of types used for parsing environment
2657         variables.
2658         (ENTRY): Preprocess string lengths of environment variables.
2659         (OMP_VAR_CNT): Preprocess table size.
2660         (OMP_HOST_VAR_CNT): Likewise.
2661         (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
2662         number.
2663         (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
2664         (gomp_set_icv_flag): Sets a flag for a particular ICV.
2665         (print_device_specific_icvs): New helper function for omp_display_env to
2666         print device specific ICV values.
2667         (get_device_num): New helper function for parse_device_specific.
2668         Extracts the device number from an environment variable name.
2669         (get_icv_member_addr): Gets the memory address for a particular member
2670         of an ICV struct.
2671         (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
2672         (initialize_icvs): New function to initialize a gomp_initial_icvs
2673         struct.
2674         (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
2675         (startswith): Checks if a string starts with a given prefix.
2676         (initialize_env): Extended to parse the new syntax of environment
2677         variables.
2678         * icv-device.c (omp_get_max_teams): Added.
2679         (ialias): Likewise.
2680         (omp_set_num_teams): Likewise.
2681         * icv.c (omp_set_num_teams): Moved to icv-device.c.
2682         (omp_get_max_teams): Likewise.
2683         (ialias): Likewise.
2684         * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
2685         (GOMP_ADDITIONAL_ICVS): New target-side struct that
2686         holds the designated ICVs of the target device.
2687         * libgomp.h (enum gomp_icvs): Collection of ICVs.
2688         (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
2689         no suffix.
2690         (enum gomp_env_suffix): Collection of possible suffixes of environment
2691         variables.
2692         (struct gomp_initial_icvs): Contains all ICVs for which we need to store
2693         initial values.
2694         (struct gomp_default_icv):New struct to hold ICVs for which we need
2695         to store initial values.
2696         (struct gomp_icv_list): Definition of a linked list that is used for
2697         storing ICVs for the devices and also for _DEV, _ALL, and without
2698         suffix.
2699         (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
2700         a device.
2701         (struct gomp_offload_icv_list): Definition of a linked list that holds
2702         device-specific ICVs that are copied to devices.
2703         (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
2704         (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
2705         * libgomp.texi: Updated.
2706         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
2707         further ICVs from the offload image.
2708         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
2709         * target.c (gomp_get_offload_icv_item): Get a list item of
2710         gomp_offload_icv_list.
2711         (get_gomp_offload_icvs): New. Returns the ICV values
2712         depending on the device num and the variable hierarchy.
2713         (gomp_load_image_to_device): Extended to copy further ICVs to a device.
2714         * testsuite/libgomp.c-c++-common/icv-5.c: New test.
2715         * testsuite/libgomp.c-c++-common/icv-6.c: New test.
2716         * testsuite/libgomp.c-c++-common/icv-7.c: New test.
2717         * testsuite/libgomp.c-c++-common/icv-8.c: New test.
2718         * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
2719         * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
2721 2022-09-08  Jakub Jelinek  <jakub@redhat.com>
2723         * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
2724         fully supported.
2725         * testsuite/libgomp.c/doacross-4.c: New test.
2726         * testsuite/libgomp.c/doacross-5.c: New test.
2727         * testsuite/libgomp.c/doacross-6.c: New test.
2728         * testsuite/libgomp.c/doacross-7.c: New test.
2730 2022-09-05  Tobias Burnus  <tobias@codesourcery.com>
2732         * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
2734 2022-08-26  Tobias Burnus  <tobias@codesourcery.com>
2736         * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
2737         refer to 'requires'.
2738         * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
2739         * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
2740         * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
2741         * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
2743 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
2745         PR middle-end/106548
2746         * testsuite/libgomp.c/linear-2.c: New test.
2748 2022-08-17  Tobias Burnus  <tobias@codesourcery.com>
2750         * splay-tree.h: Fix splay_* macro unsetting if
2751         splay_tree_prefix is defined.
2753 2022-07-29  Tobias Burnus  <tobias@codesourcery.com>
2755         * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
2757 2022-07-29  Jakub Jelinek  <jakub@redhat.com>
2759         PR middle-end/106449
2760         * testsuite/libgomp.c-c++-common/pr106449.c: New test.
2762 2022-07-12  Tobias Burnus  <tobias@codesourcery.com>
2764         * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
2766 2022-07-12  Thomas Schwinge  <thomas@codesourcery.com>
2768         PR middle-end/101551
2769         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
2770         'offloading_enabled' diagnostics issue.
2772 2022-07-11  Thomas Schwinge  <thomas@codesourcery.com>
2774         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
2775         '_Pragma' diagnostics verification.
2777 2022-07-10  Lewis Hyatt  <lhyatt@gmail.com>
2779         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
2780         improved warning locations.
2781         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
2783 2022-07-08  Thomas Schwinge  <thomas@codesourcery.com>
2785         * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
2786         * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
2787         * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
2788         * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
2789         * testsuite/libgomp.fortran/requires-1.f90: Likewise.
2791 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
2793         * target.c (GOMP_offload_register, GOMP_offload_unregister):
2794         Denote as legacy entry points.
2795         * testsuite/lib/libgomp.exp
2796         (check_effective_target_offload_target_any): New proc.
2797         * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
2798         'offload_target_any'.
2799         * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
2800         * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
2801         * testsuite/libgomp.fortran/requires-1.f90: Likewise.
2803 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
2805         * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
2806         * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
2808 2022-07-07  Thomas Schwinge  <thomas@codesourcery.com>
2810         * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
2812 2022-07-06  Thomas Schwinge  <thomas@codesourcery.com>
2814         * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
2815         'data'.
2816         (GOMP_offload_unregister_ver): Likewise.  Fix up 'target_data'.
2818 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
2819             Jakub Jelinek  <jakub@redhat.com>
2821         * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
2823 2022-07-04  Tobias Burnus  <tobias@codesourcery.com>
2824             Chung-Lin Tang  <cltang@codesourcery.com>
2825             Thomas Schwinge  <thomas@codesourcery.com>
2827         * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
2828         omp_requires_mask arg.
2829         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
2830         return -1 when device available but omp_requires_mask != 0.
2831         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
2832         * oacc-host.c (host_get_num_devices, host_openacc_get_property):
2833         Update call.
2834         * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
2835         goacc_attach_host_thread_to_device, acc_get_num_devices,
2836         acc_set_device_num, get_property_any): Likewise.
2837         * target.c (omp_requires_mask): New global var.
2838         (gomp_requires_to_name): New.
2839         (GOMP_offload_register_ver): Handle passed omp_requires_mask.
2840         (gomp_target_init): Handle omp_requires_mask.
2841         * libgomp.texi (OpenMP 5.0): Update requires impl. status.
2842         (OpenMP 5.1): Add a missed item.
2843         (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
2844         * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
2845         * testsuite/libgomp.c-c++-common/requires-1.c: New test.
2846         * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
2847         * testsuite/libgomp.c-c++-common/requires-2.c: New test.
2848         * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
2849         * testsuite/libgomp.c-c++-common/requires-3.c: New test.
2850         * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
2851         * testsuite/libgomp.c-c++-common/requires-4.c: New test.
2852         * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
2853         * testsuite/libgomp.c-c++-common/requires-5.c: New test.
2854         * testsuite/libgomp.c-c++-common/requires-6.c: New test.
2855         * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
2856         * testsuite/libgomp.c-c++-common/requires-7.c: New test.
2857         * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
2858         * testsuite/libgomp.fortran/requires-1.f90: New test.
2860 2022-07-01  Tobias Burnus  <tobias@codesourcery.com>
2862         * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
2863         with fromto as implemented.
2865 2022-06-28  Martin Liska  <mliska@suse.cz>
2867         * acinclude.m4: Fix typo in mold linker detection.
2868         * Makefile.in: Regenerate.
2869         * configure: Regenerate.
2871 2022-06-21  Jakub Jelinek  <jakub@redhat.com>
2872             Paul Iannetta  <piannetta@kalrayinc.com>
2874         PR libgomp/106045
2875         * testsuite/libgomp.c/target-31.c: Add private (i) clause.
2877 2022-06-17  Martin Liska  <mliska@suse.cz>
2879         * libgomp.texi: Add table header for new features of
2880         OpenMP 5.2.
2882 2022-06-15  Jakub Jelinek  <jakub@redhat.com>
2884         * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
2885         q to ddress of an automatic variable.  Use -5 instead of -1 in
2886         omp_get_mapped_ptr call.  Add test with omp_initial_device.
2887         * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
2888         of -1 in omp_get_mapped_ptr call.  Add test with omp_initial_device.
2889         Renumber stop arguments afterwards.
2891 2022-06-13  Jakub Jelinek  <jakub@redhat.com>
2893         * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
2894         * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
2895         parameters.
2896         * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
2897         * target.c (resolve_device): Add remapped argument, handle
2898         GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
2899         for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
2900         if remapped, otherwise treat omp_initial_device that way.  For
2901         omp_invalid_device, always emit gomp_fatal, even when
2902         OMP_TARGET_OFFLOAD isn't mandatory.
2903         (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
2904         GOMP_target_update, GOMP_target_update_ext,
2905         GOMP_target_enter_exit_data): Pass true as remapped argument to
2906         resolve_device.
2907         (omp_target_alloc, omp_target_free, omp_target_is_present,
2908         omp_target_memcpy_check, omp_target_associate_ptr,
2909         omp_target_disassociate_ptr, omp_get_mapped_ptr,
2910         omp_target_is_accessible): Pass false as remapped argument to
2911         resolve_device.  Treat omp_initial_device the same as
2912         gomp_get_num_devices ().  Don't bypass resolve_device calls if
2913         device_num is negative.
2914         (omp_pause_resource): Treat omp_initial_device the same as
2915         gomp_get_num_devices ().  Call resolve_device.
2916         * icv-device.c (omp_set_default_device): Always set to device_num
2917         even when it is negative.
2918         * libgomp.texi: Document that Conforming device numbers,
2919         omp_initial_device and omp_invalid_device is implemented.
2920         * testsuite/libgomp.c/target-41.c (main): Add test with
2921         omp_initial_device.
2922         * testsuite/libgomp.c/target-45.c: New test.
2923         * testsuite/libgomp.c/target-46.c: New test.
2924         * testsuite/libgomp.c/target-47.c: New test.
2925         * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
2926         test with omp_initial_device.  Use -5 instead of -1 for negative value
2927         test.
2928         * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
2929         Likewise.  Reorder stop numbers.
2931 2022-06-10  Jakub Jelinek  <jakub@redhat.com>
2933         * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
2934         rather than "libmemkind.so".
2936 2022-06-10  Thomas Schwinge  <thomas@codesourcery.com>
2938         * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
2939         * plugin/configfrag.ac (--with-cuda-driver)
2940         (--with-cuda-driver-include, --with-cuda-driver-lib)
2941         (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
2942         (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
2943         Remove.
2944         * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
2945         (cuda_driver_lib): Remove.
2946         * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
2947         * Makefile.in: Regenerate.
2948         * configure: Likewise.
2949         * testsuite/Makefile.in: Likewise.
2951 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
2953         * config/linux/allocator.c: Fix up #include directive.
2955 2022-06-09  Jakub Jelinek  <jakub@redhat.com>
2957         * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
2958         (enum gomp_memkind_kind): New type.
2959         (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
2960         is defined.
2961         (struct gomp_memkind_data): New type.
2962         (memkind_data, memkind_data_once): New variables.
2963         (gomp_init_memkind, gomp_get_memkind): New functions.
2964         (omp_init_allocator): Initialize data.memkind, don't fail for
2965         omp_high_bw_mem_space if libmemkind supports it.
2966         (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
2967         memkind support of LIBGOMP_USE_MEMKIND is defined.
2968         * config/linux/allocator.c: New file.
2970 2022-06-03  Tobias Burnus  <tobias@codesourcery.com>
2972         * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
2973         * testsuite/libgomp.fortran/scope-2.f90: New test.
2975 2022-06-02  David Malcolm  <dmalcolm@redhat.com>
2977         * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
2979 2022-05-31  Jakub Jelinek  <jakub@redhat.com>
2981         * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
2982         scope construct with allocate clause.
2983         * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
2984         * testsuite/libgomp.c-c++-common/scope-2.c: New test.
2986 2022-05-28  Tobias Burnus  <tobias@codesourcery.com>
2988         * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
2989         * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
2990         explicit 'to' and 'enter' clause.
2991         * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
2993 2022-05-28  Jakub Jelinek  <jakub@redhat.com>
2995         PR libgomp/105745
2996         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
2997         defined(HAVE__ALIGNED_MALLOC) case.
2998         * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
2999         handling as last option before fallback instead of first.
3000         (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
3001         _aligned_free.
3003 2022-05-27  Jakub Jelinek  <jakub@redhat.com>
3005         * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
3006         clauses to enter.
3007         * testsuite/libgomp.c/target-41.c: Likewise.
3009 2022-05-27  Tobias Burnus  <tobias@codesourcery.com>
3011         * libgomp.texi (Other new OpenMP 5.1 features): Add
3012         'begin declare target'.
3013         (Other new OpenMP 5.2 features): New.
3015 2022-05-25  Jakub Jelinek  <jakub@redhat.com>
3017         * task.c (gomp_task_run_post_handle_dependers): If empty_task
3018         is the last task taskwait depend depends on, wake it up.
3019         Similarly if it is the last child of a taskgroup, use atomic
3020         store instead of decrement and awak taskgroup wait if any.
3021         * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
3023 2022-05-24  Andrew Stubbs  <ams@codesourcery.com>
3025         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3026         EF_AMDGPU_MACH_AMDGCN_GFX90a.
3027         (gcn_gfx90a_s): New.
3028         (isa_hsa_name): Support gfx90a.
3029         (isa_code): Likewise.
3031 2022-05-24  Tobias Burnus  <tobias@codesourcery.com>
3033         PR c/105378
3034         * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
3035         * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
3037 2022-05-24  Jakub Jelinek  <jakub@redhat.com>
3039         PR c/105378
3040         * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
3041         * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
3042         * task.c (empty_task): New function.
3043         (gomp_task_run_post_handle_depend_hash): Declare earlier.
3044         (gomp_task_run_post_handle_depend): Declare.
3045         (GOMP_task): Optimize fn == empty_task if there is nothing to wait
3046         for.
3047         (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
3048         (GOMP_taskwait_depend_nowait): New function.
3049         * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
3051 2022-05-23  Tobias Burnus  <tobias@codesourcery.com>
3053         PR fortran/104949
3054         * target.c (gomp_map_vars_internal, copy_firstprivate_data):
3055         Support attach for GOMP_MAP_FIRSTPRIVATE.
3056         * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
3057         * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
3058         * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
3060 2022-05-20  Marcel Vollweiler  <marcel@codesourcery.com>
3062         * libgomp.map: Added omp_target_memcpy_async and
3063         omp_target_memcpy_rect_async.
3064         * libgomp.texi: Both functions are now supported.
3065         * omp.h.in: Added omp_target_memcpy_async and
3066         omp_target_memcpy_rect_async.
3067         * omp_lib.f90.in: Added interfaces for both new functions.
3068         * omp_lib.h.in: Likewise.
3069         * target.c (ialias_redirect): Added for GOMP_task.
3070         (omp_target_memcpy): Restructured into check and copy part.
3071         (omp_target_memcpy_check): New helper function for omp_target_memcpy and
3072         omp_target_memcpy_async that checks requirements.
3073         (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
3074         omp_target_memcpy_async that performs the memcpy.
3075         (omp_target_memcpy_async_helper): New helper function that is used in
3076         omp_target_memcpy_async for the asynchronous task.
3077         (omp_target_memcpy_async): Added.
3078         (omp_target_memcpy_rect): Restructured into check and copy part.
3079         (omp_target_memcpy_rect_check): New helper function for
3080         omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
3081         requirements.
3082         (omp_target_memcpy_rect_copy): New helper function for
3083         omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
3084         the memcpy.
3085         (omp_target_memcpy_rect_async_helper): New helper function that is used
3086         in omp_target_memcpy_rect_async for the asynchronous task.
3087         (omp_target_memcpy_rect_async): Added.
3088         * task.c (ialias): Added for GOMP_task.
3089         * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
3090         * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
3091         * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
3092         * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
3093         * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
3094         * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
3095         * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
3096         * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
3098 2022-05-18  Tobias Burnus  <tobias@codesourcery.com>
3100         * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
3101         (OpenMP Context Selectors): Add missing comma.
3102         * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
3103         * testsuite/libgomp.fortran/depend-6.f90: Likewise.
3104         * testsuite/libgomp.fortran/depend-7.f90: Likewise.
3105         * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
3107 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
3109         * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
3110         comment for omp_display_env feature.
3112 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3114         * libgomp.texi (Offload-Target Specifics): New chapter; add section
3115         to document OpenMP context selectors.
3117 2022-05-17  Jakub Jelinek  <jakub@redhat.com>
3119         * libgomp.h (struct gomp_task_depend_entry): Change is_in type
3120         from bool to unsigned char.
3121         * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
3122         Ignore dependencies where
3123         task->depend[i].is_in && task->depend[i].is_in == ent->is_in
3124         rather than just task->depend[i].is_in && ent->is_in.  Remember
3125         whether GOMP_DEPEND_IN loop is needed and guard the loop with that
3126         conditional.
3127         (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
3128         Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
3129         rather than just elem.is_in && ent->is_in.
3130         * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
3131         inoutset depend-kind.
3132         * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
3133         * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
3134         * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
3136 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3138         * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
3140 2022-05-17  Tobias Burnus  <tobias@codesourcery.com>
3142         * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
3143         * testsuite/libgomp.fortran/depend-5.f90: New test.
3144         * testsuite/libgomp.fortran/depend-6.f90: New test.
3145         * testsuite/libgomp.fortran/depend-7.f90: New test.
3147 2022-05-16  Marcel Vollweiler  <marcel@codesourcery.com>
3149         * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
3150         * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
3151         * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
3153 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
3155         * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3157 2022-05-13  Tobias Burnus  <tobias@codesourcery.com>
3159         * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3161 2022-05-13  Thomas Schwinge  <thomas@codesourcery.com>
3163         * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
3164         [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
3165         (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
3166         append '$(PLUGIN_NVPTX_LDFLAGS)'.
3167         * Makefile.in: Regenerate.
3169 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
3171         * Makefile.am (libgomp_la_LIBADD): Initialize.
3172         * plugin/configfrag.ac (DL_LIBS): New.
3173         (PLUGIN_GCN_LIBS): Remove.
3174         (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
3175         * plugin/Makefrag.am (libgomp_la_LIBADD)
3176         (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
3177         (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
3178         * Makefile.in: Regenerate.
3179         * config.h.in: Likewise.
3180         * configure: Likewise.
3181         * testsuite/Makefile.in: Likewise.
3183 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
3185         * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
3186         * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
3187         'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
3188         * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
3189         'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
3190         'PLUGIN_NVPTX_LINK_LIBCUDA'.
3191         * Makefile.in: Regenerate.
3192         * config.h.in: Likewise.
3193         * configure: Likewise.
3195 2022-05-12  Thomas Schwinge  <thomas@codesourcery.com>
3197         * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
3198         for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
3199         * Makefile.in: Regenerate.
3200         * config.h.in: Likewise.
3201         * configure: Likewise.
3202         * testsuite/Makefile.in: Likewise.
3204 2022-05-12  Jakub Jelinek  <jakub@redhat.com>
3206         * libgomp.h (struct gomp_task): Add depend_all_memory member.
3207         * task.c (gomp_init_task): Initialize depend_all_memory.
3208         (gomp_task_handle_depend): Handle omp_all_memory.
3209         (gomp_task_run_post_handle_depend_hash): Clear
3210         parent->depend_all_memory if equal to current task.
3211         (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
3212         * testsuite/libgomp.c-c++-common/depend-1.c: New test.
3213         * testsuite/libgomp.c-c++-common/depend-2.c: New test.
3214         * testsuite/libgomp.c-c++-common/depend-3.c: New test.
3216 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3218         * plugin/configfrag.ac: Remove '--with-hsa-runtime',
3219         '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
3220         * Makefile.in: Regenerate.
3221         * configure: Likewise.
3222         * testsuite/Makefile.in: Likewise.
3224 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3226         * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
3227         consider 'PLUGIN_GCN_CPPFLAGS'.
3228         (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
3229         'PLUGIN_GCN_LDFLAGS'.
3230         * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
3231         Remove.
3232         * Makefile.in: Regenerate.
3233         * configure: Likewise.
3234         * testsuite/Makefile.in: Likewise.
3236 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3238         * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
3239         (HSA_RUNTIME_LDFLAGS): Remove.
3240         * configure: Regenerate.
3242 2022-05-11  Thomas Schwinge  <thomas@codesourcery.com>
3244         * testsuite/lib/libgomp.exp (libgomp_init): Don't
3245         'append always_ld_library_path ":$hsa_runtime_lib"'.
3246         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
3248 2022-05-10  Thomas Schwinge  <thomas@codesourcery.com>
3250         * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
3251         multi-device testing.
3253 2022-05-06  Marcel Vollweiler  <marcel@codesourcery.com>
3255         * libgomp.map: Added omp_target_is_accessible.
3256         * libgomp.texi: Tagged omp_target_is_accessible as supported.
3257         * omp.h.in: Added omp_target_is_accessible.
3258         * omp_lib.f90.in: Added interface for omp_target_is_accessible.
3259         * omp_lib.h.in: Likewise.
3260         * target.c (omp_target_is_accessible): Added implementation of
3261         omp_target_is_accessible.
3262         * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
3263         * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
3265 2022-05-05  Sandra Loosemore  <sandra@codesourcery.com>
3267         * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
3269 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
3271         * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
3273 2022-05-04  Tobias Burnus  <tobias@codesourcery.com>
3275         * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
3277 2022-05-03  Marcel Vollweiler  <marcel@codesourcery.com>
3279         * libgomp.map: Added omp_get_mapped_ptr.
3280         * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
3281         * omp.h.in: Added omp_get_mapped_ptr.
3282         * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
3283         * omp_lib.h.in: Likewise.
3284         * target.c (omp_get_mapped_ptr): Added implementation of
3285         omp_get_mapped_ptr.
3286         * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
3287         * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
3288         * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
3289         * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
3290         * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
3291         * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
3292         * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
3293         * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
3295 2022-04-28  Thomas Schwinge  <thomas@codesourcery.com>
3297         PR fortran/104717
3298         * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
3299         privatization scanning.  For GCN offloading compilation, raise
3300         '-mgang-private-size'.
3302 2022-04-26  Jakub Jelinek  <jakub@redhat.com>
3304         PR libgomp/105358
3305         * work.c (gomp_init_work_share): Don't mask of adjustment for
3306         dynamic long long realignment if struct gomp_work_share has smaller
3307         alignof than long long.
3308         * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
3309         struct gomp_work_share has smaller alignof than long long or if
3310         sizeof (struct gomp_work_share) is smaller than
3311         INLINE_ORDERED_TEAM_IDS_OFF.
3312         * loop_ull.c (GOMP_loop_ull_start): Likewise.
3313         * sections.c (GOMP_sections2_start): Likewise.
3315 2022-04-25  Jakub Jelinek  <jakub@redhat.com>
3316             Thomas Schwinge  <thomas@codesourcery.com>
3318         PR fortran/104717
3319         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
3321 2022-04-13  Jakub Jelinek  <jakub@redhat.com>
3323         * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
3325 2022-04-06  Thomas Schwinge  <thomas@codesourcery.com>
3327         * plugin/cuda/cuda.h: Remove file.
3328         * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
3329         "cuda/cuda.h" instead of <cuda.h>.
3330         * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
3331         'PLUGIN_NVPTX_CPPFLAGS'.
3332         * configure: Regenerate.
3334 2022-04-05  Chung-Lin Tang  <cltang@codesourcery.com>
3336         * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
3338 2022-04-04  Tom de Vries  <tdevries@suse.de>
3340         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
3341         on_device_arch_nvptx instead of offload_target_nvptx.
3342         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3344 2022-04-01  Tom de Vries  <tdevries@suse.de>
3346         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
3347         and use REC_DEPTH.
3348         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3350 2022-04-01  Tom de Vries  <tdevries@suse.de>
3352         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
3353         num_workers check.
3355 2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
3356             Lulu Cheng  <chenglulu@loongson.cn>
3358         * configure.tgt: Add LoongArch triplet.
3360 2022-03-28  Tom de Vries  <tdevries@suse.de>
3362         * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
3363         instead of /libexec/.
3364         * configure: Regenerate.
3366 2022-03-25  Tom de Vries  <tdevries@suse.de>
3368         PR libgomp/105042
3369         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
3370         execution time.
3371         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
3372         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
3374 2022-03-23  Tobias Burnus  <tobias@codesourcery.com>
3376         PR middle-end/104285
3377         * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
3378         * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
3379         * testsuite/libgomp.c++/target-same-name-2.C: New test.
3380         * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
3381         * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
3382         * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
3384 2022-03-22  Tom de Vries  <tdevries@suse.de>
3386         PR target/104916
3387         PR target/104783
3388         * testsuite/libgomp.c/pr104783-2.c: New test.
3390 2022-03-18  Tobias Burnus  <tobias@codesourcery.com>
3392         PR fortran/103039
3393         * testsuite/libgomp.fortran/associate4.f90: New test.
3395 2022-03-18  Tom de Vries  <tdevries@suse.de>
3397         PR target/104952
3398         * testsuite/libgomp.c/pr104952-1.c: New test.
3399         * testsuite/libgomp.c/pr104952-2.c: New test.
3401 2022-03-18  Jakub Jelinek  <jakub@redhat.com>
3403         * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
3404         variable next to pl variable.
3406 2022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
3408         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3409         Enhance.
3410         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3411         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3413 2022-03-17  Thomas Schwinge  <thomas@codesourcery.com>
3415         PR middle-end/90115
3416         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
3417         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3419 2022-03-16  Marcel Vollweiler  <marcel@codesourcery.com>
3421         * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
3422         omp_set_max_active_levels.
3423         * testsuite/libgomp.fortran/icv-8.f90: New test.
3425 2022-03-16  Thomas Schwinge  <thomas@codesourcery.com>
3427         PR testsuite/102841
3428         * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
3430 2022-03-13  Tobias Burnus  <tobias@codesourcery.com>
3432         * libgomp.texi: Fix typo.
3434 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
3436         PR middle-end/100280
3437         PR middle-end/104892
3438         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3439         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
3440         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3441         Likewise.
3442         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3443         Likewise.
3444         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3445         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3446         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3447         Likewise.
3449 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
3451         PR middle-end/104892
3452         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
3453         to PR104892.
3454         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
3455         enable '--param=openacc-kernels=decompose' and adjust.
3456         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3457         Likewise.
3458         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3459         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3460         Likewise.
3462 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
3464         PR middle-end/90115
3465         * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
3466         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
3467         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3468         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
3470 2022-03-12  Thomas Schwinge  <thomas@codesourcery.com>
3472         PR middle-end/100280
3473         PR middle-end/104086
3474         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3475         Merge this...
3476         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3477         ..., and this...
3478         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
3479         this, and adjust.
3480         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3481         Extend.
3483 2022-03-10  Hafiz Abid Qadeer  <abidh@codesourcery.com>
3485         * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
3486         trait.  Test last index in w and v array.  Remove redundant
3487         assignment to V(1).  Move alignment checks at the end of
3488         parallel region.
3490 2022-03-10  Tom de Vries  <tdevries@suse.de>
3492         * testsuite/libgomp.c/pr104783.c: New test.
3494 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
3496         PR middle-end/90115
3497         PR middle-end/102330
3498         PR middle-end/104774
3499         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3500         Enhance.
3501         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3502         Adjust.
3503         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3504         Likewise.
3505         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3506         Likewise.
3507         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3508         Likewise.
3509         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3510         Likewise.
3511         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3512         Likewise.
3513         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3514         Likewise.
3515         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3516         Likewise.
3517         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3518         Likewise.
3519         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3520         Likewise.
3521         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3522         Likewise.
3523         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3524         Likewise.
3525         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3526         Likewise.
3527         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3528         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3529         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3531 2022-03-10  Thomas Schwinge  <thomas@codesourcery.com>
3533         PR middle-end/90115
3534         * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
3535         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3536         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3537         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3539 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
3541         PR testsuite/104791
3542         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
3543         expected diagnostics.
3545 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
3547         PR middle-end/104784
3548         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3549         Test with '--param=openacc-kernels=decompose'.
3550         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3551         Likewise.
3552         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3553         Likewise.
3554         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3555         Likewise.
3556         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3557         Likewise.
3558         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3559         Likewise.
3560         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3561         Likewise.
3562         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3563         Likewise.
3564         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3565         Likewise.
3566         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3567         Likewise.
3568         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3569         Likewise.
3570         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3571         Likewise.
3572         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3573         Likewise.
3574         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3575         Likewise.
3576         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3577         Likewise.
3578         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3579         Likewise.
3580         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3581         Likewise.
3582         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3583         Likewise.
3584         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3585         Likewise.
3586         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3587         Likewise.
3588         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3589         Likewise.
3590         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3591         Likewise.
3592         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3593         Likewise.
3594         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3595         Likewise.
3596         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3597         Likewise.
3598         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3599         Likewise.
3600         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3601         Likewise.
3602         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3603         Likewise.
3604         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3605         Likewise.
3606         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3607         Likewise.
3608         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3609         Likewise.
3610         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3611         Likewise.
3612         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3613         Likewise.
3615 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
3617         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3618         Test '-fopt-info-omp-all'.
3619         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3620         Likewise.
3621         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3622         Likewise.
3623         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3624         Likewise.
3625         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3626         Likewise.
3627         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3628         Likewise.
3629         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3630         Likewise.
3631         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3632         Likewise.
3633         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3634         Likewise.
3635         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3636         Likewise.
3637         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3638         Likewise.
3639         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3640         Likewise.
3641         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3642         Likewise.
3643         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3644         Likewise.
3645         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3646         Likewise.
3647         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3648         Likewise.
3649         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3650         Likewise.
3651         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3652         Likewise.
3653         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3654         Likewise.
3655         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3656         Likewise.
3657         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3658         Likewise.
3659         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3660         Likewise.
3661         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3662         Likewise.
3663         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3664         Likewise.
3665         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3666         Likewise.
3667         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3668         Likewise.
3669         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3670         Likewise.
3671         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3672         Likewise.
3673         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3674         Likewise.
3675         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3676         Likewise.
3677         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3678         Likewise.
3679         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3680         Likewise.
3681         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3682         Likewise.
3684 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
3686         PR middle-end/100280
3687         PR middle-end/104132
3688         PR middle-end/104133
3689         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3690         Extend.
3692 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
3694         PR middle-end/100280
3695         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
3696         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3697         Likewise.
3699 2022-03-04  Thomas Schwinge  <thomas@codesourcery.com>
3701         PR middle-end/100280
3702         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
3703         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3704         Likewise.
3706 2022-02-28  Tom de Vries  <tdevries@suse.de>
3708         * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
3709         * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
3710         * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
3711         * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
3712         * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
3713         * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
3715 2022-02-24  Tom de Vries  <tdevries@suse.de>
3717         * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
3718         * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
3719         * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
3720         * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
3721         * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
3722         * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
3723         * testsuite/libgomp.c/declare-variant-3.h: New header file.
3725 2022-02-22  Thomas Schwinge  <thomas@codesourcery.com>
3727         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
3728         gang-redundant execution.
3730 2022-02-22  Tom de Vries  <tdevries@suse.de>
3732         PR target/99555
3733         * config/nvptx/bar.c (generation_to_barrier): New function, copied
3734         from config/rtems/bar.c.
3735         (futex_wait, futex_wake): New function.
3736         (do_spin, do_wait): New function, copied from config/linux/wait.h.
3737         (gomp_barrier_wait_end, gomp_barrier_wait_last)
3738         (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
3739         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
3740         and replace with include of config/linux/bar.c.
3741         * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
3742         (gomp_barrier_init): Init new fields.
3743         * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
3744         workarounds.
3745         * testsuite/libgomp.c/pr99555-1.c: Same.
3746         * testsuite/libgomp.fortran/task-detach-6.f90: Same.
3748 2022-02-22  Tom de Vries  <tdevries@suse.de>
3750         PR testsuite/104146
3751         * testsuite/libgomp.c++/pr96390.C: Add additional-option
3752         -foffload=-Wa,--verify for nvptx.
3753         * testsuite/libgomp.c-c++-common/pr96390.c: Same.
3755 2022-02-15  Tobias Burnus  <tobias@codesourcery.com>
3757         * testsuite/libgomp.fortran/depend-4.f90: New test.
3759 2022-02-10  Tobias Burnus  <tobias@codesourcery.com>
3761         PR c++/102204
3762         * testsuite/libgomp.c++/target-virtual-1.C: New test.
3764 2022-02-10  Marcel Vollweiler  <marcel@codesourcery.com>
3766         * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
3767         * target.c (copy_firstprivate_data): Copy only if host address is not
3768         NULL.
3769         * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
3770         * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
3771         * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
3772         * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
3773         * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
3774         * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
3775         * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
3776         * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
3777         * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
3778         * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
3780 2022-02-08  Jakub Jelinek  <jakub@redhat.com>
3782         PR libgomp/104385
3783         * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
3784         clear task->parent.
3785         * testsuite/libgomp.c/pr104385.c: New test.
3787 2022-02-04  Tobias Burnus  <tobias@codesourcery.com>
3789         * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
3790         STOP of previous commit.
3792 2022-02-04  Tobias Burnus  <tobias@codesourcery.com>
3794         * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
3795         from is_64bit_aligned_.
3796         * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
3797         and use it, more implicit none, remove unused argument.
3799 2022-02-03  David Seifert  <soap@gentoo.org>
3800             Jakub Jelinek  <jakub@redhat.com>
3802         * configure.ac: Support --disable-werror.
3803         * configure: Regenerate.
3805 2022-02-01  Tom de Vries  <tdevries@suse.de>
3807         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
3808         PR83812 workaround.
3809         * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
3810         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
3812 2022-02-01  Tom de Vries  <tdevries@suse.de>
3814         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
3815         num_workers for nvidia accelerator to fix libgomp error 'insufficient
3816         resources'.
3817         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
3818         Same.
3819         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
3821 2022-02-01  Tom de Vries  <tdevries@suse.de>
3823         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3824         recursion depth.
3825         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3827 2022-01-31  Martin Liska  <mliska@suse.cz>
3829         * acinclude.m4: Detect *_ld_is_mold and use it.
3830         * configure: Regenerate.
3832 2022-01-27  Tobias Burnus  <tobias@codesourcery.com>
3834         * libgomp.texi (OpenMP 5.0): Update implementation status.
3836 2022-01-21  Thomas Schwinge  <thomas@codesourcery.com>
3838         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
3839         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
3840         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3841         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3842         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3843         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3844         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3845         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3846         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3847         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3848         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3849         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3850         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3851         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3852         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3854 2022-01-19  Marcel Vollweiler  <marcel@codesourcery.com>
3856         * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
3857         "static") to make the device num available in the offload image.
3859 2022-01-19  Martin Liska  <mliska@suse.cz>
3860             Thomas Schwinge  <thomas@codesourcery.com>
3862         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
3863         patterns.
3864         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3865         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3866         Likewise.
3867         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
3868         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3869         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3870         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
3871         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
3872         Likewise.
3873         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
3874         Likewise.
3875         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
3876         Likewise.
3877         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
3878         Likewise.
3879         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
3880         Likewise.
3881         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
3882         Likewise.
3883         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3884         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3885         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3887 2022-01-18  Martin Liska  <mliska@suse.cz>
3889         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
3890         in dg-warning.
3891         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3892         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
3893         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
3894         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3895         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3896         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
3897         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
3898         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
3899         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
3900         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
3901         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
3902         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
3903         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3904         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3905         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3907 2022-01-17  Thomas Schwinge  <thomas@codesourcery.com>
3909         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
3910         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3911         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3913 2022-01-17  Julian Brown  <julian@codesourcery.com>
3914             Thomas Schwinge  <thomas@codesourcery.com>
3916         * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
3917         * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
3918         * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
3920 2022-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
3921             Andrew Stubbs   <ams@codesourcery.com>
3923         * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
3924         the number of teams and threads if necessary.
3925         (gcn_exec): Automatically set the number of gangs and workers if
3926         necessary.
3928 2022-01-13  Hafiz Abid Qadeer  <abidh@codesourcery.com>
3930         * testsuite/libgomp.fortran/allocate-1.c: New test.
3931         * testsuite/libgomp.fortran/allocate-1.f90: New test.
3932         * libgomp.texi: Remove string that says that allocate clause
3933         support is for C/C++ only.
3935 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
3937         * testsuite/libgomp.c-c++-common/on_device_arch.h
3938         (any_device_arch, any_device_arch_intel_mic): New.
3939         * testsuite/lib/libgomp.exp
3940         (check_effective_target_offload_device_any_intel_mic): New.
3941         * testsuite/libgomp.c-c++-common/target-45.c: Use it.
3942         * testsuite/libgomp.fortran/target10.f90: Likewise.
3944 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
3946         PR tree-optimization/102192
3947         * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
3948         '-Wuninitialized' diagnostics.
3950 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
3952         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
3953         current '-Wuninitialized' diagnostics.
3954         * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
3955         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
3956         * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
3957         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
3958         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3959         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3960         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
3961         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3962         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3963         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3964         * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
3965         Likewise.
3967 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
3969         * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
3970         for 'offload_device_intel_mic'.
3972 2022-01-13  Julian Brown  <julian@codesourcery.com>
3973             Thomas Schwinge  <thomas@codesourcery.com>
3975         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
3976         offloading execution XFAIL.
3978 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
3980         PR middle-end/100280
3981         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3982         Update.
3983         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
3984         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3985         Likewise.
3987 2022-01-13  Thomas Schwinge  <thomas@codesourcery.com>
3989         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3990         Enhance.
3991         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3992         Likewise.
3993         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
3994         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
3995         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
3996         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
3997         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3998         Likewise.
3999         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4000         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4001         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4002         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4004 2022-01-04  Tobias Burnus  <tobias@codesourcery.com>
4006         * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
4007         * testsuite/libgomp.fortran/target10.f90: Likewise.
4009 2022-01-04  Chung-Lin Tang  <cltang@codesourcery.com>
4011         * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
4012         into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
4013         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
4015 2022-01-03  Jakub Jelinek  <jakub@redhat.com>
4017         * libgomp.texi: Bump @copying's copyright year.
4019 2021-12-13  Tobias Burnus  <tobias@codesourcery.com>
4021         * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
4022         * testsuite/libgomp.fortran/atomic-19.f90: New test.
4024 2021-12-10  Andrew Stubbs  <ams@codesourcery.com>
4026         * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4027         (GOMP_OFFLOAD_load_image): Locate the offload variables via the
4028         table, not individual symbols.
4030 2021-12-09  Chung-Lin Tang  <cltang@codesourcery.com>
4032         * testsuite/libgomp.c++/target-lambda-1.C: Only run under
4033         "target offload_device_nonshared_as"
4034         * testsuite/libgomp.c++/target-this-3.C: Likewise.
4035         * testsuite/libgomp.c++/target-this-4.C: Likewise.
4037 2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
4039         * target.c (gomp_map_vars_existing): Make sure attached pointer is
4040         not overwritten during cross-host/device copying.
4041         (gomp_update): Likewise.
4042         (gomp_exit_data): Likewise.
4043         * testsuite/libgomp.c++/target-11.C: Adjust testcase.
4044         * testsuite/libgomp.c++/target-12.C: Likewise.
4045         * testsuite/libgomp.c++/target-15.C: Likewise.
4046         * testsuite/libgomp.c++/target-16.C: Likewise.
4047         * testsuite/libgomp.c++/target-17.C: Likewise.
4048         * testsuite/libgomp.c++/target-21.C: Likewise.
4049         * testsuite/libgomp.c++/target-23.C: Likewise.
4050         * testsuite/libgomp.c/target-23.c: Likewise.
4051         * testsuite/libgomp.c/target-29.c: Likewise.
4052         * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
4054 2021-12-08  Chung-Lin Tang  <cltang@codesourcery.com>
4056         PR middle-end/92120
4057         * libgomp.h (gomp_attach_pointer): Add bool parameter.
4058         * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
4059         (goacc_enter_data_internal): Likewise.
4060         * target.c (gomp_map_vars_existing): Update assert condition to
4061         include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
4062         (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
4063         parameter, add support for mapping a pointer with NULL target.
4064         (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
4065         parameter, add support for attaching a pointer with NULL target.
4066         (gomp_map_vars_internal): Update calls to gomp_map_pointer and
4067         gomp_attach_pointer, add handling for
4068         GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
4069         GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
4070         * testsuite/libgomp.c++/target-23.C: New testcase.
4071         * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
4072         * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
4073         * testsuite/libgomp.c++/target-this-1.C: New testcase.
4074         * testsuite/libgomp.c++/target-this-2.C: New testcase.
4075         * testsuite/libgomp.c++/target-this-3.C: New testcase.
4076         * testsuite/libgomp.c++/target-this-4.C: New testcase.
4077         * testsuite/libgomp.c++/target-this-5.C: New testcase.
4079 2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
4081         * libgomp.texi (OpenMP 5.1): Update status.
4083 2021-12-04  Tobias Burnus  <tobias@codesourcery.com>
4085         * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
4087 2021-12-02  Chung-Lin Tang  <cltang@codesourcery.com>
4089         PR fortran/90030
4090         * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
4091         * testsuite/libgomp.fortran/pr90030.f90: New test.
4093 2021-11-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
4094             Thomas Schwinge  <thomas@codesourcery.com>
4096         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
4097         temporary skip.
4099 2021-11-30  Cesar Philippidis  <cesar@codesourcery.com>
4100             Thomas Schwinge  <thomas@codesourcery.com>
4102         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
4103         skip.
4105 2021-11-29  Richard Biener  <rguenther@suse.de>
4107         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
4108         return.
4110 2021-11-24  Jakub Jelinek  <jakub@redhat.com>
4112         PR middle-end/103384
4113         * testsuite/libgomp.c/declare-variant-2.c: New test.
4115 2021-11-18  David Edelsohn  <dje.gcc@gmail.com>
4117         * alloc.c (gomp_aligned_alloc): Fix typo.
4119 2021-11-18  Jakub Jelinek  <jakub@redhat.com>
4121         PR libgomp/102838
4122         * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
4123         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
4124         (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
4125         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4126         * work.c (alloc_work_share, gomp_work_share_start): Likewise.
4127         * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
4128         gomp_aligned_alloc instead of team_malloc.
4130 2021-11-18  Jakub Jelinek  <jakub@redhat.com>
4132         PR libgomp/102838
4133         * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
4134         memalign over posix_memalign over aligned_alloc over fallback
4135         with malloc instead of aligned_alloc over _aligned_alloc over
4136         posix_memalign over memalign over fallback with malloc.  For
4137         aligned_alloc, round up size up to multiple of al.
4139 2021-11-16  Jakub Jelinek  <jakub@redhat.com>
4141         * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
4142         construct as implemented.
4144 2021-11-15  Tobias Burnus  <tobias@codesourcery.com>
4146         * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
4148 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
4150         * task.c (gomp_create_target_task): Copy args array as well.
4151         * target.c (gomp_target_fallback): Add args argument.
4152         Set gomp_icv (true)->thread_limit_var if thread_limit is present.
4153         (GOMP_target): Adjust gomp_target_fallback caller.
4154         (GOMP_target_ext): Likewise.
4155         (gomp_target_task_fn): Likewise.
4156         * config/nvptx/team.c (gomp_nvptx_main): Set
4157         gomp_global_icv.thread_limit_var.
4158         * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
4160 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
4162         * config/nvptx/team.c (__gomp_team_num): Define as
4163         __attribute__((shared)) var.
4164         (gomp_nvptx_main): Initialize __gomp_team_num to 0.
4165         * config/nvptx/target.c (__gomp_team_num): Declare as
4166         extern __attribute__((shared)) var.
4167         (GOMP_teams4): Use __gomp_team_num as the team number instead of
4168         %ctaid.x.  If first, initialize it to %ctaid.x.  If num_teams_lower
4169         is bigger than num_blocks, use num_teams_lower teams and arrange for
4170         bumping of __gomp_team_num if !first and returning false once we run
4171         out of teams.
4172         * config/nvptx/teams.c (__gomp_team_num): Declare as
4173         extern __attribute__((shared)) var.
4174         (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
4176 2021-11-15  Jakub Jelinek  <jakub@redhat.com>
4178         * testsuite/libgomp.c/teams-5.c: New test.
4180 2021-11-12  Jakub Jelinek  <jakub@redhat.com>
4182         PR target/103201
4183         * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
4184         to ...
4185         * config/gcn/teams.c: ... here.  New file.
4187 2021-11-12  Chung-Lin Tang  <cltang@codesourcery.com>
4189         * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
4190         implicit map handling to allow a "superset" existing map as valid case.
4191         (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
4192         (get_implicit): New function to extract implicit status.
4193         (gomp_map_fields_existing): Adjust arguments in calls to
4194         gomp_map_vars_existing, and add uses of get_implicit.
4195         (gomp_map_vars_internal): Likewise.
4196         * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
4198 2021-11-12  Jakub Jelinek  <jakub@redhat.com>
4200         * libgomp_g.h (GOMP_teams4): Declare.
4201         * libgomp.map (GOMP_5.1): Export GOMP_teams4.
4202         * target.c (GOMP_teams4): New function.
4203         * config/nvptx/target.c (GOMP_teams): Remove.
4204         (GOMP_teams4): New function.
4205         * config/gcn/target.c (GOMP_teams): Remove.
4206         (GOMP_teams4): New function.
4207         * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
4208         teams instead of <= 2.
4209         * testsuite/libgomp.c-c++-common/teams-2.c: New test.
4211 2021-11-11  Tobias Burnus  <tobias@codesourcery.com>
4213         * testsuite/libgomp.fortran/teams-1.f90: New test.
4215 2021-11-11  Jakub Jelinek  <jakub@redhat.com>
4217         * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
4218         * team.c (struct gomp_thread_start_data): Likewise.
4219         (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
4220         (gomp_team_start): Initialize start_data->num_teams and
4221         start_data->team_num.  Update nthr->num_teams and nthr->team_num.
4222         * teams.c (gomp_num_teams, gomp_team_num): Remove.
4223         (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
4224         instead of gomp_num_teams and gomp_team_num.
4225         (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
4226         (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
4227         * testsuite/libgomp.c/teams-4.c: New test.
4229 2021-11-11  Jakub Jelinek  <jakub@redhat.com>
4231         * testsuite/libgomp.c-c++-common/teams-1.c: New test.
4233 2021-11-09  Thomas Schwinge  <thomas@codesourcery.com>
4235         * env.c (parse_gomp_openacc_dim): Restore parsing.
4237 2021-10-30  Tobias Burnus  <tobias@codesourcery.com>
4239         PR middle-end/102972
4240         * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
4241         parallel construct.
4242         * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
4243         * testsuite/libgomp.c/target-3.c: Likewise.
4244         * testsuite/libgomp.c/target-5.c: Likewise.
4245         * testsuite/libgomp.c/target-6.c: Likewise.
4246         * testsuite/libgomp.c/target-teams-1.c: Likewise.
4247         * testsuite/libgomp.c/teams-1.c: Likewise.
4248         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4249         * testsuite/libgomp.c/thread-limit-3.c: Likewise.
4250         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
4251         * testsuite/libgomp.c/thread-limit-5.c: Likewise.
4252         * testsuite/libgomp.fortran/icv-3.f90: Likewise.
4253         * testsuite/libgomp.fortran/icv-4.f90: Likewise.
4254         * testsuite/libgomp.fortran/teams1.f90: Likewise.
4256 2021-10-29  Aldy Hernandez  <aldyh@redhat.com>
4258         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
4259         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4261 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
4263         * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
4264         aren't implemented for Fortran yet.
4266 2021-10-27  Jakub Jelinek  <jakub@redhat.com>
4268         * testsuite/libgomp.c/loop-26.c: New test.
4269         * testsuite/libgomp.c/loop-27.c: New test.
4271 2021-10-25  Tobias Burnus  <tobias@codesourcery.com>
4273         PR testsuite/102910
4274         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
4275         instead of #include <alloca.h> + alloca.
4277 2021-10-21  Chung-Lin Tang  <cltang@codesourcery.com>
4279         * libgomp.texi (Support of strictly structured blocks in Fortran):
4280         Adjust to 'Y'.
4281         * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
4283 2021-10-20  Chung-Lin Tang  <cltang@codesourcery.com>
4285         * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
4286         * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
4288 2021-10-20  Jakub Jelinek  <jakub@redhat.com>
4290         PR libgomp/102838
4291         * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
4292         (struct gomp_work_share): Only use aligned(64) attribute if
4293         GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
4294         add padding before lock to ensure lock is at offset 64 bytes
4295         into the structure.
4296         (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
4297         New poor man's static assertions.
4298         * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
4299         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4301 2021-10-20  Aldy Hernandez  <aldyh@redhat.com>
4302             Richard Biener  <rguenther@suse.de>
4304         * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
4306 2021-10-18  Jakub Jelinek  <jakub@redhat.com>
4308         * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
4309         && gomp_places_list_len < count after nfirst <= nlast loop condition.
4311 2021-10-18  Tobias Burnus  <tobias@codesourcery.com>
4313         PR fortran/102086
4314         PR fortran/92189
4315         PR fortran/92621
4316         PR fortran/101308
4317         PR fortran/101309
4318         PR fortran/101635
4319         PR fortran/92482
4320         * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
4322 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4324         * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
4325         type from char [50] to const char *.
4326         (places_array): Add a testcase for simplified syntax place followed
4327         by length or length and stride.
4329 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4331         * env.c (parse_one_place): Handle non-negative-number the same
4332         as { non-negative-number }.  Reject even !number:1 and
4333         !number:1:stride or !place:1 or !place:1:stride instead of just
4334         length other than 1.
4335         * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
4336         and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
4337         omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
4338         as implemented.
4339         * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
4340         simplified syntax.
4342 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4344         * env.c (parse_schedule): For strtoul or strtoull calls which don't
4345         clearly reject return value 0 as invalid handle the case where end
4346         pointer is the same as first argument as invalid.
4347         (parse_unsigned_long_1): Likewise.
4348         (parse_one_place): Likewise.
4349         (parse_places_var): Likewise.
4350         (parse_stacksize): Likewise.
4351         (parse_spincount): Likewise.
4352         (parse_affinity): Likewise.
4353         (parse_gomp_openacc_dim): Likewise.  Avoid strict aliasing violation.
4354         Make code valid C89.
4355         * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
4356         For strtoul calls which don't clearly reject return value 0 as
4357         invalid handle the case where end pointer is the same as first
4358         argument as invalid.
4359         (gomp_affinity_init_level_1): Likewise.
4360         (gomp_affinity_init_numa_domains): Likewise.
4361         * config/rtems/proc.c (parse_thread_pools): Likewise.
4363 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4365         * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
4366         after creating count places clean up and return immediately.
4367         * testsuite/libgomp.c/places-6.c: New test.
4368         * testsuite/libgomp.c/places-7.c: New test.
4369         * testsuite/libgomp.c/places-8.c: New test.
4370         * testsuite/libgomp.c/places-9.c: New test.
4371         * testsuite/libgomp.c/places-10.c: New test.
4373 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4375         * env.c (parse_places_var): Handle numa_domains as level 5.
4376         * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
4377         function.
4378         (gomp_affinity_init_level): Use it instead of
4379         gomp_affinity_init_level_1 for level == 5.
4380         * testsuite/libgomp.c/places-5.c: New test.
4382 2021-10-15  Jakub Jelinek  <jakub@redhat.com>
4384         * env.c (parse_places_var): Handle ll_caches as level 4.
4385         * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
4386         function.
4387         (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
4388         last level cache.
4389         (gomp_affinity_init_level): Likewise.
4390         * testsuite/libgomp.c/places-1.c: New test.
4391         * testsuite/libgomp.c/places-2.c: New test.
4392         * testsuite/libgomp.c/places-3.c: New test.
4393         * testsuite/libgomp.c/places-4.c: New test.
4395 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
4397         * libgomp.texi (OpenMP 5.0): Update entry for declare variant
4398         directive.
4400 2021-10-14  Kwok Cheung Yeung  <kcy@codesourcery.com>
4402         * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
4404 2021-10-12  Julian Brown  <julian@codesourcery.com>
4406         * target.c (gomp_copy_host2dev): Release device lock on cbuf
4407         error path.
4409 2021-10-12  Tobias Burnus  <tobias@codesourcery.com>
4411         * testsuite/libgomp.fortran/icv-3.f90: New.
4412         * testsuite/libgomp.fortran/icv-4.f90: New.
4414 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
4416         * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
4417         omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
4418         OMP_TEAMS_THREAD_LIMIT): Document.
4420 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
4422         * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
4423         to avoid makeinfo warnings.
4425 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
4427         * testsuite/libgomp.c-c++-common/icv-3.c: New test.
4428         * testsuite/libgomp.c-c++-common/icv-4.c: New test.
4430 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
4432         PR libgomp/102628
4433         PR libgomp/102668
4434         * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
4435         allocation sizes from 420 to 320 and from 768 to 568.
4436         * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
4437         * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
4438         for cr from 16 to 4.
4440 2021-10-12  Jakub Jelinek  <jakub@redhat.com>
4442         * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
4443         * testsuite/libgomp.c/scan-12.c: Likewise.
4444         * testsuite/libgomp.c/scan-13.c: Likewise.
4445         * testsuite/libgomp.c/scan-14.c: Likewise.
4446         * testsuite/libgomp.c/scan-15.c: Likewise.
4447         * testsuite/libgomp.c/scan-16.c: Likewise.
4448         * testsuite/libgomp.c/scan-17.c: Likewise.
4449         * testsuite/libgomp.c/scan-18.c: Likewise.
4450         * testsuite/libgomp.c/scan-19.c: Likewise.
4451         * testsuite/libgomp.c/scan-20.c: Likewise.
4452         * testsuite/libgomp.c/scan-21.c: Likewise.
4453         * testsuite/libgomp.c/scan-22.c: Likewise.
4454         * testsuite/libgomp.c++/scan-9.C: Likewise.
4455         * testsuite/libgomp.c++/scan-10.C: Likewise.
4456         * testsuite/libgomp.c++/scan-11.C: Likewise.
4457         * testsuite/libgomp.c++/scan-12.C: Likewise.
4458         * testsuite/libgomp.c++/scan-13.C: Likewise.
4459         * testsuite/libgomp.c++/scan-14.C: Likewise.
4460         * testsuite/libgomp.c++/scan-15.C: Likewise.
4461         * testsuite/libgomp.c++/scan-16.C: Likewise.
4463 2021-10-12  Kewen Lin  <linkw@linux.ibm.com>
4465         * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
4467 2021-10-11  Marcel Vollweiler  <marcel@codesourcery.com>
4469         * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
4470         omp_atv_serialized.
4471         * omp.h.in: Add deprecated flag for omp_atv_sequential.
4472         * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
4473         * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
4474         * testsuite/libgomp.fortran/alloc-12.f90: New test.
4476 2021-10-11  Jakub Jelinek  <jakub@redhat.com>
4478         * omp.h.in (omp_set_num_teams, omp_get_max_teams,
4479         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4480         * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
4481         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4482         * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
4483         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4484         * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
4485         * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
4486         omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
4487         omp_set_teams_thread_limit{,_,_8_}.
4488         * icv.c (omp_set_num_teams, omp_get_max_teams,
4489         omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
4490         functions.
4491         * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
4492         (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
4493         (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
4494         vars.
4495         * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
4496         gomp_teams_thread_limit_var as fallback if not zero.  If num_teams
4497         is not specified, use gomp_nteams_var.
4498         * fortran.c (omp_set_num_teams, omp_get_max_teams,
4499         omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
4500         ialias_redirect.
4501         (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
4502         omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
4503         omp_get_teams_thread_limit_): New functions.
4505 2021-10-09  liuhongt  <hongtao.liu@intel.com>
4507         * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
4508         * testsuite/libgomp.c++/scan-11.C: Ditto.
4509         * testsuite/libgomp.c++/scan-12.C: Ditto.
4510         * testsuite/libgomp.c++/scan-13.C: Ditto.
4511         * testsuite/libgomp.c++/scan-14.C: Ditto.
4512         * testsuite/libgomp.c++/scan-15.C: Ditto.
4513         * testsuite/libgomp.c++/scan-16.C: Ditto.
4514         * testsuite/libgomp.c++/scan-9.C: Ditto.
4515         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
4516         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
4517         * testsuite/libgomp.c/scan-11.c: Ditto.
4518         * testsuite/libgomp.c/scan-12.c: Ditto.
4519         * testsuite/libgomp.c/scan-13.c: Ditto.
4520         * testsuite/libgomp.c/scan-14.c: Ditto.
4521         * testsuite/libgomp.c/scan-15.c: Ditto.
4522         * testsuite/libgomp.c/scan-16.c: Ditto.
4523         * testsuite/libgomp.c/scan-17.c: Ditto.
4524         * testsuite/libgomp.c/scan-18.c: Ditto.
4525         * testsuite/libgomp.c/scan-19.c: Ditto.
4526         * testsuite/libgomp.c/scan-20.c: Ditto.
4527         * testsuite/libgomp.c/scan-21.c: Ditto.
4528         * testsuite/libgomp.c/scan-22.c: Ditto.
4530 2021-10-09  Jakub Jelinek  <jakub@redhat.com>
4532         * libgomp.texi (OpenMP 5.1): Mention implemented support for
4533         structured block sequences in C/C++.  Mention support for
4534         unconstrained/reproducible modifiers on order clause.
4535         Mention partial (C/C++ only) support of extentensions to atomics
4536         construct.  Mention partial (C/C++ on clause only) support of
4537         align/allocator modifiers on allocate clause.
4539 2021-10-02  Tobias Burnus  <tobias@codesourcery.com>
4541         * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
4542         based on libgomp.c-c++-common/order-reproducible-1.c.
4543         * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
4544         * testsuite/libgomp.fortran/my-usleep.c: New test.
4546 2021-10-01  Tobias Burnus  <tobias@codesourcery.com>
4548         * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
4549         * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
4550         * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
4551         * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
4552         based on libgomp.c-c++-common/alloc-9.c.
4554 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
4556         * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
4557         * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
4559 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
4561         * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
4562         ialias_redirect.
4563         * env.c (handle_omp_display_env): Use ialias_call.
4564         * icv-device.c: Move ialias right below each function.
4565         (omp_get_device_num): Use ialias_call.
4566         * fortran.c (omp_fulfill_event): Add ialias_redirect.
4567         * icv.c (omp_get_active_level): Add ialias_redirect.
4569 2021-10-01  Jakub Jelinek  <jakub@redhat.com>
4571         * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
4572         __alloc_align__ (1) attribute.
4573         * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
4575 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
4577         * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
4578         for -fintrinsic-modules-path= warning of the C compiler.
4579         * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
4580         * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
4582 2021-09-30  Tobias Burnus  <tobias@codesourcery.com>
4584         * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
4585         omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
4586         * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
4587         omp_realloc): Add.
4588         * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
4589         omp_realloc): Add.
4590         * testsuite/libgomp.fortran/alloc-10.f90: New test.
4591         * testsuite/libgomp.fortran/alloc-6.f90: New test.
4592         * testsuite/libgomp.fortran/alloc-7.c: New test.
4593         * testsuite/libgomp.fortran/alloc-7.f90: New test.
4594         * testsuite/libgomp.fortran/alloc-8.f90: New test.
4595         * testsuite/libgomp.fortran/alloc-9.f90: New test.
4597 2021-09-30  Jakub Jelinek  <jakub@redhat.com>
4599         * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
4600         omp_realloc): New prototypes.
4601         (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
4602         attribute.
4603         * allocator.c: Include string.h.
4604         (omp_aligned_alloc): No longer static, add ialias.  Add new_alignment
4605         variable and use it instead of alignment so that when retrying the old
4606         alignment is used again.  Don't retry if new alignment is the same
4607         as old alignment, unless allocator had pool size.
4608         (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
4609         (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
4610         * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
4611         omp_aligned_calloc and omp_realloc.
4612         * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
4613         omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
4614         * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
4615         * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
4616         * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
4617         * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
4619 2021-09-28  Tobias Burnus  <tobias@codesourcery.com>
4621         PR libgomp/96661
4622         * configure.ac: Only check for int-type = 2*size_t support when
4623         building with Fortran support.
4624         * configure: Regenerate.
4626 2021-09-28  Thomas Schwinge  <thomas@codesourcery.com>
4628         * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
4629         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4631 2021-09-27  Aldy Hernandez  <aldyh@redhat.com>
4633         * team.c: Initialize start_data.
4634         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
4635         * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
4637 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
4639         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
4640         dg-message back to dg-note.
4642 2021-09-27  Tobias Burnus  <tobias@codesourcery.com>
4644         PR fortran/94070
4645         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
4646         expected dg-note output.
4648 2021-09-22  Tobias Burnus  <tobias@codesourcery.com>
4650         PR fortran/55534
4651         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
4652         r12-3722 by removing -Wno-missing-include-dirs.
4653         * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
4655 2021-09-22  Jakub Jelinek  <jakub@redhat.com>
4657         * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
4658         * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
4660 2021-09-21  Tobias Burnus  <tobias@codesourcery.com>
4662         PR fortran/55534
4663         * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
4664         to ALWAYS_CFLAGS.
4665         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4667 2021-09-18  Jakub Jelinek  <jakub@redhat.com>
4669         * testsuite/libgomp.c++/default-1.C: New test.
4670         * testsuite/libgomp.c-c++-common/default-1.c: New test.
4671         * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
4672         to default clause in C and C++" as implemented.
4674 2021-09-17  Julian Brown  <julian@codesourcery.com>
4676         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
4678 2021-09-17  Julian Brown  <julian@codesourcery.com>
4680         * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
4682 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
4684         * libgomp.texi (OpenMP 5.1): Spelling fix,
4685         declare variante -> declare variant.
4687 2021-09-17  Jakub Jelinek  <jakub@redhat.com>
4689         * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
4690         Use /* */ comments instead of //.
4691         * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
4692         * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
4693         * testsuite/libgomp.c++/atomic-16.C: New test.
4694         * testsuite/libgomp.c++/atomic-17.C: New test.
4696 2021-09-10  Jakub Jelinek  <jakub@redhat.com>
4698         * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
4699         * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
4700         * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
4702 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
4704         * libgomp.texi (OpenMP Implementation Status): Extend
4705         OpenMP 5.0 section.
4706         (OpenACC Profiling Interface): Fix typo.
4708 2021-09-07  Tobias Burnus  <tobias@codesourcery.com>
4710         * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
4711         not to 4.5; link to new section.
4712         (OpenMP Implementation Status): New.
4714 2021-09-06  Thomas Schwinge  <thomas@codesourcery.com>
4716         * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
4718 2021-09-03  Tobias Burnus  <tobias@codesourcery.com>
4720         * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
4721         dg-output.
4722         * testsuite/libgomp.fortran/error-1.f90: Likewise.
4724 2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
4725             Jakub Jelinek  <jakub@redhat.com>
4727         * testsuite/libgomp.c/address-space-1.c: New file.
4729 2021-08-23  Thomas Schwinge  <thomas@codesourcery.com>
4731         * testsuite/lib/libgomp.exp
4732         (check_effective_target_offload_target_intelmic): Remove 'proc'.
4733         (check_effective_target_offload_device_intel_mic): New 'proc'.
4734         * testsuite/libgomp.c-c++-common/on_device_arch.h
4735         (device_arch_intel_mic, on_device_arch_intel_mic): New.
4736         * testsuite/libgomp.c-c++-common/target-45.c: Use that for
4737         'dg-xfail-run-if'.
4738         * testsuite/libgomp.fortran/target10.f90: Likewise.
4740 2021-08-23  Tobias Burnus  <tobias@codesourcery.com>
4742         * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
4743         * testsuite/libgomp.fortran/taskloop-4.f90: New test.
4744         * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
4745         * testsuite/libgomp.fortran/taskloop-5.f90: New test.
4747 2021-08-23  Jakub Jelinek  <jakub@redhat.com>
4749         * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
4750         * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
4751         * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
4753 2021-08-22  Thomas Schwinge  <thomas@codesourcery.com>
4755         * config/nvptx/error.c (fwrite, exit): Override, too.
4756         * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
4757         of offloading testing.
4758         * testsuite/libgomp.fortran/error-1.f90: Likewise.
4760 2021-08-20  Tobias Burnus  <tobias@codesourcery.com>
4762         * testsuite/libgomp.fortran/error-1.f90: New test.
4764 2021-08-20  Jakub Jelinek  <jakub@redhat.com>
4766         * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
4767         * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
4768         * error.c (GOMP_warning, GOMP_error): New functions.
4769         * testsuite/libgomp.c-c++-common/error-1.c: New test.
4771 2021-08-18  Tobias Burnus  <tobias@codesourcery.com>
4773         * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
4774         omp_target_free. omp_target_is_present, omp_target_memcpy,
4775         omp_target_memcpy_rect, omp_target_associate_ptr,
4776         omp_target_disassociate_ptr): Add interface.
4777         * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
4778         omp_target_free. omp_target_is_present, omp_target_memcpy,
4779         omp_target_memcpy_rect, omp_target_associate_ptr,
4780         omp_target_disassociate_ptr): Add interface.
4781         * testsuite/libgomp.fortran/alloc-1.F90: Remove local
4782         interface block for omp_alloc + omp_free.
4783         * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
4784         * testsuite/libgomp.fortran/refcount-1.f90: New test.
4785         * testsuite/libgomp.fortran/target-12.f90: New test.
4787 2021-08-18  Jakub Jelinek  <jakub@redhat.com>
4789         * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
4791 2021-08-17  Tobias Burnus  <tobias@codesourcery.com>
4793         * testsuite/libgomp.fortran/scope-1.f90: New test.
4794         * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
4796 2021-08-17  Jakub Jelinek  <jakub@redhat.com>
4798         * Makefile.am (libgomp_la_SOURCES): Add scope.c
4799         * Makefile.in: Regenerated.
4800         * libgomp_g.h (GOMP_scope_start): Declare.
4801         * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
4802         * scope.c: New file.
4803         * testsuite/libgomp.c-c++-common/scope-1.c: New test.
4804         * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
4806 2021-08-16  Thomas Schwinge  <thomas@codesourcery.com>
4808         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
4809         '?:' issues.
4811 2021-08-16  Tobias Burnus  <tobias@codesourcery.com>
4813         * testsuite/libgomp.fortran/masked-1.f90: New test.
4815 2021-08-13  Thomas Schwinge  <thomas@codesourcery.com>
4817         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
4819 2021-08-12  Jakub Jelinek  <jakub@redhat.com>
4821         * testsuite/libgomp.c-c++-common/masked-1.c: New test.
4823 2021-08-12  Tobias Burnus  <tobias@codesourcery.com>
4825         * env.c (parse_bind_var): Accept 'primary' as alias for
4826         'master'.
4827         (omp_display_env): Add TODO comment to
4828         change 'master' to 'primary' in proc_bind for OpenMP 5.1.
4829         * libgomp.texi: Change 'master thread' to 'primary thread'
4830         in line with OpenMP 5.1.
4831         (omp_get_proc_bind): Add omp_proc_bind_primary and note that
4832         omp_proc_bind_master is an alias of it.
4833         (OMP_PROC_BIND): Mention 'PRIMARY'.
4834         * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
4835         (omp_proc_bind_primary): Add.
4836         (omp_proc_bind_master): Deprecate for OpenMP 5.1.
4837         * omp_lib.f90.in (omp_proc_bind_primary): Add.
4838         (omp_proc_bind_master): Deprecate for OpenMP 5.1.
4839         * omp_lib.h.in (omp_proc_bind_primary): Add.
4840         * testsuite/libgomp.c/affinity-1.c: Check that
4841         'primary' works and is identical to 'master'.
4843 2021-08-09  Julian Brown  <julian@codesourcery.com>
4844             Kwok Cheung Yeung  <kcy@codesourcery.com>
4845             Thomas Schwinge  <thomas@codesourcery.com>
4847         * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
4848         16.
4849         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4850         [acc_device_radeon]: Update.
4851         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
4852         [ACC_DEVICE_TYPE_radeon]: Likewise.
4853         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4854         [acc_device_radeon]: Likewise.
4855         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
4856         [ACC_DEVICE_TYPE_radeon]: Likewise.
4857         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
4858         'openacc_radeon_accel_selected' and '-O0'.
4859         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4861 2021-08-05  Chung-Lin Tang  <cltang@codesourcery.com>
4863         * icv-device.c (omp_get_device_num): New API function, host side.
4864         * fortran.c (omp_get_device_num_): New interface function.
4865         * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
4866         * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
4867         omp_get_device_num_.
4868         * libgomp.texi (omp_get_device_num): Add documentation for new API
4869         function.
4870         * omp.h.in (omp_get_device_num): Add declaration.
4871         * omp_lib.f90.in (omp_get_device_num): Likewise.
4872         * omp_lib.h.in (omp_get_device_num): Likewise.
4873         * target.c (gomp_load_image_to_device): If additional entry for device
4874         number exists at end of returned entries from 'load_image_func' hook,
4875         copy the assigned device number over to the device variable.
4876         * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
4877         (omp_get_device_num): New API function, device side.
4878         * plugin/plugin-gcn.c ("symcat.h"): Add include.
4879         (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
4880         at end of returned 'target_table' entries.
4881         * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
4882         (omp_get_device_num): New API function, device side.
4883         * plugin/plugin-nvptx.c ("symcat.h"): Add include.
4884         (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
4885         at end of returned 'target_table' entries.
4886         * testsuite/lib/libgomp.exp
4887         (check_effective_target_offload_target_intelmic): New function for
4888         testing for intelmic offloading.
4889         * testsuite/libgomp.c-c++-common/target-45.c: New test.
4890         * testsuite/libgomp.fortran/target10.f90: New test.
4892 2021-07-30  Thomas Schwinge  <thomas@codesourcery.com>
4893             Ulrich Drepper  <drepper@redhat.com>
4895         * fortran.c (omp_display_env_, omp_display_env_8_): Only
4896         '#ifndef LIBGOMP_OFFLOADED_ONLY'.
4898 2021-07-29  Thomas Schwinge  <thomas@codesourcery.com>
4899             Julian Brown  <julian@codesourcery.com>
4900             Kwok Cheung Yeung  <kcy@codesourcery.com>
4902         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
4903         's%oaccdevlow%oaccloops%g'.
4904         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
4905         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4906         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
4907         Likewise.
4908         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
4909         Likewise.
4910         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
4911         Likewise.
4912         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
4913         Likewise.
4914         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
4915         Likewise.
4916         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
4917         Likewise.
4918         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
4919         Likewise.
4920         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
4921         Likewise.
4922         * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
4924 2021-07-29  Aldy Hernandez  <aldyh@redhat.com>
4926         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
4927         threader.
4928         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4930 2021-07-27  Ulrich Drepper  <drepper@gmail.com>
4932         * env.c (wait_policy, stacksize): New static variables,
4933         move out of handle_omp_display_env.
4934         (omp_display_env): New function.  The meat of the old
4935         handle_omp_display_env function.
4936         (handle_omp_display_env): Change to not take parameters
4937         and instead use the global variables.  Only perform
4938         parsing, defer to omp_display_env for the implementation.
4939         (initialize_env): Remove local variables wait_policy and
4940         stacksize.  Don't pass parameters to handle_omp_display_env.
4941         * fortran.c: Add ialias_redirect for omp_display_env.
4942         (omp_display_env_, omp_display_env_8_): New functions.
4943         * libgomp.map (OMP_5.1): New version.  Add omp_display_env,
4944         omp_display_env_, and omp_display_env_8_.
4945         * omp.h.in: Declare omp_display_env.
4946         * omp_lib.f90.in: Likewise.
4947         * omp_lib.h.in: Likewise.
4949 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
4950             Julian Brown  <julian@codesourcery.com>
4952         * target.c (gomp_coalesce_buf_add): Update comment.
4953         (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
4954         'aq && cbuf'.
4955         (gomp_map_vars_internal): Only 'if (!aq)', do
4956         'gomp_coalesce_buf_add'.
4957         * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
4958         XFAIL.
4960 2021-07-27  Julian Brown  <julian@codesourcery.com>
4961             Thomas Schwinge  <thomas@codesourcery.com>
4963         * libgomp.h (gomp_copy_host2dev): Update prototype.
4964         * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
4965         argument to gomp_copy_host2dev (false).
4966         * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
4967         (copy_data): Don't free src.
4968         (queue_push_copy): Remove free_src handling.
4969         (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
4970         (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
4971         snapshotting.
4972         (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
4973         queue_push_copy.
4974         * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
4975         (gomp_copy_host2dev): Add EPHEMERAL parameter.  Snapshot source
4976         data when true, and set up deferred freeing of temporary buffer.
4977         (gomp_copy_dev2host): Update call to goacc_device_copy_async.
4978         (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
4979         (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
4980         calls to gomp_copy_host2dev with appropriate ephemeral argument.
4981         * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
4982         XFAIL.
4984 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
4985             Tom de Vries  <tom@codesourcery.com>
4987         * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
4988         * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
4990 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
4992         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
4993         sequencing of 'async' data copying vs. profiling events.
4994         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
4995         Likewise.
4997 2021-07-27  Thomas Schwinge  <thomas@codesourcery.com>
4998             Julian Brown  <julian@codesourcery.com>
5000         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
5001         'async'/'wait' issue.
5002         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
5003         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
5004         * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
5006 2021-07-21  Thomas Schwinge  <thomas@codesourcery.com>
5007             Joseph Myers  <joseph@codesourcery.com>
5008             Cesar Philippidis  <cesar@codesourcery.com>
5010         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
5011         file.
5012         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
5013         Likewise.
5014         * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
5015         Likewise.
5016         * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5018 2021-07-20  Thomas Schwinge  <thomas@codesourcery.com>
5020         PR target/101484
5021         * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
5022         '-Wno-error=array-bounds'.
5023         * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
5024         * libgomp.h [__AMDGCN__]: Likewise.
5026 2021-07-19  Thomas Schwinge  <thomas@codesourcery.com>
5028         PR target/101484
5029         * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
5030         * libgomp.h [__AMDGCN__]: Likewise.
5032 2021-07-13  Jakub Jelinek  <jakub@redhat.com>
5033             Florian Weimer  <fweimer@redhat.com>
5035         * config/linux/sem.h: Don't include limits.h.
5036         (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
5037         * config/linux/affinity.c: Include limits.h.
5039 2021-07-01  Jakub Jelinek  <jakub@redhat.com>
5041         PR middle-end/94366
5042         * testsuite/libgomp.c-c++-common/pr94366.c: New test.
5044 2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
5046         PR other/67300
5047         * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
5048         -foffload=nvptx-none= by -foffload-options=nvptx-none= to
5049         avoid disabling other offload targets.
5050         * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
5051         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5052         * testsuite/libgomp.c/target-44.c: Likewise.
5054 2021-06-29  Tobias Burnus  <tobias@codesourcery.com>
5056         * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
5057         target has shared memory and disable some scalar pointer/allocatable
5058         checks if not as firstprivate does not work.
5060 2021-06-25  Chung-Lin Tang  <cltang@codesourcery.com>
5062         PR testsuite/101114
5063         * testsuite/libgomp.c-c++-common/struct-elem-5.c:
5064         Add "target offload_device_nonshared_as" condition for enabling test.
5066 2021-06-24  Jakub Jelinek  <jakub@redhat.com>
5068         * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
5069         * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
5070         * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
5071         * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
5073 2021-06-23  Jakub Jelinek  <jakub@redhat.com>
5075         PR middle-end/101167
5076         * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
5078 2021-06-17  Chung-Lin Tang  <cltang@codesourcery.com>
5080         * hashtab.h (htab_clear): New function with initialization code
5081         factored out from...
5082         (htab_create): ...here, adjust to use htab_clear function.
5083         * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
5084         special refcount values, add comments.
5085         (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
5086         (REFCOUNT_LINK): Likewise.
5087         (REFCOUNT_STRUCTELEM): New special refcount range for structure
5088         element siblings.
5089         (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
5090         sibling maps.
5091         (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
5092         (REFCOUNT_STRUCTELEM_FLAG_LAST):  Flag to indicate last sibling.
5093         (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
5094         (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
5095         (struct splay_tree_key_s): Add structelem_refcount and
5096         structelem_refcount_ptr fields into a union with dynamic_refcount.
5097         Add comments.
5098         (gomp_map_vars): Delete declaration.
5099         (gomp_map_vars_async): Likewise.
5100         (gomp_unmap_vars): Likewise.
5101         (gomp_unmap_vars_async): Likewise.
5102         (goacc_map_vars): New declaration.
5103         (goacc_unmap_vars): Likewise.
5104         * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
5105         (goacc_enter_datum): Likewise.
5106         (goacc_enter_data_internal): Likewise.
5107         * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
5108         and goacc_unmap_vars.
5109         (GOACC_data_start): Adjust to use goacc_map_vars.
5110         (GOACC_data_end): Adjust to use goacc_unmap_vars.
5111         * target.c (hash_entry_type): New typedef.
5112         (htab_alloc): New function hook for hashtab.h.
5113         (htab_free): Likewise.
5114         (htab_hash): Likewise.
5115         (htab_eq): Likewise.
5116         (hashtab.h): Add file include.
5117         (gomp_increment_refcount): New function.
5118         (gomp_decrement_refcount): Likewise.
5119         (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
5120         gomp_increment_refcount.
5121         (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
5122         to gomp_map_vars_existing.
5123         (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
5124         variable to guard OpenMP specific paths, adjust calls to
5125         gomp_map_vars_existing, add structure element sibling splay_tree_key
5126         sequence creation code, adjust Fortran map case to avoid increment
5127         under OpenMP.
5128         (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
5129         local refcount_set if caller passed in NULL, adjust call to
5130         gomp_map_vars_internal.
5131         (gomp_map_vars_async): Adjust and rename into...
5132         (goacc_map_vars): ...this new function, adjust call to
5133         gomp_map_vars_internal.
5134         (gomp_remove_splay_tree_key): New function with code factored out from
5135         gomp_remove_var_internal.
5136         (gomp_remove_var_internal): Add code to handle removing multiple
5137         splay_tree_key sequence for structure elements, adjust code to use
5138         gomp_remove_splay_tree_key for splay-tree key removal.
5139         (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
5140         gomp_decrement_refcount.
5141         (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
5142         local refcount_set if caller passed in NULL, adjust call to
5143         gomp_unmap_vars_internal.
5144         (gomp_unmap_vars_async): Adjust and rename into...
5145         (goacc_unmap_vars): ...this new function, adjust call to
5146         gomp_unmap_vars_internal.
5147         (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
5148         gomp_unmap_vars.
5149         (GOMP_target_ext): Likewise.
5150         (gomp_target_data_fallback): Adjust call to gomp_map_vars.
5151         (GOMP_target_data): Likewise.
5152         (GOMP_target_data_ext): Likewise.
5153         (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
5154         (gomp_exit_data): Add refcount_set parameter, adjust to use
5155         gomp_decrement_refcount, adjust to queue splay-tree keys for removal
5156         after main loop.
5157         (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
5158         gomp_map_vars and gomp_exit_data.
5159         (gomp_target_task_fn): Likewise.
5160         * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
5161         * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
5162         * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
5163         * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
5164         * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
5165         * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
5167 2021-06-15  Tobias Burnus  <tobias@codesourcery.com>
5169         PR fortran/92568
5170         * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
5172 2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
5173             Thomas Schwinge  <thomas@codesourcery.com>
5175         * libgomp.map (GOACC_2.0.2): New symbol version.
5176         * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
5177         * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
5179 2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
5180             Andrew Stubbs  <ams@codesourcery.com>
5182         * oacc-mem.c (goacc_enter_exit_data_internal): New function,
5183         extracted from...
5184         (GOACC_enter_exit_data): ... here.
5185         (GOACC_declare): Use it.
5187 2021-06-10  Thomas Schwinge  <thomas@codesourcery.com>
5189         * oacc-parallel.c (GOACC_declare): Move...
5190         * oacc-mem.c: ... here.
5191         * libgomp_g.h: Adjust.
5193 2021-06-10  Andrew Stubbs  <ams@codesourcery.com>
5194             Thomas Schwinge  <thomas@codesourcery.com>
5196         * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
5197         handling.
5199 2021-06-10  Jakub Jelinek  <jakub@redhat.com>
5201         PR tree-optimization/100981
5202         * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
5203         dsdotr and dsdoti to 0.
5205 2021-06-09  H.J. Lu  <hjl.tools@gmail.com>
5207         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
5208         if atomic compare-and-swap is supported on 'int'.
5210 2021-06-09  Richard Biener  <rguenther@suse.de>
5212         PR tree-optimization/100981
5213         * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
5215 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5217         * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
5218         unconditionally.
5219         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5220         Update.
5221         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5222         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5224 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5226         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
5227         '-DACC_MEM_SHARED=0'.
5228         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5229         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5230         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5231         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5232         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5233         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5234         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5235         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5236         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5237         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5238         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5239         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5240         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5241         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5242         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
5243         'acc_device_radeon' testing.
5244         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5245         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5246         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5247         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
5248         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5249         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5250         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5251         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5252         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5253         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5254         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
5255         for non-'openacc_nvidia_accel_selected'.
5256         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5257         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
5258         all implement this checking".
5259         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5260         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5261         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5262         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5263         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5265 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5267         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
5268         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
5270 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5272         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
5273         for 'acc_device_radeon'.
5275 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5277         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
5278         for non-'acc_device_nvidia'.
5280 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5282         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
5283         'acc_device_radeon' testing.
5284         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5285         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5286         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5288 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5290         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
5291         require 'openacc_nvidia_accel_selected'.  Fix up for
5292         'ACC_DEVICE_TYPE_radeon'.
5294 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5296         * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
5297         'openacc_nvidia_accel_selected'.
5298         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
5300 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5302         * testsuite/lib/libgomp.exp
5303         (check_effective_target_openacc_radeon_accel_selected):
5304         Streamline.
5306 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5308         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
5309         PR80547 workaround.
5311 2021-06-08  Thomas Schwinge  <thomas@codesourcery.com>
5313         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5314         <acc_device_nvidia>: Update comment.
5316 2021-05-28  Tobias Burnus  <tobias@codesourcery.com>
5318         * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
5320 2021-05-27  Jakub Jelinek  <jakub@redhat.com>
5322         * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
5323         check_effective_target_openacc_cublas,
5324         check_effective_target_openacc_cudart): New.
5325         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
5326         target openacc_cublas.
5327         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5328         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5329         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
5330         target openacc_cuda.
5331         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
5332         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
5333         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
5334         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
5335         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
5336         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
5337         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
5338         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5339         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
5340         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5341         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
5342         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5343         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
5344         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
5345         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
5346         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5347         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
5348         targets openacc_cublas and openacc_cudart.
5349         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5350         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5351         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5352         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5353         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
5354         Require effective target openacc_cudart.
5355         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
5356         for effective target openacc_cuda and add && defined USE_CUDA_H to
5357         preprocessor conditionals.  Guard -lcuda also on openacc_cuda
5358         effective target.
5360 2021-05-26  Jakub Jelinek  <jakub@redhat.com>
5362         PR libgomp/100573
5363         * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
5364         GOMP_target_end_data, GOMP_target_update_ext,
5365         GOMP_target_enter_exit_data): New dummy entrypoints.
5366         * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
5367         GOMP_target_end_data, GOMP_target_update_ext,
5368         GOMP_target_enter_exit_data): Likewise.
5369         * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
5370         OMPFROM, OMPTO): Define.
5371         (main): Remove #pragma omp target teams around all the tests.
5372         * testsuite/libgomp.c-c++-common/target-41.c: New test.
5373         * testsuite/libgomp.c-c++-common/target-42.c: New test.
5375 2021-05-25  Jakub Jelinek  <jakub@redhat.com>
5377         PR middle-end/99928
5378         * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
5380 2021-05-24  Tobias Burnus  <tobias@codesourcery.com>
5382         PR fortran/86470
5383         * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
5384         * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
5385         * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
5387 2021-05-22  Thomas Schwinge  <thomas@codesourcery.com>
5389         PR testsuite/90115
5390         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
5391         uninteresting/varying diagnostics.
5393 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
5395         PR middle-end/90115
5396         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
5397         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5399 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
5401         PR middle-end/90115
5402         * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
5403         file.
5404         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5405         * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
5406         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5407         Likewise.
5408         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
5409         Likewise.
5410         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
5411         Likewise.
5412         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
5413         Likewise.
5414         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
5415         Likewise.
5416         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
5417         Likewise.
5418         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
5419         Likewise.
5420         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
5421         Likewise.
5422         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
5423         Likewise.
5424         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
5425         Likewise.
5426         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
5427         Likewise.
5428         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
5429         Likewise.
5430         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
5431         Likewise.
5432         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
5433         Likewise.
5434         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
5435         Likewise.
5436         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
5437         Likewise.
5438         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
5439         Likewise.
5440         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
5441         Likewise.
5442         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
5443         Likewise.
5444         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
5445         Likewise.
5446         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
5447         Likewise.
5448         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5449         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5450         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5451         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
5452         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5453         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5454         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5455         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5456         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5457         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5458         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5459         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5460         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5461         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5462         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5463         Likewise.
5464         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
5465         Likewise.
5466         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
5467         Likewise.
5468         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5469         Likewise.
5470         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5471         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
5472         Likewise.
5473         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5474         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5475         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5476         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5477         * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
5478         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5479         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5480         Likewise.
5481         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5482         Likewise.
5483         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5484         Likewise.
5485         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5486         Likewise.
5487         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
5488         Likewise.
5489         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
5490         Likewise.
5491         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
5492         Likewise.
5493         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
5494         Likewise.
5495         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
5496         Likewise.
5497         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
5498         Likewise.
5499         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
5500         Likewise.
5501         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
5502         Likewise.
5503         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
5504         Likewise.
5505         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
5506         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5507         * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5508         Likewise.
5509         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5510         Likewise.
5511         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5512         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5513         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5515 2021-05-21  Julian Brown  <julian@codesourcery.com>
5516             Chung-Lin Tang  <cltang@codesourcery.com>
5517             Thomas Schwinge  <thomas@codesourcery.com>
5519         PR middle-end/90115
5520         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
5521         test.
5522         * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5523         Likewise.
5524         * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5525         Likewise.
5527 2021-05-21  Thomas Schwinge  <thomas@codesourcery.com>
5529         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
5530         for nvptx offloading.
5532 2021-05-21  Tobias Burnus  <tobias@codesourcery.com>
5534         * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
5536 2021-05-19  Thomas Schwinge  <thomas@codesourcery.com>
5538         PR target/83812
5539         * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
5541 2021-05-19  Julian Brown  <julian@codesourcery.com>
5543         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
5545 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
5547         * testsuite/lib/libgomp.exp
5548         (check_effective_target_offload_target_nvptx): Don't shadow global
5549         'offload_targets' variable.
5551 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
5553         * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
5554         '-latomic' to nvptx offloading compilation.
5555         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5557 2021-05-18  Thomas Schwinge  <thomas@codesourcery.com>
5559         * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
5560         offloading compilation.
5562 2021-05-17  Kwok Cheung Yeung  <kcy@codesourcery.com>
5564         * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
5565         if new tasks generated.
5566         * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
5568 2021-05-14  Tobias Burnus  <tobias@codesourcery.com>
5570         * testsuite/libgomp.fortran/parallel-master.f90: New test.
5572 2021-05-13  Martin Liska  <mliska@suse.cz>
5574         PR testsuite/100569
5575         * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
5576         * testsuite/libgomp.c/pr46032-2.c: Likewise.
5577         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
5578         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
5580 2021-05-12  Tobias Burnus  <tobias@codesourcery.com>
5582         * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
5583         * testsuite/libgomp.fortran/task-detach-12.f90: New test.
5585 2021-05-11  Jakub Jelinek  <jakub@redhat.com>
5587         PR middle-end/100471
5588         * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
5589         GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
5590         reduction pointer.
5591         * testsuite/libgomp.c/task-reduction-4.c: New test.
5593 2021-05-07  Tobias Burnus  <tobias@codesourcery.com>
5594             Tom de Vries  <tdevries@suse.de>
5596         * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
5597         complex/floating-point || + && reduction with 'omp target'.
5598         * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5600 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
5602         * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
5603         * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
5604         * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
5605         * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
5607 2021-05-04  Tobias Burnus  <tobias@codesourcery.com>
5609         PR testsuite/100397
5610         * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
5611         declaration to scope of non-'depend'-guarded assignment to avoid races.
5613 2021-05-03  Tom de Vries  <tdevries@suse.de>
5615         PR target/100321
5616         * testsuite/libgomp.c/target-44.c: New test.
5618 2021-04-30  Roman Zhuykov  <zhroma@ispras.ru>
5620         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
5622 2021-04-29  Tom de Vries  <tdevries@suse.de>
5624         * testsuite/libgomp.c/pr81778.c: New test.
5626 2021-04-29  Tom de Vries  <tdevries@suse.de>
5628         PR target/100232
5629         * testsuite/libgomp.c/target-43.c: New file.
5631 2021-04-28  Jakub Jelinek  <jakub@redhat.com>
5632             Tobias Burnus  <tobias@codesourcery.com>
5634         * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
5635         * target.c (gomp_load_plugin_for_device): If set and if a plugin
5636         can't be dlopened, silently assume it has no devices.
5637         * Makefile.in: Regenerate.
5638         * config.h.in: Regenerate.
5639         * configure: Regenerate.
5641 2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
5643         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
5644         Use [Ww]arning in dg-bogus as FE diagnostic and default
5645         diagnostic differ and the result depends on ENABLE_OFFLOAD.
5646         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5647         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5648         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5650 2021-04-26  Tobias Burnus  <tobias@codesourcery.com>
5652         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
5653         Correct spelling in dg-bogus to match -Wopenacc-parallelism.
5654         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5655         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5656         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5658 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
5659             Nathan Sidwell  <nathan@codesourcery.com>
5660             Tom de Vries  <vries@codesourcery.com>
5661             Julian Brown  <julian@codesourcery.com>
5662             Kwok Cheung Yeung  <kcy@codesourcery.com>
5664         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
5665         '-Wopenacc-parallelism', and match diagnostics, as appropriate.
5666         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5667         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5668         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5669         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5670         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
5671         Likewise.
5672         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
5673         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5674         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5675         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5676         Likewise.
5677         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
5678         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5679         Likewise.
5680         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5681         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5682         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5683         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5684         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5685         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
5686         Likewise.
5687         * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
5688         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
5689         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5690         * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5691         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5692         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
5693         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5694         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5695         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5696         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5697         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5699 2021-04-26  Thomas Schwinge  <thomas@codesourcery.com>
5701         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
5702         compile with '-w'.
5703         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5704         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5705         Likewise.
5706         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5707         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
5708         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5709         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5710         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5711         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5712         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5714 2021-04-22  Richard Biener  <rguenther@suse.de>
5716         * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
5717         only on nvptx-none.
5719 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
5721         * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
5722         omp_depend_kind instead of defining it as 16.
5724 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
5726         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5727         New, based on check_effective_target_offload_target_nvptx.
5728         (check_effective_target_offload_target_nvptx): Call it.
5729         (check_effective_target_offload_target_amdgcn): New.
5730         * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
5731         Require target offload_target_nvptx || offload_target_amdgcn.
5732         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
5733         * testsuite/libgomp.c/pr86416-1.c: Likewise.
5734         * testsuite/libgomp.c/pr86416-2.c: Likewise.
5736 2021-04-21  Tobias Burnus  <tobias@codesourcery.com>
5738         * testsuite/libgomp.fortran/depobj-1.f90: New test.
5740 2021-04-19  Thomas Schwinge  <thomas@codesourcery.com>
5742         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
5743         '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
5744         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
5745         Likewise.
5746         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5747         Likewise.
5748         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
5750 2021-04-15  Thomas Schwinge  <thomas@codesourcery.com>
5752         PR target/99555
5753         * testsuite/lib/libgomp.exp
5754         (check_effective_target_offload_device_nvptx): New.
5755         * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
5756         resolved, make sure that we exit quickly, with error status,
5757         XFAILed.
5758         * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
5759         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
5761 2021-04-14  Jakub Jelinek  <jakub@redhat.com>
5763         PR testsuite/100071
5764         * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
5765         cp = omp_alloc with cp, p arguments instead of cq, q and call
5766         c_f_pointer after last cq = omp_alloc with cq, q.
5768 2021-04-11  Hafiz Abid Qadeer  <abidh@codesourcery.com>
5770         PR middle-end/98088
5771         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
5772         for loop with GT/GE condition.
5773         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
5775 2021-04-09  Thomas Schwinge  <thomas@codesourcery.com>
5777         PR middle-end/84991
5778         PR middle-end/84992
5779         PR middle-end/90779
5780         * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
5782 2021-04-09  Jakub Jelinek  <jakub@redhat.com>
5784         PR libgomp/99984
5785         * team.c (gomp_thread_start): Call pthread_setspecific for
5786         !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
5787         has been initialized to avoid false positive warning.
5789 2021-03-29  Tobias Burnus  <tobias@codesourcery.com>
5791         PR target/99555
5792         * testsuite/lib/on_device_arch.c: Move to ...
5793         * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
5794         * testsuite/libgomp.fortran/on_device_arch.c: New file;
5795         #include on_device_arch.h.
5796         * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
5797         on_device_arch.h instead of using dg-additional-source.
5798         * testsuite/libgomp.c/pr99555-1.c: Likewise.
5799         * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
5800         on_device_arch.c without relative paths.
5802 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
5804         * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
5805         the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
5806         * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
5807         * config.h.in: Regenerate.
5808         * configure: Likewise.
5810 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
5812         PR target/99555
5813         * testsuite/lib/on_device_arch.c: New file.
5814         * testsuite/libgomp.c/pr99555-1.c: Likewise.
5815         * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
5816         skip for nvptx offloading, with error status.
5817         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
5819 2021-03-25  Thomas Schwinge  <thomas@codesourcery.com>
5821         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
5822         OpenACC 'serial' construct diagnostic for nvptx offloading.
5824 2021-03-15  Tobias Burnus  <tobias@codesourcery.com>
5826         PR c++/99509
5827         * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
5829 2021-03-12  Tobias Burnus  <tobias@codesourcery.com>
5831         PR fortran/98858
5832         * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
5834 2021-03-04  Jakub Jelinek  <jakub@redhat.com>
5836         * configure.ac: Add AC_CHECK_SIZEOF([void *]).
5837         * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
5838         checking of -m32 or -mx32 options on the command line.
5839         * config.h.in: Regenerated.
5840         * configure: Regenerated.
5842 2021-02-27  Iain Sandoe  <iain@sandoe.co.uk>
5844         * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
5845         support from the target.
5847 2021-02-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
5848             Jakub Jelinek  <jakub@redhat.com>
5850         PR libgomp/98738
5851         * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
5852         (struct gomp_task): Replace detach and completion_sem fields with
5853         union containing completion_sem and detach_team.  Add deferred_p
5854         field.
5855         (struct gomp_team): Remove task_detach_queue.
5856         * task.c: Include assert.h.
5857         (gomp_init_task): Initialize deferred_p and completion_sem fields.
5858         Rearrange initialization order of fields.
5859         (task_fulfilled_p): Delete.
5860         (GOMP_task): Use address of task as the event handle.  Remove
5861         initialization of detach field.  Initialize deferred_p field.
5862         Use automatic local for completion_sem.  Initialize detach_team field
5863         for deferred tasks.
5864         (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
5865         Set kind of suspended detach task to GOMP_TASK_DETACHED and
5866         decrement task_running_count.  Move finish_cancelled block out of
5867         else branch.  Relocate call to gomp_team_barrier_done.
5868         (GOMP_taskwait): Handle tasks with completion events that have not
5869         been fulfilled.
5870         (GOMP_taskgroup_end): Likewise.
5871         (omp_fulfill_event): Use address of task as event handle.  Post to
5872         completion_sem for undeferred tasks.  Clear detach_team if task
5873         has not finished.  For finished tasks, handle post-execution tasks,
5874         call gomp_team_barrier_wake if necessary, and free task.
5875         * team.c (gomp_new_team): Remove initialization of task_detach_queue.
5876         (free_team): Remove free of task_detach_queue.
5877         * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
5878         * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
5879         * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
5880         * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
5881         * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
5882         Change data-sharing of detach events on enclosing parallel to private.
5883         * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.  Remove
5884         taskwait directive.
5885         * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
5886         * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
5887         * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
5888         * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
5889         * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
5890         * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
5891         * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
5892         * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
5893         * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
5894         * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
5895         Change data-sharing of detach events on enclosing parallel to private.
5896         * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.  Remove
5897         taskwait directive.
5898         * testsuite/libgomp.fortran/task-detach-7.f90: New.
5899         * testsuite/libgomp.fortran/task-detach-8.f90: New.
5900         * testsuite/libgomp.fortran/task-detach-9.f90: New.
5901         * testsuite/libgomp.fortran/task-detach-10.f90: New.
5902         * testsuite/libgomp.fortran/task-detach-11.f90: New.
5904 2021-02-22  Tobias Burnus  <tobias@codesourcery.com>
5906         PR fortran/99171
5907         * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
5909 2021-02-17  Julian Brown  <julian@codesourcery.com>
5911         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
5912         expected errors.
5914 2021-02-17  Julian Brown  <julian@codesourcery.com>
5916         * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
5917         * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
5919 2021-02-11  UroÅ¡ Bizjak  <ubizjak@gmail.com>
5921         * config/linux/x86/futex.h (__futex_wait):
5922         Revert output type back to long.
5923         (__futex_wake): Ditto.
5924         (futex_wait): Update for revert.
5925         (futex_wake): Ditto.
5927 2021-02-11  UroÅ¡ Bizjak  <ubizjak@gmail.com>
5929         * config/linux/x86/futex.h (__futex_wait): New static inline
5930         wrapper function.  Correct output type to int and
5931         timeout type to void *.
5932         (__futex_wake): New static inline wrapper function.
5933         Correct output type to int.
5934         (futex_wait): Use __futex_wait.
5935         (futex_wake): Use __futex_wake.
5937 2021-02-10  Julian Brown  <julian@codesourcery.com>
5939         PR fortran/98979
5940         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
5941         errors.
5943 2021-02-04  Julian Brown  <julian@codesourcery.com>
5945         * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
5947 2021-02-03  Andrew Stubbs  <ams@codesourcery.com>
5949         * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
5950         EF_AMDGPU_MACH_AMDGCN_GFX908.
5951         (gcn_gfx908_s): New constant string.
5952         (isa_hsa_name): Add gfx908.
5953         (isa_code): Add gfx908.
5955 2021-01-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
5957         * libgomp.texi (omp_fulfill_event): New entry.
5959 2021-01-20  Jakub Jelinek  <jakub@redhat.com>
5961         * task.c (GOMP_task): Rename priority argument to priority_arg,
5962         add priority automatic variable and modify that variable.  Instead of
5963         clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
5964         check flags for that bit.
5966 2021-01-19  Tobias Burnus  <tobias@codesourcery.com>
5968         PR fortran/98476
5969         * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
5971 2021-01-18  Andreas Schwab  <schwab@suse.de>
5973         * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
5975 2021-01-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>
5977         * config/rtems/sem.h (gomp_sem_getcount): New function.
5979 2021-01-18  Jakub Jelinek  <jakub@redhat.com>
5981         * config/linux/sem.h (gomp_sem_getcount): New function.
5982         * config/posix/sem.h (gomp_sem_getcount): New function.
5983         * config/posix/sem.c (gomp_sem_getcount): New function.
5984         * config/accel/sem.h (gomp_sem_getcount): New function.
5985         * task.c (task_fulfilled_p): Use gomp_sem_getcount.
5986         (omp_fulfill_event): Likewise.
5988 2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>
5990         * fortran.c (omp_fulfill_event_): New.
5991         * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
5992         (struct gomp_team): Add task_detach_queue and task_detach_count
5993         fields.
5994         * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
5995         * libgomp_g.h (GOMP_task): Add extra argument.
5996         * omp.h.in (enum omp_event_handle_t): New.
5997         (omp_fulfill_event): New.
5998         * omp_lib.f90.in (omp_event_handle_kind): New.
5999         (omp_fulfill_event): New.
6000         * omp_lib.h.in (omp_event_handle_kind): New.
6001         (omp_fulfill_event): Declare.
6002         * priority_queue.c (priority_tree_find): New.
6003         (priority_list_find): New.
6004         (priority_queue_find): New.
6005         * priority_queue.h (priority_queue_predicate): New.
6006         (priority_queue_find): New.
6007         * task.c (gomp_init_task): Initialize detach field.
6008         (task_fulfilled_p): New.
6009         (GOMP_task): Add detach argument.  Ignore detach argument if
6010         GOMP_TASK_FLAG_DETACH not set in flags.  Initialize completion_sem
6011         field.  Copy address of completion_sem into detach argument and
6012         into the start of the data record.  Wait for detach event if task
6013         not deferred.
6014         (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
6015         Remove completed tasks and requeue dependent tasks.
6016         (omp_fulfill_event): New.
6017         * team.c (gomp_new_team): Initialize task_detach_queue and
6018         task_detach_count fields.
6019         (free_team): Free task_detach_queue field.
6020         * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
6021         * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
6022         * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
6023         * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
6024         * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
6025         * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
6026         * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
6027         * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
6028         * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
6029         * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
6030         * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
6031         * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
6033 2021-01-15  Jakub Jelinek  <jakub@redhat.com>
6035         PR target/70454
6036         * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
6037         be added through preprocessor check on
6038         __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
6040 2021-01-14  Thomas Schwinge  <thomas@codesourcery.com>
6042         PR libgomp/65099
6043         * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
6044         configurations.
6045         * configure: Regenerate.
6046         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
6047         check.
6049 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
6051         * configure: Re-generate.
6053 2021-01-05  Samuel Thibault  <samuel.thibault@ens-lyon.org>
6055         * configure: Re-generate.
6057 2021-01-05  Julian Brown  <julian@codesourcery.com>
6059         * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
6060         (struct ptx_device): Add omp_stacks struct.
6061         (nvptx_open_device): Initialise cached-stacks housekeeping info.
6062         (nvptx_close_device): Free cached stacks block and mutex.
6063         (nvptx_stacks_free): New function.
6064         (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
6065         (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
6066         (nvptx_stacks_alloc): Rename to...
6067         (nvptx_stacks_acquire): This.  Cache stacks block between runs if same
6068         size or smaller is required.
6069         (nvptx_stacks_free): Remove.
6070         (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
6071         during kernel execution.
6073 2021-01-01  Jakub Jelinek  <jakub@redhat.com>
6075         * libgomp.texi: Bump @copying's copyright year.
6077 2020-12-28  Gerald Pfeifer  <gerald@pfeifer.com>
6079         * libgomp.texi (Top): Avoid bad "up" link.
6081 2020-12-18  Jakub Jelinek  <jakub@redhat.com>
6083         * testsuite/libgomp.c/task-6.c: New test.
6085 2020-12-09  Andrew Stubbs  <ams@codesourcery.com>
6087         * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
6088         (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
6090 2020-12-08  Tobias Burnus  <tobias@codesourcery.com>
6092         * testsuite/libgomp.fortran/scan-1.f90: New test.
6094 2020-12-05  Iain Sandoe  <iain@sandoe.co.uk>
6096         PR target/97865
6097         * configure: Regenerate.
6099 2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
6101         * configure: Regenerate.
6103 2020-11-25  Thomas Schwinge  <thomas@codesourcery.com>
6105         * testsuite/libgomp.oacc-c++/cache-1.C: New.
6106         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
6108 2020-11-25  Andrew Stubbs  <ams@codesourcery.com>
6110         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
6111         expected results.
6113 2020-11-24  Andrew Stubbs  <ams@codesourcery.com>
6115         * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
6116         (reserved): Delete unused define.
6118 2020-11-24  Thomas Schwinge  <thomas@codesourcery.com>
6120         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
6121         Tcl 8.5-specific behavior.
6122         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6124 2020-11-18  Kwok Cheung Yeung  <kcy@codesourcery.com>
6126         * env.c (gomp_global_icv): Remove nest_var field.  Add
6127         max_active_levels_var field.
6128         (gomp_max_active_levels_var): Remove.
6129         (parse_boolean): Return true on success.
6130         (handle_omp_display_env): Express OMP_NESTED in terms of
6131         max_active_levels_var.  Change format specifier for
6132         max_active_levels_var.
6133         (initialize_env): Set max_active_levels_var from
6134         OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
6135         OMP_PROC_BIND.
6136         * icv.c (omp_set_nested): Express in terms of
6137         max_active_levels_var.
6138         (omp_get_nested): Likewise.
6139         (omp_set_max_active_levels): Use max_active_levels_var field instead
6140         of gomp_max_active_levels_var.
6141         (omp_get_max_active_levels): Likewise.
6142         * libgomp.h (struct gomp_task_icv): Remove nest_var field.  Add
6143         max_active_levels_var field.
6144         (gomp_supported_active_levels): Set to UCHAR_MAX.
6145         (gomp_max_active_levels_var): Delete.
6146         * libgomp.texi (omp_get_nested): Update documentation.
6147         (omp_set_nested): Likewise.
6148         (OMP_MAX_ACTIVE_LEVELS): Likewise.
6149         (OMP_NESTED): Likewise.
6150         (OMP_NUM_THREADS): Likewise.
6151         (OMP_PROC_BIND): Likewise.
6152         * parallel.c (gomp_resolve_num_threads): Replace reference
6153         to nest_var with max_active_levels_var.  Use max_active_levels_var
6154         field instead of gomp_max_active_levels_var.
6156 2020-11-18  Tobias Burnus  <tobias@codesourcery.com>
6158         * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
6159         nvptx_usleep; use also for device={arch(gcn)}.
6161 2020-11-14  Jakub Jelinek  <jakub@redhat.com>
6163         * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
6164         (foo): Add tests for non-VLA private and firstprivate clauses on
6165         omp task.
6166         (bar): Likewise.  Remove taking of address from private/firstprivate
6167         variables.
6168         * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
6169         (foo): Add p, q, px and s arguments.  Add tests for array reductions
6170         and for non-VLA private and firstprivate clauses on omp task.
6171         (bar): Removed.
6172         (main): Adjust foo caller.  Don't call bar.
6174 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
6175             Thomas Schwinge  <thomas@codesourcery.com>
6177         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6178         New.
6179         * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6180         Likewise.
6181         * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6182         Likewise.
6183         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
6184         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6186 2020-11-13  Gergö Barany  <gergo@codesourcery.com>
6187             Thomas Schwinge  <thomas@codesourcery.com>
6189         PR fortran/94358
6190         * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
6192 2020-11-13  Jakub Jelinek  <jakub@redhat.com>
6194         * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
6195         for array reductions.
6196         (main): Adjust foo callers.
6198 2020-11-12  Jakub Jelinek  <jakub@redhat.com>
6200         * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
6201         * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
6202         * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6203         * allocator.c (omp_aligned_alloc): New for now static function,
6204         add alignment argument and handle it.
6205         (omp_alloc): Reimplement using omp_aligned_alloc.
6206         (GOMP_alloc, GOMP_free): New functions.
6207         (omp_free): Add ialias.
6208         * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
6209         * testsuite/libgomp.c++/allocate-1.C: New test.
6211 2020-11-12  Thomas Schwinge  <thomas@codesourcery.com>
6213         PR fortran/97782
6214         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
6216 2020-11-10  Chung-Lin Tang  <cltang@codesourcery.com>
6218         * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
6219         usable.
6220         * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
6221         'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
6222         (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
6223         (goacc_enter_data_internal): Likewise.
6224         * target.c (gomp_map_vars_internal):
6225         Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
6226         of gomp_attach_pointer for OpenMP cases.
6227         (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
6228         (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
6229         * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
6231 2020-11-05  Ulrich Drepper  <drepper@redhat.com>
6232             Kwok Cheung Yeung  <kcy@codesourcery.com>
6234         * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
6235         * Makefile.in: Regenerate.
6236         * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
6237         pragmas to ignore -Wdeprecated-declarations warnings.
6238         * icv.c: Likewise.
6239         * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
6240         Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
6241         and omp_get_nested with __GOMP_DEPRECATED_5_0.
6242         * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
6243         deprecated.
6244         * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
6245         to test options.
6246         * testsuite/libgomp.c/affinity-1.c: Likewise.
6247         * testsuite/libgomp.c/affinity-2.c: Likewise.
6248         * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
6249         * testsuite/libgomp.c/lib-1.c: Likewise.
6250         * testsuite/libgomp.c/nested-1.c: Likewise.
6251         * testsuite/libgomp.c/nested-2.c: Likewise.
6252         * testsuite/libgomp.c/nested-3.c: Likewise.
6253         * testsuite/libgomp.c/pr32362-1.c: Likewise.
6254         * testsuite/libgomp.c/pr32362-2.c: Likewise.
6255         * testsuite/libgomp.c/pr32362-3.c: Likewise.
6256         * testsuite/libgomp.c/pr35549.c: Likewise.
6257         * testsuite/libgomp.c/pr42942.c: Likewise.
6258         * testsuite/libgomp.c/pr61200.c: Likewise.
6259         * testsuite/libgomp.c/sort-1.c: Likewise.
6260         * testsuite/libgomp.c/target-5.c: Likewise.
6261         * testsuite/libgomp.c/target-6.c: Likewise.
6262         * testsuite/libgomp.c/teams-1.c: Likewise.
6263         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6264         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6265         * testsuite/libgomp.c/thread-limit-4.c: Likewise.
6266         * testsuite/libgomp.fortran/affinity1.f90: Likewise.
6267         * testsuite/libgomp.fortran/lib1.f90: Likewise.
6268         * testsuite/libgomp.fortran/lib2.f: Likewise.
6269         * testsuite/libgomp.fortran/nested1.f90: Likewise.
6270         * testsuite/libgomp.fortran/teams1.f90: Likewise.
6272 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
6274         PR target/85486
6275         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
6276         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
6277         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
6279 2020-11-02  Thomas Schwinge  <thomas@codesourcery.com>
6281         PR testsuite/80219
6282         PR testsuite/85303
6283         * testsuite/lib/libgomp.exp (libgomp_init): Set
6284         'gcc_warning_prefix', 'gcc_error_prefix'.
6286 2020-10-30  Jakub Jelinek  <jakub@redhat.com>
6288         * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
6289         even in field_tgt_clear initializer.
6291 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
6293         * testsuite/libgomp.c/target-42.c: New test.
6295 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
6296             Tom de Vries  <tdevries@suse.de>
6298         PR testsuite/81690
6299         * testsuite/libgomp.c/usleep.h: New file.
6300         * testsuite/libgomp.c/target-32.c: Include usleep.h.
6301         (main): Use tgt_usleep instead of usleep.
6302         * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
6303         (main): Use tgt_usleep instead of usleep.
6305 2020-10-28  Jakub Jelinek  <jakub@redhat.com>
6307         PR lto/96680
6308         * testsuite/libgomp.c/declare-variant-1.c: New test.
6310 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
6312         * testsuite/libgomp.c/target-41.c: New test.
6314 2020-10-22  Jakub Jelinek  <jakub@redhat.com>
6316         * icv.c (omp_get_initial_device): Remove including corresponding
6317         ialias.
6318         * icv-device.c (omp_get_initial_device): New function.  Return
6319         gomp_get_num_devices ().  Add ialias.
6320         * target.c (resolve_device): Don't fail with
6321         OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
6322         gomp_get_num_devices ().
6323         (omp_target_alloc, omp_target_free, omp_target_is_present,
6324         omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
6325         omp_target_disassociate_ptr, omp_pause_resource): Use
6326         gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
6327         first use in the functions, in uses dominated by the
6328         gomp_get_num_devices call use num_devices_openmp instead.
6329         * libgomp.texi (omp_get_initial_device): Document.
6330         * config/gcn/icv-device.c (omp_get_initial_device): New function.
6331         Add ialias.
6332         * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
6333         * testsuite/libgomp.c/target-40.c: New test.
6335 2020-10-21  Jakub Jelinek  <jakub@redhat.com>
6337         * env.c (parse_target_offload): Change new_offload var type to int,
6338         preinitialize to -1, remove found var and test new_offload != -1
6339         instead of found.
6341 2020-10-20  Jakub Jelinek  <jakub@redhat.com>
6343         * target.c (gomp_target_init): Inside of the function, use automatic
6344         variables corresponding to num_devices, num_devices_openmp and devices
6345         global variables and update the globals only at the end of the
6346         function.
6348 2020-10-20  Kwok Cheung Yeung  <kcy@codesourcery.com>
6350         * env.c (gomp_target_offload_var): New.
6351         (parse_target_offload): New.
6352         (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
6353         (initialize_env): Parse OMP_TARGET_OFFLOAD.
6354         * libgomp.h (gomp_target_offload_t): New.
6355         (gomp_target_offload_var): New.
6356         * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
6357         * target.c (resolve_device): Generate error if device not found and
6358         offloading is mandatory.
6359         (gomp_target_fallback): Generate error if offloading is mandatory.
6360         (GOMP_target): Add argument in call to gomp_target_fallback.
6361         (GOMP_target_ext): Likewise.
6362         (gomp_target_data_fallback): Generate error if offloading is mandatory.
6363         (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
6364         (GOMP_target_data_ext): Likewise.
6365         (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
6366         (gomp_target_init): Return early if offloading is disabled.
6368 2020-10-15  Kwok Cheung Yeung  <kcy@codesourcery.com>
6370         * libgomp.texi (omp_get_max_active_levels): Modify description.
6371         (omp_get_supported_active_levels): Make descriptions consistent.
6373 2020-10-14  Jakub Jelinek  <jakub@redhat.com>
6375         * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
6377 2020-10-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
6379         * env.c (gomp_max_active_levels_var): Initialize to
6380         gomp_supported_active_levels.
6381         (initialize_env): Limit gomp_max_active_levels_var to be at most
6382         equal to gomp_supported_active_levels.
6383         * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
6384         (omp_get_supported_active_levels_): New.
6385         * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
6386         to at most equal to gomp_supported_active_levels.
6387         (omp_get_supported_active_levels): New.
6388         * libgomp.h (gomp_supported_active_levels): New.
6389         * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
6390         omp_get_supported_active_levels_.
6391         * libgomp.texi (omp_get_supported_active_levels): New.
6392         (omp_set_max_active_levels): Update.  Add reference to
6393         omp_get_supported_active_levels.
6394         * omp.h.in (omp_get_supported_active_levels): New.
6395         * omp_lib.f90.in (omp_get_supported_active_levels): New.
6396         * omp_lib.h.in (omp_get_supported_active_levels): New.
6397         * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
6398         against omp_get_supported_active_levels.
6399         * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
6401 2020-10-11  Clement Chigot  <clement.chigot@atos.net>
6403         * config/t-aix: Delete and recreate libgomp before creating
6404         FAT library.
6406 2020-10-08  Tom de Vries  <tdevries@suse.de>
6408         PR libgomp/81802
6409         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
6410         dimensions.
6412 2020-10-06  Tom de Vries  <tdevries@suse.de>
6414         * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
6416 2020-10-06  Tom de Vries  <tdevries@suse.de>
6418         PR middle-end/90861
6419         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
6421 2020-10-05  Tom de Vries  <tdevries@suse.de>
6423         PR fortran/95654
6424         * testsuite/libgomp.fortran/pr95654.f90: New test.
6426 2020-10-02  Tobias Burnus  <tobias@codesourcery.com>
6428         * Makefile.in: Regenerate with automake 1.15.1.
6429         * aclocal.m4: Likewise.
6430         * configure: Likewise.
6431         * testsuite/Makefile.in: Likewise.
6433 2020-09-30  Andrew Stubbs  <ams@codesourcery.com>
6435         * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
6436         and amdgcn targets.
6438 2020-09-30  Tobias Burnus  <tobias@codesourcery.com>
6440         * testsuite/libgomp.fortran/declare-target-3.f90: New test.
6442 2020-09-29  Andrew Stubbs  <ams@codesourcery.com>
6444         * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
6445         total number of threads is one.
6446         (gomp_team_barrier_wake): Likewise.
6447         (gomp_team_barrier_wait_end): Likewise.
6448         (gomp_team_barrier_wait_cancel_end): Likewise.
6449         * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
6450         (gomp_team_barrier_wake): Likewise.
6451         (gomp_team_barrier_wait_end): Likewise.
6452         (gomp_team_barrier_wait_cancel_end): Likewise.
6453         * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
6455 2020-09-28  Tobias Burnus  <tobias@codesourcery.com>
6457         PR middle-end/96390
6458         * testsuite/libgomp.c++/pr96390.C: New test.
6459         * testsuite/libgomp.c-c++-common/pr96390.c: New test.
6461 2020-09-27  Clement Chigot  <clement.chigot@atos.net>
6463         * config/t-aix: Use $(AR) without -X32_64.
6465 2020-09-25  Jakub Jelinek  <jakub@redhat.com>
6467         * testsuite/libgomp.c/loop-25.c: New test.
6469 2020-09-22  Tobias Burnus  <tobias@codesourcery.com>
6471         PR fortran/95654
6472         * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
6474 2020-09-22  Tom de Vries  <tdevries@suse.de>
6476         * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
6477         fails.
6479 2020-09-16  Nathan Sidwell  <nathan@acm.org>
6481         * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
6483 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
6485         PR fortran/96668
6486         * target.c (gomp_map_vars_internal): Initialize has_nullptr.
6488 2020-09-15  Tobias Burnus  <tobias@codesourcery.com>
6490         PR fortran/96668
6491         * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
6492         * target.c (gomp_map_vars_existing): Add always_to_flag flag.
6493         (gomp_map_vars_existing): Update call to it.
6494         (gomp_map_fields_existing): Likewise
6495         (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
6496         now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
6497         remapped.
6498         (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
6499         GOMP_MAP_POINTER.
6500         * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
6501         * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
6503 2020-09-14  Tom de Vries  <tdevries@suse.de>
6505         * config/nvptx/atomic.c: New file.  Add
6506         __sync_val_compare_and_swap_16.
6507         * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
6508         target offload_target_nvptx.
6510 2020-09-08  Julian Brown  <julian@codesourcery.com>
6512         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
6513         iteration-ordering assumptions.
6515 2020-09-08  Julian Brown  <julian@codesourcery.com>
6517         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
6518         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6520 2020-08-20  Chung-Lin Tang  <cltang@codesourcery.com>
6522         * plugin/plugin-nvptx.c (nvptx_free):
6523         Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
6524         CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
6525         comments.
6527 2020-08-20  Tobias Burnus  <tobias@codesourcery.com>
6529         * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
6531 2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>
6533         * testsuite/libgomp.c-c++-common/reduction-16.c: New.
6535 2020-08-13  Jakub Jelinek  <jakub@redhat.com>
6537         * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
6538         * testsuite/libgomp.c/loop-23.c (main): Likewise.
6539         * testsuite/libgomp.c/loop-24.c: New test.
6541 2020-08-08  Jakub Jelinek  <jakub@redhat.com>
6542             Tobias Burnus  <tobias@codesourcery.com>
6544         PR fortran/93553
6545         * testsuite/libgomp.fortran/pr93553.f90: New test.
6547 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
6549         * testsuite/libgomp.c/loop-22.c: New test.
6550         * testsuite/libgomp.c/loop-23.c: New test.
6552 2020-08-05  Jakub Jelinek  <jakub@redhat.com>
6554         PR middle-end/96459
6555         * testsuite/libgomp.c/teams-3.c: New test.
6556         * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
6557         if not defined yet.
6558         (N(test)): Use it before all N(f*) calls.
6559         * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
6560         (main): Don't call all test_* functions from within
6561         #pragma omp teams reduction(|:err), call them directly.
6563 2020-08-04  Tom de Vries  <tdevries@suse.de>
6565         PR target/96428
6566         * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
6567         * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
6569 2020-08-03  Julian Brown  <julian@codesourcery.com>
6570             Thomas Schwinge  <thomas@codesourcery.com>
6572         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
6573         shared-memory devices.  Extend with further checking.
6575 2020-08-03  Martin Jambor  <mjambor@suse.cz>
6577         * plugin/Makefrag.am: Remove configuration of HSA plugin.
6578         * aclocal.m4: Regenerated.
6579         * Makefile.in: Regenerated.
6580         * config.h.in: Regenerated.
6581         * configure: Regenerated.
6582         * plugin/configfrag.ac: Likewise.
6583         * plugin/hsa_ext_finalize.h: Removed.
6584         * plugin/plugin-hsa.c: Likewise.
6585         * testsuite/Makefile.in: Regenerated.
6586         * testsuite/lib/libgomp.exp
6587         (offload_target_to_openacc_device_type): Remove hsa case.
6588         (check_effective_target_hsa_offloading_selected_nocache): Removed
6589         (check_effective_target_hsa_offloading_selected): Likewise.
6590         (libgomp_init): Do not add -Wno-hsa to additional_flags.
6591         * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
6592         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6593         * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
6594         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6595         * testsuite/libgomp.hsa.c/c.exp: Likewise.
6596         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6597         * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
6598         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6599         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6600         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6601         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6602         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6603         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6604         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6605         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6606         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6607         * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
6608         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
6609         * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
6610         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
6611         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
6612         * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
6613         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
6614         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
6616 2020-07-27  Julian Brown  <julian@codesourcery.com>
6617             Thomas Schwinge  <thomas@codesourcery.com>
6619         * libgomp.h (struct target_var_desc): Rename do_detach field to
6620         is_attach.
6621         * oacc-mem.c (goacc_exit_datum_1): Add assert.  Don't set finalize for
6622         GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
6623         (goacc_enter_data_internal): Don't affect reference counts
6624         for attach mappings.
6625         (goacc_exit_data_internal): Don't affect reference counts for detach
6626         mappings.
6627         * target.c (gomp_map_vars_existing): Don't affect reference counts for
6628         attach mappings.
6629         (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
6630         mark attach mappings.
6631         (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
6632         reference count for attach mappings.
6633         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
6634         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
6635         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
6636         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
6637         test as shouldfail.
6638         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
6639         gracefully in no-finalize mode.
6640         * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
6642 2020-07-24  Thomas Schwinge  <thomas@codesourcery.com>
6644         * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
6645         use.
6646         * testsuite/libgomp.oacc-c/c.exp: Likewise.
6647         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6649 2020-07-23  Julian Brown  <julian@codesourcery.com>
6650             Thomas Schwinge  <thomas@codesourcery.com>
6652         * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
6653         finalization for detach operation.
6654         * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
6655         New test.
6657 2020-07-23  Tobias Burnus  <tobias@codesourcery.com>
6659         * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
6660         * libgomp_f.h.in (omp_check_defines): Check whether
6661         sizeof of determined Fortran kind and C typedef match.
6662         * omp_lib.f90.in: Add omp_depened_kind.
6663         * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
6664         * configure: Regenerate.
6665         * Makefile.in: Regenerate.
6666         * testsuite/Makefile.in: Regenerate.
6668 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
6670         * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
6671         gcc/testsuite/c-c++-common/gomp/.
6672         * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
6673         * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
6674         from gcc/testsuite/gfortran.dg/gomp/.
6675         * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
6677 2020-07-22  Tobias Burnus  <tobias@codesourcery.com>
6679         * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
6680         * omp_lib.h.in: Likewise.
6682 2020-07-18  H.J. Lu  <hjl.tools@gmail.com>
6684         PR target/95620
6685         * testsuite/libgomp.c/pr95620.c: New test.
6687 2020-07-16  Julian Brown  <julian@codesourcery.com>
6688             Thomas Schwinge  <thomas@codesourcery.com>
6690         * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
6691         * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
6693 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
6695         * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
6696         avoid conversion on 32bit systems from 32bit to 64bit due
6697         to -fdefault-integer-8.
6699 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
6701         * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
6702         variables; add character(kind=4) tests; update TODO comment.
6704 2020-07-15  Tobias Burnus  <tobias@codesourcery.com>
6706         * allocator.c: Add ialias for omp_init_allocator and
6707         omp_destroy_allocator.
6708         * configure.ac: Set INTPTR_T_KIND.
6709         * configure: Regenerate.
6710         * Makefile.in: Regenerate.
6711         * testsuite/Makefile.in: Regenerate.
6712         * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
6713         omp_set_default_allocator_, omp_get_default_allocator_): New
6714         functions and ialias_redirect.
6715         * icv.c: Add ialias for omp_set_default_allocator and
6716         omp_get_default_allocator.
6717         * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
6718         omp_destroy_allocator_, omp_set_default_allocator_ and
6719         omp_get_default_allocator_.
6720         * omp_lib.f90.in: Add allocator traits parameters, declare
6721         allocator routines and add related kind parameters.
6722         * omp_lib.h.in: Likewise.
6723         * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
6724         * testsuite/libgomp.fortran/alloc-1.F90: New test.
6725         * testsuite/libgomp.fortran/alloc-2.F90: New test.
6726         * testsuite/libgomp.fortran/alloc-3.F: New test.
6727         * testsuite/libgomp.fortran/alloc-4.f90: New test.
6728         * testsuite/libgomp.fortran/alloc-5.f90: New test.
6730 2020-07-14  Tom de Vries  <tom@codesourcery.com>
6731             Cesar Philippidis  <cesar@codesourcery.com>
6732             Thomas Schwinge  <thomas@codesourcery.com>
6733             Kwok Cheung Yeung  <kcy@codesourcery.com>
6735         * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
6736         New variable.
6737         (acc_init_1): Set acc_init_thread to pthread_self ().  Set
6738         acc_init_state to initializing at the start, and to initialized at the
6739         end.
6740         (self_initializing_p): New function.
6741         (acc_get_device_type): Return acc_device_none if called by thread that
6742         is currently executing acc_init_1.
6743         * libgomp.texi (acc_get_device_type): Update documentation.
6744         (Implementation Status and Implementation-Defined Behavior): Likewise.
6745         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
6747 2020-07-14  David Edelsohn  <dje.gcc@gmail.com>
6749         * config/t-aix: Set BITS from compiler cpp macro.
6751 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
6753         * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
6755 2020-07-14  Tobias Burnus  <tobias@codesourcery.com>
6757         PR fortran/67311
6758         * testsuite/libgomp.fortran/target-map-1.f90: New test.
6760 2020-07-14  Jakub Jelinek  <jakub@redhat.com>
6762         * testsuite/libgomp.c/loop-21.c: New test.
6764 2020-07-13  Julian Brown  <julian@codesourcery.com>
6765             Thomas Schwinge  <thomas@codesourcery.com>
6767         * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
6769 2020-07-10  Julian Brown  <julian@codesourcery.com>
6770             Thomas Schwinge  <thomas@codesourcery.com>
6772         * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
6773         dynamic_refcount.
6774         (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
6775         * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
6776         dynamic_refcount.
6777         (acc_unmap_data): Update comment.
6778         (goacc_map_var_existing, goacc_enter_datum): Adjust for
6779         dynamic_refcount semantics.
6780         (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
6781         Adjust for dynamic_refcount semantics.
6782         (goacc_enter_data_internal): Implement "present" case of dynamic
6783         memory-map handling here.  Update "non-present" case for
6784         dynamic_refcount semantics.
6785         (goacc_exit_data_internal): Use goacc_exit_datum_1.
6786         * target.c (gomp_map_vars_internal): Remove
6787         GOMP_MAP_VARS_OPENACC_ENTER_DATA handling.  Update for dynamic_refcount
6788         handling.
6789         (gomp_unmap_vars_internal): Remove virtual_refcount handling.
6790         (gomp_load_image_to_device): Substitute dynamic_refcount for
6791         virtual_refcount.
6792         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
6793         * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
6794         * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
6795         * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
6796         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
6797         trace output.
6798         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
6799         trace output.
6800         * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
6801         test.
6802         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
6803         Remove stale comment.
6804         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
6805         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
6806         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6807         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6808         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6809         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
6811 2020-07-10  Julian Brown  <julian@codesourcery.com>
6812             Thomas Schwinge  <thomas@codesourcery.com>
6814         * oacc-mem.c (goacc_map_var_existing): New function.
6815         (goacc_enter_datum): Use above function.
6816         (goacc_exit_datum_1): New function.
6817         (goacc_exit_datum): Use above function.
6819 2020-07-09  Julian Brown  <julian@codesourcery.com>
6820             Thomas Schwinge  <thomas@codesourcery.com>
6822         PR middle-end/95270
6823         * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
6824         * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
6826 2020-07-09  Julian Brown  <julian@codesourcery.com>
6828         * oacc-mem.c (find_group_last): Group data-movement clauses
6829         (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
6830         GOMP_MAP_ATTACH.  Allow standalone GOMP_MAP_ATTACH also.
6832 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
6834         * testsuite/libgomp.c/loop-19.c: New test.
6835         * testsuite/libgomp.c/loop-20.c: New test.
6837 2020-07-09  Jakub Jelinek  <jakub@redhat.com>
6839         * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
6840         2 to -1.  Add omp_atv_serialized and define omp_atv_sequential using
6841         it.  Remove __omp_alloctrait_value_max__.
6842         * allocator.c (omp_init_allocator): Handle omp_atv_default for
6843         omp_atk_alignment and omp_atk_pool_size.
6845 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
6847         * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
6848         behavior for 'GOMP_MAP_FORCE_FROM'.
6849         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
6851 2020-07-03  Thomas Schwinge  <thomas@codesourcery.com>
6853         * oacc-mem.c (goacc_exit_data_internal): Remove
6854         'GOMP_MAP_ALWAYS_FROM' handling.
6856 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
6858         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
6859         'scan-assembler' with 'scan-offload-rtl'.
6860         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6861         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
6862         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
6863         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
6865 2020-06-30  Thomas Schwinge  <thomas@codesourcery.com>
6867         * target.c (gomp_map_vars_existing): Assert 'kind !=
6868         GOMP_MAP_ATTACH'.
6869         (gomp_map_vars_internal): Clean up.
6871 2020-06-27  Jakub Jelinek  <jakub@redhat.com>
6873         * testsuite/libgomp.c/loop-17.c: New test.
6874         * testsuite/libgomp.c/loop-18.c: New test.
6876 2020-06-26  Marek Polacek  <polacek@redhat.com>
6878         * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
6880 2020-06-23  Alexandre Oliva  <oliva@adacore.com>
6882         * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
6883         * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
6885 2020-06-22  David Edelsohn  <dje.gcc@gmail.com>
6887         * Makefile.am: Use -include.
6888         * Makefile.in: Regenerate.
6890 2020-06-21  David Edelsohn  <dje.gcc@gmail.com>
6892         * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
6893         * Makefile.in: Regenerate
6894         * configure.ac (tmake_file): Substitute.
6895         * configure: Regenerate.
6896         * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
6897         * config/t-aix: New file.
6899 2020-06-17  Thomas Schwinge  <thomas@codesourcery.com>
6901         PR lto/94848
6902         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
6903         'dg-do run'.
6905 2020-06-17  Andrew Stubbs  <ams@codesourcery.com>
6907         * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
6908         variant for HSA_RUNTIME_LIB name.
6909         (find_executable_symbol_1): Delete.
6910         (find_executable_symbol): Delete.
6911         (init_kernel_properties): Add ".kd" suffix to symbol names.
6912         (find_load_offset): Delete.
6913         (create_and_finalize_hsa_program): Remove relocation handling.
6915 2020-06-16  Tobias Burnus  <tobias@codesourcery.com>
6917         * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
6919 2020-06-08  Tobias Burnus  <tobias@codesourcery.com>
6921         PR lto/94848
6922         PR middle-end/95551
6923         * testsuite/libgomp.fortran/target-var.f90: New test.
6925 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
6926             Julian Brown  <julian@codesourcery.com>
6928         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
6929         special handling.
6931 2020-06-05  Thomas Schwinge  <thomas@codesourcery.com>
6932             Julian Brown  <julian@codesourcery.com>
6934         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6935         Simplify.
6937 2020-06-05  Julian Brown  <julian@codesourcery.com>
6939         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
6940         * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
6942 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6944         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6945         Evaluate 'copyfrom' individually for each entry.
6946         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
6948 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6950         * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6951         Evaluate 'finalize' individually for each entry.
6952         * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
6953         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
6954         file.
6956 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6958         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
6959         usage.
6960         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
6962 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6963             Julian Brown  <julian@codesourcery.com>
6965         * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
6966         checking.
6967         (acc_unmap_data, goacc_exit_data_internal): Restore
6968         'is_tgt_unmapped' checking.
6969         * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
6970         file.
6971         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
6972         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
6973         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6974         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6975         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6976         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
6978 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6979             Julian Brown  <julian@codesourcery.com>
6981         * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
6983 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6985         PR libgomp/92854
6986         * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
6988 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6990         PR libgomp/92854
6991         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
6992         more.
6994 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
6995             Julian Brown  <julian@codesourcery.com>
6997         * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
6998         'gomp_map_vars'.
6999         (acc_map_data): Clean up accordingly.
7001 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7003         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
7004         of over-eager 'finalize' clause.
7005         * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
7006         file.
7007         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7008         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7009         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7010         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7011         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7012         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
7013         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7014         * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
7016 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7018         * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
7020 2020-06-04  Julian Brown  <julian@codesourcery.com>
7022         * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
7023         error path.
7024         (goacc_detach_internal): Likewise.
7026 2020-06-04  Thomas Schwinge  <thomas@codesourcery.com>
7028         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
7029         the checkpoint.
7030         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7031         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7032         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7033         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7034         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7036 2020-06-02  Jakub Jelinek  <jakub@redhat.com>
7038         * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
7039         defined.
7041 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
7043         * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
7045 2020-05-30  Jakub Jelinek  <jakub@redhat.com>
7047         * allocator.c (omp_alloc): For size == 0, return NULL early.
7049 2020-05-29  H.J. Lu  <hjl.tools@gmail.com>
7051         PR bootstrap/95413
7052         * configure: Regenerated.
7054 2020-05-23  Thomas Koenig  <tkoenig@gcc.gnu.org>
7056         PR libfortran/95191
7057         * testsuite/libgomp.fortran/async_io_9.f90: New test.
7059 2020-05-19  Jakub Jelinek  <jakub@redhat.com>
7061         * omp.h.in (omp_uintptr_t): New typedef.
7062         (__GOMP_UINTPTR_T_ENUM): Define.
7063         (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
7064         omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
7065         (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
7066         (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
7067         omp_get_default_allocator, omp_alloc, omp_free): Declare.
7068         * libgomp.h (struct gomp_team_state): Add def_allocator field.
7069         (gomp_def_allocator): Declare.
7070         * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
7071         omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
7072         omp_alloc and omp_free.
7073         * team.c (gomp_team_start): Copy over ts.def_allocator.
7074         * env.c (gomp_def_allocator): New variable.
7075         (parse_wait_policy): Adjust function comment.
7076         (parse_allocator): New function.
7077         (handle_omp_display_env): Print OMP_ALLOCATOR.
7078         (initialize_env): Call parse_allocator.
7079         * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
7080         * allocator.c: New file.
7081         * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
7082         functions.
7083         * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
7084         * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
7085         * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
7086         * Makefile.in: Regenerated.
7088 2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>
7090         PR bootstrap/95147
7091         * configure: Regenerated.
7093 2020-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>
7095         PR libfortran/95119
7096         * testsuite/libgomp.fortran/close_errors_1.f90: New test.
7098 2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>
7100         * configure: Regenerated.
7102 2020-05-14  Jakub Jelinek  <jakub@redhat.com>
7104         * testsuite/libgomp.c-c++-common/target-40.c: New test.
7106 2020-05-13  Tobias Burnus  <tobias@codesourcery.com>
7108         PR fortran/94690
7109         * testsuite/libgomp.fortran/pr66199-3.f90: New.
7110         * testsuite/libgomp.fortran/pr66199-4.f90: New.
7111         * testsuite/libgomp.fortran/pr66199-5.f90: New.
7112         * testsuite/libgomp.fortran/pr66199-6.f90: New.
7113         * testsuite/libgomp.fortran/pr66199-7.f90: New.
7114         * testsuite/libgomp.fortran/pr66199-8.f90: New.
7115         * testsuite/libgomp.fortran/pr66199-9.f90: New.
7117 2020-05-12  Jakub Jelinek  <jakub@redhat.com>
7119         * testsuite/libgomp.c/target-39.c: New test.
7121 2020-04-29  Thomas Schwinge  <thomas@codesourcery.com>
7123         * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
7124         * openacc.f90 (acc_device_current): Likewise.
7125         * openacc.h (acc_device_current): Likewise.
7126         * openacc_lib.h (acc_device_current): Likewise.
7128         PR target/94282
7129         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
7130         'dg-allow-blank-lines-in-output'.
7132         * oacc-init.c (get_openacc_name): Handle 'gcn'.
7133         * testsuite/lib/libgomp.exp
7134         (offload_target_to_openacc_device_type) [amdgcn*]: Return
7135         'radeon'.  Adjust all users.
7136         (check_effective_target_openacc_amdgcn_accel_present): Rename
7137         to...
7138         (check_effective_target_openacc_radeon_accel_present): ... this.
7139         Adjust all users.
7140         (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
7141         (check_effective_target_openacc_radeon_accel_selected): ... this.
7142         Adjust all users.
7144         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
7145         'dg-do run'.
7147 2020-04-23  Andrew Stubbs  <ams@codesourcery.com>
7149         PR other/94629
7151         * plugin/plugin-gcn.c (init_hsa_context): Check return value from
7152         hsa_iterate_agents.
7153         (GOMP_OFFLOAD_init_device): Check return values from both calls to
7154         hsa_agent_iterate_regions.
7156 2020-04-20  Thomas Schwinge  <thomas@codesourcery.com>
7158         PR middle-end/94635
7159         * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
7160         run'.
7162 2020-04-20  Tobias Burnus  <tobias@codesourcery.com>
7164         PR middle-end/94120
7165         * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
7166         test case.
7168 2020-04-17  Tobias Burnus  <tobias@codesourcery.com>
7170         PR middle-end/94635
7171         * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
7173 2020-04-13  Thomas Schwinge  <thomas@codesourcery.com>
7175         PR libgomp/92843
7176         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7177         Rename to...
7178         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
7179         ... this.
7180         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7181         Rename to...
7182         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
7183         ... this.
7184         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7185         Rename to...
7186         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
7187         ... this.
7188         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7189         Rename to...
7190         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
7191         ... this.
7192         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7193         Rename to...
7194         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
7195         ... this.
7196         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7197         Rename to...
7198         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
7199         ... this.
7200         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7201         Rename to...
7202         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
7203         ... this.
7204         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7205         Rename to...
7206         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7207         ... this.
7208         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7209         Rename to...
7210         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
7211         ... this.
7212         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7213         Rename to...
7214         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
7215         ... this.
7216         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7217         Rename to...
7218         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
7219         ... this.
7220         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7221         Rename to...
7222         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
7223         ... this.
7224         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7225         Rename to...
7226         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
7227         ... this.
7228         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7229         Rename to...
7230         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
7231         ... this.
7232         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7233         Rename to...
7234         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
7235         ... this.
7236         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
7237         Rename to...
7238         * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
7239         ... this.
7241 2020-04-10  Julian Brown  <julian@codesourcery.com>
7242             Thomas Schwinge  <thomas@codesourcery.com>
7244         PR libgomp/92843
7245         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7246         New file.
7247         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7248         Likewise.
7249         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7250         Likewise.
7251         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7252         Likewise.
7253         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7254         Likewise.
7255         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7256         Likewise.
7257         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7258         Likewise.
7259         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7260         Likewise.
7261         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7262         Likewise.
7263         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7264         Likewise.
7265         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7266         Likewise.
7267         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7268         Likewise.
7269         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7270         Likewise.
7271         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7272         Likewise.
7273         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7274         Likewise.
7275         * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
7276         Likewise.
7278 2020-04-10  Thomas Schwinge  <thomas@codesourcery.com>
7280         * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
7281         run'.
7283 2020-04-08  Tobias Burnus  <tobias@codesourcery.com>
7285         PR middle-end/94120
7286         * libgomp.oacc-c++/declare-pr94120.C: New.
7288 2020-04-06  Maciej W. Rozycki  <macro@wdc.com>
7290         * configure.ac: Add testsuite/libgomp-site-extra.exp to output
7291         files.
7292         * configure: Regenerate.
7293         * testsuite/libgomp-site-extra.exp.in: New file.
7294         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
7295         variable.
7296         * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
7297         variable.
7298         * testsuite/Makefile.in: Regenerate.
7300 2020-04-03  Thomas Schwinge  <thomas@codesourcery.com>
7302         PR tree-optimization/89713
7303         PR c/94392
7304         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
7305         'bar.sync'.
7306         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7308 2020-03-31  Tobias Burnus  <tobias@codesourcery.com>
7310         * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
7311         * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
7313 2020-03-24  Tobias Burnus  <tobias@codesourcery.com>
7315         PR libgomp/81689
7316         * testsuite/libgomp.c/target-link-1.c: Remove xfail.
7318 2020-03-20  Tobias Burnus  <tobias@codesourcery.com>
7320         PR libgomp/94251
7321         * target.c (gomp_load_image_to_device): Fix link
7322         variable handling.
7324 2020-03-19  Jakub Jelinek  <jakub@redhat.com>
7326         PR c++/93931
7327         * testsuite/libgomp.c++/pr93931.C: New test.
7329 2020-03-19  Tobias Burnus  <tobias@codesourcery.com>
7331         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
7332         dg-allow-blank-lines-in-output.
7334 2020-03-18  Julian Brown <julian@codesourcery.com>
7335             Tobias Burnus  <tobias@codesourcery.com>
7337         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
7338         it work concurrently.
7340 2020-03-18  Tobias Burnus  <tobias@codesourcery.com>
7342         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
7343         #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
7344         * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
7346 2020-03-14  Jakub Jelinek  <jakub@redhat.com>
7348         PR middle-end/93566
7349         * testsuite/libgomp.c/pr93566.c: New test.
7351 2020-02-21  Frederik Harwath  <frederik@codesourcery.com>
7353         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
7354         changes from 2020-02-19, i.e. use integer(c_size_t) instead of
7355         integer(acc_device_property) for the type of the return value of
7356         acc_get_property.
7358 2020-02-19  Tobias Burnus  <tobias@codesourcery.com>
7360         * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
7361         * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
7362         (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
7363         * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
7364         (acc_set_device_num): Fix Fortran argument name, use same name for C.
7365         (acc_get_property): Update Fortran interface to post-OpenACC 3.0
7366         corrections; add note about the previous interface and named constant.
7367         (OpenACC library and environment variables): Fix two typos.
7368         * openacc.f90: Use for all procedures the argument names from the spec
7369         as for â€¦_h they are user visible.
7370         (openacc_kinds): Rename acc_device_property to
7371         acc_device_property_kinds and change value to int32 ; and update users.
7372         Re-add acc_device_property for for backward compatibility.
7373         (acc_get_property_string_h): Clean up as acc_device_property_kind
7374         changed.
7375         (acc_get_property_h): Likewise and return c_size_t instead of
7376         acc_device_property.
7377         (openacc): Also export acc_device_property_kinds.
7378         (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
7379         acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
7380         handling; check against /= 0 instead of == 1 to match C.
7381         * openacc_lib.h: Use for all procedures the argument names from the spec
7382         as for â€¦_h they are user visible. Place !GCC$ into the first column to
7383         be active also for fixed-form souce form.
7384         (acc_device_current, acc_device_property_kind, acc_device_property,
7385         acc_property_memory, acc_property_free_memory, acc_property_name,
7386         acc_property_vendor, acc_property_driver): New named constants.
7387         (acc_get_property, acc_get_property_string): New generic interface.
7389 2020-02-13  Frederik Harwath  <frederik@codesourcery.com>
7391         PR libgomp/93481
7392         * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
7393         * target.c (gomp_load_plugin_for_device): Make "async_run" loading
7394         optional.
7395         (gomp_target_task_fn): Assert "devicep->async_run_func".
7396         (clear_unsupported_flags): New function to remove unsupported flags
7397         (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
7398         (GOMP_target_ext): Apply clear_unsupported_flags to flags.
7399         * testsuite/libgomp.c/target-33.c:
7400         Remove xfail for offload_target_nvptx.
7401         * testsuite/libgomp.c/target-34.c: Likewise.
7403 2020-02-10  Frederik Harwath  <frederik@codesourcery.com>
7405         * testsuite/libgomp.c/target-33.c: Add xfail for execution on
7406         offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
7407         * testsuite/libgomp.c/target-34.c: Likewise.
7408         * testsuite/libgomp.c/target-link-1.c: Add xfail for
7409         offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
7411 2020-02-09  Jakub Jelinek  <jakub@redhat.com>
7413         * testsuite/libgomp.c/target-38.c: New test.
7415 2020-02-06  Jakub Jelinek  <jakub@redhat.com>
7417         PR libgomp/93515
7418         * testsuite/libgomp.c-c++-common/pr93515.c: New test.
7420 2020-02-05  Tobias Burnus  <tobias@codesourcery.com>
7422         * testsuite/lib/libgomp.exp
7423         (check_effective_target_offload_target_nvptx): Pass flags as 'options'
7424         and not as 'source' argument to libgomp_target_compile.
7426 2020-02-03  Andrew Stubbs  <ams@codesourcery.com>
7428         * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
7429         (gcn_gfx801_s): Remove.
7430         (isa_hsa_name): Remove gfx801.
7431         (isa_gcc_name): Remove gfx801/carizzo.
7432         (isa_code): Remove gfx801.
7434 2020-02-03  Julian Brown  <julian@codesourcery.com>
7435             Tobias Burnus  <tobias@codesourcery.com>
7437         * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
7438         and *_finalize variants; document acc_attach and acc_detach; update
7439         references from OpenACC 2.0 to 2.6.
7440         * openacc.f90 (openacc_version): Update to 201711.
7441         * openacc_lib.h (openacc_version): Update to 201711.
7442         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
7443         openacc_version to 201711.
7444         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7446 2020-01-31  Kwok Cheung Yeung  <kcy@codesourcery.com>
7448         * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
7449         and vgpr_count fields.
7450         (struct kernel_info): Add a field for a hsa_kernel_description.
7451         (run_kernel): Reduce the number of threads/workers if the requested
7452         number would require too many VGPRs.
7453         (init_basic_kernel_info): Initialize description field with
7454         the hsa_kernel_description entry for the kernel.
7456 2020-01-29  Tobias Burnus  <tobias@codesourcery.com>
7458         PR bootstrap/93409
7459         * plugin/configfrag.ac (enable_offload_targets): Skip
7460         HSA and GCN plugin besides -m32 also for -mx32.
7461         * configure: Regenerate.
7463 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
7465         * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
7467 2020-01-29  Frederik Harwath  <frederik@codesourcery.com>
7469         * plugin-gcn.c (struct agent_info): Add fields "name" and
7470         "vendor_name" ...
7471         (GOMP_OFFLOAD_init_device): ... and init from here.
7472         (struct hsa_context_info): Add field "driver_version_s" ...
7473         (init_hsa_contest): ... and init from here.
7474         (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
7475         implementation.
7476         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7477         Enable test execution for amdgcn and host offloading targets.
7478         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
7479         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7480         (expect_device_properties): Split function into ...
7481         (expect_device_string_properties): ... this new function ...
7482         (expect_device_memory): ... and this new function.
7483         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
7484         Add test.
7486 2020-01-28  Julian Brown  <julian@codesourcery.com>
7488         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
7489         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
7490         component/non-component variable refs in a single directive.
7491         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
7493 2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
7495         * configure.ac: Handle `--with-toolexeclibdir='.
7496         * Makefile.in: Regenerate.
7497         * aclocal.m4: Regenerate.
7498         * configure: Regenerate.
7499         * testsuite/Makefile.in: Regenerate.
7501 2020-01-24  Frederik Harwath  <frederik@codesourcery.com>
7503         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7504         (expect_device_properties): Remove "expected_free_mem" argument,
7505         change "expected_total_mem" argument type to size_t;
7506         change types of acc_get_property results to size_t,
7507         adapt format strings.
7508         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7509         Use %zu instead of %zd to print size_t values.
7510         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
7511         rename to ...
7512         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
7513         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
7514         rename to ...
7515         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
7517 2020-01-23  Andrew Stubbs  <ams@codesourcery.com>
7519         * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
7520         the device id.
7522 2020-01-20  Andrew Stubbs  <ams@codesourcery.com>
7524         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
7525         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
7526         Adjust test dimensions for amdgcn.
7527         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
7528         gang/worker/vector expectations dynamically.
7529         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
7530         (main): Likewise.
7531         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
7532         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
7533         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
7534         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
7535         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
7536         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
7537         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
7538         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
7539         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
7540         (acc_gang): Recognise acc_device_radeon.
7541         (acc_worker): Likewise.
7542         (acc_vector): Likewise.
7543         (main): Set expectations for amdgcn.
7544         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
7545         (main): Adjust gang/worker/vector expectations dynamically.
7546         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
7547         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
7548         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
7549         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
7550         for amdgcn.
7552 2020-01-17  Andrew Stubbs  <ams@codesourcery.com>
7554         * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
7555         acc_device_radeon.
7556         (openacc): Likewise.
7557         * openacc.f90 (openacc_kinds): Likewise.
7558         (openacc): Likewise.
7559         * openacc.h (acc_device_t): Likewise.
7560         * openacc_lib.h: Likewise.
7561         * testsuite/lib/libgomp.exp
7562         (check_effective_target_openacc_amdgcn_accel_present): Likewise.
7563         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
7564         (cb_compute_construct_end): Likewise.
7565         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
7566         (cb_enqueue_launch_start): Likewise.
7567         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
7568         (cb_enter_data_end): Likewise.
7569         (cb_exit_data_start): Likewise.
7570         (cb_exit_data_end): Likewise.
7571         (cb_compute_construct_end): Likewise.
7572         (cb_enqueue_launch_start): Likewise.
7573         (cb_enqueue_launch_end): Likewise.
7574         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
7575         (main): Likewise.
7577 2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>
7579         * libgomp-plugin.h (enum goacc_property): New.  Adjust all users
7580         to use this instead of 'enum gomp_device_property'.
7581         (GOMP_OFFLOAD_get_property): Rename to...
7582         (GOMP_OFFLOAD_openacc_get_property): ... this.  Adjust all users.
7583         * libgomp.h (struct gomp_device_descr): Move
7584         'GOMP_OFFLOAD_openacc_get_property'...
7585         (struct acc_dispatch_t): ... here.  Adjust all users.
7586         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
7588         * target.c (gomp_map_vars_internal)
7589         <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
7590         paths.
7592 2020-01-10  Jakub Jelinek  <jakub@redhat.com>
7594         PR libgomp/93219
7595         * libgomp.h (gomp_print_string): Change return type from void to int.
7596         * affinity-fmt.c (gomp_print_string): Likewise.  Return true if
7597         not all characters have been written.
7599 2020-01-08  Tobias Burnus  <tobias@codesourcery.com>
7601         * libgomp.texi: Fix typos, use https.
7603 2020-01-03  Tobias Burnus  <tobias@codesourcery.com>
7605         * testsuite/libgomp.fortran/optional-map.f90: Add test for
7606         unallocated/disassociated actual arguments to nonallocatable/nonpointer
7607         dummy arguments; those are/shall be regarded as absent arguments.
7608         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
7609         * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
7611 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
7613         Update copyright years.
7615         * libgomp.texi: Bump @copying's copyright year.
7617 2019-12-31  Ayush Mittal  <ayush.m@samsung.com>
7619         PR libgomp/93065
7620         * oacc-init.c (goacc_runtime_deinitialize): New function.
7622 2019-12-28  Jakub Jelinek  <jakub@redhat.com>
7624         PR bootstrap/93074
7625         * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
7626         (cuDeviceTotalMem, cuMemGetInfo): Likewise.  Define to *_v2.
7628 2019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
7629             Frederik Harwath  <frederik@codesourcery.com>
7630             Thomas Schwinge  <tschwinge@codesourcery.com>
7632         * libgomp.h (gomp_device_descr): Add `get_property_func' member.
7633         * libgomp-plugin.h (gomp_device_property_value): New union.
7634         (gomp_device_property_value): New prototype.
7635         * openacc.h (acc_device_t): Add `acc_device_current' enumeration
7636         constant.
7637         (acc_device_property_t): New enum.
7638         (acc_get_property, acc_get_property_string): New prototypes.
7639         * oacc-init.c (acc_get_device_type): Also assert that result
7640         is not `acc_device_current'.
7641         (get_property_any, acc_get_property, acc_get_property_string):
7642         New functions.
7643         * openacc.f90 (openacc_kinds): Add `acc_device_current' and
7644         `acc_property_memory', `acc_property_free_memory',
7645         `acc_property_name', `acc_property_vendor' and
7646         `acc_property_driver' constants.  Add `acc_device_property' data
7647         type.
7648         (openacc_internal): Add `acc_get_property' and
7649         `acc_get_property_string' interfaces.  Add `acc_get_property_h',
7650         `acc_get_property_string_h', `acc_get_property_l' and
7651         `acc_get_property_string_l'.
7652         * oacc-host.c (host_get_property): New function.
7653         (host_dispatch): Wire it.
7654         * target.c (gomp_load_plugin_for_device): Handle `get_property'.
7655         * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
7656         `acc_get_property_string' and `acc_get_property_string_h_' symbols.
7657         * libgomp.texi (OpenACC Runtime Library Routines): Add
7658         `acc_get_property'.
7659         (acc_get_property): New node.
7660         * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
7661         function (stub).
7662         * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
7663         * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
7664         `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
7665         calls.
7666         (GOMP_OFFLOAD_get_property): New function.
7667         (struct ptx_device): Add new field "name".
7668         (cuda_driver_version_s): Add new static variable ...
7669         (nvptx_init): ... and init from here.
7671         * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
7672         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
7673         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
7674         * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
7675         with test helper functions.
7677         * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
7679 2019-12-22  Maciej W. Rozycki  <macro@wdc.com>
7681         * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
7682         variable.
7684 2019-12-21  Thomas Schwinge  <thomas@codesourcery.com>
7686         * target.c (gomp_map_vars_internal): Restore 'omp declare target
7687         link' handling.
7689 2019-12-19  Julian Brown  <julian@codesourcery.com>
7691         * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
7692         * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
7693         * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
7695 2019-12-19  Julian Brown  <julian@codesourcery.com>
7696             Cesar Philippidis  <cesar@codesourcery.com>
7698         * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
7699         * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
7700         * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
7701         * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
7702         * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
7703         * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
7704         * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
7705         * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
7706         * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
7707         * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
7708         * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
7709         * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
7710         * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
7712 2019-12-19  Julian Brown  <julian@codesourcery.com>
7714         * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
7715         * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
7716         * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
7717         * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
7718         * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
7719         * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
7720         * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
7721         * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
7722         * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
7723         * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
7724         * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
7725         * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
7727 2019-12-19  Julian Brown  <julian@codesourcery.com>
7729         * libgomp.h (struct target_var_desc): Add do_detach flag.
7730         * oacc-init.c (acc_shutdown_1): Free aux block if present.
7731         * oacc-mem.c (find_group_last): Add SIZES parameter. Support
7732         struct components.  Tidy up and add some new checks.
7733         (goacc_enter_data_internal): Update call to find_group_last.
7734         (goacc_exit_data_internal): Support detach operations and
7735         GOMP_MAP_STRUCT.
7736         (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
7737         GOMP_MAP_FORCE_PRESENT in finalization detection code.  Handle
7738         attach/detach in enter/exit data detection code.
7739         * target.c (gomp_map_vars_existing): Initialise do_detach field of
7740         tgt_var_desc.
7741         (gomp_map_vars_internal): Support attach.
7742         (gomp_unmap_vars_internal): Support detach.
7744 2019-12-19  Julian Brown  <julian@codesourcery.com>
7745             Thomas Schwinge  <thomas@codesourcery.com>
7747         * libgomp.h (struct splay_tree_aux): Add attach_count field.
7748         (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
7749         * libgomp.map (OACC_2.6): New section. Add acc_attach,
7750         acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
7751         acc_detach_finalize_async.
7752         * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
7753         acc_detach, acc_detach_async, acc_detach_finalize,
7754         acc_detach_finalize_async): New functions.
7755         * openacc.h (acc_attach, acc_attach_async, acc_detach,
7756         (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
7757         prototypes.
7758         * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
7759         (gomp_remove_var_internal): Free attachment counts if present.
7760         * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
7761         * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
7763 2019-12-19  Julian Brown  <julian@codesourcery.com>
7764             Cesar Philippidis  <cesar@codesourcery.com>
7766         * libgomp.h (gomp_map_val): Add prototype.
7767         * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
7768         open-coding device-address calculation.
7769         * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
7770         non-present case.
7772 2019-12-19  Julian Brown  <julian@codesourcery.com>
7774         * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
7775         field for virtual_refcount.
7776         (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7777         (gomp_free_memmap): Remove prototype.
7778         * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
7779         instead of calling gomp_free_memmap.
7780         * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
7781         dynamic_refcount.
7782         (acc_unmap_data): Open code instead of forcing target_mem_desc's
7783         to_free field to NULL then calling gomp_unmap_vars.  Handle
7784         REFCOUNT_INFINITY on target blocks.
7785         (goacc_enter_data): Rename to...
7786         (goacc_enter_datum): ...this.  Remove MAPNUM parameter and special
7787         handling for mapping groups.  Use virtual_refcount instead of
7788         dynamic_refcount.  Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
7789         map_map_vars_async call.  Re-do lookup for target pointer return value.
7790         (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
7791         renamed goacc_enter_datum function.
7792         (goacc_exit_data): Rename to...
7793         (goacc_exit_datum): ...this.  Update for virtual_refcount semantics.
7794         (acc_delete, acc_delete_async, acc_delete_finalize,
7795         acc_delete_finalize_async, acc_copyout, acc_copyout_async,
7796         acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
7797         goacc_exit_datum function.
7798         (gomp_acc_remove_pointer, find_pointer): Remove functions.
7799         (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
7800         New functions.
7801         (GOACC_enter_exit_data): Use goacc_enter_data_internal and
7802         goacc_exit_data_internal helper functions.
7803         * target.c (gomp_map_vars_internal): Handle
7804         GOMP_MAP_VARS_OPENACC_ENTER_DATA.  Update for virtual_refcount
7805         semantics.
7806         (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
7807         (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
7808         virtual_refcount field instead of dynamic_refcount.
7809         (gomp_free_memmap): Remove function.
7810         * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
7811         * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
7812         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
7814 2019-12-19  Julian Brown  <julian@codesourcery.com>
7815             Thomas Schwinge  <thomas@codesourcery.com>
7817         * libgomp.h (struct splay_tree_aux): New.
7818         (struct splay_tree_key_s): Replace link_key field with aux pointer.
7819         * target.c (gomp_map_vars_internal): Adjust for link_key being moved
7820         to aux struct.
7821         (gomp_remove_var_internal): Free aux block if present.
7822         (gomp_load_image_to_device): Zero-initialise aux field instead of
7823         link_key field.
7824         (omp_target_associate_pointer): Zero-initialise aux field.
7826 2019-12-18  Jakub Jelinek  <jakub@redhat.com>
7828         PR middle-end/86416
7829         * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
7830         q or none.
7831         * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
7832         L or none.
7834 2019-12-19  Julian Brown  <julian@codesourcery.com>
7835             Maciej W. Rozycki  <macro@codesourcery.com>
7836             Tobias Burnus  <tobias@codesourcery.com>
7837             Thomas Schwinge  <thomas@codesourcery.com>
7839         * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
7840         * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
7841         * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
7842         * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
7843         * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
7844         * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
7845         * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
7846         * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
7847         * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
7849 2019-12-18  Thomas Schwinge  <thomas@codesourcery.com>
7851         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
7852         called...
7853         (goacc_insert_pointer): ... from here, "present" case.
7854         (goacc_insert_pointer): Inline function into...
7855         (GOACC_enter_exit_data): ... here, and simplify.
7857         * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
7858         called...
7859         (goacc_insert_pointer): ... from here, "not present" case.
7861         * oacc-mem.c (goacc_remove_pointer): Refactor interface.  Adjust
7862         all users.
7864         * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
7865         'goacc_enter_data', 'goacc_exit_data'.
7867         * oacc-mem.c (delete_copyout): Refactor into...
7868         (goacc_exit_data): ... this.  Adjust all users.
7870         * oacc-mem.c (present_create_copy): Refactor into...
7871         (goacc_enter_data): ... this.  Adjust all users.
7873         * target.c (gomp_unmap_vars_internal): Add a safeguard to
7874         'gomp_remove_var'.
7876         * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
7877         like 'GOMP_MAP_FROM'.
7879         PR libgomp/92726
7880         PR libgomp/92970
7881         PR libgomp/92984
7882         * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
7883         fails.
7884         (GOACC_enter_exit_data): Simplify accordingly.
7885         * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
7886         subsuming...
7887         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
7888         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
7889         file.
7890         * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
7891         subsuming...
7892         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
7893         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
7894         file.
7895         * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
7896         subsuming...
7897         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
7899         * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
7900         'finalize' handling.
7902         PR libgomp/92848
7903         * oacc-mem.c (acc_map_data, present_create_copy)
7904         (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
7905         (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
7906         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
7907         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
7908         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
7909         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
7910         * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
7911         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
7912         Remove "XFAIL"s.
7914         * target.c (gomp_unmap_tgt): Make it 'static'.
7915         * libgomp.h (gomp_unmap_tgt): Remove.
7917 2019-12-18  Tobias Burnus  <tobias@codesourcery.com>
7919         PR middle-end/86416
7920         * testsuite/libgomp.c/pr86416-1.c: New.
7921         * testsuite/libgomp.c/pr86416-2.c: New.
7923 2019-12-17  Tobias Burnus  <tobias@codesourcery.com>
7925         * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
7926         all symbols as public except for the 'use â€¦, only' imported symbol,
7927         which is private.
7928         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
7929         all symbols from module openacc_kinds as PUBLIC
7930         * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
7931         fix comment typo.
7932         * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
7934 2019-12-13  Julian Brown  <julian@codesourcery.com>
7936         PR libgomp/92881
7938         * libgomp.h (gomp_remove_var_async): Add prototype.
7939         * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
7940         gomp_remove_var.
7941         * target.c (gomp_unref_tgt): Change return type to bool, indicating
7942         whether target_mem_desc was unmapped.
7943         (gomp_unref_tgt_void): New.
7944         (gomp_remove_var): Reimplement in terms of...
7945         (gomp_remove_var_internal): ...this new helper function.
7946         (gomp_remove_var_async): New, implemented using above helper function.
7947         (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
7948         gomp_unref_tgt.
7950 2019-12-13  Andrew Stubbs  <ams@codesourcery.com>
7952         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
7953         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
7954         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
7955         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
7956         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
7957         Likewise.
7958         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
7959         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
7961 2019-12-13  Tobias Burnus  <tobias@codesourcery.com>
7963         * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
7964         as public except for the 'use â€¦, only' imported symbol, which is
7965         private.
7966         (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
7967         all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
7968         attributes for acc_copyout_finalize and acc_delete_finalize.
7970 2019-12-11  Jakub Jelinek  <jakub@redhat.com>
7972         PR fortran/92899
7973         * testsuite/libgomp.fortran/atomic1.f90: New test.
7975 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
7977         PR libgomp/92843
7978         * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
7979         reference counting for structured 'REFCOUNT_INFINITY'.  Add some
7980         assertions.
7981         (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
7982         * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
7983         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
7984         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
7985         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7987         * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
7988         * oacc-mem.c: ... here.
7989         (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
7990         'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
7991         * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7992         Remove.
7993         * libgomp_g.h: Update.
7995         * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
7996         * oacc-async.c: ... here.
7997         * oacc-int.h (goacc_wait): Declare.
7998         * libgomp_g.h: Update
8000         PR libgomp/92854
8001         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
8002         New file.
8003         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
8004         Likewise.
8005         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
8006         Likewise.
8007         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
8008         Likewise.
8009         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
8010         Likewise.
8011         * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
8012         Likewise.
8014 2019-12-11  Thomas Schwinge  <thomas@codesourcery.com>
8015             Julian Brown  <julian@codesourcery.com>
8017         * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
8018         Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
8020 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
8022         * omp_lib.h.in: Fix spelling of function declaration
8023         omp_get_cancell(l)ation.
8024         * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
8025         Fix typos.
8026         * env.c: Fix comment typos.
8027         * oacc-host.c: Likewise.
8028         * ordered.c: Likewise.
8029         * task.c: Likewise.
8030         * team.c: Likewise.
8031         * config/gcn/task.c: Likewise.
8032         * config/gcn/team.c: Likewise.
8033         * config/nvptx/task.c: Likewise.
8034         * config/nvptx/team.c: Likewise.
8035         * plugin/plugin-gcn.c: Likewise.
8036         * testsuite/libgomp.fortran/jacobi.f: Likewise.
8037         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8038         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
8040 2019-12-11  Tobias Burnus  <tobias@codesourcery.com>
8042         * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
8043         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
8044         unnecessary 'dg-additional-options "-w"'.
8046 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
8047             Julian Brown  <julian@codesourcery.com>
8049         PR libgomp/92116
8050         PR libgomp/92877
8052         * oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
8053         * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
8054         Adjust all users.
8055         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8056         Remove XFAIL.
8057         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8058         Likewise.
8059         * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
8061 2019-12-09  Thomas Schwinge  <thomas@codesourcery.com>
8063         PR libgomp/92503
8064         * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
8065         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
8066         file.
8067         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
8068         Likewise.
8069         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
8070         Likewise.
8071         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
8072         Likewise.
8073         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8074         Likewise.
8075         * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8076         Likewise.
8077         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8078         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8079         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8080         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8081         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8082         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8083         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8084         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8085         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8086         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8088         PR libgomp/92840
8089         * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
8090         (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
8091         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
8092         New file.
8093         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
8094         Likewise.
8095         * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
8096         Likewise.
8097         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8098         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
8100         PR libgomp/92511
8101         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
8102         this file...
8103         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
8104         this file...
8105         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
8106         file...
8107         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
8108         file...
8109         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8110         ... with their content moved into, and extended in this new file.
8111         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
8112         New file.
8113         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
8114         Likewise.
8115         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
8116         Likewise.
8117         * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
8118         Likewise.
8120         * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
8122         PR libgomp/92854
8123         * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
8125         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
8127         * target.c (gomp_exit_data): Use 'gomp_remove_var'.
8129 2019-12-09  Tobias Burnus  <tobias@codesourcery.com>
8131         * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
8132         unique.
8133         * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
8134         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8135         * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
8136         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
8137         Ditto.
8138         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
8139         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
8141 2019-12-06  Kwok Cheung Yeung  <kcy@codesourcery.com>
8143         * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
8145 2019-12-06  Tobias Burnus  <tobias@codesourcery.com>
8146             Kwok Cheung Yeung <kcy@codesourcery.com>
8148         * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
8149         if input it a NULL pointer.
8150         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
8151         diagnostic of NULL pointer.
8152         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
8153         * testsuite/libgomp.fortran/optional-map.f90: New.
8154         * testsuite/libgomp.fortran/use_device_addr-1.f90
8155         (test_dummy_opt_callee_1_absent): New.
8156         (test_dummy_opt_call_1): Call it.
8157         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8158         * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
8159         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8160         * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
8161         * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
8162         * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
8163         * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
8164         * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
8165         * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
8166         * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
8167         * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
8168         * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
8169         * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
8170         * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
8171         * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
8172         * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
8174 2019-12-05  Tobias Burnus  <tobias@codesourcery.com>
8176         * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
8177         expect dg-output of 'Error termination.' for GCN.
8178         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8179         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8181 2019-12-04  Jakub Jelinek  <jakub@redhat.com>
8183         PR fortran/92756
8184         * testsuite/libgomp.fortran/teams1.f90: New test.
8185         * testsuite/libgomp.fortran/teams2.f90: New test.
8187 2019-12-03  Frederik Harwath  <frederik@codesourcery.com>
8189         * oacc-init.c (acc_known_device_type): Add function.
8190         (unknown_device_type_error): Add function.
8191         (name_of_acc_device_t): Change to call unknown_device_type_error
8192         on unknown type.
8193         (resolve_device): Use acc_known_device_type.
8194         (acc_init): Fail if acc_device_t argument is not valid.
8195         (acc_shutdown): Likewise.
8196         (acc_get_num_devices): Likewise.
8197         (acc_set_device_type): Likewise.
8198         (acc_get_device_num): Likewise.
8199         (acc_set_device_num): Likewise.
8200         (acc_on_device): Add comment that argument validity is not checked.
8202 2019-12-03  Andrew Stubbs  <ams@codesourcery.com>
8204         * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
8205         Recognize amdgcn.
8206         (check_effective_target_openacc_amdgcn_accel_present): New proc.
8207         (check_effective_target_openacc_amdgcn_accel_selected): New proc.
8208         * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
8209         * testsuite/libgomp.oacc-c/c.exp: Likewise.
8210         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8212 2019-12-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>
8214         PR libgomp/91938
8215         * configure.tgt: Avoid IE tls on *-*-musl*.
8217 2019-11-29  Tobias Burnus  <tobias@codesourcery.com>
8219         * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
8220         adding a common-block test case.
8222 2019-11-29  Jakub Jelinek  <jakub@redhat.com>
8224         PR c++/60228
8225         * testsuite/libgomp.c++/udr-20.C: New test.
8226         * testsuite/libgomp.c++/udr-21.C: New test.
8228 2019-11-27  Thomas Schwinge  <thomas@codesourcery.com>
8230         * testsuite/lib/libgomp.exp
8231         (check_effective_target_offload_target_nvptx): New proc.
8232         * testsuite/libgomp.fortran/target-print-1.f90: Use it with
8233         'dg-skip-if'.
8234         * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
8235         * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
8236         * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
8238 2019-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
8240         * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
8241         * testsuite/libgomp.c/pr39591-2.c: Likewise.
8242         * testsuite/libgomp.c/pr39591-3.c: Likewise.
8243         * testsuite/libgomp.c/private-1.c: Likewise.
8244         * testsuite/libgomp.c/task-1.c: Likewise.
8245         * testsuite/libgomp.c/task-5.c: Renamed err to serr.
8247 2019-11-20  Julian Brown  <julian@codesourcery.com>
8249         * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
8250         aq->mutex here.
8251         (queue_push_launch): Lock aq->mutex before calling
8252         wait_for_queue_nonfull.
8253         (queue_push_callback): Likewise.
8254         (queue_push_asyncwait): Likewise.
8255         (queue_push_placeholder): Likewise.
8257 2019-11-20  Julian Brown  <julian@codesourcery.com>
8259         * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
8260         (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
8261         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
8262         return code.
8264 2019-11-20  Julian Brown  <julian@codesourcery.com>
8266         PR libgomp/92511
8268         * oacc-mem.c (present_create_copy): Fix device pointer return value in
8269         case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
8270         in non-present/create case.
8271         (delete_copyout): Change error condition to fail only on copies outside
8272         of mapped block.  Adjust error message accordingly.
8273         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
8274         * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
8275         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
8276         message.
8277         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8278         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
8279         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8281 2019-11-20  Maciej W. Rozycki  <macro@wdc.com>
8283         * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
8284         libatomic in build-tree testing.
8286 2019-11-18  Maciej W. Rozycki  <macro@wdc.com>
8288         * testsuite/Makefile.in: Regenerate.
8290 2019-11-15  Andrew Stubbs  <ams@codesourcery.com>
8292         * testsuite/libgomp.c/target-print-1.c: New file.
8293         * testsuite/libgomp.fortran/target-print-1.f90: New file.
8294         * testsuite/libgomp.oacc-c/print-1.c: New file.
8295         * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
8297 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8298             Kwok Cheung Yeung  <kcy@codesourcery.com>
8299             Julian Brown  <julian@codesourcery.com>
8300             Tom de Vries  <tom@codesourcery.com>
8302         * plugin/Makefrag.am: Add amdgcn plugin support.
8303         * plugin/configfrag.ac: Likewise.
8304         * plugin/plugin-gcn.c: New file.
8305         * configure: Regenerate.
8306         * Makefile.in: Regenerate.
8307         * testsuite/Makefile.in: Regenerate.
8309 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8311         * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
8312         and use team_malloc variants.
8313         (gomp_gcn_exit_kernel): Use team_free.
8314         * libgomp.h (TEAM_ARENA_SIZE): Define.
8315         (TEAM_ARENA_START): Define.
8316         (TEAM_ARENA_FREE): Define.
8317         (TEAM_ARENA_END): Define.
8318         (team_malloc): New function.
8319         (team_malloc_cleared): New function.
8320         (team_free): New function.
8321         * team.c (gomp_new_team): Initialize and use team_malloc.
8322         (free_team): Use team_free.
8323         (gomp_free_thread): Use team_free.
8324         (gomp_pause_host): Use team_free.
8325         * work.c (gomp_init_work_share): Use team_malloc.
8326         (gomp_fini_work_share): Use team_free.
8328 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8329             Kwok Cheung Yeung  <kcy@codesourcery.com>
8330             Julian Brown  <julian@codesourcery.com>
8331             Tom de Vries  <tom@codesourcery.com>
8333         * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
8334         * Makefile.in: Regenerate.
8335         * config.h.in (PLUGIN_GCN): Add new undef.
8336         * config/accel/openacc.f90 (acc_device_gcn): New parameter.
8337         * config/gcn/affinity-fmt.c: New file.
8338         * config/gcn/bar.c: New file.
8339         * config/gcn/bar.h: New file.
8340         * config/gcn/doacross.h: New file.
8341         * config/gcn/icv-device.c: New file.
8342         * config/gcn/oacc-target.c: New file.
8343         * config/gcn/simple-bar.h: New file.
8344         * config/gcn/target.c: New file.
8345         * config/gcn/task.c: New file.
8346         * config/gcn/team.c: New file.
8347         * config/gcn/time.c: New file.
8348         * configure.ac: Add amdgcn*-*-*.
8349         * configure: Regenerate.
8350         * configure.tgt: Add amdgcn*-*-*.
8351         * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
8352         * libgomp.h (gcn_thrs): Add amdgcn variant.
8353         (set_gcn_thrs): Likewise.
8354         (gomp_thread): Likewise.
8355         * oacc-int.h (goacc_thread): Likewise.
8356         * oacc-target.c: New file.
8357         * openacc.f90 (acc_device_gcn): New parameter.
8358         * openacc.h (acc_device_t): Add acc_device_gcn.
8359         * team.c (gomp_free_pool_helper): Add amdgcn support.
8361 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8362             Julian Brown  <julian@codesourcery.com>
8364         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
8365         parameter.
8366         * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
8367         queue constructor.
8368         * oacc-host.c (host_openacc_async_construct): Add device parameter.
8369         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
8370         device parameter.
8372 2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
8374         * configure.tgt (nvptx*-*-*): Add "accel" directory.
8375         * config/nvptx/libgomp-plugin.c: Move ...
8376         * config/accel/libgomp-plugin.c: ... to here.
8377         * config/nvptx/lock.c: Move ...
8378         * config/accel/lock.c: ... to here.
8379         * config/nvptx/mutex.c: Move ...
8380         * config/accel/mutex.c: ... to here.
8381         * config/nvptx/mutex.h: Move ...
8382         * config/accel/mutex.h: ... to here.
8383         * config/nvptx/oacc-async.c: Move ...
8384         * config/accel/oacc-async.c: ... to here.
8385         * config/nvptx/oacc-cuda.c: Move ...
8386         * config/accel/oacc-cuda.c: ... to here.
8387         * config/nvptx/oacc-host.c: Move ...
8388         * config/accel/oacc-host.c: ... to here.
8389         * config/nvptx/oacc-init.c: Move ...
8390         * config/accel/oacc-init.c: ... to here.
8391         * config/nvptx/oacc-mem.c: Move ...
8392         * config/accel/oacc-mem.c: ... to here.
8393         * config/nvptx/oacc-plugin.c: Move ...
8394         * config/accel/oacc-plugin.c: ... to here.
8395         * config/nvptx/omp-lock.h: Move ...
8396         * config/accel/omp-lock.h: ... to here.
8397         * config/nvptx/openacc.f90: Move ...
8398         * config/accel/openacc.f90: ... to here.
8399         * config/nvptx/pool.h: Move ...
8400         * config/accel/pool.h: ... to here.
8401         * config/nvptx/proc.c: Move ...
8402         * config/accel/proc.c: ... to here.
8403         * config/nvptx/ptrlock.c: Move ...
8404         * config/accel/ptrlock.c: ... to here.
8405         * config/nvptx/ptrlock.h: Move ...
8406         * config/accel/ptrlock.h: ... to here.
8407         * config/nvptx/sem.c: Move ...
8408         * config/accel/sem.c: ... to here.
8409         * config/nvptx/sem.h: Move ...
8410         * config/accel/sem.h: ... to here.
8411         * config/nvptx/thread-stacksize.h: Move ...
8412         * config/accel/thread-stacksize.h: ... to here.
8414 2019-11-12  Maciej W. Rozycki  <macro@codesourcery.com>
8415             Tobias Burnus  <tobias@codesourcery.com>
8416             Frederik Harwath  <frederik@codesourcery.com>
8417             Thomas Schwinge  <thomas@codesourcery.com>
8419         libgomp/
8420         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
8421         * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
8422         * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
8424 2019-11-11  Tobias Burnus  <tobias@codesourcery.com>
8425             Kwok Cheung Yeung  <kcy@codesourcery.com>
8427         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
8428         * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
8430 2019-11-11  Thomas Schwinge  <thomas@codesourcery.com>
8432         * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
8434         * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
8435         run'.
8436         * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8437         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
8439 2019-11-06  Thomas Schwinge  <thomas@codesourcery.com>
8441         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
8442         Add expected warnings about missing reduction clauses.
8443         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8444         Likewise.
8445         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
8446         Likewise.
8447         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
8448         Likewise.
8450 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
8452         * testsuite/libgomp.fortran/pr66199-1.f90: Remove
8453         'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
8454         * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
8455         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
8456         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
8457         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
8459 2019-11-04  Tobias Burnus  <tobias@codesourcery.com>
8461         PR fortran/92305
8462         * testsuite/libgomp.fortran/allocatable2.f90: Use
8463         unique numbers with 'stop'.
8464         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
8465         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
8466         * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
8467         * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
8468         * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
8470 2019-11-01  Tobias Burnus  <tobias@codesourcery.com>
8472         * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
8473         test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
8474         * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8475         * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
8476         * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
8477         * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
8479 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
8481         * testsuite/libgomp.fortran/target9.f90: New.
8483 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
8485         * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
8486         * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
8487         * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
8488         * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
8489         * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
8490         * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
8491         * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
8492         * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
8493         * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
8494         * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
8495         * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
8496         * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
8497         * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
8498         * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
8499         * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
8500         * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
8501         * testsuite/libgomp.fortran/associate1.f90: Ditto.
8502         * testsuite/libgomp.fortran/associate2.f90: Ditto.
8503         * testsuite/libgomp.fortran/associate3.f90: Ditto.
8504         * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
8505         * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
8506         * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
8507         * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
8508         * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
8509         * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
8510         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
8511         * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
8512         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
8513         * testsuite/libgomp.fortran/character1.f90: Ditto.
8514         * testsuite/libgomp.fortran/character2.f90: Ditto.
8515         * testsuite/libgomp.fortran/collapse1.f90: Ditto.
8516         * testsuite/libgomp.fortran/collapse2.f90: Ditto.
8517         * testsuite/libgomp.fortran/collapse3.f90: Ditto.
8518         * testsuite/libgomp.fortran/collapse4.f90: Ditto.
8519         * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
8520         * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
8521         * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
8522         * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
8523         * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
8524         * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
8525         * testsuite/libgomp.fortran/depend-1.f90: Ditto.
8526         * testsuite/libgomp.fortran/depend-2.f90: Ditto.
8527         * testsuite/libgomp.fortran/depend-3.f90: Ditto.
8528         * testsuite/libgomp.fortran/do1.f90: Ditto.
8529         * testsuite/libgomp.fortran/do2.f90: Ditto.
8530         * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
8531         * testsuite/libgomp.fortran/doacross1.f90: Ditto.
8532         * testsuite/libgomp.fortran/doacross2.f90: Ditto.
8533         * testsuite/libgomp.fortran/doacross3.f90: Ditto.
8534         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
8535         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
8536         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
8537         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
8538         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
8539         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
8540         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
8541         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
8542         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
8543         * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
8544         * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
8545         * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
8546         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
8547         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
8548         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
8549         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
8550         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
8551         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
8552         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
8553         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
8554         * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
8555         * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
8556         * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
8557         * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
8558         * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
8559         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
8560         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
8561         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
8562         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
8563         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
8564         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
8565         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
8566         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
8567         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
8568         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
8569         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
8570         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
8571         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
8572         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
8573         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
8574         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
8575         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
8576         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
8577         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
8578         * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
8579         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
8580         * testsuite/libgomp.fortran/lib1.f90: Ditto.
8581         * testsuite/libgomp.fortran/lib4.f90: Ditto.
8582         * testsuite/libgomp.fortran/lock-1.f90: Ditto.
8583         * testsuite/libgomp.fortran/lock-2.f90: Ditto.
8584         * testsuite/libgomp.fortran/nested1.f90: Ditto.
8585         * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
8586         * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
8587         * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
8588         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
8589         * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
8590         * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
8591         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
8592         * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
8593         * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
8594         * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
8595         * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
8596         * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
8597         * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
8598         * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
8599         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
8600         * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
8601         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
8602         * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
8603         * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
8604         * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
8605         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
8606         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
8607         * testsuite/libgomp.fortran/pointer1.f90: Ditto.
8608         * testsuite/libgomp.fortran/pointer2.f90: Ditto.
8609         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
8610         * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
8611         * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
8612         * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
8613         * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
8614         * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
8615         * testsuite/libgomp.fortran/pr28390.f: Ditto.
8616         * testsuite/libgomp.fortran/pr29629.f90: Ditto.
8617         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8618         * testsuite/libgomp.fortran/pr33880.f90: Ditto.
8619         * testsuite/libgomp.fortran/pr34020.f90: Ditto.
8620         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
8621         * testsuite/libgomp.fortran/pr42162.f90: Ditto.
8622         * testsuite/libgomp.fortran/pr46753.f90: Ditto.
8623         * testsuite/libgomp.fortran/pr48894.f90: Ditto.
8624         * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
8625         * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
8626         * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
8627         * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
8628         * testsuite/libgomp.fortran/pr65597.f90: Ditto.
8629         * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
8630         * testsuite/libgomp.fortran/pr71014.f90: Ditto.
8631         * testsuite/libgomp.fortran/pr81304.f90: Ditto.
8632         * testsuite/libgomp.fortran/pr81841.f90: Ditto.
8633         * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
8634         * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
8635         * testsuite/libgomp.fortran/procptr1.f90: Ditto.
8636         * testsuite/libgomp.fortran/recursion1.f90: Ditto.
8637         * testsuite/libgomp.fortran/reduction1.f90: Ditto.
8638         * testsuite/libgomp.fortran/reduction2.f90: Ditto.
8639         * testsuite/libgomp.fortran/reduction3.f90: Ditto.
8640         * testsuite/libgomp.fortran/reduction4.f90: Ditto.
8641         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
8642         * testsuite/libgomp.fortran/reduction6.f90: Ditto.
8643         * testsuite/libgomp.fortran/reference1.f90: Ditto.
8644         * testsuite/libgomp.fortran/reference2.f90: Ditto.
8645         * testsuite/libgomp.fortran/retval1.f90: Ditto.
8646         * testsuite/libgomp.fortran/retval2.f90: Ditto.
8647         * testsuite/libgomp.fortran/sharing1.f90: Ditto.
8648         * testsuite/libgomp.fortran/sharing2.f90: Ditto.
8649         * testsuite/libgomp.fortran/simd1.f90: Ditto.
8650         * testsuite/libgomp.fortran/simd2.f90: Ditto.
8651         * testsuite/libgomp.fortran/simd3.f90: Ditto.
8652         * testsuite/libgomp.fortran/simd4.f90: Ditto.
8653         * testsuite/libgomp.fortran/simd5.f90: Ditto.
8654         * testsuite/libgomp.fortran/simd6.f90: Ditto.
8655         * testsuite/libgomp.fortran/simd7.f90: Ditto.
8656         * testsuite/libgomp.fortran/stack.f90: Ditto.
8657         * testsuite/libgomp.fortran/strassen.f90: Ditto.
8658         * testsuite/libgomp.fortran/tabs1.f90: Ditto.
8659         * testsuite/libgomp.fortran/tabs2.f: Ditto.
8660         * testsuite/libgomp.fortran/target1.f90: Ditto.
8661         * testsuite/libgomp.fortran/target2.f90: Ditto.
8662         * testsuite/libgomp.fortran/target3.f90: Ditto.
8663         * testsuite/libgomp.fortran/target4.f90: Ditto.
8664         * testsuite/libgomp.fortran/target5.f90: Ditto.
8665         * testsuite/libgomp.fortran/target6.f90: Ditto.
8666         * testsuite/libgomp.fortran/target7.f90: Ditto.
8667         * testsuite/libgomp.fortran/target8.f90: Ditto.
8668         * testsuite/libgomp.fortran/task1.f90: Ditto.
8669         * testsuite/libgomp.fortran/task2.f90: Ditto.
8670         * testsuite/libgomp.fortran/task3.f90: Ditto.
8671         * testsuite/libgomp.fortran/task4.f90: Ditto.
8672         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
8673         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
8674         * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
8675         * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
8676         * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
8677         * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
8678         * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
8679         * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
8680         * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
8681         * testsuite/libgomp.fortran/udr1.f90: Ditto.
8682         * testsuite/libgomp.fortran/udr10.f90: Ditto.
8683         * testsuite/libgomp.fortran/udr11.f90: Ditto.
8684         * testsuite/libgomp.fortran/udr12.f90: Ditto.
8685         * testsuite/libgomp.fortran/udr13.f90: Ditto.
8686         * testsuite/libgomp.fortran/udr14.f90: Ditto.
8687         * testsuite/libgomp.fortran/udr15.f90: Ditto.
8688         * testsuite/libgomp.fortran/udr2.f90: Ditto.
8689         * testsuite/libgomp.fortran/udr3.f90: Ditto.
8690         * testsuite/libgomp.fortran/udr4.f90: Ditto.
8691         * testsuite/libgomp.fortran/udr5.f90: Ditto.
8692         * testsuite/libgomp.fortran/udr6.f90: Ditto.
8693         * testsuite/libgomp.fortran/udr7.f90: Ditto.
8694         * testsuite/libgomp.fortran/udr8.f90: Ditto.
8695         * testsuite/libgomp.fortran/udr9.f90: Ditto.
8696         * testsuite/libgomp.fortran/vla1.f90: Ditto.
8697         * testsuite/libgomp.fortran/vla2.f90: Ditto.
8698         * testsuite/libgomp.fortran/vla3.f90: Ditto.
8699         * testsuite/libgomp.fortran/vla4.f90: Ditto.
8700         * testsuite/libgomp.fortran/vla5.f90: Ditto.
8701         * testsuite/libgomp.fortran/vla6.f90: Ditto.
8702         * testsuite/libgomp.fortran/vla7.f90: Ditto.
8703         * testsuite/libgomp.fortran/vla8.f90: Ditto.
8704         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
8705         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
8707 2019-10-30  Tobias Burnus  <tobias@codesourcery.com>
8709         * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
8710         * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
8711         Ditto; add 'dg-do run' for torture testing.
8712         * testsuite/libgomp.fortran/lastprivate1.f90:  Add 'dg-do run'.
8713         * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
8714         * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
8715         * testsuite/libgomp.fortran/pr25219.f90: Ditto.
8716         * testsuite/libgomp.fortran/pr28390.f: Ditto.
8717         * testsuite/libgomp.fortran/pr35130.f90: Ditto.
8718         * testsuite/libgomp.fortran/pr90779.f90: Ditto.
8719         * testsuite/libgomp.fortran/task2.f90: Ditto.
8720         * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
8721         * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
8722         * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
8723         * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
8724         * testsuite/libgomp.fortran/workshare1.f90: Ditto.
8725         * testsuite/libgomp.fortran/workshare2.f90: Ditto.
8727 2019-10-28  Tobias Burnus  <tobias@codesourcery.com>
8729         * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
8730         * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
8731         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
8732         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
8733         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
8734         * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
8735         * testsuite/libgomp.oacc-fortran/common-block-1.f90:
8736         Use 'stop' not abort().
8737         * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
8738         * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
8739         * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
8740         * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
8741         * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
8742         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
8743         * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
8744         * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
8745         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
8746         * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
8747         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
8748         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
8749         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
8750         * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
8751         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
8752         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
8753         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
8754         Ditto.
8755         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
8756         Ditto.
8757         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
8758         Ditto.
8759         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
8760         Ditto.
8761         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
8762         Ditto.
8763         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
8764         Ditto.
8765         * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
8766         Ditto.
8767         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
8768         Ditto.
8769         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
8770         Ditto.
8771         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
8772         Ditto.
8773         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
8774         Ditto.
8775         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
8776         Ditto.
8777         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
8778         Ditto.
8779         * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
8780         Ditto.
8781         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
8782         * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
8783         * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
8784         * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
8785         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
8786         Likewise and also add 'dg-do run'.
8787         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
8788         Ditto.
8790 2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
8791             Tobias Burnus  <tobias@codesourcery.com>
8793         * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
8794         * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
8795         * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
8797 2019-10-14  Jakub Jelinek  <jakub@redhat.com>
8799         PR libgomp/92081
8800         * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
8801         than 0.
8803 2019-10-11  Tobias Burnus  <tobias@codesourcery.com>
8805         * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
8806         * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
8808 2019-10-09  Thomas Schwinge  <thomas@codesourcery.com>
8810         PR middle-end/92036
8811         * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
8812         file.
8814 2019-10-09  Tobias Burnus  <tobias@codesourcery.com>
8816         PR testsuite/91884
8817         * testsuite/libgomp.fortran/fortran.exp: Conditionally
8818         add -lquadmath.
8819         * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
8821 2019-10-09  Jakub Jelinek  <jakub@redhat.com>
8823         PR libgomp/92028
8824         * target.c (gomp_map_vars_internal): Readd the previous
8825         GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
8826         though do that just in the !not_found_cnt case.
8828 2019-10-08  Tobias Burnus  <tobias@codesourcery.com>
8830         * gfortran.dg/gomp/target-simd.f90: New.
8832 2019-10-02  Julian Brown  <julian@codesourcery.com>
8833             Cesar Philippidis  <cesar@codesourcery.com>
8835         * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
8836         * target.c (FIELD_TGT_EMPTY): Define.
8837         (gomp_map_val): Use OFFSET_* macros instead of magic constants.  Write
8838         as switch instead of list of ifs.
8839         (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
8841 2019-10-02  Andreas Tobler  <andreast@gcc.gnu.org>
8843         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
8844         include. Replace alloca () with __builtin_alloca ().
8845         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
8847 2019-10-01  Jakub Jelinek  <jakub@redhat.com>
8849         * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
8850         * libgomp.h: Include <stdint.h> instead of "gstdint.h".
8851         * oacc-parallel.c: Don't include "libgomp_g.h".
8852         * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
8853         * plugin/plugin-nvptx.c: Don't include "gstdint.h".
8854         * aclocal.m4: Regenerated.
8855         * config.h.in: Regenerated.
8856         * configure: Regenerated.
8857         * Makefile.in: Regenerated.
8859 2019-09-30  Kwok Cheung Yeung  <kcy@codesourcery.com>
8861         * libgomp_g.h: Include stdint.h instead of gstdint.h.
8863 2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
8865         * configure: Regenerate.
8867 2019-09-13  Tobias Burnus  <tobias@codesourcery.com>
8869         * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
8870         string is initialized.
8872 2019-09-06  Florian Weimer  <fweimer@redhat.com>
8874         * configure: Regenerate.
8876 2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
8878         PR other/79543
8879         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
8880         scanning to conform to the GNU Coding Standards.
8881         * configure: Regenerate.
8883 2019-08-28  Jakub Jelinek  <jakub@redhat.com>
8885         PR libgomp/91530
8886         * testsuite/libgomp.c/scan-21.c: New test.
8887         * testsuite/libgomp.c/scan-22.c: New test.
8889 2019-08-27  Jakub Jelinek  <jakub@redhat.com>
8891         PR libgomp/91530
8892         * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
8893         targets.
8894         * testsuite/libgomp.c/scan-12.c: Likewise.
8895         * testsuite/libgomp.c/scan-13.c: Likewise.
8896         * testsuite/libgomp.c/scan-14.c: Likewise.
8897         * testsuite/libgomp.c/scan-15.c: Likewise.
8898         * testsuite/libgomp.c/scan-16.c: Likewise.
8899         * testsuite/libgomp.c/scan-17.c: Likewise.
8900         * testsuite/libgomp.c/scan-18.c: Likewise.
8901         * testsuite/libgomp.c/scan-19.c: Likewise.
8902         * testsuite/libgomp.c/scan-20.c: Likewise.
8903         * testsuite/libgomp.c++/scan-9.C: Likewise.
8904         * testsuite/libgomp.c++/scan-10.C: Likewise.
8905         * testsuite/libgomp.c++/scan-11.C: Likewise.
8906         * testsuite/libgomp.c++/scan-12.C: Likewise.
8907         * testsuite/libgomp.c++/scan-14.C: Likewise.
8908         * testsuite/libgomp.c++/scan-15.C: Likewise.
8909         * testsuite/libgomp.c++/scan-13.C: Likewise.  Use sse2_runtime
8910         instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
8911         * testsuite/libgomp.c++/scan-16.C: Likewise.
8913 2019-08-17  Thomas Koenig  <tkoenig@gcc.gnu.org>
8915         PR fortran/91473
8916         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
8917         -std=legacy so invalid code in the test case is accepted.
8919 2019-08-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
8921         PR fortran/91422
8922         * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
8923         dimension.
8925 2019-08-08  Jakub Jelinek  <jakub@redhat.com>
8927         * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
8928         perform the lookup in the first loop only if !not_found_cnt, otherwise
8929         perform lookups for it in the second loop guarded with
8930         if (not_found_cnt || has_firstprivate).
8931         * testsuite/libgomp.c/target-37.c: New test.
8932         * testsuite/libgomp.c++/target-22.C: New test.
8934 2019-08-07  Jakub Jelinek  <jakub@redhat.com>
8936         * testsuite/libgomp.c/target-18.c (struct S): New type.
8937         (foo): Use use_device_addr clause instead of use_device_ptr clause
8938         where required by OpenMP 5.0, add further tests for both use_device_ptr
8939         and use_device_addr clauses.
8940         * testsuite/libgomp.c++/target-9.C (struct S): New type.
8941         (foo): Use use_device_addr clause instead of use_device_ptr clause
8942         where required by OpenMP 5.0, add further tests for both use_device_ptr
8943         and use_device_addr clauses.  Add t and u arguments.
8944         (main): Adjust caller.
8946 2019-08-06  Jakub Jelinek  <jakub@redhat.com>
8948         * testsuite/libgomp.c++/loop-13.C: New test.
8949         * testsuite/libgomp.c++/loop-14.C: New test.
8950         * testsuite/libgomp.c++/loop-15.C: New test.
8952 2019-07-31  Jakub Jelinek  <jakub@redhat.com>
8954         PR middle-end/91301
8955         * testsuite/libgomp.c++/for-27.C: New test.
8957 2019-07-23  Steven G. Kargl  <kargl@gcc.gnu.org>
8959         * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8960         * testsuite/libgomp.fortran/reduction5.f90: Ditto.
8962 2019-07-20  Jakub Jelinek  <jakub@redhat.com>
8964         * testsuite/libgomp.c-c++-common/loop-1.c: New test.
8966 2019-07-08  Jakub Jelinek  <jakub@redhat.com>
8968         * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
8969         * testsuite/libgomp.c++/scan-16.C: Likewise.
8971 2019-07-06  Jakub Jelinek  <jakub@redhat.com>
8973         * testsuite/libgomp.c/scan-19.c: New test.
8974         * testsuite/libgomp.c/scan-20.c: New test.
8976         * testsuite/libgomp.c/scan-11.c: New test.
8977         * testsuite/libgomp.c/scan-12.c: New test.
8978         * testsuite/libgomp.c/scan-13.c: New test.
8979         * testsuite/libgomp.c/scan-14.c: New test.
8980         * testsuite/libgomp.c/scan-15.c: New test.
8981         * testsuite/libgomp.c/scan-16.c: New test.
8982         * testsuite/libgomp.c/scan-17.c: New test.
8983         * testsuite/libgomp.c/scan-18.c: New test.
8984         * testsuite/libgomp.c++/scan-9.C: New test.
8985         * testsuite/libgomp.c++/scan-10.C: New test.
8986         * testsuite/libgomp.c++/scan-11.C: New test.
8987         * testsuite/libgomp.c++/scan-12.C: New test.
8988         * testsuite/libgomp.c++/scan-13.C: New test.
8989         * testsuite/libgomp.c++/scan-14.C: New test.
8990         * testsuite/libgomp.c++/scan-15.C: New test.
8991         * testsuite/libgomp.c++/scan-16.C: New test.
8993 2019-07-04  Jakub Jelinek  <jakub@redhat.com>
8995         * testsuite/libgomp.c/scan-9.c: New test.
8996         * testsuite/libgomp.c/scan-10.c: New test.
8998 2019-07-03  Jakub Jelinek  <jakub@redhat.com>
9000         * testsuite/libgomp.c++/scan-1.C: New test.
9001         * testsuite/libgomp.c++/scan-2.C: New test.
9002         * testsuite/libgomp.c++/scan-3.C: New test.
9003         * testsuite/libgomp.c++/scan-4.C: New test.
9004         * testsuite/libgomp.c++/scan-5.C: New test.
9005         * testsuite/libgomp.c++/scan-6.C: New test.
9006         * testsuite/libgomp.c++/scan-7.C: New test.
9007         * testsuite/libgomp.c++/scan-8.C: New test.
9008         * testsuite/libgomp.c/scan-1.c: New test.
9009         * testsuite/libgomp.c/scan-2.c: New test.
9010         * testsuite/libgomp.c/scan-3.c: New test.
9011         * testsuite/libgomp.c/scan-4.c: New test.
9012         * testsuite/libgomp.c/scan-5.c: New test.
9013         * testsuite/libgomp.c/scan-6.c: New test.
9014         * testsuite/libgomp.c/scan-7.c: New test.
9015         * testsuite/libgomp.c/scan-8.c: New test.
9017 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
9019         * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
9020         * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
9021         Likewise.
9023         * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
9024         check.
9026 2019-06-18  Cesar Philippidis  <cesar@codesourcery.com>
9028         * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
9029         file.
9031 2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>
9033         PR fortran/90743
9034         * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
9035         case.
9036         * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
9037         * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
9038         * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
9039         * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
9041         PR testsuite/90861
9042         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
9044         PR middle-end/90862
9045         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
9047 2019-06-16  Tom de Vries  <tdevries@suse.de>
9049         PR tree-optimization/89376
9050         * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
9052 2019-06-15  Tom de Vries  <tdevries@suse.de>
9054         PR tree-optimization/89713
9055         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
9056         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
9058 2019-06-15  Jakub Jelinek  <jakub@redhat.com>
9060         PR middle-end/90779
9061         * testsuite/libgomp.c/pr90779.c: New test.
9062         * testsuite/libgomp.fortran/pr90779.f90: New test.
9064 2019-06-15  Tom de Vries  <tdevries@suse.de>
9066         PR tree-optimization/90009
9067         * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
9069 2019-06-13  Feng Xue  <fxue@os.amperecomputing.com>
9071         PR tree-optimization/89713
9072         * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
9074 2019-06-11  Jakub Jelinek  <jakub@redhat.com>
9076         PR target/90811
9077         * testsuite/libgomp.c/pr90811.c: New test.
9079 2019-06-05  Jakub Jelinek  <jakub@redhat.com>
9081         * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9082         * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
9084 2019-06-04  Jakub Jelinek  <jakub@redhat.com>
9086         * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
9087         * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
9088         * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
9089         * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
9091 2019-05-30  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9093         * configure.ac: Call AX_COUNT_CPUS.
9094         Substitute CPU_COUNT.
9095         * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
9096         count fallback.
9097         * aclocal.m4: Regenerate.
9098         * configure: Regenerate.
9099         * Makefile.in, testsuite/Makefile.in: Regenerate.
9101 2019-05-29  Jakub Jelinek  <jakub@redhat.com>
9103         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
9104         to ...
9105         * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
9106         * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
9107         * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
9109 2019-05-27  Jakub Jelinek  <jakub@redhat.com>
9111         * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
9113         * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
9115         PR libgomp/90641
9116         * work.c (gomp_init_work_share): Instead of aligning final ordered
9117         value to multiples of long long alignment, align to that the
9118         first part (ordered team ids) and if inline_ordered_team_ids
9119         is not on a long long alignment boundary within the structure,
9120         use __alignof__ (long long) - 1 pad size always.
9121         * loop.c (GOMP_loop_start): Fix *mem computation if
9122         inline_ordered_team_ids is not aligned on long long alignment boundary
9123         within the structure.
9124         * loop-ull.c (GOMP_loop_ull_start): Likewise.
9125         * sections.c (GOMP_sections2_start): Likewise.
9127 2019-05-24  Jakub Jelinek  <jakub@redhat.com>
9129         * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
9130         * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
9132         PR libgomp/90585
9133         * plugin/plugin-hsa.c: Include gstdint.h.  Include inttypes.h only if
9134         HAVE_INTTYPES_H is defined.
9135         (print_uint64_t): New typedef.
9136         (PRIu64): Define if HAVE_INTTYPES_H is not defined.
9137         (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
9138         "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
9139         (release_kernel_dispatch): Likewise.  Cast shadow->debug to uintptr_t
9140         before casting to void *.
9141         * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
9142         * oacc-mem.c: Don't include config.h nor stdint.h.
9143         * target.c: Don't include config.h.
9144         * oacc-cuda.c: Likewise.
9145         * oacc-host.c: Don't include stdint.h.
9147 2019-05-20  Jakub Jelinek  <jakub@redhat.com>
9149         PR libgomp/90527
9150         * alloc.c (_GNU_SOURCE): Define.
9152 2019-05-17  Thomas Schwinge  <thomas@codesourcery.com>
9154         * acc_prof.h: New file.
9155         * oacc-profiling.c: Likewise.
9156         * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
9157         Add these, respectively.
9158         * Makefile.in: Regenerate.
9159         * env.c (initialize_env): Call goacc_profiling_initialize.
9160         * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
9161         (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
9162         * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
9163         (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
9164         * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
9165         acc_prof_register, acc_prof_unregister, and acc_register_library.
9166         (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
9167         GOMP_PLUGIN_goacc_thread.
9168         * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
9169         prof_callbacks_enabled members.
9170         (goacc_prof_enabled, goacc_profiling_initialize)
9171         (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
9172         (goacc_profiling_dispatch): Declare.
9173         (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
9174         (GOACC_PROFILING_SETUP_P): Define.
9175         * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
9176         (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
9177         OpenACC Profiling Interface.
9178         * oacc-cuda.c (acc_get_current_cuda_device)
9179         (acc_get_current_cuda_context, acc_get_cuda_stream)
9180         (acc_set_cuda_stream): Likewise.
9181         * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
9182         (acc_init, acc_set_device_type, acc_get_device_type)
9183         (acc_get_device_num, goacc_lazy_initialize): Likewise.
9184         * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
9185         (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
9186         (acc_unmap_data, present_create_copy, delete_copyout)
9187         (update_dev_host): Likewise.
9188         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
9189         (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
9190         Likewise.
9191         * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
9192         (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
9193         Likewise.
9194         * libgomp.texi: Update.
9195         * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
9196         file.
9197         * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
9198         * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
9199         Likewise.
9200         * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
9201         Likewise.
9202         * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
9203         Likewise.
9204         * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
9205         Likewise.
9207 2019-05-13  Chung-Lin Tang <cltang@codesourcery.com>
9209         * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
9210         (struct goacc_asyncqueue_list): Likewise.
9211         (goacc_aq): Likewise.
9212         (goacc_aq_list): Likewise.
9213         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9214         (GOMP_OFFLOAD_openacc_async_test): Remove.
9215         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9216         (GOMP_OFFLOAD_openacc_async_wait): Remove.
9217         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9218         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9219         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9220         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9221         (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
9222         (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
9223         (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
9224         (GOMP_OFFLOAD_openacc_async_exec): Declare.
9225         (GOMP_OFFLOAD_openacc_async_construct): Declare.
9226         (GOMP_OFFLOAD_openacc_async_destruct): Declare.
9227         (GOMP_OFFLOAD_openacc_async_test): Declare.
9228         (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
9229         (GOMP_OFFLOAD_openacc_async_serialize): Declare.
9230         (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
9231         (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
9232         (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
9234         * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
9235         (gomp_acc_insert_pointer): Adjust declaration.
9236         (gomp_copy_host2dev): New declaration.
9237         (gomp_copy_dev2host): Likewise.
9238         (gomp_map_vars_async): Likewise.
9239         (gomp_unmap_tgt): Likewise.
9240         (gomp_unmap_vars_async): Likewise.
9241         (gomp_fini_device): Likewise.
9243         * oacc-async.c (get_goacc_thread): New function.
9244         (get_goacc_thread_device): New function.
9245         (lookup_goacc_asyncqueue): New function.
9246         (get_goacc_asyncqueue): New function.
9247         (acc_async_test): Adjust code to use new async design.
9248         (acc_async_test_all): Likewise.
9249         (acc_wait): Likewise.
9250         (acc_wait_async): Likewise.
9251         (acc_wait_all): Likewise.
9252         (acc_wait_all_async): Likewise.
9253         (goacc_async_free): New function.
9254         (goacc_init_asyncqueues): Likewise.
9255         (goacc_fini_asyncqueues): Likewise.
9256         * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
9257         design.
9258         (acc_set_cuda_stream): Likewise.
9259         * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
9260         (host_openacc_register_async_cleanup): Remove.
9261         (host_openacc_async_exec): New function.
9262         (host_openacc_async_test): Adjust parameters.
9263         (host_openacc_async_test_all): Remove.
9264         (host_openacc_async_wait): Remove.
9265         (host_openacc_async_wait_async): Remove.
9266         (host_openacc_async_wait_all): Remove.
9267         (host_openacc_async_wait_all_async): Remove.
9268         (host_openacc_async_set_async): Remove.
9269         (host_openacc_async_synchronize): New function.
9270         (host_openacc_async_serialize): New function.
9271         (host_openacc_async_host2dev): New function.
9272         (host_openacc_async_dev2host): New function.
9273         (host_openacc_async_queue_callback): New function.
9274         (host_openacc_async_construct): New function.
9275         (host_openacc_async_destruct): New function.
9276         (struct gomp_device_descr host_dispatch): Remove initialization of old
9277         interface, add initialization of new async sub-struct.
9278         * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
9279         (goacc_attach_host_thread_to_device): Remove old async code usage.
9280         * oacc-int.h (goacc_init_asyncqueues): New declaration.
9281         (goacc_fini_asyncqueues): Likewise.
9282         (goacc_async_copyout_unmap_vars): Likewise.
9283         (goacc_async_free): Likewise.
9284         (get_goacc_asyncqueue): Likewise.
9285         (lookup_goacc_asyncqueue): Likewise.
9286         * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
9287         design.
9288         (present_create_copy): Adjust code to use new async design.
9289         (delete_copyout): Likewise.
9290         (update_dev_host): Likewise.
9291         (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
9292         async design.
9293         (gomp_acc_remove_pointer): Adjust code to use new async design.
9294         * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
9295         design.
9296         (GOACC_enter_exit_data): Likewise.
9297         (goacc_wait): Likewise.
9298         (GOACC_update): Likewise.
9299         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
9300         when called, warn as obsolete in comment.
9301         * target.c (goacc_device_copy_async): New function.
9302         (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
9303         add goacc_device_copy_async case.
9304         (gomp_copy_dev2host): Likewise.
9305         (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
9306         (gomp_map_pointer): Likewise.
9307         (gomp_map_fields_existing): Likewise.
9308         (gomp_map_vars_internal): New always_inline function, renamed from
9309         gomp_map_vars.
9310         (gomp_map_vars): Implement by calling gomp_map_vars_internal.
9311         (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
9312         passing goacc_asyncqueue argument.
9313         (gomp_unmap_tgt): Remove static, add attribute_hidden.
9314         (gomp_unref_tgt): New function.
9315         (gomp_unmap_vars_internal): New always_inline function, renamed from
9316         gomp_unmap_vars.
9317         (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
9318         (gomp_unmap_vars_async): Implement by calling
9319         gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
9320         (gomp_fini_device): New function.
9321         (gomp_exit_data): Adjust gomp_copy_dev2host call.
9322         (gomp_load_plugin_for_device): Remove old interface, adjust to load
9323         new async interface.
9324         (gomp_target_fini): Adjust code to call gomp_fini_device.
9326         * plugin/plugin-nvptx.c (struct cuda_map): Remove.
9327         (struct ptx_stream): Remove.
9328         (struct nvptx_thread): Remove current_stream field.
9329         (cuda_map_create): Remove.
9330         (cuda_map_destroy): Remove.
9331         (map_init): Remove.
9332         (map_fini): Remove.
9333         (map_pop): Remove.
9334         (map_push): Remove.
9335         (struct goacc_asyncqueue): Define.
9336         (struct nvptx_callback): Define.
9337         (struct ptx_free_block): Define.
9338         (struct ptx_device): Remove null_stream, active_streams, async_streams,
9339         stream_lock, and next fields.
9340         (enum ptx_event_type): Remove.
9341         (struct ptx_event): Remove.
9342         (ptx_event_lock): Remove.
9343         (ptx_events): Remove.
9344         (init_streams_for_device): Remove.
9345         (fini_streams_for_device): Remove.
9346         (select_stream_for_async): Remove.
9347         (nvptx_init): Remove ptx_events and ptx_event_lock references.
9348         (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
9349         case.
9350         (nvptx_open_device): Add free_blocks initialization, remove
9351         init_streams_for_device call.
9352         (nvptx_close_device): Remove fini_streams_for_device call, add
9353         free_blocks destruct code.
9354         (event_gc): Remove.
9355         (event_add): Remove.
9356         (nvptx_exec): Adjust parameters and code.
9357         (nvptx_free): Likewise.
9358         (nvptx_host2dev): Remove.
9359         (nvptx_dev2host): Remove.
9360         (nvptx_set_async): Remove.
9361         (nvptx_async_test): Remove.
9362         (nvptx_async_test_all): Remove.
9363         (nvptx_wait): Remove.
9364         (nvptx_wait_async): Remove.
9365         (nvptx_wait_all): Remove.
9366         (nvptx_wait_all_async): Remove.
9367         (nvptx_get_cuda_stream): Remove.
9368         (nvptx_set_cuda_stream): Remove.
9369         (GOMP_OFFLOAD_alloc): Adjust code.
9370         (GOMP_OFFLOAD_free): Likewise.
9371         (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9372         (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
9373         (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9374         (GOMP_OFFLOAD_openacc_async_wait): Remove.
9375         (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9376         (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9377         (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9378         (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9379         (cuda_free_argmem): New function.
9380         (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
9381         (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
9382         (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
9383         (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
9384         (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
9385         (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
9386         (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
9387         (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
9388         (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
9389         (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
9390         (cuda_callback_wrapper): New function.
9391         (cuda_memcpy_sanity_check): New function.
9392         (GOMP_OFFLOAD_host2dev): Remove and re-implement.
9393         (GOMP_OFFLOAD_dev2host): Remove and re-implement.
9394         (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
9395         (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
9397 2019-05-07  Thomas Schwinge  <thomas@codesourcery.com>
9399         PR target/87835
9400         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
9402 2019-05-06  Thomas Schwinge  <thomas@codesourcery.com>
9404         * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
9406 2019-03-27  Kevin Buettner  <kevinb@redhat.com>
9408         * team.c (gomp_team_start): Initialize pool->threads[0].
9410 2019-02-22  Thomas Schwinge  <thomas@codesourcery.com>
9412         * testsuite/libgomp.oacc-c++/c++.exp: Specify
9413         "-foffload=$offload_target".
9414         * testsuite/libgomp.oacc-c/c.exp: Likewise.
9415         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9416         * testsuite/lib/libgomp.exp
9417         (check_effective_target_openacc_nvidia_accel_configured): Remove,
9418         as (conceptually) merged into
9419         check_effective_target_openacc_nvidia_accel_selected.  Adjust all
9420         users.
9422         * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
9423         * testsuite/libgomp-test-support.exp.in: Adjust.
9424         * testsuite/lib/libgomp.exp: Likewise.  Don't populate
9425         openacc_device_types_s.
9426         (offload_target_to_openacc_device_type): New proc.
9427         * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
9428         * testsuite/libgomp.oacc-c/c.exp: Likewise.
9429         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9430         * Makefile.in: Regenerate.
9431         * configure: Likewise.
9432         * testsuite/Makefile.in: Likewise.
9434         * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
9435         instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
9436         instead of OFFLOAD_TARGETS.
9437         * target.c (gomp_target_init): Adjust.
9438         * testsuite/libgomp-test-support.exp.in: Likewise.
9439         * testsuite/lib/libgomp.exp: Likewise.  Populate
9440         openacc_device_types_s instead of offload_targets_s_openacc.
9441         (check_effective_target_openacc_nvidia_accel_selected)
9442         (check_effective_target_openacc_host_selected): Adjust.
9443         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9444         * testsuite/libgomp.oacc-c/c.exp: Likewise.
9445         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9446         * Makefile.in: Regenerate.
9447         * config.h.in: Likewise.
9448         * configure: Likewise.
9449         * testsuite/Makefile.in: Likewise.
9451         * testsuite/lib/libgomp.exp: Error out for unknown offload target.
9452         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.  Report if
9453         "offloading: supported, but hardware not accessible".
9454         * testsuite/libgomp.oacc-c/c.exp: Likewise.
9455         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9457 2019-02-19  Chung-Lin Tang <cltang@codesourcery.com>
9459         PR c/87924
9460         * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
9461         goacc_wait().
9462         (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
9463         and related adjustment.
9465 2019-01-30  Jakub Jelinek  <jakub@redhat.com>
9467         PR c++/88988
9468         * testsuite/libgomp.c++/pr88988.C: New test.
9470 2019-01-28  Jakub Jelinek  <jakub@redhat.com>
9472         PR middle-end/89002
9473         * testsuite/libgomp.c/pr89002.c: New test.
9475 2019-01-28  Richard Biener  <rguenther@suse.de>
9477         PR testsuite/89064
9478         PR tree-optimization/86865
9479         * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
9481 2019-01-24  Tom de Vries  <tdevries@suse.de>
9483         * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
9484         once instantiated_devices drops to 0.
9486 2019-01-23  Tom de Vries  <tdevries@suse.de>
9488         PR target/PR88946
9489         * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
9490         cuMemFree.
9491         (nvptx_exec): Don't call map_push if mapnum == 0.
9492         * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
9494 2019-01-23  Tom de Vries  <tdevries@suse.de>
9496         PR target/88941
9497         PR target/88939
9498         * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
9499         (map_fini): Remove "assert (!s->map->active)".
9500         * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
9502 2019-01-23  Tom de Vries  <tdevries@suse.de>
9504         PR target/87835
9505         * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
9506         * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
9508 2019-01-15  Tom de Vries  <tdevries@suse.de>
9510         PR target/80547
9511         * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
9512         New test.
9514 2019-01-12  Tom de Vries  <tdevries@suse.de>
9516         * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
9517         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
9518         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
9519         * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
9521 2019-01-12  Tom de Vries  <tdevries@suse.de>
9523         * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
9525 2019-01-12  Tom de Vries  <tdevries@suse.de>
9527         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
9528         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
9529         * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
9531 2019-01-12  Tom de Vries  <tdevries@suse.de>
9533         PR target/85486
9534         * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
9535         * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
9537 2019-01-12  Tom de Vries  <tdevries@suse.de>
9539         PR target/85381
9540         * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
9541         * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
9543 2019-01-12  Tom de Vries  <tdevries@suse.de>
9545         * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
9546         * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
9547         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
9549 2019-01-12  Tom de Vries  <tdevries@suse.de>
9551         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
9552         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
9553         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
9555 2019-01-12  Tom de Vries  <tdevries@suse.de>
9557         * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
9558         resources diagnostic.
9560 2019-01-12  Tom de Vries  <tdevries@suse.de>
9562         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
9563         vector length to be 128.
9564         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
9565         length 2097152 to be reduced to 1024 instead of 32.
9567 2019-01-11  Thomas Schwinge  <thomas@codesourcery.com>
9568             James Norris  <jnorris@codesourcery.com>
9570         * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
9571         Library Routines", and "Environment Variables".
9573 2019-01-11  Tom de Vries  <tdevries@suse.de>
9575         * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
9576         num_workers 16.
9578 2019-01-11  Tom de Vries  <tdevries@suse.de>
9580         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
9581         -foffload=-w.
9582         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
9583         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
9584         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
9585         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
9587 2019-01-11  Tom de Vries  <tdevries@suse.de>
9589         * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
9590         test.
9592 2019-01-10  Nathan Sidwell  <nathan@acm.org>
9593             Julian Brown  <julian@codesourcery.com>
9595         PR lto/71959
9596         * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
9597         * testsuite/libgomp.oacc-c++/pr71959.C: New.
9599 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9601         * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
9602         and paste code.
9604 2019-01-09  Sebastian Huber  <sebastian.huber@embedded-brains.de>
9606         * config/rtems/affinity-fmt.c: New file.  Include affinity-fmt.c,
9607         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
9608         write.
9610 2019-01-09  Tom de Vries  <tdevries@suse.de>
9612         PR target/88756
9613         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
9614         #define instead of "const int".
9615         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
9616         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
9617         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
9618         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
9620 2019-01-09  Tom de Vries  <tdevries@suse.de>
9622         * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
9623         one worker.
9625 2019-01-07  Tom de Vries  <tdevries@suse.de>
9627         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
9628         GOMP_OPENACC_DIM argument.
9630 2019-01-03  Tom de Vries  <tdevries@suse.de>
9632         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
9633         * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
9635 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
9637         Update copyright years.
9639 2019-01-01  Jakub Jelinek  <jakub@redhat.com>
9641         * libgomp.texi: Bump @copying's copyright year.
9643 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
9645         * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
9646         (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
9647         (GOACC_declare): Redefine the "device" argument to "flags".
9649 2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>
9650             Cesar Philippidis  <cesar@codesourcery.com>
9652         * target.c (struct gomp_coalesce_chunk): New structure.
9653         (struct gomp_coalesce_buf): Update the chunks member to use that
9654         type.  Adjust all users.
9656 2018-12-19  Tom de Vries  <tdevries@suse.de>
9658         * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
9659         * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
9660         * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
9662 2018-12-19  Tom de Vries  <tdevries@suse.de>
9664         * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
9665         * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
9666         gcc/testsuite/gcc.dg/goacc.
9667         * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
9669 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
9670             Chung-Lin Tang  <cltang@codesourcery.com>
9672         * oacc-mem.c (acc_present_or_create): Remove definition and change
9673         to alias of acc_create.
9674         (acc_present_or_copyin): Remove definition and change to alias of
9675         acc_copyin.
9676         * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
9677         of acc_present_or_create.
9678         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
9679         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9680         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9681         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9682         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9683         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9684         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9685         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9686         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9687         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9688         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9689         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9690         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9691         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9692         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9693         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9695 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
9697         PR libgomp/88495
9698         * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
9699         "identical parameters".
9700         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
9701         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
9703         PR libgomp/88484
9704         * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
9705         * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
9707         PR libgomp/88407
9708         * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
9709         (nvptx_wait_async): Unseen async-argument is a no-op.
9710         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
9711         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
9712         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9713         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9714         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
9715         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
9716         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this.  Update.
9717         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
9718         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this.  Update
9720         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
9721         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9723 2018-12-14  Chung-Lin Tang  <cltang@codesourcery.com>
9725         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
9726         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9727         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9729 2018-12-14  Thomas Schwinge  <thomas@codesourcery.com>
9731         PR libgomp/88370
9732         * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
9733         (acc_set_cuda_stream): Clarify.
9734         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
9735         "async_valid_p".
9736         * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
9737         acc_async_sync".
9738         * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
9739         * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
9740         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
9741         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9743 2018-12-14  Tom de Vries  <tdevries@suse.de>
9745         * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
9746         * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
9747         * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
9748         * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
9749         * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
9751 2018-12-13  Tom de Vries  <tdevries@suse.de>
9753         * affinity-fmt.c (gomp_print_string): New function, factored out of ...
9754         (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
9755         * fortran.c (omp_display_affinity_): ... here.
9756         * libgomp.h (gomp_print_string): Declare.
9757         * config/nvptx/affinity-fmt.c: New file.  Include affinity-fmt.c,
9758         undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
9759         write.
9761 2018-12-13  Jakub Jelinek  <jakub@redhat.com>
9763         PR libgomp/88460
9764         * testsuite/libgomp.c++/for-24.C (results): Include it in
9765         omp declare target region.
9766         (main): Use map (always, tofrom: results) instead of
9767         map (tofrom: results).
9769 2018-12-12  Jakub Jelinek  <jakub@redhat.com>
9771         PR fortran/88463
9772         * testsuite/libgomp.fortran/pr88463-1.f90: New test.
9773         * testsuite/libgomp.fortran/pr88463-2.f90: New test.
9775         * testsuite/libgomp.c-c++-common/for-16.c: New test.
9777 2018-12-12  Andreas Schwab  <schwab@suse.de>
9779         * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
9780         clobbered.
9782 2018-12-09  Thomas Koenig  <tkoenig@gcc.gnu.org>
9784         PR fortran/88411
9785         * testsuite/libgomp.fortran/async_io_8.f90: New test.
9787 2018-12-09  Thomas Schwinge  <thomas@codesourcery.com>
9788             Jakub Jelinek  <jakub@redhat.com>
9790         * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
9791         devicep->host2dev_func.
9793 2018-12-08  Jakub Jelinek  <jakub@redhat.com>
9795         PR libgomp/87995
9796         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
9797         tls_runtime effective target.
9798         (t): New threadprivate variable.
9799         (main): Set t in threads which execute iterations of the worksharing
9800         loop.  Propagate that to the task after the loop and don't abort
9801         if the current taskgroup hasn't been cancelled.
9803 2018-12-02  Jakub Jelinek  <jakub@redhat.com>
9805         * testsuite/libgomp.c/task-reduction-3.c: New test.
9807         * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
9809 2018-11-30  Cesar Philippidis  <cesar@codesourcery.com>
9811         PR libgomp/88288
9812         * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
9813         * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
9815 2018-11-30  Thomas Schwinge  <thomas@codesourcery.com>
9817         * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
9819 2018-10-19  Richard Biener  <rguenther@suse.de>
9821         PR tree-optimization/88182
9822         * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
9824 2018-11-26  Jakub Jelinek  <jakub@redhat.com>
9826         * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
9827         (RUNTEST): Don't define.
9828         (RUNTESTDEFAULTFLAGS): Add.
9829         (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
9830         (distclean-am): Depend on distclean-DEJAGNU.
9831         (check-am): If -j% option is present in MFLAGS and if
9832         `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
9833         (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
9834         * testsuite/Makefile.in: Regenerated.
9836 2018-11-26  Richard Biener  <rguenther@suse.de>
9838         PR tree-optimization/88182
9839         * testsuite/libgomp.c++/pr88182.C: New testcase.
9841 2018-11-20  Jakub Jelinek  <jakub@redhat.com>
9843         PR bootstrap/88106
9844         * config/mingw32/affinity-fmt.c: New file.
9846 2018-11-09  Jakub Jelinek  <jakub@redhat.com>
9848         * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
9849         (gomp_display_affinity): Use __builtin_choose_expr to handle
9850         properly handle argument having integral, or pointer or some other
9851         type.  If inttypes.h is available and PRIx64 is defined, use PRIx64
9852         with uint64_t type instead of %llx and unsigned long long.
9854         * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
9855         * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
9857 2018-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
9859         * affinity.c: Include <string.h>, <stdio.h>.
9860         (gomp_display_affinity_place): Remove cpusetp.
9861         * teams.c: Include <limits.h>.
9863 2018-11-08  Jakub Jelinek  <jakub@redhat.com>
9865         * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
9866         in_reduction clause for s[0].
9868         * affinity.c (gomp_display_affinity_place): New function.
9869         * affinity-fmt.c: New file.
9870         * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
9871         * config/linux/affinity.c (gomp_display_affinity_place): New function.
9872         * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
9873         Move these functions to ...
9874         * config/nvptx/teams.c: ... here.  New file.
9875         * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
9876         New functions.
9877         * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
9878         functions.
9879         * configure.ac: Check for aligned_alloc, posix_memalign, memalign
9880         and _aligned_malloc.
9881         (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
9882         * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
9883         * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
9884         gomp_affinity_format_len): New variables.
9885         (parse_schedule): Parse monotonic and nonmonotonic modifiers in
9886         OMP_SCHEDULE variable.  Set GFS_MONOTONIC for monotonic schedules.
9887         (handle_omp_display_env): Display monotonic/nonmonotonic schedule
9888         modifiers.  Display (non-default) chunk sizes.  Print
9889         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
9890         (initialize_env): Don't call pthread_attr_setdetachstate.  Handle
9891         OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
9892         * fortran.c: Include stdio.h and string.h.
9893         (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
9894         (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
9895         (omp_set_affinity_format_, omp_get_affinity_format_,
9896         omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
9897         omp_pause_resource_all_): New functions.
9898         * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
9899         switch.
9900         * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
9901         functions to ...
9902         * teams.c: ... here.  New file.
9903         * libgomp_g.h: Include gstdint.h.
9904         (GOMP_loop_nonmonotonic_runtime_start,
9905         GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
9906         GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
9907         GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
9908         GOMP_parallel_loop_nonmonotonic_runtime,
9909         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9910         GOMP_loop_ull_nonmonotonic_runtime_start,
9911         GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
9912         GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
9913         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9914         GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
9915         GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
9916         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9917         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
9918         GOMP_teams_reg): Declare.
9919         * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
9920         gomp_aligned_alloc uses fallback implementation.
9921         (gomp_aligned_alloc, gomp_aligned_free): Declare.
9922         (enum gomp_schedule_type): Add GFS_MONOTONIC.
9923         (struct gomp_doacross_work_share): Add extra field.
9924         (struct gomp_work_share): Add task_reductions field.
9925         (struct gomp_taskgroup): Add workshare and reductions fields.
9926         (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
9927         (gomp_thread_handle): New typedef.
9928         (gomp_display_affinity_place, gomp_set_affinity_format,
9929         gomp_display_string, gomp_display_affinity,
9930         gomp_display_affinity_thread): Declare.
9931         (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
9932         (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
9933         gomp_workshare_task_reduction_register): Declare.
9934         (gomp_team_start): Add taskgroup argument.
9935         (gomp_pause_host): Declare.
9936         (gomp_init_work_share, gomp_work_share_start): Change bool argument
9937         to size_t.
9938         (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
9939         * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
9940         GOMP_loop_ordered_start, GOMP_loop_doacross_start,
9941         GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
9942         GOMP_loop_ull_doacross_start,
9943         GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
9944         GOMP_loop_maybe_nonmonotonic_runtime_next,
9945         GOMP_loop_maybe_nonmonotonic_runtime_start,
9946         GOMP_loop_nonmonotonic_runtime_next,
9947         GOMP_loop_nonmonotonic_runtime_start,
9948         GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9949         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
9950         GOMP_loop_ull_nonmonotonic_runtime_next,
9951         GOMP_loop_ull_nonmonotonic_runtime_start,
9952         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9953         GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
9954         GOMP_taskgroup_reduction_register,
9955         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9956         GOMP_teams_reg and GOMP_taskwait_depend.
9957         (OMP_5.0): Export omp_pause_resource{,_all}{,_},
9958         omp_{capture,display}_affinity{,_}, and
9959         omp_[gs]et_affinity_format{,_}.
9960         * loop.c: Include string.h.
9961         (GOMP_loop_runtime_next): Add ialias.
9962         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9963         (gomp_loop_static_start, gomp_loop_dynamic_start,
9964         gomp_loop_guided_start, gomp_loop_ordered_static_start,
9965         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
9966         gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
9967         gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
9968         or gomp_doacross_init callers.
9969         (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
9970         GOMP_loop_doacross_start): New functions.
9971         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
9972         GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
9973         Mask off GFS_MONOTONIC bit.
9974         (GOMP_loop_maybe_nonmonotonic_runtime_next,
9975         GOMP_loop_maybe_nonmonotonic_runtime_start,
9976         GOMP_loop_nonmonotonic_runtime_next,
9977         GOMP_loop_nonmonotonic_runtime_start,
9978         GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9979         GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
9980         functions.
9981         (gomp_parallel_loop_start): Pass NULL as taskgroup to
9982         gomp_team_start.
9983         * loop_ull.c: Include string.h.
9984         (GOMP_loop_ull_runtime_next): Add ialias.
9985         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9986         (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
9987         gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
9988         gomp_loop_ull_ordered_dynamic_start,
9989         gomp_loop_ull_ordered_guided_start,
9990         gomp_loop_ull_doacross_static_start,
9991         gomp_loop_ull_doacross_dynamic_start,
9992         gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
9993         and gomp_doacross_ull_init callers.
9994         (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
9995         GOMP_loop_ull_doacross_start): New functions.
9996         (GOMP_loop_ull_runtime_start,
9997         GOMP_loop_ull_ordered_runtime_start,
9998         GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
9999         (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10000         GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10001         GOMP_loop_ull_nonmonotonic_runtime_next,
10002         GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
10003         * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
10004         * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
10005         (omp_pause_resource_t, omp_depend_t): New typedefs.
10006         (enum omp_lock_hint_t): Renamed to ...
10007         (enum omp_sync_hint_t): ... this.  Define omp_sync_hint_*
10008         enumerators using numbers and omp_lock_hint_* as their aliases.
10009         (omp_lock_hint_t): New typedef.  Rename to ...
10010         (omp_sync_hint_t): ... this.
10011         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
10012         omp_sync_hint_t instead of omp_lock_hint_t.
10013         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10014         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10015         Declare.
10016         (omp_target_is_present, omp_target_disassociate_ptr):
10017         Change first argument from void * to const void *.
10018         (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
10019         from void * to const void *.
10020         (omp_target_associate_ptr): Change first and second arguments from
10021         void * to const void *.
10022         * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
10023         omp_pause_hard): New parameters.
10024         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10025         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10026         New interfaces.
10027         * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
10028         omp_pause_hard): New parameters.
10029         (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10030         omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10031         New externals.
10032         * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
10033         EXTRA argument.  If not needed to prepare array, if extra is 0,
10034         clear ws->doacross, otherwise allocate just doacross structure and
10035         extra payload.  If array is needed, allocate also extra payload.
10036         (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
10037         GOMP_doacross_ull_wait): Handle doacross->array == NULL like
10038         doacross == NULL.
10039         * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
10040         gomp_team_start.
10041         (GOMP_parallel): Likewise.  Formatting fix.
10042         (GOMP_parallel_reductions): New function.
10043         (GOMP_cancellation_point): If taskgroup has workshare
10044         flag set, check cancelled of prev taskgroup if any.
10045         (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
10046         on prev taskgroup if any.
10047         * sections.c: Include string.h.
10048         (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10049         (GOMP_sections_start): Adjust gomp_work_share_start caller.
10050         (GOMP_sections2_start): New function.
10051         (GOMP_parallel_sections_start, GOMP_parallel_sections):
10052         Pass NULL as taskgroup to gomp_team_start.
10053         * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
10054         gomp_work_share_start callers.
10055         * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
10056         If taskgroup has workshare flag set, check cancelled on prev
10057         taskgroup if any.  Guard all cancellation tests with
10058         gomp_cancel_var test.
10059         (omp_target_is_present, omp_target_disassociate_ptr):
10060         Change ptr argument from void * to const void *.
10061         (omp_target_memcpy): Change src argument from void * to const void *.
10062         (omp_target_memcpy_rect): Likewise.
10063         (omp_target_memcpy_rect_worker): Likewise.  Use const char * casts
10064         instead of char * where needed.
10065         (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
10066         from void * to const void *.
10067         (omp_pause_resource, omp_pause_resource_all): New functions.
10068         * task.c (gomp_task_handle_depend): Handle new depend array format
10069         in addition to the old.  Handle mutexinoutset kinds the same as
10070         inout for now, handle unspecified kinds.
10071         (gomp_create_target_task): If taskgroup has workshare flag set, check
10072         cancelled on prev taskgroup if any.  Guard all cancellation tests with
10073         gomp_cancel_var test.  Handle new depend array format count in
10074         addition to the old.
10075         (GOMP_task): Likewise.  Adjust function comment.
10076         (gomp_task_run_pre): If taskgroup has workshare flag set, check
10077         cancelled on prev taskgroup if any.  Guard all cancellation tests with
10078         gomp_cancel_var test.
10079         (GOMP_taskwait_depend): New function.
10080         (gomp_task_maybe_wait_for_dependencies): Handle new depend array
10081         format in addition to the old.  Handle mutexinoutset kinds the same as
10082         inout for now, handle unspecified kinds.  Fix a function comment typo.
10083         (gomp_taskgroup_init): New function.
10084         (GOMP_taskgroup_start): Use it.
10085         (gomp_reduction_register, gomp_create_artificial_team,
10086         GOMP_taskgroup_reduction_register,
10087         GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10088         gomp_parallel_reduction_register,
10089         gomp_workshare_task_reduction_register,
10090         gomp_workshare_taskgroup_start,
10091         GOMP_workshare_task_reduction_unregister): New functions.
10092         * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
10093         check cancelled on prev taskgroup if any.  Guard all cancellation
10094         tests with gomp_cancel_var test.  Handle GOMP_TASK_FLAG_REDUCTION flag
10095         by calling GOMP_taskgroup_reduction_register.
10096         * team.c (gomp_thread_attr): Remove comment.
10097         (struct gomp_thread_start_data): Add handle field.
10098         (gomp_thread_start): Call pthread_detach.
10099         (gomp_new_team): Adjust gomp_init_work_share caller.
10100         (gomp_free_pool_helper): Call pthread_detach.
10101         (gomp_team_start): Add taskgroup argument, initialize implicit
10102         tasks' taskgroup field to that.  Don't call
10103         pthread_attr_setdetachstate.  Handle OMP_DISPLAY_AFFINITY env var.
10104         (gomp_team_end): Determine nesting by thr->ts.level != 0
10105         rather than thr->ts.team != NULL.
10106         (gomp_pause_pool_helper, gomp_pause_host): New functions.
10107         * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
10108         gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
10109         (gomp_init_work_share): Change ORDERED argument from bool to size_t,
10110         if more than 1 allocate also extra payload at the end of array.  Never
10111         keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
10112         (gomp_work_share_start): Change ORDERED argument from bool to size_t,
10113         return true instead of ws.
10114         * Makefile.in: Regenerated.
10115         * configure: Regenerated.
10116         * config.h.in: Regenerated.
10117         * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
10118         in some cases.
10119         * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
10120         * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
10121         * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
10122         * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
10123         * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
10124         * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
10125         * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
10126         * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
10127         * testsuite/libgomp.c-c++-common/for-10.c: New test.
10128         * testsuite/libgomp.c-c++-common/for-11.c: New test.
10129         * testsuite/libgomp.c-c++-common/for-12.c: New test.
10130         * testsuite/libgomp.c-c++-common/for-13.c: New test.
10131         * testsuite/libgomp.c-c++-common/for-14.c: New test.
10132         * testsuite/libgomp.c-c++-common/for-15.c: New test.
10133         * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
10134         define a different N(test), don't define N(f0) to N(f14), but instead
10135         define N(f20) to N(f34) using != comparisons.
10136         * testsuite/libgomp.c-c++-common/for-7.c: New test.
10137         * testsuite/libgomp.c-c++-common/for-8.c: New test.
10138         * testsuite/libgomp.c-c++-common/for-9.c: New test.
10139         * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
10140         * testsuite/libgomp.c-c++-common/pause-1.c: New test.
10141         * testsuite/libgomp.c-c++-common/pause-2.c: New test.
10142         * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
10143         * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
10144         * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
10145         * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
10146         * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
10147         * testsuite/libgomp.c-c++-common/simd-1.c: New test.
10148         * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
10149         * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
10150         * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
10151         * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
10152         * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
10153         * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
10154         * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
10155         * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
10156         * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
10157         * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
10158         * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
10159         * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
10160         * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
10161         * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
10162         * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
10163         * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
10164         * testsuite/libgomp.c++/depend-1.C: New test.
10165         * testsuite/libgomp.c++/depend-iterator-1.C: New test.
10166         * testsuite/libgomp.c++/depobj-1.C: New test.
10167         * testsuite/libgomp.c++/for-16.C: New test.
10168         * testsuite/libgomp.c++/for-21.C: New test.
10169         * testsuite/libgomp.c++/for-22.C: New test.
10170         * testsuite/libgomp.c++/for-23.C: New test.
10171         * testsuite/libgomp.c++/for-24.C: New test.
10172         * testsuite/libgomp.c++/for-25.C: New test.
10173         * testsuite/libgomp.c++/for-26.C: New test.
10174         * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
10175         * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
10176         * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
10177         * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
10178         * testsuite/libgomp.c++/task-reduction-10.C: New test.
10179         * testsuite/libgomp.c++/task-reduction-11.C: New test.
10180         * testsuite/libgomp.c++/task-reduction-12.C: New test.
10181         * testsuite/libgomp.c++/task-reduction-13.C: New test.
10182         * testsuite/libgomp.c++/task-reduction-14.C: New test.
10183         * testsuite/libgomp.c++/task-reduction-15.C: New test.
10184         * testsuite/libgomp.c++/task-reduction-16.C: New test.
10185         * testsuite/libgomp.c++/task-reduction-17.C: New test.
10186         * testsuite/libgomp.c++/task-reduction-18.C: New test.
10187         * testsuite/libgomp.c++/task-reduction-19.C: New test.
10188         * testsuite/libgomp.c/task-reduction-1.c: New test.
10189         * testsuite/libgomp.c++/task-reduction-1.C: New test.
10190         * testsuite/libgomp.c/task-reduction-2.c: New test.
10191         * testsuite/libgomp.c++/task-reduction-2.C: New test.
10192         * testsuite/libgomp.c++/task-reduction-3.C: New test.
10193         * testsuite/libgomp.c++/task-reduction-4.C: New test.
10194         * testsuite/libgomp.c++/task-reduction-5.C: New test.
10195         * testsuite/libgomp.c++/task-reduction-6.C: New test.
10196         * testsuite/libgomp.c++/task-reduction-7.C: New test.
10197         * testsuite/libgomp.c++/task-reduction-8.C: New test.
10198         * testsuite/libgomp.c++/task-reduction-9.C: New test.
10199         * testsuite/libgomp.c/teams-1.c: New test.
10200         * testsuite/libgomp.c/teams-2.c: New test.
10201         * testsuite/libgomp.c/thread-limit-4.c: New test.
10202         * testsuite/libgomp.c/thread-limit-5.c: New test.
10203         * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
10205 2018-11-06  Chung-Lin Tang <cltang@codesourcery.com>
10207         * oacc-mem.c (memcpy_tofrom_device): New function, combined from
10208         acc_memcpy_to/from_device functions, now with async parameter.
10209         (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
10210         (acc_memcpy_from_device): Likewise.
10211         (acc_memcpy_to_device_async): New API function.
10212         (acc_memcpy_from_device_async): Likewise.
10213         (present_create_copy): Add async parameter and async setting/unsetting.
10214         (acc_create): Adjust present_create_copy call.
10215         (acc_copyin): Likewise.
10216         (acc_present_or_create): Likewise.
10217         (acc_present_or_copyin): Likewise.
10218         (acc_create_async): New API function.
10219         (acc_copyin_async): New API function.
10220         (delete_copyout): Add async parameter and async setting/unsetting.
10221         (acc_delete): Adjust delete_copyout call.
10222         (acc_copyout): Likewise.
10223         (acc_delete_async): New API function.
10224         (acc_copyout_async): Likewise.
10225         (update_dev_host): Add async parameter and async setting/unsetting.
10226         (acc_update_device): Adjust update_dev_host call.
10227         (acc_update_self): Likewise.
10228         (acc_update_device_async): New API function.
10229         (acc_update_self_async): Likewise.
10230         * openacc.h (acc_copyin_async): Declare new API function.
10231         (acc_create_async): Likewise.
10232         (acc_copyout_async): Likewise.
10233         (acc_delete_async): Likewise.
10234         (acc_update_device_async): Likewise.
10235         (acc_update_self_async): Likewise.
10236         (acc_memcpy_to_device_async): Likewise.
10237         (acc_memcpy_from_device_async): Likewise.
10238         * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
10239         (acc_copyin_async_64_h): New subroutine.
10240         (acc_copyin_async_array_h): New subroutine.
10241         (acc_create_async_32_h): New subroutine.
10242         (acc_create_async_64_h): New subroutine.
10243         (acc_create_async_array_h): New subroutine.
10244         (acc_copyout_async_32_h): New subroutine.
10245         (acc_copyout_async_64_h): New subroutine.
10246         (acc_copyout_async_array_h): New subroutine.
10247         (acc_delete_async_32_h): New subroutine.
10248         (acc_delete_async_64_h): New subroutine.
10249         (acc_delete_async_array_h): New subroutine.
10250         (acc_update_device_async_32_h): New subroutine.
10251         (acc_update_device_async_64_h): New subroutine.
10252         (acc_update_device_async_array_h): New subroutine.
10253         (acc_update_self_async_32_h): New subroutine.
10254         (acc_update_self_async_64_h): New subroutine.
10255         (acc_update_self_async_array_h): New subroutine.
10256         * openacc.f90 (acc_copyin_async_32_h): New subroutine.
10257         (acc_copyin_async_64_h): New subroutine.
10258         (acc_copyin_async_array_h): New subroutine.
10259         (acc_create_async_32_h): New subroutine.
10260         (acc_create_async_64_h): New subroutine.
10261         (acc_create_async_array_h): New subroutine.
10262         (acc_copyout_async_32_h): New subroutine.
10263         (acc_copyout_async_64_h): New subroutine.
10264         (acc_copyout_async_array_h): New subroutine.
10265         (acc_delete_async_32_h): New subroutine.
10266         (acc_delete_async_64_h): New subroutine.
10267         (acc_delete_async_array_h): New subroutine.
10268         (acc_update_device_async_32_h): New subroutine.
10269         (acc_update_device_async_64_h): New subroutine.
10270         (acc_update_device_async_array_h): New subroutine.
10271         (acc_update_self_async_32_h): New subroutine.
10272         (acc_update_self_async_64_h): New subroutine.
10273         (acc_update_self_async_array_h): New subroutine.
10274         * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
10275         acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
10276         acc_delete_finalize_async*, acc_memcpy_from_device_async*,
10277         acc_memcpy_to_device_async*, acc_update_device_async*, and
10278         acc_update_self_async* entries.
10279         * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
10280         * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
10281         * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
10283 2018-10-31  Joseph Myers  <joseph@codesourcery.com>
10285         PR bootstrap/82856
10286         * Makefile.am: Include multilib.am
10287         (AUTOMAKE_OPTIONS): Add info-in-builddir.
10288         (CLEANFILES): Remove libgomp.info.
10289         * configure.ac: Remove AC_PREREQ.
10290         * testsuite/Makefile.am (RUNTEST): Remove quotes.
10291         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
10292         Regenerate.
10294 2018-10-29  Joseph Myers  <joseph@codesourcery.com>
10295             Julian Brown  <julian@codesourcery.com>
10297         * testsuite/libgomp.oacc-c++/this.C: New.
10299 2018-09-18  Cesar Philippidis  <cesar@codesourcery.com>
10301         * plugin/plugin-nvptx.c (struct cuda_map): New.
10302         (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
10303         h_tail with (cuda_map *) map.
10304         (cuda_map_create): New function.
10305         (cuda_map_destroy): New function.
10306         (map_init): Update to use a linked list of cuda_map objects.
10307         (map_fini): Likewise.
10308         (map_pop): Likewise.
10309         (map_push): Likewise.  Return CUdeviceptr instead of void.
10310         (init_streams_for_device): Remove stales references to ptx_stream
10311         members.
10312         (select_stream_for_async): Likewise.
10313         (nvptx_exec): Update call to map_init.
10315 2018-09-09  Cesar Philippidis  <cesar@codesourcery.com>
10316             Julian Brown  <julian@codesourcery.com>
10318         PR middle-end/86336
10319         * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
10321 2018-08-21  Nicolas Koenig  <koenigni@gcc.gnu.org>
10322         Thomas Koenig <tkoenig@gcc.gnu.org>
10324         PR fortran/25829
10325         * testsuite/libgomp.fortran/async_io_1.f90: New test.
10326         * testsuite/libgomp.fortran/async_io_2.f90: New test.
10327         * testsuite/libgomp.fortran/async_io_3.f90: New test.
10328         * testsuite/libgomp.fortran/async_io_4.f90: New test.
10329         * testsuite/libgomp.fortran/async_io_5.f90: New test.
10330         * testsuite/libgomp.fortran/async_io_6.f90: New test.
10331         * testsuite/libgomp.fortran/async_io_7.f90: New test.
10333 2018-08-13  Cesar Philippidis  <cesar@codesourcery.com>
10334             Tom de Vries  <tdevries@suse.de>
10336         PR target/85590
10337         * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
10338         (cuOccupancyMaxPotentialBlockSize): Declare.
10339         * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
10340         CUDA_ONE_CALL_MAYBE_NULL.
10341         * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
10342         CUoccupancyB2DSize and declare
10343         cuOccupancyMaxPotentialBlockSize.
10344         (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
10345         default num_gangs and num_workers when the driver supports it.
10347 2018-08-08  Tom de Vries  <tdevries@suse.de>
10349         * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
10350         CUDA_ONE_CALL_MAYBE_NULL.
10351         * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
10352         (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
10353         (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
10354         are not found.
10356 2018-08-08  Tom de Vries  <tdevries@suse.de>
10358         * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
10359         * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
10360         present.
10362 2018-08-08  Tom de Vries  <tdevries@suse.de>
10364         * plugin/plugin-nvptx.c
10365         (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
10366         (nvptx_open_device): Use
10367         CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
10369 2018-08-08  Tom de Vries  <tdevries@suse.de>
10371         * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
10372         (cuGetErrorString): ... here.  Guard with CUDA_VERSION < 6000.
10374 2018-08-07  Tom de Vries  <tdevries@suse.de>
10376         * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
10377         (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
10378         (init_cuda_lib): Add new param to CUDA_ONE_CALL_1.  Add arg to
10379         corresponding call in CUDA_ONE_CALL.  Add def/undef of
10380         CUDA_ONE_CALL_MAYBE_NULL.
10381         (CUDA_CALL_EXISTS): Define.
10383 2018-08-07  Tom de Vries  <tdevries@suse.de>
10385         * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
10386         CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
10387         corresponding undefs right after.
10389 2018-08-04  Tom de Vries  <tdevries@suse.de>
10391         * plugin/configfrag.ac: For --without-cuda-driver, set
10392         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no.  Handle
10393         CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
10394         * configure: Regenerate.
10396 2018-08-02  Tom de Vries  <tdevries@suse.de>
10398         PR target/86660
10399         * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
10400         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
10401         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10402         Same.
10403         * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
10404         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
10405         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
10407 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
10408             Thomas Schwinge <thomas@codesourcery.com>
10410         * config/nvptx/oacc-parallel.c: Truncate.
10412 2018-08-01  Cesar Philippidis  <cesar@codesourcery.com>
10413             James Norris <jnorris@codesourcery.com>
10415         * plugin/plugin-nvptx.c (struct map): Removed.
10416         (map_init, map_pop): Remove use of struct map.
10417         (map_push): Likewise and change argument list.
10418         * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
10420 2018-08-01  Tom de Vries  <tdevries@suse.de>
10422         * plugin/cuda-lib.def: New file.  Factor out of ...
10423         * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
10424         (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
10425         using CUDA_CALLS.
10427 2018-07-31  Andre Vieira  <andre.simoesdiasvieira@arm.com>
10429         Revert 'AsyncI/O patch committed'.
10430         2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
10431                 Thomas Koenig <tkoenig@gcc.gnu.org>
10433         PR fortran/25829
10434         * testsuite/libgomp.fortran/async_io_1.f90: New test.
10435         * testsuite/libgomp.fortran/async_io_2.f90: New test.
10436         * testsuite/libgomp.fortran/async_io_3.f90: New test.
10437         * testsuite/libgomp.fortran/async_io_4.f90: New test.
10438         * testsuite/libgomp.fortran/async_io_5.f90: New test.
10439         * testsuite/libgomp.fortran/async_io_6.f90: New test.
10440         * testsuite/libgomp.fortran/async_io_7.f90: New test.
10442 2018-07-30  Tom de Vries  <tdevries@suse.de>
10444         * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
10445         (nvptx_exec): Ensure worker and vector default dims don't exceed
10446         targ_fn->max_threads_per_block.
10448 2018-07-30  Tom de Vries  <tdevries@suse.de>
10450         * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
10451         (nvptx_open_device): Init default_dims for device.
10452         (nvptx_exec): Use default_dims from device.
10454 2018-07-26  Jakub Jelinek  <jakub@redhat.com>
10456         PR testsuite/86660
10457         * testsuite/libgomp.c++/for-15.C (results): Include it in
10458         omp declare target region.
10459         (main): Use map (always, tofrom: results) instead of
10460         map (tofrom: results).
10462         PR middle-end/86660
10463         * testsuite/libgomp.c/pr86660.c: New test.
10465 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
10466             Tom de Vries  <tdevries@suse.de>
10468         * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
10469         sufficient resources to launch a kernel, and give a hint on how to fix
10470         it.
10472 2018-07-26  Cesar Philippidis  <cesar@codesourcery.com>
10473             Tom de Vries  <tdevries@suse.de>
10475         * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
10476         max_threads_per_block and max_threads_per_multiprocessor fields.
10477         (nvptx_open_device): Initialize new fields.
10478         (nvptx_exec): Use num_sms, and new fields.
10480 2018-07-26  Tom de Vries  <tdevries@suse.de>
10482         * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
10483         to correct locations.  Remove xfail.
10485 2018-07-26  Tom de Vries  <tdevries@suse.de>
10487         * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
10488         acc_wait.  Move acc_async_test calls to correct locations.  Remove
10489         xfail.
10491 2018-07-25  Nicolas Koenig  <koenigni@gcc.gnu.org>
10492         Thomas Koenig <tkoenig@gcc.gnu.org>
10494         PR fortran/25829
10495         * testsuite/libgomp.fortran/async_io_1.f90: New test.
10496         * testsuite/libgomp.fortran/async_io_2.f90: New test.
10497         * testsuite/libgomp.fortran/async_io_3.f90: New test.
10498         * testsuite/libgomp.fortran/async_io_4.f90: New test.
10499         * testsuite/libgomp.fortran/async_io_5.f90: New test.
10500         * testsuite/libgomp.fortran/async_io_6.f90: New test.
10501         * testsuite/libgomp.fortran/async_io_7.f90: New test.
10503 2018-07-17  Jakub Jelinek  <jakub@redhat.com>
10505         PR middle-end/86542
10506         * testsuite/libgomp.c++/pr86542.C: New test.
10508         PR middle-end/86539
10509         * testsuite/libgomp.c++/pr86539.C: New test.
10511 2018-07-11  Jakub Jelinek  <jakub@redhat.com>
10513         PR c++/86443
10514         * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
10515         (results): Make sure the variable is not inside declare target region.
10516         (qux): Remove unused function.
10518 2018-07-10  Jakub Jelinek  <jakub@redhat.com>
10520         PR c++/86443
10521         * testsuite/libgomp.c++/for-15.C: New test.
10523 2018-06-26  Jakub Jelinek  <jakub@redhat.com>
10525         PR c++/86291
10526         * testsuite/libgomp.c++/pr86291.C: New test.
10528 2018-06-24  Gerald Pfeifer  <gerald@pfeifer.com>
10530         * libgomp.texi (Top): Move www.openmp.org to https.
10531         (Enabling OpenMP): Ditto.
10532         (omp_get_active_level): Ditto.
10533         (omp_get_ancestor_thread_num): Ditto.
10534         (omp_get_cancellation): Ditto.
10535         (omp_get_default_device): Ditto.
10536         (omp_get_dynamic): Ditto.
10537         (omp_get_level): Ditto.
10538         (omp_get_max_active_levels): Ditto.
10539         (omp_get_max_task_priority): Ditto.
10540         (omp_get_max_threads): Ditto.
10541         (omp_get_nested): Ditto.
10542         (omp_get_num_devices): Ditto.
10543         (omp_get_num_procs): Ditto.
10544         (omp_get_num_teams): Ditto.
10545         (omp_get_num_threads): Ditto.
10546         (omp_get_proc_bind): Ditto.
10547         (omp_get_schedule): Ditto.
10548         (omp_get_team_num): Ditto.
10549         (omp_get_team_size): Ditto.
10550         (omp_get_thread_limit): Ditto.
10551         (omp_get_thread_num): Ditto.
10552         (omp_in_parallel): Ditto.
10553         (omp_in_final): Ditto.
10554         (omp_is_initial_device): Ditto.
10555         (omp_set_default_device): Ditto.
10556         (omp_set_dynamic): Ditto.
10557         (omp_set_max_active_levels): Ditto.
10558         (omp_set_nested): Ditto.
10559         (omp_set_num_threads): Ditto.
10560         (omp_set_schedule): Ditto.
10561         (omp_init_lock): Ditto.
10562         (omp_set_lock): Ditto.
10563         (omp_test_lock): Ditto.
10564         (omp_unset_lock): Ditto.
10565         (omp_destroy_lock): Ditto.
10566         (omp_init_nest_lock): Ditto.
10567         (omp_set_nest_lock): Ditto.
10568         (omp_test_nest_lock): Ditto.
10569         (omp_unset_nest_lock): Ditto.
10570         (omp_destroy_nest_lock): Ditto.
10571         (omp_get_wtick): Ditto.
10572         (omp_get_wtime): Ditto.
10573         (OMP_CANCELLATION): Ditto.
10574         (OMP_DISPLAY_ENV): Ditto.
10575         (OMP_DEFAULT_DEVICE): Ditto.
10576         (OMP_DYNAMIC): Ditto.
10577         (OMP_MAX_ACTIVE_LEVELS): Ditto.
10578         (OMP_MAX_TASK_PRIORITY): Ditto.
10579         (OMP_NESTED): Ditto.
10580         (OMP_NUM_THREADS): Ditto.
10581         (OMP_PROC_BIND): Ditto.
10582         (OMP_PLACES): Ditto.
10583         (OMP_STACKSIZE): Ditto.
10584         (OMP_SCHEDULE): Ditto.
10585         (OMP_THREAD_LIMIT): Ditto.
10586         (OMP_WAIT_POLICY): Ditto.
10588 2018-06-22  Cesar Philippidis  <cesar@codesourcery.com>
10589             James Norris  <jnorris@codesourcery.com>
10590             Julian Brown  <julian@codesourcery.com>
10591             Thomas Schwinge  <thomas@codesourcery.com>
10592             Tom de Vries  <tom@codesourcery.com>
10594         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
10595         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
10596         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
10597         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
10598         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
10599         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
10600         * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
10601         * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
10602         * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
10603         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
10604         Likewise.
10605         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10606         Likewise.
10607         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10608         Likewise.
10609         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
10610         Likewise.
10611         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
10612         Likewise.
10613         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10614         Likewise.
10615         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
10616         Likewise.
10617         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
10618         Likewise.
10619         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
10620         Likewise.
10621         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
10622         Likewise.
10623         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
10624         Likewise.
10625         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
10626         Likewise.
10627         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
10628         Likewise.
10629         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
10630         Likewise.
10631         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
10632         Likewise.
10633         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
10634         Likewise.
10635         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
10636         Likewise.
10637         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
10638         Likewise.
10639         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
10640         Likewise.
10641         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
10642         Likewise.
10643         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
10644         Likewise.
10645         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
10646         Likewise.
10647         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
10648         Likewise.
10649         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
10650         Likewise.
10651         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
10652         Likewise.
10653         * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
10654         Likewise.
10655         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
10656         Likewise.
10657         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
10658         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
10659         * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
10660         * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
10661         * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
10662         * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
10663         * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
10664         * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
10665         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
10666         Likewise.
10667         * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
10668         Likewise.
10669         * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
10670         * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
10671         * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
10672         Likewise.
10673         * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
10674         * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
10675         * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
10676         Likewise.
10677         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
10678         Likewise.
10679         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
10680         Likewise.
10681         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
10682         Likewise.
10683         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
10684         Likewise.
10685         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
10686         Likewise.
10687         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
10688         Likewise.
10689         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
10690         Likewise.
10691         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
10692         Likewise.
10693         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
10694         Likewise.
10695         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
10696         Likewise.
10697         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
10698         Likewise.
10699         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
10700         Likewise.
10701         * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
10702         Likewise.
10703         * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
10704         Likewise.
10705         * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10706         * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
10707         * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
10708         * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
10709         * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
10710         * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
10711         * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
10713 2018-06-20  Chung-Lin Tang <cltang@codesourcery.com>
10714             Thomas Schwinge <thomas@codesourcery.com>
10715             Cesar Philippidis  <cesar@codesourcery.com>
10717         * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
10718         (gomp_acc_remove_pointer): Update declaration.
10719         (gomp_acc_declare_allocate): Declare.
10720         (gomp_remove_var): Declare.
10721         * libgomp.map (OACC_2.5): Define.
10722         * oacc-mem.c (acc_map_data): Update refcount.
10723         (acc_unmap_data): Likewise.
10724         (present_create_copy): Likewise.
10725         (acc_create): Add FLAG_PRESENT when calling present_create_copy.
10726         (acc_copyin): Likewise.
10727         (FLAG_FINALIZE): Define.
10728         (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
10729         (acc_delete_finalize): New function.
10730         (acc_delete_finalize_async): New function.
10731         (acc_copyout_finalize): New function.
10732         (acc_copyout_finalize_async): New function.
10733         (gomp_acc_insert_pointer): Update refcounts.
10734         (gomp_acc_remove_pointer): Return if data is not present on the
10735         accelerator.
10736         * oacc-parallel.c (find_pset): Rename to find_pointer.
10737         (find_pointer): Add support for GOMP_MAP_POINTER.
10738         (handle_ftn_pointers): New function.
10739         (GOACC_parallel_keyed): Update refcounts of variables.
10740         (GOACC_enter_exit_data): Add support for finalized data mappings.
10741         Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
10742         of fortran arrays.
10743         (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
10744         (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
10745         for GOMP_MAP_FORCE_FROM.
10746         * openacc.f90 (module openacc_internal): Add
10747         acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
10748         acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
10749         acc_copyout_finalize and acc_delete_finalize.
10750         (acc_copyout_finalize_32_h): New subroutine.
10751         (acc_copyout_finalize_64_h): New subroutine.
10752         (acc_copyout_finalize_array_h): New subroutine.
10753         (acc_delete_finalize_32_h): New subroutine.
10754         (acc_delete_finalize_64_h): New subroutine.
10755         (acc_delete_finalize_array_h): New subroutine.
10756         * openacc.h (acc_copyout_finalize): Declare.
10757         (acc_copyout_finalize_async): Declare.
10758         (acc_delete_finalize): Declare.
10759         (acc_delete_finalize_async): Declare.
10760         * openacc_lib.h (acc_copyout_finalize): New interface.
10761         (acc_delete_finalize): New interface.
10762         * target.c (gomp_map_vars): Update dynamic_refcount.
10763         (gomp_remove_var): New function.
10764         (gomp_unmap_vars): Use it.
10765         (gomp_unload_image_from_device): Likewise.
10766         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
10767         case to utilize OpenACC 2.5 data clause semantics.
10768         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10769         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10770         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10771         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10772         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10773         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10774         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10775         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10776         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10777         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
10778         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
10779         * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
10780         * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
10781         utilize OpenACC 2.5 data clause semantics.
10782         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10783         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10784         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10785         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10786         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10787         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10788         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10789         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
10790         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
10792 2018-05-21  Janus Weil  <janus@gcc.gnu.org>
10794         PR fortran/85841
10795         PR testsuite/85865
10796         * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
10797         * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
10798         * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
10799         * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
10800         * testsuite/libgomp.fortran/task2.f90: Ditto.
10801         * testsuite/libgomp.fortran/vla1.f90: Ditto.
10802         * testsuite/libgomp.fortran/vla2.f90: Ditto.
10803         * testsuite/libgomp.fortran/vla3.f90: Ditto.
10804         * testsuite/libgomp.fortran/vla4.f90: Ditto.
10805         * testsuite/libgomp.fortran/vla5.f90: Ditto.
10806         * testsuite/libgomp.fortran/vla6.f90: Ditto.
10807         * testsuite/libgomp.fortran/vla8.f90: Ditto.
10808         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
10809         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
10811 2018-05-18  Cesar Philippidis  <cesar@codesourcery.com>
10813         PR c++/85782
10814         * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
10816 2018-05-09  Tom de Vries  <tom@codesourcery.com>
10818         PR libgomp/82901
10819         * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
10820         to GOACC_enter_exit_data.
10822 2018-05-09  Tom de Vries  <tom@codesourcery.com>
10824         PR libgomp/83792
10825         * oacc-int.h (async_valid_stream_id_p, async_valid_p)
10826         (async_synchronous_p): New function.
10827         * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
10828         async_valid_p.
10829         * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10830         async_valid_stream_id_p.
10831         * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
10832         * oacc-parallel.c (GOACC_parallel_keyed): Same.
10834 2018-05-07  Tom de Vries  <tom@codesourcery.com>
10836         PR testsuite/85677
10837         * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
10838         include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
10840 2018-05-03  Tom de Vries  <tom@codesourcery.com>
10842         PR testsuite/85106
10843         * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
10844         extra_tool_flags if it contains an -foffload=-fdump-* flag.
10845         * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
10846         * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
10848 2018-05-02  Tom de Vries  <tom@codesourcery.com>
10850         PR libgomp/85411
10851         * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
10852         GOMP_OPENACC_DIM ...
10853         * env.c (parse_gomp_openacc_dim): ... here.  New function.
10854         (initialize_env): Call parse_gomp_openacc_dim.
10855         (goacc_default_dims): Define.
10856         * libgomp.h (goacc_default_dims): Declare.
10857         * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
10858         * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
10859         * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
10860         GOMP_PLUGIN_acc_default_dim.
10861         * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
10862         * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
10864 2018-05-02  Tom de Vries  <tom@codesourcery.com>
10866         PR testsuite/83791
10867         * testsuite/libgomp.c++/udr-9.C: Update.
10868         * testsuite/libgomp.c++/atomic-16.C: Remove.
10869         * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
10870         * testsuite/libgomp.c++/loop-13.C: Remove.
10871         * testsuite/libgomp.c++/loop-14.C: Remove.
10872         * testsuite/libgomp.c++/loop-15.C: Remove.
10873         * testsuite/libgomp.c++/monotonic-1.C: Remove.
10874         * testsuite/libgomp.c++/monotonic-2.C: Remove.
10875         * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
10876         * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
10877         * testsuite/libgomp.c++/ordered-1.C: Remove.
10878         * testsuite/libgomp.c++/pr45784.C: Remove.
10879         * testsuite/libgomp.c++/pr64824.C: Remove.
10880         * testsuite/libgomp.c++/pr64868.C: Remove.
10881         * testsuite/libgomp.c++/pr66199-1.C: Remove.
10882         * testsuite/libgomp.c++/pr66199-2.C: Remove.
10883         * testsuite/libgomp.c++/pr66199-3.C: Remove.
10884         * testsuite/libgomp.c++/pr66199-4.C: Remove.
10885         * testsuite/libgomp.c++/pr66199-5.C: Remove.
10886         * testsuite/libgomp.c++/pr66199-6.C: Remove.
10887         * testsuite/libgomp.c++/pr66199-7.C: Remove.
10888         * testsuite/libgomp.c++/pr66199-8.C: Remove.
10889         * testsuite/libgomp.c++/pr66199-9.C: Remove.
10890         * testsuite/libgomp.c++/pr69389.C: Remove.
10891         * testsuite/libgomp.c++/simd10.C: Remove.
10892         * testsuite/libgomp.c++/simd11.C: Remove.
10893         * testsuite/libgomp.c++/simd12.C: Remove.
10894         * testsuite/libgomp.c++/simd13.C: Remove.
10895         * testsuite/libgomp.c++/target-1.C: Remove.
10896         * testsuite/libgomp.c++/target-3.C: Remove.
10897         * testsuite/libgomp.c++/target-4.C: Remove.
10898         * testsuite/libgomp.c++/target-5.C: Remove.
10899         * testsuite/libgomp.c++/taskgroup-1.C: Remove.
10900         * testsuite/libgomp.c++/taskloop-1.C: Remove.
10901         * testsuite/libgomp.c++/taskloop-2.C: Remove.
10902         * testsuite/libgomp.c++/taskloop-3.C: Remove.
10903         * testsuite/libgomp.c++/taskloop-4.C: Remove.
10904         * testsuite/libgomp.c++/udr-9.C: Remove.
10905         * testsuite/libgomp.c++/for-10.C: Remove.
10906         * testsuite/libgomp.c++/for-11.C: Remove.
10907         * testsuite/libgomp.c++/for-12.C: Remove.
10908         * testsuite/libgomp.c++/for-13.C: Remove.
10909         * testsuite/libgomp.c++/for-14.C: Remove.
10910         * testsuite/libgomp.c++/for-9.C: Remove.
10911         * testsuite/libgomp.c/atomic-18.c: Move ...
10912         * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
10913         * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
10914         * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
10915         * testsuite/libgomp.c/loop-13.c: Move ...
10916         * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
10917         * testsuite/libgomp.c/loop-14.c: Move ...
10918         * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
10919         * testsuite/libgomp.c/loop-15.c: Remove.
10920         * testsuite/libgomp.c-c++-common/loop-15.c: New test.
10921         * testsuite/libgomp.c/monotonic-1.c: Move ...
10922         * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
10923         * testsuite/libgomp.c/monotonic-2.c: Move ...
10924         * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
10925         * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
10926         * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
10927         * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
10928         * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
10929         * testsuite/libgomp.c/ordered-4.c: Move ...
10930         * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
10931         * testsuite/libgomp.c/pr45784.c: Move ...
10932         * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
10933         * testsuite/libgomp.c/pr64824.c: Move ...
10934         * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
10935         * testsuite/libgomp.c/pr64868.c: Move ...
10936         * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
10937         * testsuite/libgomp.c/pr66199-1.c: Move ...
10938         * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
10939         * testsuite/libgomp.c/pr66199-2.c: Move ...
10940         * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
10941         * testsuite/libgomp.c/pr66199-3.c: Move ...
10942         * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
10943         * testsuite/libgomp.c/pr66199-4.c: Move ...
10944         * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
10945         * testsuite/libgomp.c/pr66199-5.c: Move ...
10946         * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
10947         * testsuite/libgomp.c/pr66199-6.c: Move ...
10948         * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
10949         * testsuite/libgomp.c/pr66199-7.c: Move ...
10950         * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
10951         * testsuite/libgomp.c/pr66199-8.c: Move ...
10952         * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
10953         * testsuite/libgomp.c/pr66199-9.c: Move ...
10954         * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
10955         * testsuite/libgomp.c/pr69389.c: Move ...
10956         * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
10957         * testsuite/libgomp.c/simd-14.c: Move ...
10958         * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
10959         * testsuite/libgomp.c/simd-15.c: Move ...
10960         * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
10961         * testsuite/libgomp.c/simd-16.c: Move ...
10962         * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
10963         * testsuite/libgomp.c/simd-17.c: Move ...
10964         * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
10965         * testsuite/libgomp.c/target-1.c: Move ...
10966         * testsuite/libgomp.c-c++-common/target-1.c: ... here.
10967         * testsuite/libgomp.c/target-10.c: Move ...
10968         * testsuite/libgomp.c-c++-common/target-10.c: ... here.
10969         * testsuite/libgomp.c/target-13.c: Move ...
10970         * testsuite/libgomp.c-c++-common/target-13.c: ... here.
10971         * testsuite/libgomp.c/target-2.c: Move ...
10972         * testsuite/libgomp.c-c++-common/target-2.c: ... here.
10973         * testsuite/libgomp.c/taskgroup-1.c: Move ...
10974         * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
10975         * testsuite/libgomp.c/taskloop-1.c: Move ...
10976         * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
10977         * testsuite/libgomp.c/taskloop-2.c: Move ...
10978         * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
10979         * testsuite/libgomp.c/taskloop-3.c: Move ...
10980         * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
10981         * testsuite/libgomp.c/taskloop-4.c: Move ...
10982         * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
10983         * testsuite/libgomp.c/udr-1.c: Move ...
10984         * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
10985         * testsuite/libgomp.c/for-1.c: Move ...
10986         * testsuite/libgomp.c-c++-common/for-1.c: ... here.
10987         * testsuite/libgomp.c/for-1.h: Move ...
10988         * testsuite/libgomp.c-c++-common/for-1.h: ... here.
10989         * testsuite/libgomp.c/for-2.c: Move ...
10990         * testsuite/libgomp.c-c++-common/for-2.c: ... here.
10991         * testsuite/libgomp.c/for-2.h: Move ...
10992         * testsuite/libgomp.c-c++-common/for-2.h: ... here.
10993         * testsuite/libgomp.c/for-3.c: Move ...
10994         * testsuite/libgomp.c-c++-common/for-3.c: ... here.
10995         * testsuite/libgomp.c/for-4.c: Move ...
10996         * testsuite/libgomp.c-c++-common/for-4.c: ... here.
10997         * testsuite/libgomp.c/for-5.c: Move ...
10998         * testsuite/libgomp.c-c++-common/for-5.c: ... here.
10999         * testsuite/libgomp.c/for-6.c: Move ...
11000         * testsuite/libgomp.c-c++-common/for-6.c: ... here.
11002 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11004         PR libgomp/82428
11005         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
11006         __builtin_goacc_parlevel_{id,size}.
11007         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
11008         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
11009         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
11010         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
11011         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11012         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
11013         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
11014         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
11015         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
11016         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
11017         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
11018         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
11019         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
11020         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
11021         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
11022         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
11023         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
11024         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
11025         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
11026         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
11027         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
11028         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
11029         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
11031 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11033         PR testsuite/85106
11034         * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
11036 2018-05-02  Tom de Vries  <tom@codesourcery.com>
11038         PR testsuite/85106
11039         * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
11041 2018-04-29  Julian Brown  <julian@codesourcery.com>
11042             Tom de Vries  <tom@codesourcery.com>
11044         PR testsuite/85527
11045         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
11046         arbitrary order for iterations of atomic subtract check.
11048 2018-04-28  Tom de Vries  <tom@codesourcery.com>
11050         PR testsuite/85527
11051         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
11052         atomic capture results obtained in parallel loop to an array, instead of
11053         to a scalar.
11055 2018-04-26  Tom de Vries  <tom@codesourcery.com>
11057         PR libgomp/84020
11058         * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
11059         * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
11060         (process_GOMP_NVPTX_JIT): New function.
11061         (link_ptx): Use process_GOMP_NVPTX_JIT.
11063 2018-04-26  Richard Biener <rguenther@suse.de>
11064             Tom de Vries  <tom@codesourcery.com>
11066         PR lto/85422
11067         * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
11069 2018-04-26  Tom de Vries  <tom@codesourcery.com>
11071         PR target/85519
11072         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
11073         recursion depth from 25 to 23.
11074         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
11076 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
11078         * configure: Regenerated.
11080 2018-04-20  Nathan Sidwell  <nathan@codesourcery.com>
11081             Tom de Vries  <tom@codesourcery.com>
11083         PR target/85445
11084         * testsuite/libgomp.oacc-c++/ref-1.C: New.
11086 2018-04-19  Thomas Schwinge  <thomas@codesourcery.com>
11088         PR libgomp/85463
11089         * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
11090         * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
11091         * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
11092         * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
11093         * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
11094         * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
11096         PR libfortran/85166
11097         * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
11098         abort".
11099         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11101 2018-04-19  Jakub Jelinek  <jakub@redhat.com>
11103         * configure: Regenerated.
11105 2018-04-18  David Malcolm  <dmalcolm@redhat.com>
11107         PR jit/85384
11108         * configure: Regenerate.
11110 2018-04-16  Cesar Philippidis  <cesar@codesourcery.com>
11111             Tom de Vries  <tom@codesourcery.com>
11113         PR middle-end/84955
11114         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11115         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11117 2018-04-12  Thomas Koenig  <tkoenig@gcc.gnu.org>
11119         PR fortran/83064
11120         PR testsuite/85346
11121         * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
11122         test from gfortran.dg to here.
11124 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
11126         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
11127         * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
11129 2018-04-12  Cesar Philippidis  <cesar@codesourcery.com>
11131         PR middle-end/84955
11132         * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11133         * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11135 2018-04-05  Tom de Vries  <tom@codesourcery.com>
11137         PR target/85204
11138         * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
11140 2018-03-26  Tom de Vries  <tom@codesourcery.com>
11142         PR tree-optimization/85063
11143         * testsuite/libgomp.c/switch-conversion-2.c: New test.
11144         * testsuite/libgomp.c/switch-conversion.c: New test.
11145         * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
11146         * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
11148 2018-03-25  Thomas Koenig  <tkoenig@gcc.gnu.org>
11150         PR fortran/84381
11151         * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
11152         call abort by STOP n.
11153         * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
11154         * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
11155         * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
11156         * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
11157         * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
11158         * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
11159         * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
11160         * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
11161         * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
11162         * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
11163         * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
11164         * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
11165         * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
11166         * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
11167         * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
11168         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
11169         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
11170         * testsuite/libgomp.fortran/associate1.f90: Likewise.
11171         * testsuite/libgomp.fortran/associate2.f90: Likewise.
11172         * testsuite/libgomp.fortran/associate3.f90: Likewise.
11173         * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
11174         * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
11175         * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
11176         * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
11177         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
11178         * testsuite/libgomp.fortran/character1.f90: Likewise.
11179         * testsuite/libgomp.fortran/character2.f90: Likewise.
11180         * testsuite/libgomp.fortran/collapse1.f90: Likewise.
11181         * testsuite/libgomp.fortran/collapse2.f90: Likewise.
11182         * testsuite/libgomp.fortran/collapse3.f90: Likewise.
11183         * testsuite/libgomp.fortran/collapse4.f90: Likewise.
11184         * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
11185         * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
11186         * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
11187         * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11188         * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
11189         * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
11190         * testsuite/libgomp.fortran/depend-1.f90: Likewise.
11191         * testsuite/libgomp.fortran/depend-2.f90: Likewise.
11192         * testsuite/libgomp.fortran/depend-3.f90: Likewise.
11193         * testsuite/libgomp.fortran/do1.f90: Likewise.
11194         * testsuite/libgomp.fortran/do2.f90: Likewise.
11195         * testsuite/libgomp.fortran/doacross1.f90: Likewise.
11196         * testsuite/libgomp.fortran/doacross2.f90: Likewise.
11197         * testsuite/libgomp.fortran/doacross3.f90: Likewise.
11198         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
11199         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
11200         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
11201         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
11202         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
11203         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
11204         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
11205         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
11206         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
11207         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
11208         * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
11209         * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
11210         * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
11211         * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
11212         * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
11213         * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
11214         * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
11215         * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
11216         * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
11217         * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
11218         * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
11219         * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
11220         * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
11221         * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
11222         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
11223         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
11224         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
11225         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
11226         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
11227         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
11228         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
11229         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
11230         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
11231         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
11232         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
11233         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
11234         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
11235         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
11236         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
11237         * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
11238         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
11239         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
11240         * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
11241         * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
11242         * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
11243         * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
11244         * testsuite/libgomp.fortran/lib1.f90: Likewise.
11245         * testsuite/libgomp.fortran/lib2.f: Likewise.
11246         * testsuite/libgomp.fortran/lib3.f: Likewise.
11247         * testsuite/libgomp.fortran/lib4.f90: Likewise.
11248         * testsuite/libgomp.fortran/lock-1.f90: Likewise.
11249         * testsuite/libgomp.fortran/lock-2.f90: Likewise.
11250         * testsuite/libgomp.fortran/nested1.f90: Likewise.
11251         * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
11252         * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
11253         * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
11254         * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
11255         * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
11256         * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
11257         * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
11258         * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
11259         * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
11260         * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
11261         * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
11262         * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
11263         * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
11264         * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
11265         * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
11266         * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
11267         * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
11268         * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
11269         * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
11270         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11271         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
11272         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
11273         * testsuite/libgomp.fortran/pointer1.f90: Likewise.
11274         * testsuite/libgomp.fortran/pointer2.f90: Likewise.
11275         * testsuite/libgomp.fortran/pr25162.f: Likewise.
11276         * testsuite/libgomp.fortran/pr25219.f90: Likewise.
11277         * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
11278         * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
11279         * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
11280         * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
11281         * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
11282         * testsuite/libgomp.fortran/pr28390.f: Likewise.
11283         * testsuite/libgomp.fortran/pr29629.f90: Likewise.
11284         * testsuite/libgomp.fortran/pr32550.f90: Likewise.
11285         * testsuite/libgomp.fortran/pr33880.f90: Likewise.
11286         * testsuite/libgomp.fortran/pr34020.f90: Likewise.
11287         * testsuite/libgomp.fortran/pr35130.f90: Likewise.
11288         * testsuite/libgomp.fortran/pr42162.f90: Likewise.
11289         * testsuite/libgomp.fortran/pr46753.f90: Likewise.
11290         * testsuite/libgomp.fortran/pr48894.f90: Likewise.
11291         * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
11292         * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
11293         * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
11294         * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
11295         * testsuite/libgomp.fortran/pr65597.f90: Likewise.
11296         * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
11297         * testsuite/libgomp.fortran/pr71014.f90: Likewise.
11298         * testsuite/libgomp.fortran/pr81304.f90: Likewise.
11299         * testsuite/libgomp.fortran/pr81841.f90: Likewise.
11300         * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
11301         * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
11302         * testsuite/libgomp.fortran/procptr1.f90: Likewise.
11303         * testsuite/libgomp.fortran/recursion1.f90: Likewise.
11304         * testsuite/libgomp.fortran/reduction1.f90: Likewise.
11305         * testsuite/libgomp.fortran/reduction2.f90: Likewise.
11306         * testsuite/libgomp.fortran/reduction3.f90: Likewise.
11307         * testsuite/libgomp.fortran/reduction4.f90: Likewise.
11308         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11309         * testsuite/libgomp.fortran/reduction6.f90: Likewise.
11310         * testsuite/libgomp.fortran/reference1.f90: Likewise.
11311         * testsuite/libgomp.fortran/reference2.f90: Likewise.
11312         * testsuite/libgomp.fortran/retval1.f90: Likewise.
11313         * testsuite/libgomp.fortran/retval2.f90: Likewise.
11314         * testsuite/libgomp.fortran/sharing1.f90: Likewise.
11315         * testsuite/libgomp.fortran/sharing2.f90: Likewise.
11316         * testsuite/libgomp.fortran/simd1.f90: Likewise.
11317         * testsuite/libgomp.fortran/simd2.f90: Likewise.
11318         * testsuite/libgomp.fortran/simd3.f90: Likewise.
11319         * testsuite/libgomp.fortran/simd4.f90: Likewise.
11320         * testsuite/libgomp.fortran/simd5.f90: Likewise.
11321         * testsuite/libgomp.fortran/simd6.f90: Likewise.
11322         * testsuite/libgomp.fortran/simd7.f90: Likewise.
11323         * testsuite/libgomp.fortran/stack.f90: Likewise.
11324         * testsuite/libgomp.fortran/strassen.f90: Likewise.
11325         * testsuite/libgomp.fortran/tabs1.f90: Likewise.
11326         * testsuite/libgomp.fortran/tabs2.f: Likewise.
11327         * testsuite/libgomp.fortran/target1.f90: Likewise.
11328         * testsuite/libgomp.fortran/target2.f90: Likewise.
11329         * testsuite/libgomp.fortran/target3.f90: Likewise.
11330         * testsuite/libgomp.fortran/target4.f90: Likewise.
11331         * testsuite/libgomp.fortran/target5.f90: Likewise.
11332         * testsuite/libgomp.fortran/target6.f90: Likewise.
11333         * testsuite/libgomp.fortran/target7.f90: Likewise.
11334         * testsuite/libgomp.fortran/target8.f90: Likewise.
11335         * testsuite/libgomp.fortran/task1.f90: Likewise.
11336         * testsuite/libgomp.fortran/task2.f90: Likewise.
11337         * testsuite/libgomp.fortran/task3.f90: Likewise.
11338         * testsuite/libgomp.fortran/task4.f90: Likewise.
11339         * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
11340         * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
11341         * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
11342         * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
11343         * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
11344         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11345         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11346         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11347         * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
11348         * testsuite/libgomp.fortran/udr1.f90: Likewise.
11349         * testsuite/libgomp.fortran/udr10.f90: Likewise.
11350         * testsuite/libgomp.fortran/udr11.f90: Likewise.
11351         * testsuite/libgomp.fortran/udr12.f90: Likewise.
11352         * testsuite/libgomp.fortran/udr13.f90: Likewise.
11353         * testsuite/libgomp.fortran/udr14.f90: Likewise.
11354         * testsuite/libgomp.fortran/udr15.f90: Likewise.
11355         * testsuite/libgomp.fortran/udr2.f90: Likewise.
11356         * testsuite/libgomp.fortran/udr3.f90: Likewise.
11357         * testsuite/libgomp.fortran/udr4.f90: Likewise.
11358         * testsuite/libgomp.fortran/udr5.f90: Likewise.
11359         * testsuite/libgomp.fortran/udr6.f90: Likewise.
11360         * testsuite/libgomp.fortran/udr7.f90: Likewise.
11361         * testsuite/libgomp.fortran/udr8.f90: Likewise.
11362         * testsuite/libgomp.fortran/udr9.f90: Likewise.
11363         * testsuite/libgomp.fortran/vla1.f90: Likewise.
11364         * testsuite/libgomp.fortran/vla2.f90: Likewise.
11365         * testsuite/libgomp.fortran/vla3.f90: Likewise.
11366         * testsuite/libgomp.fortran/vla4.f90: Likewise.
11367         * testsuite/libgomp.fortran/vla5.f90: Likewise.
11368         * testsuite/libgomp.fortran/vla6.f90: Likewise.
11369         * testsuite/libgomp.fortran/vla7.f90: Likewise.
11370         * testsuite/libgomp.fortran/vla8.f90: Likewise.
11371         * testsuite/libgomp.fortran/workshare1.f90: Likewise.
11372         * testsuite/libgomp.fortran/workshare2.f90: Likewise.
11373         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11374         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11375         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11376         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11377         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11378         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11379         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11380         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11381         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11382         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
11383         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11384         * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
11385         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
11386         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11387         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11388         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11389         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11390         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11391         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11392         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11393         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11394         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
11395         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
11396         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11397         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11398         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11399         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11400         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11401         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
11402         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11403         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11404         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11405         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11406         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11407         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
11408         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
11409         * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
11410         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
11411         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
11412         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11413         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
11414         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
11415         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
11416         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
11417         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
11418         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
11419         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11420         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11421         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11422         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11423         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11424         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11425         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11426         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11427         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11428         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11429         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11430         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11431         * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
11432         * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
11433         * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
11434         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11435         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11436         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11437         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
11438         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11439         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
11440         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11441         * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
11442         * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
11443         * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
11444         * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
11445         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
11446         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11447         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11448         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11449         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11450         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11451         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11452         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11453         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
11454         * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
11455         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11456         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11457         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11458         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11459         * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
11460         * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
11461         * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
11462         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11463         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11464         * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
11466 2018-03-20  Richard Biener  <rguenther@suse.de>
11468         * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
11469         parallelizable loop.
11471 2018-02-19  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
11473         PR target/84148
11474         * configure: Regenerate.
11476 2018-02-16  Jakub Jelinek  <jakub@redhat.com>
11478         PR fortran/84418
11479         * libgomp.fortran/pr84418-1.f90: New test.
11480         * libgomp.fortran/pr84418-2.f90: New test.
11482 2018-02-14  Jakub Jelinek  <jakub@redhat.com>
11484         PR fortran/84313
11485         * testsuite/libgomp.fortran/threadprivate4.f90: Add
11486         -std=f2003 -fall-intrinsics into dg-additional-options.
11488 2018-02-08  Martin Jambor  <mjambor@suse.cz>
11490         * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
11491         clonable.
11493 2018-02-08  Martin Jambor  <mjambor@suse.cz>
11495         * testsuite/libgomp.hsa.c/staticvar.c: New test.
11497 2018-02-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11499         * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
11500         [__cplusplus]: Declare extern "C".
11502 2018-02-07  Tom de Vries  <tom@codesourcery.com>
11504         PR libgomp/84217
11505         * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
11507 2018-01-29  Christoph Spiel  <cspiel@freenet.de>
11508             Jakub Jelinek  <jakub@redhat.com>
11510         PR libgomp/84096
11511         * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
11512         instead of omp_lock_t.
11514 2018-01-25  Tom de Vries  <tom@codesourcery.com>
11516         PR target/84028
11517         * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
11519 2018-01-24  Tom de Vries  <tom@codesourcery.com>
11521         PR target/83589
11522         * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
11524 2018-01-24  Tom de Vries  <tom@codesourcery.com>
11526         PR target/81352
11527         * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
11529 2018-01-19  Tom de Vries  <tom@codesourcery.com>
11530             Cesar Philippidis  <cesar@codesourcery.com>
11532         PR target/83920
11533         * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
11534         * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
11536 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
11538         Update copyright years.
11540         * libgomp.texi: Bump @copying's copyright year.
11542 2017-12-30  Tom de Vries  <tom@codesourcery.com>
11544         PR libgomp/83046
11545         * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
11546         * testsuite/libgomp.c-c++-common/pr83046.c: New test.
11548 2017-12-27  Tom de Vries  <tom@codesourcery.com>
11550         PR c++/83046
11551         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
11552         (test_nonstatic): Fix return type to workaround PR83046.
11554 2017-12-05  Jakub Jelinek  <jakub@redhat.com>
11556         PR testsuite/83281
11557         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
11558         j suffix instead of i.
11559         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
11560         Likewise.
11562 2017-12-01  Cesar Philippidis  <cesar@codesourcery.com>
11564         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
11565         call to acc_wait (1).
11567 2017-11-24  Jakub Jelinek  <jakub@redhat.com>
11569         PR fortran/81304
11570         * testsuite/libgomp.fortran/pr81304.f90: New test.
11572 2017-11-23  Jakub Jelinek  <jakub@redhat.com>
11574         PR fortran/81841
11575         * libgomp.fortran/pr81841.f90: New test.
11577 2017-11-22  Jakub Jelinek  <jakub@redhat.com>
11579         PR libgomp/83106
11580         * target.c (gomp_target_init): Compute lengths just once and
11581         use them in both malloc size and subsequent copying.
11583 2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>
11585         * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
11586         * acinclude.m4: Add cet.m4.
11587         * configure: Regenerate.
11588         * Makefile.in: Likewise.
11589         * testsuite/Makefile.in: Likewise.
11591 2017-11-15  Tom de Vries  <tom@codesourcery.com>
11593         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
11594         from asyncwait-1.f90.  Rewrite into C.  Rewrite from float to int.
11595         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
11596         from asyncwait-2.f90.  Rewrite into C.  Rewrite from float to int.
11597         * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
11598         from asyncwait-3.f90.  Rewrite into C.  Rewrite from float to int.
11600 2017-11-14  Tom de Vries  <tom@codesourcery.com>
11602         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
11603         non-nvidia devices.
11605 2017-11-07  Jakub Jelinek  <jakub@redhat.com>
11607         PR c++/82835
11608         * testsuite/libgomp.c++/pr82835.C: New test.
11610 2017-11-06  Martin Liska  <mliska@suse.cz>
11612         * testsuite/libgomp.c++/loop-2.C: Return a value
11613         for functions with non-void return type, or change type to void,
11614         or add -Wno-return-type for test.
11615         * testsuite/libgomp.c++/loop-4.C: Likewise.
11616         * testsuite/libgomp.c++/parallel-1.C: Likewise.
11617         * testsuite/libgomp.c++/shared-1.C: Likewise.
11618         * testsuite/libgomp.c++/single-1.C: Likewise.
11619         * testsuite/libgomp.c++/single-2.C: Likewise.
11621 2017-10-31  Tom de Vries  <tom@codesourcery.com>
11623         * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
11624         "do {} while (false)".
11625         (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
11626         after HSA_DEBUG call.
11628 2017-10-28  Jakub Jelinek  <jakub@redhat.com>
11630         * target.c (struct gomp_coalesce_buf): New type.
11631         (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
11632         (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
11633         (gomp_copy_host2dev): Add CBUF argument, if copying into
11634         the cached ranges, memcpy into buffer instead of copying
11635         into device.
11636         (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
11637         Add CBUF argument, pass it through to other calls.
11638         (gomp_map_vars): Aggregate copies from host to device if small enough
11639         and with small enough gaps in between into memcpy into a buffer and
11640         fewer host to device copies from the buffer.
11641         (gomp_update): Adjust gomp_copy_host2dev caller.
11643 2017-10-17  Thomas Schwinge  <thomas@codesourcery.com>
11645         * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
11646         run" directive.
11647         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11648         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11649         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11650         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11652 2017-10-16  Tom de Vries  <tom@codesourcery.com>
11654         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
11655         openacc_nvidia_accel_selected.
11656         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
11657         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
11658         * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
11659         * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
11660         * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
11661         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
11662         openacc_nvidia_accel_selected. Skip for shared memory device.
11663         * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
11664         * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
11666 2017-10-09  Martin Jambor  <mjambor@suse.cz>
11668         PR hsa/82416
11669         * testsuite/libgomp.hsa.c/pr82416.c: New test.
11671 2017-10-07  Tom de Vries  <tom@codesourcery.com>
11673         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
11674         Remove acc_device_nvidia references.
11675         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
11676         Same.
11678 2017-10-05  Tom de Vries  <tom@codesourcery.com>
11680         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
11681         vector_length(32) clause from acc parallel directive.
11682         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
11684 2017-10-04  Tom de Vries  <tom@codesourcery.com>
11686         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
11687         (main): Reduce sum of arr elements.  Assert that hres is exactly
11688         representable in 32-bit floating point.
11689         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
11690         (main): Reduce sum of arr elements.  Assert that hres and hmres are
11691         exactly representable in 32-bit floating point.
11692         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
11694 2017-09-28  Tom de Vries  <tom@codesourcery.com>
11696         * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
11697         setting.
11698         * testsuite/libgomp.c++/pr69393.C: Same.
11699         * testsuite/libgomp.c++/taskloop-1.C: Same.
11700         * testsuite/libgomp.c++/taskloop-3.C: Same.
11701         * testsuite/libgomp.c++/taskloop-4.C: Same.
11702         * testsuite/libgomp.c/for-4.c: Same.
11703         * testsuite/libgomp.c/pr66199-3.c: Same.
11704         * testsuite/libgomp.c/pr66199-4.c: Same.
11705         * testsuite/libgomp.c/pr66199-6.c: Same.
11706         * testsuite/libgomp.c/taskloop-1.c: Same.
11707         * testsuite/libgomp.c/taskloop-3.c: Same.
11708         * testsuite/libgomp.c/taskloop-4.c: Same.
11709         * testsuite/libgomp.fortran/aligned1.f03: Same.
11710         * testsuite/libgomp.fortran/condinc1.f: Same.
11711         * testsuite/libgomp.fortran/condinc3.f90: Same.
11712         * testsuite/libgomp.fortran/crayptr1.f90: Same.
11713         * testsuite/libgomp.fortran/crayptr2.f90: Same.
11714         * testsuite/libgomp.fortran/crayptr3.f90: Same.
11715         * testsuite/libgomp.fortran/omp_cond1.f: Same.
11716         * testsuite/libgomp.fortran/omp_cond3.F90: Same.
11717         * testsuite/libgomp.fortran/pr66199-1.f90: Same.
11718         * testsuite/libgomp.fortran/pr66199-2.f90: Same.
11719         * testsuite/libgomp.fortran/recursion1.f90: Same.
11720         * testsuite/libgomp.fortran/target2.f90: Same.
11721         * testsuite/libgomp.fortran/target5.f90: Same.
11722         * testsuite/libgomp.fortran/task3.f90: Same.
11724 2017-09-28  Tom de Vries  <tom@codesourcery.com>
11726         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
11727         vector_length(32) clause from acc parallel directive.
11728         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
11730 2017-09-27  Tom de Vries  <tom@codesourcery.com>
11732         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
11733         Remove acc_device_nvidia references.
11735 2017-09-16  Tom de Vries  <tom@codesourcery.com>
11737         PR c/81875
11738         * testsuite/libgomp.c-c++-common/pr81875.c: New test.
11740 2017-09-14  Tom de Vries  <tom@codesourcery.com>
11742         * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
11743         * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
11744         * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
11745         * testsuite/libgomp.c/c.exp: Include test-cases from
11746         libgomp.c-c++-common.
11747         * testsuite/libgomp.c++/c++.exp: Same.  Force c++-mode compilation of .c
11748         files.
11750 2017-09-14  Jakub Jelinek  <jakub@redhat.com>
11752         PR c++/81314
11753         * testsuite/libgomp.c++/pr81314.C: New test.
11755 2017-09-03  Gerald Pfeifer  <gerald@pfeifer.com>
11757         * libgomp.texi (Top): www.openacc.org now uses https.
11758         (Enabling OpenACC): Ditto.
11759         (acc_get_num_devices): Ditto.
11760         (acc_set_device_type): Ditto.
11761         (acc_get_device_type): Ditto.
11762         (acc_set_device_num): Ditto.
11763         (acc_get_device_num): Ditto.
11764         (acc_async_test): Ditto.
11765         (acc_async_test_all): Ditto.
11766         (acc_wait): Ditto.
11767         (acc_wait_all): Ditto.
11768         (acc_wait_all_async): Ditto.
11769         (acc_wait_async): Ditto.
11770         (acc_init): Ditto.
11771         (acc_shutdown): Ditto.
11772         (acc_on_device): Ditto.
11773         (acc_malloc): Ditto.
11774         (acc_free): Ditto.
11775         (acc_copyin): Ditto.
11776         (acc_present_or_copyin): Ditto.
11777         (acc_create): Ditto.
11778         (acc_present_or_create): Ditto.
11779         (acc_copyout): Ditto.
11780         (acc_delete): Ditto.
11781         (acc_update_device): Ditto.
11782         (acc_update_self): Ditto.
11783         (acc_map_data): Ditto.
11784         (acc_unmap_data): Ditto.
11785         (acc_deviceptr): Ditto.
11786         (acc_hostptr): Ditto.
11787         (acc_is_present): Ditto.
11788         (acc_memcpy_to_device): Ditto.
11789         (acc_memcpy_from_device): Ditto.
11790         (acc_get_current_cuda_device): Ditto.
11791         (acc_get_current_cuda_context): Ditto.
11792         (acc_get_cuda_stream): Ditto.
11793         (acc_set_cuda_stream): Ditto.
11794         (ACC_DEVICE_TYPE): Ditto.
11795         (ACC_DEVICE_NUM): Ditto.
11796         (OpenACC Library Interoperability): Ditto.
11798 2017-08-09  Jakub Jelinek  <jakub@redhat.com>
11800         PR c/81687
11801         * testsuite/libgomp.c/pr81687-1.c: New test.
11802         * testsuite/libgomp.c/pr81687-2.c: New test.
11804 2017-08-07  Jakub Jelinek  <jakub@redhat.com>
11806         PR c/69389
11807         * testsuite/libgomp.c/pr69389.c: New test.
11808         * testsuite/libgomp.c++/pr69389.C: New test.
11810 2017-08-07  Tom de Vries  <tom@codesourcery.com>
11812         PR middle-end/78266
11813         * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
11814         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
11816 2017-07-27  Jakub Jelinek  <jakub@redhat.com>
11818         PR c/45784
11819         * testsuite/libgomp.c/pr45784.c: New test.
11820         * testsuite/libgomp.c++/pr45784.C: New test.
11822 2017-07-19  Tom de Vries  <tom@codesourcery.com>
11824         * testsuite/libgomp.oacc-c/vec.c: New test.
11826 2017-07-03  Tom de Vries  <tom@codesourcery.com>
11828         * plugin/plugin-hsa.c: Fix secure_getenv.h include.
11830 2017-06-27  Tom de Vries  <tom@codesourcery.com>
11832         * plugin/plugin-nvptx.c (notify_var): New function.
11833         (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
11835 2017-06-27  Tom de Vries  <tom@codesourcery.com>
11837         * env.c (parse_unsigned_long_1): Factor out of ...
11838         (parse_unsigned_long): ... here.
11839         (parse_int_1): Factor out of ...
11840         (parse_int): ... here.
11841         (parse_int_secure): New function.
11842         (initialize_env): Use parse_int_secure for GOMP_DEBUG.
11843         * secure_getenv.h: Factor out of ...
11844         * plugin/plugin-hsa.c: ... here.
11845         * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
11847 2017-06-21  Jakub Jelinek  <jakub@redhat.com>
11849         PR c++/81130
11850         * testsuite/libgomp.c++/pr81130.C: New test.
11852 2017-06-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11854         * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
11855         default args.
11856         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
11857         dg-xfail-run-if default args.
11859 2017-06-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
11861         * testsuite/libgomp.c/pr39591-2.c: Fix test case.
11862         * testsuite/libgomp.c/pr39591-3.c: Likewise.
11864 2017-05-30  Jakub Jelinek  <jakub@redhat.com>
11866         PR libgomp/80822
11867         * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
11868         (gomp_affinity_init_level): Use it.  Always analyze the core and thread
11869         sibling lists, depending on level just pick up what CPUs to put
11870         together into a place vs. whether add multiple ordered places.
11872 2017-05-24  Thomas Schwinge  <thomas@codesourcery.com>
11874         * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
11875         * libgomp.map (OACC_2.0.1): Add these.
11876         * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
11877         for "acc_wait", and "acc_wait_all", respectively.
11878         * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
11879         for "acc_wait", and "acc_wait_all", respectively.
11880         * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
11881         * libgomp.texi (acc_wait, acc_wait_all): Update.
11882         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
11883         * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
11884         * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11886         * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
11887         acc_present_or_copyin and acc_present_or_create procedures,
11888         respectively.
11889         * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
11890         generally different variants of OpenACC Runtime Library functions.
11891         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11893         * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
11894         * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11896         * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
11897         of preprocessor definitions.
11898         * libgomp.h (strong_alias): Guard by "#ifdef
11899         HAVE_ATTRIBUTE_ALIAS".
11900         * oacc-mem.c: Provide "acc_pcreate" as alias for
11901         "acc_present_or_create", and "acc_pcopyin" as alias for
11902         "acc_present_or_copyin".
11903         * libgomp.map: New version "OACC_2.0.1".
11904         (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
11905         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
11906         its content into...
11907         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
11908         Extend testing.
11910         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
11911         when disabling nvptx offloading.
11913 2017-05-23  Thomas Schwinge  <thomas@codesourcery.com>
11915         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
11916         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
11917         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11919         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
11920         * testsuite/lib/libgomp.exp
11921         (check_effective_target_openacc_nvidia_accel_configured): New
11922         proc.
11923         * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
11924         (check_effective_target_c++): New procs.
11925         * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
11926         (check_effective_target_c++): Likewise.
11928 2017-05-22  Jakub Jelinek  <jakub@redhat.com>
11930         PR middle-end/80809
11931         * testsuite/libgomp.c/pr80809-2.c: New test.
11932         * testsuite/libgomp.c/pr80809-3.c: New test.
11934         PR middle-end/80809
11935         * testsuite/libgomp.c/pr80809-1.c: New test.
11937         PR middle-end/80853
11938         * testsuite/libgomp.c/pr80853.c: New test.
11940 2017-05-19  Thomas Schwinge  <thomas@codesourcery.com>
11942         * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
11943         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
11944         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11945         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11946         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11948         * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
11949         Debug output for failure.
11951 2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
11953         * testsuite/lib/libgomp.exp: Load scanlang.exp.
11955 2017-04-27  Jakub Jelinek  <jakub@redhat.com>
11957         PR bootstrap/80531
11958         * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
11959         bootstrap compare failures.
11961 2017-04-20  Alexander Monakov  <amonakov@ispras.ru>
11963         * testsuite/libgomp.c/target-36.c: New testcase.
11965 2017-04-13  Jakub Jelinek  <jakub@redhat.com>
11967         * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
11968         instead of char.
11970 2017-04-11  Jakub Jelinek  <jakub@redhat.com>
11972         PR libgomp/80394
11973         * testsuite/libgomp.c/pr80394.c: New test.
11975 2017-04-04  Jakub Jelinek  <jakub@redhat.com>
11977         PR libgomp/79876
11978         * config/posix/thread-stacksize.h: New file.
11979         * config/darwin/thread-stacksize.h: New file.
11980         * config/nvptx/thread-stacksize.h: New file.
11981         * env.c: Include thread-stacksize.h.
11982         (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
11983         instead of 0.  Call pthread_attr_setstacksize even if
11984         GOMP_DEFAULT_STACKSIZE is non-zero.
11986 2017-03-30  Jakub Jelinek  <jakub@redhat.com>
11988         * env.c (initialize_env): Initialize stacksize to 0.
11990 2017-03-22  Cesar Philippidis  <cesar@codesourcery.com>
11992         PR c++/80029
11993         * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
11995 2017-03-08  Jakub Jelinek  <jakub@redhat.com>
11997         PR c/79940
11998         * testsuite/libgomp.c/pr79940.c: New test.
12000 2017-02-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
12002         * testsuite/libgomp.c/pr48591.c: Enable on all __float128
12003         targets.
12004         Add __float128 options.
12006 2017-02-11  John David Anglin  <danglin@gcc.gnu.org>
12008         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
12009         hppa*-*-* dg-skip-if directive.
12011 2017-02-09  Jakub Jelinek  <jakub@redhat.com>
12013         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
12014         dg-skip-if directive into a comment.
12016 2017-02-09  Nathan Sidwell  <nathan@codesourcery.com>
12017             Chung-Lin Tang  <cltang@codesourcery.com>
12019         * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
12020         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
12021         add additional case.
12022         * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
12023         "openacc_nvidia_accel_selected".
12024         * libgomp.oacc-fortran/nested-function-1.f90 (test2):
12025         Add num_workers(8) clause.
12027 2017-02-08  John David Anglin  <danglin@gcc.gnu.org>
12029         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
12030         hppa*-*-*.
12031         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
12032         include complex.h on hppa*-*-hpux*.
12033         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12035 2017-02-02  Thomas Schwinge  <thomas@codesourcery.com>
12037         * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
12039         * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
12040         GOMP_OFFLOAD_openacc_exec.  Adjust all users.
12041         (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
12042         GOMP_OFFLOAD_openacc_cuda_get_current_device.  Adjust all users.
12043         (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
12044         GOMP_OFFLOAD_openacc_cuda_get_current_context.  Adjust all users.
12045         (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
12046         GOMP_OFFLOAD_openacc_cuda_get_stream.  Adjust all users.
12047         (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
12048         GOMP_OFFLOAD_openacc_cuda_set_stream.  Adjust all users.
12050 2017-01-31  Thomas Schwinge  <thomas@codesourcery.com>
12052         * libgomp-plugin.h: #include <stdbool.h>.
12053         (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
12054         (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
12055         (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
12056         (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
12057         (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
12058         (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
12059         (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
12060         (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
12061         (GOMP_OFFLOAD_openacc_register_async_cleanup)
12062         (GOMP_OFFLOAD_openacc_async_test)
12063         (GOMP_OFFLOAD_openacc_async_test_all)
12064         (GOMP_OFFLOAD_openacc_async_wait)
12065         (GOMP_OFFLOAD_openacc_async_wait_async)
12066         (GOMP_OFFLOAD_openacc_async_wait_all)
12067         (GOMP_OFFLOAD_openacc_async_wait_all_async)
12068         (GOMP_OFFLOAD_openacc_async_set_async)
12069         (GOMP_OFFLOAD_openacc_create_thread_data)
12070         (GOMP_OFFLOAD_openacc_destroy_thread_data)
12071         (GOMP_OFFLOAD_openacc_get_current_cuda_device)
12072         (GOMP_OFFLOAD_openacc_get_current_cuda_context)
12073         (GOMP_OFFLOAD_openacc_get_cuda_stream)
12074         (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
12075         * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
12076         these.
12077         * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
12078         (GOMP_OFFLOAD_unload_image): Fix argument types.
12080 2017-01-26  Jakub Jelinek  <jakub@redhat.com>
12082         * testsuite/lib/libgomp.exp
12083         (check_effective_target_hsa_offloading_selected_nocache): Fix up
12084         check_compile invocation.  Fix up removal of executable.  Drop
12085         bogus "2>&1" argument.
12087         * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
12088         directive.
12090 2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
12091             Martin Jambor  <mjambor@suse.cz>
12093         * plugin/hsa.h: Moved to top level include.
12094         * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
12096 2017-01-21  Jakub Jelinek  <jakub@redhat.com>
12098         PR other/79046
12099         * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
12100         of cat to get version from BASE-VER file.
12101         * testsuite/Makefile.in: Regenerated.
12103 2017-01-19  Jakub Jelinek  <jakub@redhat.com>
12105         * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
12106         for _WIN64.
12108 2017-01-17  Jakub Jelinek  <jakub@redhat.com>
12110         * plugin/hsa.h: Add GCC runtime library exception.
12111         * plugin/hsa_ext_finalize.h: Likewise.
12113         * plugin/configfrag.ac: For --without-cuda-driver don't initialize
12114         CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB.  If both
12115         CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
12116         cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
12117         plugin/include/cuda as include dir and -ldl instead of -lcuda as
12118         library to link ptx plugin against.
12119         * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
12120         (CUDA_CALLS): Define.
12121         (cuda_lib, cuda_lib_inited): New variables.
12122         (init_cuda_lib): New function.
12123         (CUDA_CALL_PREFIX): Define.
12124         (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
12125         (CUDA_CALL): Use FN instead of (FN).
12126         (CUDA_CALL_NOCHECK): Define.
12127         (cuda_error, fini_streams_for_device, select_stream_for_async,
12128         nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
12129         event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
12130         nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
12131         nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
12132         CUDA_CALL_NOCHECK.
12133         (nvptx_init): Call init_cuda_lib, if it fails, return false.  Use
12134         CUDA_CALL_NOCHECK.
12135         (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
12136         Use CUDA_CALL_NOCHECK.
12137         * plugin/cuda/cuda.h: New file.
12138         * config.h.in: Regenerated.
12139         * configure: Regenerated.
12141         PR other/79046
12142         * configure.ac: Add GCC_BASE_VER.
12143         * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
12144         get version from BASE-VER file.
12145         * testsuite/Makefile.in: Regenerated.
12146         * configure: Regenerated.
12147         * Makefile.in: Regenerated.
12149 2017-01-09  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
12151         PR libgomp/60670
12152         * Makefile.am: Make fincludedir multilib-aware.
12153         * Makefile.in: Regenerate.
12155 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
12157         Update copyright years.
12159         * libgomp.texi: Bump @copying's copyright year.
12161 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12163         * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
12164         pthread_spinlock_t instead of gomp_mutex_t lock.
12165         (gomp_get_thread_pool): Likewise.
12166         (gomp_release_thread_pool): Likewise.
12167         * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
12168         Likewise.
12170 2016-12-02  Sebastian Huber  <sebastian.huber@embedded-brains.de>
12172         * config/rtems/pool.h (gomp_get_thread_pool): Return proper
12173         thread pool in case nthreads == 1.
12175 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
12177         * config/nvptx/env.c: Delete.
12178         * icv.c: Move definitions of ICV variables back ...
12179         * env.c: ...here.  Do not compile environment-related functionality if
12180         LIBGOMP_OFFLOADED_ONLY is set.
12182 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
12184         * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
12185         (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
12186         * configure: Regenerate.
12187         * config.h.in: Likewise.
12189 2016-11-30  Alexander Monakov  <amonakov@ispras.ru>
12191         * Makefile.in: Regenerate with automake-1.11.6.
12192         * aclocal.m4: Likewise.
12193         * configure: Likewise.
12194         * testsuite/Makefile.in: Likewise.
12196 2016-11-28  Alexander Monakov  <amonakov@ispras.ru>
12198         * config/nvptx/critical.c: Delete to use generic implementation.
12200 2016-11-28  Jonas Hahnfeld  <Hahnfeld@itc.rwth-aachen.de>
12202         * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
12203         ../../affinity.c as fallback.
12204         * config/nvptx/affinity.c: Delete to use fallback implementation.
12206 2016-11-23  Alexander Monakov  <amonakov@ispras.ru>
12207             Jakub Jelinek  <jakub@redhat.com>
12208             Dmitry Melnik  <dm@ispras.ru>
12210         * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
12211         * Makefile.in. Regenerate.
12212         * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
12213         (LIBGOMP_USE_PTHREADS): ...here; new define.
12214         * configure: Regenerate.
12215         * config.h.in: Likewise.
12216         * config/posix/affinity.c: Move to...
12217         * affinity.c: ...here (new file).  Guard use of Pthreads-specific
12218         interface by LIBGOMP_USE_PTHREADS. 
12219         * critical.c: Split out GOMP_atomic_{start,end} into...
12220         * atomic.c: ...here (new file).
12221         * env.c: Split out ICV definitions into...
12222         * icv.c: ...here (new file) and...
12223         * icv-device.c: ...here. New file.
12224         * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
12225         (gomp_destroy_lock_30): Ditto.
12226         (gomp_set_lock_30): Ditto.
12227         (gomp_unset_lock_30): Ditto.
12228         (gomp_test_lock_30): Ditto.
12229         (gomp_init_nest_lock_30): Ditto.
12230         (gomp_destroy_nest_lock_30): Ditto.
12231         (gomp_set_nest_lock_30): Ditto.
12232         (gomp_unset_nest_lock_30): Ditto.
12233         (gomp_test_nest_lock_30): Ditto.
12234         * lock.c: New.
12235         * config/nvptx/lock.c: New.
12236         * config/nvptx/bar.c: New.
12237         * config/nvptx/bar.h: New.
12238         * config/nvptx/doacross.h: New.
12239         * config/nvptx/error.c: New.
12240         * config/nvptx/icv-device.c: New.
12241         * config/nvptx/mutex.h: New.
12242         * config/nvptx/pool.h: New.
12243         * config/nvptx/proc.c: New.
12244         * config/nvptx/ptrlock.h: New.
12245         * config/nvptx/sem.h: New.
12246         * config/nvptx/simple-bar.h: New.
12247         * config/nvptx/target.c: New.
12248         * config/nvptx/task.c: New.
12249         * config/nvptx/team.c: New.
12250         * config/nvptx/time.c: New.
12251         * config/posix/simple-bar.h: New.
12252         * libgomp.h: Guard pthread.h inclusion.  Include simple-bar.h.
12253         (gomp_num_teams_var): Declare.
12254         (struct gomp_thread_pool): Change threads_dock member to
12255         gomp_simple_barrier_t.
12256         [__nvptx__] (gomp_thread): New implementation.
12257         (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
12258         (gomp_thread_destructor): Ditto.
12259         (gomp_init_thread_affinity): Ditto.
12260         * team.c: Guard uses of Pthreads-specific interfaces by
12261         LIBGOMP_USE_PTHREADS.  Adjust all uses of threads_dock.
12262         (gomp_free_thread) [__nvptx__]: Do not call 'free'.
12263         * config/nvptx/alloc.c: Delete.
12264         * config/nvptx/barrier.c: Ditto.
12265         * config/nvptx/fortran.c: Ditto.
12266         * config/nvptx/iter.c: Ditto.
12267         * config/nvptx/iter_ull.c: Ditto.
12268         * config/nvptx/loop.c: Ditto.
12269         * config/nvptx/loop_ull.c: Ditto.
12270         * config/nvptx/ordered.c: Ditto.
12271         * config/nvptx/parallel.c: Ditto.
12272         * config/nvptx/priority_queue.c: Ditto.
12273         * config/nvptx/sections.c: Ditto.
12274         * config/nvptx/single.c: Ditto.
12275         * config/nvptx/splay-tree.c: Ditto.
12276         * config/nvptx/work.c: Ditto.
12277         * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
12278         -foffload=-lgfortran in addition to -lgfortran.
12279         * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
12280         * plugin/plugin-nvptx.c: Include <limits.h>.
12281         (struct targ_fn_descriptor): Add new fields.
12282         (struct ptx_device): Ditto.  Set them...
12283         (nvptx_open_device): ...here.
12284         (nvptx_adjust_launch_bounds): New.
12285         (nvptx_host2dev): Allow NULL 'nvthd'.
12286         (nvptx_dev2host): Ditto.
12287         (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
12288         (link_ptx): Adjust log sizes.
12289         (nvptx_host2dev): Allow NULL 'nvthd'.
12290         (nvptx_dev2host): Ditto.
12291         (nvptx_set_clocktick): New.  Use it...
12292         (GOMP_OFFLOAD_load_image): ...here.  Set new targ_fn_descriptor
12293         fields.
12294         (GOMP_OFFLOAD_dev2dev): New.
12295         (nvptx_adjust_launch_bounds): New.
12296         (nvptx_stacks_size): New.
12297         (nvptx_stacks_alloc): New.
12298         (nvptx_stacks_free): New.
12299         (GOMP_OFFLOAD_run): New.
12300         (GOMP_OFFLOAD_async_run): New (stub).
12302 2016-11-23  Martin Jambor  <mjambor@suse.cz>
12304         * testsuite/libgomp.hsa.c/bits-insns.c: New test.
12305         * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
12306         * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
12308 2016-11-23  Martin Liska  <mliska@suse.cz>
12309             Martin Jambor  <mjambor@suse.cz>
12311         * plugin/hsa.h: New file.
12312         * plugin/hsa_ext_finalize.h: New file.
12313         * plugin/configfrag.ac: Remove hsa-kmt-lib test.  Added checks for
12314         header file unistd.h, and functions secure_getenv, __secure_getenv,
12315         getuid, geteuid, getgid and getegid.
12316         * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
12317         -D_GNU_SOURCE.
12318         * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
12319         Handle various cases of secure_getenv presence, add an implementation
12320         when we can test effective UID and GID.
12321         (struct hsa_runtime_fn_info): New structure.
12322         (hsa_runtime_fn_info hsa_fns): New variable.
12323         (hsa_runtime_lib): Likewise.
12324         (support_cpu_devices): Likewise.
12325         (init_enviroment_variables): Load newly introduced ENV
12326         variables.
12327         (hsa_warn): Call hsa run-time functions via hsa_fns structure.
12328         (hsa_fatal): Likewise.
12329         (DLSYM_FN): New macro.
12330         (init_hsa_runtime_functions): New function.
12331         (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
12332         structure.  Depending on environment, also allow CPU devices.
12333         (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
12334         (get_kernarg_memory_region): Likewise.
12335         (GOMP_OFFLOAD_init_device): Likewise.
12336         (destroy_hsa_program): Likewise.
12337         (init_basic_kernel_info): New function.
12338         (GOMP_OFFLOAD_load_image): Use it.
12339         (create_and_finalize_hsa_program): Call hsa run-time functions via
12340         hsa_fns structure.
12341         (create_single_kernel_dispatch): Likewise.
12342         (release_kernel_dispatch): Likewise.
12343         (init_single_kernel): Likewise.
12344         (parse_target_attributes): Allow up multiple HSA grid dimensions.
12345         (get_group_size): New function.
12346         (run_kernel): Likewise.
12347         (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
12348         (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
12349         structure.
12350         * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
12351         * testsuite/libgomp-test-support.exp.in: Likewise.
12352         * Makefile.in: Regenerated.
12353         * aclocal.m4: Likewise.
12354         * config.h.in: Likewise.
12355         * configure: Likewise.
12356         * testsuite/Makefile.in: Likewise.
12358 2016-11-15  Martin Jambor  <mjambor@suse.cz>
12359             Alexander Monakov  <amonakov@ispras.ru>
12361         * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
12362         mapping clauses to target constructs.
12363         * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
12365 2016-11-15  Matthias Klose  <doko@ubuntu.com>
12367         * configure: Regenerate.
12369 2016-11-10  Jakub Jelinek  <jakub@redhat.com>
12371         * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
12372         * omp_lib.h.in (openmp_version): Likewise.
12373         * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
12374         of 201307.
12375         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12377         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
12378         (fib_wrapper): Add map(from: x) clause.
12379         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
12380         (e_53_2): Likewise.
12381         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
12382         (accum): Add map(tmp) clause.
12383         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
12384         (accum): Add map(tofrom: tmp) clause.
12385         * testsuite/libgomp.fortran/examples-4/target_data-3.f90
12386         (gramSchmidt): Likewise.
12387         * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
12388         map(tofrom: sum) clause.
12389         * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
12390         map (alloc: a, l) clause.  Add defaultmap(tofrom: scalar) clause.
12391         * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
12392         only allowed on the loop iterator.
12393         * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
12394         * testsuite/libgomp.fortran/taskloop2.f90: New test.
12395         * testsuite/libgomp.fortran/taskloop4.f90: New test.
12396         * testsuite/libgomp.fortran/doacross1.f90: New test.
12397         * testsuite/libgomp.fortran/doacross3.f90: New test.
12398         * testsuite/libgomp.fortran/taskloop1.f90: New test.
12399         * testsuite/libgomp.fortran/taskloop3.f90: New test.
12400         * testsuite/libgomp.fortran/doacross2.f90: New test.
12401         * testsuite/libgomp.c/doacross-1.c (main): Add missing
12402         #pragma omp atomic read.
12403         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12404         * testsuite/libgomp.c/doacross-3.c (main): Likewise.
12406 2016-11-02  Cesar Philippidis  <cesar@codesourcery.com>
12407             Nathan Sidwell  <nathan@acm.org>
12409         * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
12410         to determine default geometry.
12411         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
12412         dimension.
12414 2016-11-01  Jakub Jelinek  <jakub@redhat.com>
12416         * hashtab.h: Use standard GPLv3 with runtime exception
12417         boilerplate.
12419 2016-10-27  Aldy Hernandez  <aldyh@redhat.com>
12421         * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
12422         size when allocating new thread.
12424 2016-09-14  Marek Polacek  <polacek@redhat.com>
12426         * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
12428 2016-08-19  Jakub Jelinek  <jakub@redhat.com>
12430         PR fortran/71014
12431         * testsuite/libgomp.fortran/pr71014.f90: New test.
12433 2016-08-18  Chung-Lin Tang  <cltang@codesourcery.com>
12435         PR middle-end/70895
12436         * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
12437         firstprivate clauses.
12438         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
12439         copy clauses.
12440         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12441         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12442         * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
12443         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12444         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
12445         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12446         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12447         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
12448         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12449         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12450         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12451         * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
12453 2016-08-14  Chung-Lin Tang  <cltang@codesourcery.com>
12455         PR fortran/70598
12456         * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
12458 2016-08-08  Jakub Jelinek  <jakub@redhat.com>
12460         PR c++/58706
12461         * testsuite/libgomp.c++/pr58706.C: New test.
12463 2016-08-04  Thomas Schwinge  <thomas@codesourcery.com>
12465         * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
12466         * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
12467         * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
12468         Likewise.
12469         * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
12470         * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
12471         Likewise.
12472         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
12474         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
12475         test, and don't hardcode -O0.
12477 2016-08-03  Nathan Sidwell  <nathan@codesourcery.com>
12479         * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
12481 2016-07-15  Cesar Philippidis  <cesar@codesourcery.com>
12483         * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
12484         test.
12486 2016-07-03  H.J. Lu  <hongjiu.lu@intel.com>
12488         PR middle-end/71734
12489         * testsuite/libgomp.fortran/pr71734-1.f90: New test.
12490         * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
12492 2016-07-01  Jakub Jelinek  <jakub@redhat.com>
12494         PR fortran/71717
12495         * testsuite/libgomp.fortran/associate3.f90: New test.
12497 2016-06-17  Jakub Jelinek  <jakub@redhat.com>
12499         * testsuite/libgomp.c++/target-21.C: New test.
12501 2016-06-16  Jakub Jelinek  <jakub@redhat.com>
12503         * testsuite/libgomp.c++/target-20.C: New test.
12505 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
12506             Cesar Philippidis  <cesar@codesourcery.com>
12508         PR middle-end/71373
12509         * libgomp.oacc-c/nested-function-1.c: New file.
12510         * libgomp.oacc-c/nested-function-2.c: Likewise.
12511         * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
12512         * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
12513         * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
12515 2016-06-10  Thomas Schwinge  <thomas@codesourcery.com>
12517         PR c/71381
12518         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
12519         "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
12520         * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
12522 2016-06-03  Chung-Lin Tang  <cltang@codesourcery.com>
12524         * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
12525         * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
12527 2016-06-01  Cesar Philippidis  <cesar@codesourcery.com>
12529         PR c/70688
12530         * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
12532 2016-05-26  Jakub Jelinek  <jakub@redhat.com>
12534         * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
12535         instead of invalid schedule(static, 0).
12536         * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12538 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
12540         * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
12541         * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
12542         parameter, use to set async stream around call to gomp_unmap_vars,
12543         call gomp_unmap_vars() with 'do_copyfrom' set to true.
12544         * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
12545         (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
12546         events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
12547         (event_add): Add int parameter, initialize 'val' field when
12548         adding new ptx_event struct.
12549         (nvptx_evec): Adjust event_add() call arguments.
12550         (nvptx_host2dev): Likewise.
12551         (nvptx_dev2host): Likewise.
12552         (nvptx_wait_async): Likewise.
12553         (nvptx_wait_all_async): Likewise.
12554         (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
12555         pass to event_add() call.
12556         * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
12557         parameter.
12558         * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
12559         call openacc.register_async_cleanup_func() hook.
12560         * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
12561         * target.c (gomp_copy_from_async): Delete function.
12562         (gomp_map_vars): Remove async_refcount.
12563         (gomp_unmap_vars): Likewise.
12564         (gomp_load_image_to_device): Likewise.
12565         (omp_target_associate_ptr): Likewise.
12566         * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
12567         (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
12568         (gomp_copy_from_async): Remove.
12570 2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
12572         * target.c (gomp_device_copy): New function.
12573         (gomp_copy_host2dev): Likewise.
12574         (gomp_copy_dev2host): Likewise.
12575         (gomp_free_device_memory): Likewise.
12576         (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
12577         (gomp_map_pointer): Likewise.
12578         (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
12579         NULL value from alloc_func plugin hook.
12580         (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
12581         (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
12582         (gomp_unmap_vars): Likewise.
12583         (gomp_update): Adjust to call gomp_copy_dev2host and
12584         gomp_copy_host2dev functions.
12585         (gomp_unload_image_from_device): Handle false value from
12586         unload_image_func plugin hook.
12587         (gomp_init_device): Handle false value from init_device_func
12588         plugin hook.
12589         (gomp_exit_data): Adjust to call gomp_copy_dev2host.
12590         (omp_target_free): Adjust to call gomp_free_device_memory.
12591         (omp_target_memcpy): Handle return values from host2dev_func,
12592         dev2host_func, and dev2dev_func plugin hooks.
12593         (omp_target_memcpy_rect_worker): Likewise.
12594         (gomp_target_fini): Handle false value from fini_device_func
12595         plugin hook.
12596         * libgomp.h (struct gomp_device_descr): Adjust return type of
12597         init_device_func, fini_device_func, unload_image_func, free_func,
12598         dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
12599         * oacc-init.c (acc_shutdown_1): Handle false value from
12600         fini_device_func plugin hook.
12601         * oacc-host.c (host_init_device): Change return type to bool.
12602         (host_fini_device): Likewise.
12603         (host_unload_image): Likewise.
12604         (host_free): Likewise.
12605         (host_dev2host): Likewise.
12606         (host_host2dev): Likewise.
12607         * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
12608         (acc_memcpy_to_device): Likewise.
12609         (acc_memcpy_from_device): Likewise.
12610         (delete_copyout): Add libfnname parameter, handle free_func
12611         hook fatal error case.
12612         (acc_delete): Adjust delete_copyout call.
12613         (acc_copyout): Likewise.
12614         (update_dev_host): Move gomp_mutex_unlock to after
12615         host2dev/dev2host hook calls.
12617         * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
12618         to 'hsa_error_msg', for clarity.
12619         (hsa_fatal): Likewise.
12620         (hsa_error): New function.
12621         (init_hsa_context): Change return type to bool, adjust to return
12622         false on error.
12623         (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
12624         return value.
12625         (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
12626         return false on error.
12627         (get_agent_info): Adjust to return NULL on error.
12628         (destroy_hsa_program): Change return type to bool, adjust to
12629         return false on error.
12630         (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
12631         (destroy_module): Change return type to bool, adjust to
12632         return false on error.
12633         (GOMP_OFFLOAD_unload_image): Likewise.
12634         (GOMP_OFFLOAD_fini_device): Likewise.
12635         (GOMP_OFFLOAD_alloc): Change to return NULL when called.
12636         (GOMP_OFFLOAD_free): Change to return false when called.
12637         (GOMP_OFFLOAD_dev2host): Likewise.
12638         (GOMP_OFFLOAD_host2dev): Likewise.
12639         (GOMP_OFFLOAD_dev2dev): Likewise.
12641         * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
12642         (CUDA_CALL): Likewise.
12643         (CUDA_CALL_ASSERT): Likewise.
12644         (map_init): Change return type to bool, use CUDA_CALL* macros.
12645         (map_fini): Likewise.
12646         (init_streams_for_device): Change return type to bool, adjust
12647         call to map_init.
12648         (fini_streams_for_device): Change return type to bool, adjust
12649         call to map_fini.
12650         (select_stream_for_async): Release stream_lock before calls to
12651         GOMP_PLUGIN_fatal, adjust call to map_init.
12652         (nvptx_init): Use CUDA_CALL* macros.
12653         (nvptx_attach_host_thread_to_device): Change return type to bool,
12654         use CUDA_CALL* macros.
12655         (nvptx_open_device): Use CUDA_CALL* macros.
12656         (nvptx_close_device): Change return type to bool, use CUDA_CALL*
12657         macros.
12658         (nvptx_get_num_devices): Use CUDA_CALL* macros.
12659         (link_ptx): Change return type to bool, use CUDA_CALL* macros.
12660         (nvptx_exec): Use CUDA_CALL* macros.
12661         (nvptx_alloc): Use CUDA_CALL* macros.
12662         (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
12663         (nvptx_host2dev): Likewise.
12664         (nvptx_dev2host): Likewise.
12665         (nvptx_wait): Use CUDA_CALL* macros.
12666         (nvptx_wait_async): Likewise.
12667         (nvptx_wait_all): Likewise.
12668         (nvptx_wait_all_async): Likewise.
12669         (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
12670         use CUDA_CALL* macros, adjust call to map_fini.
12671         (GOMP_OFFLOAD_init_device): Change return type to bool,
12672         adjust code accordingly.
12673         (GOMP_OFFLOAD_fini_device): Likewise.
12674         (GOMP_OFFLOAD_load_image): Adjust calls to
12675         nvptx_attach_host_thread_to_device/link_ptx to handle errors,
12676         use CUDA_CALL* macros.
12677         (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
12678         return code.
12679         (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
12680         (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
12681         handle error return.
12682         (GOMP_OFFLOAD_dev2host): Likewise.
12683         (GOMP_OFFLOAD_host2dev): Likewise.
12684         (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
12685         (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
12687 2016-05-24  Cesar Philippidis  <cesar@codesourcery.com>
12689         * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
12690         (acc_free): Likewise.
12691         (acc_memcpy_to_device): Likewise.
12692         (acc_memcpy_from_device): Likewise.
12693         (acc_deviceptr): Likewise.
12694         (acc_hostptr): Likewise.
12695         (acc_is_present): Likewise.
12696         (acc_map_data): Likewise.
12697         (acc_unmap_data): Likewise.
12698         (present_create_copy): Likewise.
12699         (delete_copyout): Likewise.
12700         (update_dev_host): Likewise.
12701         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
12702         * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
12703         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
12704         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12705         * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
12706         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
12707         it only runs on nvptx targets.
12708         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12709         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12710         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12711         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12712         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12713         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12714         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12715         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12716         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12717         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12718         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12719         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12720         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12721         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12722         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12723         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12724         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12725         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12726         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12727         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12728         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12729         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12730         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12732 2016-05-23  Martin Jambor  <mjambor@suse.cz>
12734         * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
12736 2016-05-17  Chung-Lin Tang  <cltang@codesourcery.com>
12738         * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
12739         to gomp_init_targets_once.
12740         (acc_set_device_type): Remove !cached_base_dev condition on call to
12741         gomp_init_targets_once, move call to before acc_device_lock acquire,
12742         to avoid deadlock.
12743         (acc_get_device_num): Remove !cached_base_dev condition on call to
12744         gomp_init_targets_once.
12745         (acc_set_device_num): Likewise.
12747 2016-05-16  Martin Jambor  <mjambor@suse.cz>
12749         * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
12751 2016-05-02  Nathan Sidwell  <nathan@codesourcery.com>
12753         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
12754         expected partitioning.
12756 2016-04-29  Cesar Philippidis  <cesar@codesourcery.com>
12758         PR middle-end/70626
12759         * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
12760         * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
12761         * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
12763 2016-04-21  Alexander Monakov  <amonakov@ispras.ru>
12765         * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
12766         non-fatal.
12768 2016-04-19  Jakub Jelinek  <jakub@redhat.com>
12770         PR middle-end/70680
12771         * testsuite/libgomp.c/pr70680-1.c: New test.
12772         * testsuite/libgomp.c/pr70680-2.c: New test.
12774 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
12776         * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
12777         pass parameter variables to subroutines.
12779 2016-04-14  Cesar Philippidis  <cesar@codesourcery.com>
12781         PR middle-end/70643
12782         * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
12784 2016-04-13  Cesar Philippidis  <cesar@codesourcery.com>
12786         PR testsuite/68242
12787         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
12788         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12790 2016-04-12  Thomas Schwinge  <thomas@codesourcery.com>
12792         * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
12793         GOACC_parallel_keyed, restore GOACC_parallel prototype, new
12794         GOACC_declare prototype.
12796         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
12797         Merge this file, and...
12798         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
12799         ... this file, and...
12800         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
12801         ... this file, and...
12802         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
12803         ... this file, and...
12804         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
12805         ... this file, and...
12806         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
12807         ... this file, and...
12808         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
12809         ... this file, and...
12810         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
12811         ... this file, and...
12812         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
12813         ... this file, and...
12814         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
12815         ... this file, and...
12816         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
12817         ... this file, and...
12818         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
12819         ... this file, and...
12820         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
12821         ... this file into...
12822         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
12823         file.
12825         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
12826         Make failure observable.
12828 2016-04-12  Jakub Jelinek  <jakub@redhat.com>
12830         * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
12831         field.
12832         * target.c (gomp_target_fallback_firstprivate,
12833         gomp_target_unshare_firstprivate): Removed.
12834         (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
12835         before waiting for dependencies.
12836         (gomp_target_task_fn): Don't copy firstprivate vars here.
12837         * task.c (GOMP_PLUGIN_target_task_completion): Don't free
12838         firstprivate_copies here.
12839         (gomp_create_target_task): Don't initialize firstprivate_copies field.
12840         * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
12841         explicit/implicit firstprivate.
12843 2016-04-08  Cesar Philippidis  <cesar@codesourcery.com>
12845         PR lto/70289
12846         PR ipa/70348
12847         PR tree-optimization/70373
12848         PR middle-end/70533
12849         PR middle-end/70534
12850         PR middle-end/70535
12851         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
12852         test.
12853         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
12854         test.
12855         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
12856         test.
12857         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
12858         test.
12859         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
12860         test.
12861         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
12862         test.
12863         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
12864         test.
12865         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
12866         test.
12867         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
12868         test.
12869         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
12870         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
12871         * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
12872         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
12873         test.
12874         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
12875         test.
12876         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
12877         test.
12878         * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
12879         test.
12880         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
12881         coverage.
12882         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
12883         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12884         * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
12885         * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
12886         * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
12887         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
12888         coverage.
12889         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12890         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12891         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12892         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12893         * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
12894         * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
12895         * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
12896         * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
12897         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
12898         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12899         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12900         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12901         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12902         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12903         * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
12905 2016-03-30  Thomas Schwinge  <thomas@codesourcery.com>
12906             James Norris  <jnorris@codesourcery.com>
12907             Nathan Sidwell  <nathan@codesourcery.com>
12908             Julian Brown  <julian@codesourcery.com>
12909             Cesar Philippidis  <cesar@codesourcery.com>
12910             Chung-Lin Tang  <cltang@codesourcery.com>
12911             Tom de Vries  <tom@codesourcery.com>
12913         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
12914         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12915         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12916         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
12917         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12918         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12919         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12920         * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
12921         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12922         XFAIL.
12923         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
12924         Incorporate...
12925         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
12926         file.
12927         * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
12928         * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
12929         * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
12930         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
12931         Likewise.
12932         * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
12933         Likewise.
12934         * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12935         * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
12936         * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
12937         * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
12938         * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
12939         * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12940         * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
12941         * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
12942         * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
12943         * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
12944         Likewise.
12945         * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
12946         * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
12947         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
12948         file...
12949         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
12950         file into...
12951         * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
12952         file.  Update.
12953         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
12954         file.
12955         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
12956         Likewise.
12957         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
12958         * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
12959         ... this new file.  Update.
12960         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
12961         * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
12962         ... this new file.  Update.
12963         * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
12964         file.  Incorporate...
12965         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
12966         file, and...
12967         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
12968         file, and...
12969         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
12970         file.
12971         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
12973 2016-03-29  Thomas Schwinge  <thomas@codesourcery.com>
12975         * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
12976         set-torture-options.
12978 2016-03-24  Thomas Schwinge  <thomas@codesourcery.com>
12980         * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
12981         gcc-dg-runtest.
12982         * testsuite/libgomp.oacc-c/c.exp: Likewise.
12983         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
12984         -fno-builtin-acc_on_device instead of -O0.
12985         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
12986         -O0.
12987         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
12988         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
12989         Likewise.
12990         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
12991         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
12992         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
12993         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12994         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12995         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12996         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
12997         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12998         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
12999         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13000         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13001         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13002         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13003         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13004         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13005         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13006         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13007         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
13008         Don't specify -O2.
13009         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
13010         Likewise.
13011         * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
13012         Likewise.
13014 2016-03-24  Martin Liska  <mliska@suse.cz>
13016         * plugin/plugin-hsa.c (packet_store_release): New function
13017         that is taken from the HSA runtime manual.
13018         (GOMP_OFFLOAD_run): Use the function.
13020 2016-03-23  Jakub Jelinek  <jakub@redhat.com>
13022         PR c++/70376
13023         * testsuite/libgomp.c++/pr70376.C: New test.
13025 2016-03-23  Tom de Vries  <tom@codesourcery.com>
13027         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
13028         initialization of lresult and lvresult.
13029         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
13031 2016-03-23  James Norris  <jnorris@codesourcery.com>
13032             Daichi Fukuoka <dc-fukuoka@sgi.com>
13034         PR libgomp/69414
13035         * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
13036         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
13037         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13038         * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
13040 2016-03-23  Martin Liska  <mliska@suse.cz>
13042         PR hsa/70337
13043         * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
13044         argument just in case a dispatched kernel uses that argument.
13046 2016-03-16  Thomas Schwinge  <thomas@codesourcery.com>
13048         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
13049         -ftree-parallelize-loops/-fopenacc changes.
13050         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
13051         Likewise.
13052         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13053         Likewise.
13054         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
13055         Likewise.
13056         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
13057         Likewise.
13058         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
13059         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
13061 2016-03-13  Thomas Schwinge  <thomas@codesourcery.com>
13063         * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
13064         always_ld_library_path the path to libgcc_s.
13066 2016-03-10  Cesar Philippidis  <cesar@codesourcery.com>
13068         PR testsuite/70009
13069         * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
13071 2016-03-09  Tom de Vries  <tom@codesourcery.com>
13073         * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
13074         * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
13075         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13076         Same.
13077         * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
13078         * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
13079         * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
13080         * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
13082 2016-03-07  Martin Jambor  <mjambor@suse.cz>
13084         * testsuite/lib/libgomp.exp
13085         (check_effective_target_hsa_offloading_selected_nocache): New.
13086         (check_effective_target_hsa_offloading_selected): Likewise.
13087         * testsuite/libgomp.hsa.c/c.exp: Likewise.
13088         * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
13089         * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
13090         * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
13091         * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
13092         * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
13093         * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
13094         * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
13095         * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
13096         * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
13097         * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
13098         * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
13099         * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
13100         * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
13101         * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
13102         * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
13103         * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
13105 2016-03-07  Martin Jambor  <mjambor@suse.cz>
13107         * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
13108         non-shared memory accelerators.
13109         * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
13110         * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
13111         * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
13112         * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
13113         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
13114         * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
13115         * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
13116         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
13117         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
13119 2016-03-07  Martin Jambor  <mjambor@suse.cz>
13121         * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
13122         ALWAYS_CFLAGS.
13124 2016-03-02  Jakub Jelinek  <jakub@redhat.com>
13126         PR libgomp/69555
13127         * testsuite/libgomp.c++/pr69555-1.C: New test.
13128         * testsuite/libgomp.c++/pr69555-2.C: New test.
13130 2016-02-26  Keith McDaniel <k.allen.mcdaniel@gmail.com>
13131             Martin Jambor  <mjambor@suse.cz>
13133         * testsuite/lib/libgomp.exp
13134         (check_effective_target_offload_device_shared_as): New proc.
13135         * testsuite/libgomp.c++/declare_target-1.C: New test.
13137 2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>
13139         PR driver/68463
13140         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
13142 2016-02-23  Thomas Schwinge  <thomas@codesourcery.com>
13144         * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
13145         * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
13146         dims.
13147         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
13148         -ftree-parallelize-loops/-fopenacc changes.
13149         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
13150         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
13151         Likewise.
13152         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
13153         Likewise.
13154         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
13155         Likewise.
13156         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
13157         Likewise.
13158         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
13159         Likewise.
13160         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
13161         Likewise.
13162         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
13163         Likewise.
13164         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
13165         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
13166         Likewise.
13167         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
13168         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
13169         Likewise.
13170         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
13171         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
13172         Likewise.
13174 2016-02-22  Cesar Philippidis  <cesar@codesourcery.com>
13176         * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
13178 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
13180         PR driver/69805
13181         * testsuite/libgomp.c/pr69805.c: New test.
13183 2016-02-16  Tom de Vries  <tom@codesourcery.com>
13185         PR lto/67709
13186         * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
13188 2016-02-09  Tom de Vries  <tom@codesourcery.com>
13190         PR tree-optimization/69599
13191         * testsuite/libgomp.c/omp-nested-3.c: New test.
13192         * testsuite/libgomp.c/pr46032-2.c: New test.
13193         * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
13194         * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
13196 2016-02-09  Tom de Vries  <tom@codesourcery.com>
13198         PR lto/69707
13199         * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
13201 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
13203         * testsuite/libgomp.c/target-31.c: Fix testcase.
13205 2016-02-02  Alexander Monakov  <amonakov@ispras.ru>
13207         * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
13208         clause.
13209         * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
13210         * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
13211         reduction and map clauses.
13212         * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
13214 2016-02-02  James Norris  <jnorris@codesourcery.com>
13216         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
13218 2016-02-02  Thomas Schwinge  <thomas@codesourcery.com>
13220         * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
13221         * oacc-parallel.c (GOACC_host_data): Remove function definition.
13223         * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
13224         cases.
13226         * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
13227         variables.
13228         * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
13229         (hsa_kmt_lib): Set variables.
13230         * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
13231         always_ld_library_path.
13232         * Makefile.in: Regenerate.
13233         * configure: Likewise.
13234         * testsuite/Makefile.in: Likewise.
13236         * plugin/configfrag.ac (offload_additional_options)
13237         (offload_additional_lib_paths): Don't amend for hsa offloading.
13238         * configure: Regenerate.
13240         * plugin/configfrag.ac: Don't configure for offloading target if
13241         we don't build the corresponding plugin.
13242         * configure: Regenerate.
13244 2016-02-01  Nathan Sidwell  <nathan@codesourcery.com>
13246         * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
13247         * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
13249 2016-01-26  Tom de Vries  <tom@codesourcery.com>
13251         PR tree-optimization/69110
13252         * testsuite/libgomp.c/pr69110.c: New test.
13254 2016-01-25  Richard Biener  <rguenther@suse.de>
13256         PR lto/69393
13257         * testsuite/libgomp.c++/pr69393.C: New testcase.
13259 2016-01-22  Ilya Verbin  <ilya.verbin@intel.com>
13261         * target.c (gomp_get_target_fn_addr): Allow host fallback if target
13262         function wasn't mapped to the device with non-shared memory.
13264 2016-01-20  Ilya Verbin  <ilya.verbin@intel.com>
13266         * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
13268 2016-01-19  Martin Jambor  <mjambor@suse.cz>
13269             Martin Liska  <mliska@suse.cz>
13271         * plugin/Makefrag.am: Add HSA plugin requirements.
13272         * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
13273         (HSA_RUNTIME_LIB): Likewise.
13274         (HSA_RUNTIME_CPPFLAGS): Likewise.
13275         (HSA_RUNTIME_INCLUDE): New substitution.
13276         (HSA_RUNTIME_LIB): Likewise.
13277         (HSA_RUNTIME_LDFLAGS): Likewise.
13278         (hsa-runtime): New configure option.
13279         (hsa-runtime-include): Likewise.
13280         (hsa-runtime-lib): Likewise.
13281         (PLUGIN_HSA): New substitution variable.
13282         Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
13283         configure options.
13284         (PLUGIN_HSA_CPPFLAGS): Likewise.
13285         (PLUGIN_HSA_LDFLAGS): Likewise.
13286         (PLUGIN_HSA_LIBS): Likewise.
13287         Check that we have access to HSA run-time.
13288         * libgomp-plugin.h (offload_target_type): New element
13289         OFFLOAD_TARGET_TYPE_HSA.
13290         * libgomp.h (gomp_target_task): New fields firstprivate_copies and
13291         args.
13292         (bool gomp_create_target_task): Updated.
13293         (gomp_device_descr): Extra parameter of run_func and async_run_func,
13294         new field can_run_func.
13295         * libgomp_g.h (GOMP_target_ext): Update prototype.
13296         * oacc-host.c (host_run): Added a new parameter args.
13297         * target.c (calculate_firstprivate_requirements): New function.
13298         (copy_firstprivate_data): Likewise.
13299         (gomp_target_fallback_firstprivate): Use them.
13300         (gomp_target_unshare_firstprivate): New function.
13301         (gomp_get_target_fn_addr): Allow returning NULL for shared memory
13302         devices.
13303         (GOMP_target): Do host fallback for all shared memory devices.  Do not
13304         pass any args to plugins.
13305         (GOMP_target_ext): Introduce device-specific argument parameter args.
13306         Allow host fallback if device shares memory.  Do not remap data if
13307         device has shared memory.
13308         (gomp_target_task_fn): Likewise.  Also treat shared memory devices
13309         like host fallback for mappings.
13310         (GOMP_target_data): Treat shared memory devices like host fallback.
13311         (GOMP_target_data_ext): Likewise.
13312         (GOMP_target_update): Likewise.
13313         (GOMP_target_update_ext): Likewise.  Also pass NULL as args to
13314         gomp_create_target_task.
13315         (GOMP_target_enter_exit_data): Likewise.
13316         (omp_target_alloc): Treat shared memory devices like host fallback.
13317         (omp_target_free): Likewise.
13318         (omp_target_is_present): Likewise.
13319         (omp_target_memcpy): Likewise.
13320         (omp_target_memcpy_rect): Likewise.
13321         (omp_target_associate_ptr): Likewise.
13322         (gomp_load_plugin_for_device): Also load can_run.
13323         * task.c (GOMP_PLUGIN_target_task_completion): Free
13324         firstprivate_copies.
13325         (gomp_create_target_task): Accept new argument args and store it to
13326         ttask.
13327         * plugin/plugin-hsa.c: New file.
13329 2016-01-18  Tom de Vries  <tom@codesourcery.com>
13331         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
13332         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
13333         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
13334         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
13335         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
13336         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
13337         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
13338         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
13339         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
13340         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
13341         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
13342         Same.
13343         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
13344         Same.
13345         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
13346         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
13347         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
13348         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
13349         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
13350         * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
13351         * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
13352         * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
13353         Same.
13354         * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
13356 2016-01-15  Jakub Jelinek  <jakub@redhat.com>
13358         * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
13360 2016-01-15  Cesar Philippidis  <cesar@codesourcery.com>
13362         * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
13364 2016-01-12  James Norris  <jnorris@codesourcery.com>
13366         * libgomp.texi: Updates for OpenACC.
13368 2016-01-11  Alexander Monakov  <amonakov@ispras.ru>
13370         * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
13372 2016-01-07  H.J. Lu  <hongjiu.lu@intel.com>
13374         PR fortran/66680
13375         * testsuite/libgomp.fortran/pr66680.f90: New test.
13377 2016-01-07  Jakub Jelinek  <jakub@redhat.com>
13379         PR middle-end/68960
13380         * testsuite/libgomp.c/pr68960.c: New test.
13382 2016-01-06  Nathan Sidwell  <nathan@acm.org>
13384         * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
13385         * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
13387 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
13389         Update copyright years.
13391         * libgomp.texi: Bump @copying's copyright year.
13393 2015-12-31  Nathan Sidwell  <nathan@acm.org>
13395         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
13396         dg-additional-options syntax.
13397         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13398         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13399         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13400         * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13401         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13402         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13403         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13404         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13405         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13406         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13407         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13408         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13409         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13410         * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13411         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13412         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13413         * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13414         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13416 2015-12-15  Ilya Verbin  <ilya.verbin@intel.com>
13418         * libgomp.h (REFCOUNT_LINK): Define.
13419         (struct splay_tree_key_s): Add link_key.
13420         * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
13421         Replace target address of the pointer with target address of newly
13422         mapped object in the splay tree.  Set link pointer on target to the
13423         device address of the mapped object.
13424         (gomp_unmap_vars): Restore target address of the pointer in the splay
13425         tree for REFCOUNT_LINK objects after unmapping.
13426         (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
13427         declare target link" objects.
13428         (gomp_unload_image_from_device): Replace j with i.  Force unmap of all
13429         "omp declare target link" objects, which were mapped for the image.
13430         (gomp_exit_data): Restore target address of the pointer in the splay
13431         tree for REFCOUNT_LINK objects after unmapping.
13432         * testsuite/libgomp.c/target-link-1.c: New file.
13434 2015-12-14  Ilya Verbin  <ilya.verbin@intel.com>
13436         * libgomp.h (gomp_device_state): New enum.
13437         (struct gomp_device_descr): Replace is_initialized with state.
13438         (gomp_fini_device): Remove declaration.
13439         * oacc-host.c (host_dispatch): Use state instead of is_initialized.
13440         * oacc-init.c (acc_init_1): Use state instead of is_initialized.
13441         (acc_shutdown_1): Likewise.  Inline gomp_fini_device.
13442         (acc_set_device_type): Use state instead of is_initialized.
13443         (acc_set_device_num): Likewise.
13444         * target.c (resolve_device): Use state instead of is_initialized.
13445         Do not initialize finalized device.
13446         (gomp_map_vars): Do nothing if device is finalized.
13447         (gomp_unmap_vars): Likewise.
13448         (gomp_update): Likewise.
13449         (GOMP_offload_register_ver): Use state instead of is_initialized.
13450         (GOMP_offload_unregister_ver): Likewise.
13451         (gomp_init_device): Likewise.
13452         (gomp_unload_device): Likewise.
13453         (gomp_fini_device): Remove.
13454         (gomp_get_target_fn_addr): Do nothing if device is finalized.
13455         (GOMP_target): Go to host fallback if device is finalized.
13456         (GOMP_target_ext): Likewise.
13457         (gomp_exit_data): Do nothing if device is finalized.
13458         (gomp_target_task_fn): Go to host fallback if device is finalized.
13459         (gomp_target_fini): New static function.
13460         (gomp_target_init): Use state instead of is_initialized.
13461         Call gomp_target_fini at exit.
13463 2015-12-09  Tom de Vries  <tom@codesourcery.com>
13465         PR tree-optimization/68716
13466         * testsuite/libgomp.c/omp-nested-2.c: New test.
13468 2015-12-02  Thomas Schwinge  <thomas@codesourcery.com>
13470         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
13471         target openacc_nvidia_accel_selected.
13472         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
13473         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
13474         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
13475         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
13477 2015-12-01  Julian Brown  <julian@codesourcery.com>
13478             James Norris  <James_Norris@mentor.com>
13480         * oacc-parallel.c (GOACC_host_data): New function.
13481         * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
13482         * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
13483         * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
13484         * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
13485         * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
13486         * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
13487         * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
13489 2015-11-30  James Norris  <jnorris@codesourcery.com>
13490             Cesar Philippidis  <cesar@codesourcery.com>
13492         libgomp/
13493         * libgomp.oacc-fortran/routine-5.f90: New test.
13494         * libgomp.oacc-fortran/routine-7.f90: New test.
13495         * libgomp.oacc-fortran/routine-9.f90: New test.
13497 2015-11-30  Tom de Vries  <tom@codesourcery.com>
13499         PR tree-optimization/46032
13500         * testsuite/libgomp.c/pr46032.c: New test.
13502 2015-11-27  Jakub Jelinek  <jakub@redhat.com>
13504         PR libgomp/68579
13505         * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
13506         (gomp_create_target_task): Call it before freeing
13507         GOMP_TARGET_TASK_DATA tasks.
13509         PR c/63326
13510         * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
13511         in between case label and OpenMP standalone directives.
13512         * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
13514 2015-11-26  David Edelsohn  <dje.gcc@gmail.com>
13516         * configure: Regenerate.
13518 2015-11-26  Jakub Jelinek  <jakub@redhat.com>
13520         * testsuite/libgomp.c/target-35.c: New test.
13522 2015-11-22  James Norris  <jnorris@codesourcery.com>
13523             Cesar Philippidis  <cesar@codesourcery.com>
13525         * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
13526         * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
13527         * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
13528         * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
13529         * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
13531 2015-11-20  Jakub Jelinek  <jakub@redhat.com>
13533         PR middle-end/68221
13534         * testsuite/libgomp.c/reduction-11.c: Remove xfail.
13535         * testsuite/libgomp.c/reduction-12.c: Likewise.
13536         * testsuite/libgomp.c++/reduction-11.C: Likewise.
13537         * testsuite/libgomp.c++/reduction-12.C: Likewise.
13539 2015-11-19  Nathan Sidwell  <nathan@codesourcery.com>
13541         * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
13542         * libgomp.oacc-c-c++-common/reduction-flt.c: New.
13543         * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
13544         * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
13545         * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
13546         and fix.
13547         * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13548         * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13550 2015-11-18  Nathan Sidwell  <nathan@codesourcery.com>
13552         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
13553         worker & gang cases.
13554         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
13556 2015-11-17  Cesar Philippidis  <cesar@codesourcery.com>
13558         * config/nvptx/priority_queue.c: New file.
13560 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
13562         * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
13563         sections.
13565 2015-11-14  Jakub Jelinek  <jakub@redhat.com>
13566             Aldy Hernandez  <aldyh@redhat.com>
13567             Ilya Verbin  <ilya.verbin@intel.com>
13569         * ordered.c (gomp_doacross_init, GOMP_doacross_post,
13570         GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
13571         GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
13572         iterators or IV by chunk size.
13573         * parallel.c (gomp_resolve_num_threads): Don't assume that
13574         if thr->ts.team is non-NULL, then pool must be non-NULL.
13575         * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
13576         * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
13577         GOMP_PLUGIN_target_task_completion.
13578         * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
13579         * Makefile.in: Regenerate.
13580         * libgomp.h: Shuffle prototypes and forward definitions around so
13581         priority queues can be defined.
13582         (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
13583         (enum gomp_target_task_state): New enum.
13584         (struct gomp_target_task): Add state, tgt, task and team fields.
13585         (gomp_create_target_task): Change return type to bool, add
13586         state argument.
13587         (gomp_target_task_fn): Change return type to bool.
13588         (struct gomp_device_descr): Add async_run_func.
13589         (struct gomp_task): Remove children, next_child, prev_child,
13590         next_queue, prev_queue, next_taskgroup, prev_taskgroup.
13591         Add pnode field.
13592         (struct gomp_taskgroup): Remove children.
13593         Add taskgroup_queue.
13594         (struct gomp_team): Change task_queue type to a priority queue.
13595         (splay_compare): Define inline.
13596         (priority_queue_offset): New.
13597         (priority_node_to_task): New.
13598         (task_to_priority_node): New.
13599         * oacc-mem.c: Do not include splay-tree.h.
13600         * priority_queue.c: New file.
13601         * priority_queue.h: New file.
13602         * splay-tree.c: Do not include splay-tree.h.
13603         (splay_tree_foreach_internal): New.
13604         (splay_tree_foreach): New.
13605         * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
13606         (splay_tree_callback): Define typedef.
13607         * target.c (splay_compare): Move to libgomp.h.
13608         (GOMP_target): Don't adjust *thr in any way around running offloaded
13609         task.
13610         (GOMP_target_ext): Likewise.  Handle target nowait.
13611         (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
13612         return value from gomp_create_target_task, if false, fallthrough
13613         as if no dependencies exist.
13614         (gomp_target_task_fn): Change return type to bool, return true
13615         if the task should have another part scheduled later.  Handle
13616         target nowait.
13617         (gomp_load_plugin_for_device): Initialize async_run.
13618         * task.c (gomp_init_task): Initialize children_queue.
13619         (gomp_clear_parent_in_list): New.
13620         (gomp_clear_parent_in_tree): New.
13621         (gomp_clear_parent): Handle priorities.
13622         (GOMP_task): Likewise.
13623         (priority_queue_move_task_first,
13624         gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
13625         New functions.
13626         (gomp_create_target_task): Use priority queues.  Change return type
13627         to bool, add state argument, return false if for async
13628         {{enter,exit} data,update} constructs no dependencies need to be
13629         waited for, handle target nowait.  Set task->fn to NULL instead of
13630         gomp_target_task_fn.
13631         (verify_children_queue): Remove.
13632         (priority_list_upgrade_task): New.
13633         (priority_queue_upgrade_task): New.
13634         (verify_task_queue): Remove.
13635         (priority_list_downgrade_task): New.
13636         (priority_queue_downgrade_task): New.
13637         (gomp_task_run_pre): Use priority queues.
13638         Abstract code out to priority_queue_downgrade_task.
13639         (gomp_task_run_post_handle_dependers): Use priority queues.
13640         (gomp_task_run_post_remove_parent): Likewise.
13641         (gomp_task_run_post_remove_taskgroup): Likewise.
13642         (gomp_barrier_handle_tasks): Likewise.  Handle target nowait target
13643         tasks specially.
13644         (GOMP_taskwait): Likewise.
13645         (gomp_task_maybe_wait_for_dependencies): Likewise.  Abstract code to
13646         priority-queue_upgrade_task.
13647         (GOMP_taskgroup_start): Use priority queues.
13648         (GOMP_taskgroup_end): Likewise.  Handle target nowait target tasks
13649         specially.  If taskgroup is NULL, and thr->ts.level is 0, act as a
13650         barrier.
13651         * taskloop.c (GOMP_taskloop): Handle priorities.
13652         * team.c (gomp_new_team): Call priority_queue_init.
13653         (free_team): Call priority_queue_free.
13654         (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
13655         team created for target nowait in implicit parallel region.
13656         (gomp_team_start): For nested check, test thr->ts.level instead of
13657         thr->ts.team != NULL.
13658         * testsuite/libgomp.c/doacross-3.c: New test.
13659         * testsuite/libgomp.c/ordered-5.c: New test.
13660         * testsuite/libgomp.c/priority.c: New test.
13661         * testsuite/libgomp.c/target-31.c: New test.
13662         * testsuite/libgomp.c/target-32.c: New test.
13663         * testsuite/libgomp.c/target-33.c: New test.
13664         * testsuite/libgomp.c/target-34.c: New test.
13666 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
13668         * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
13670         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
13671         loop is sequential.
13673 2015-11-13  Nathan Sidwell  <nathan@codesourcery.com>
13675         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
13676         * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
13678 2015-11-12  James Norris  <jnorris@codesourcery.com>
13679             Joseph Myers  <joseph@codesourcery.com>
13681         * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
13682         * oacc-parallel.c (GOACC_declare): New function.
13683         * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
13684         * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
13685         * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
13686         * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
13687         * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
13689 2015-11-12  Nathan Sidwell  <nathan@codesourcery.com>
13691         * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
13693 2015-11-1  Nathan Sidwell  <nathan@codesourcery.com>
13695         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
13696         * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
13698 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
13700         * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
13701         inadvertent commit.
13703 2015-11-09  Nathan Sidwell  <nathan@codesourcery.com>
13705         * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
13706         * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
13707         * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
13708         * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
13709         * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
13711 2015-11-06  Thomas Schwinge  <thomas@codesourcery.com>
13713         * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
13714         * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13716 2015-11-05  Jakub Jelinek  <jakub@redhat.com>
13717             Ilya Verbin  <ilya.verbin@intel.com>
13719         * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
13720         GOMP_loop_nonmonotonic_dynamic_start,
13721         GOMP_loop_nonmonotonic_guided_next,
13722         GOMP_loop_nonmonotonic_guided_start,
13723         GOMP_loop_ull_nonmonotonic_dynamic_next,
13724         GOMP_loop_ull_nonmonotonic_dynamic_start,
13725         GOMP_loop_ull_nonmonotonic_guided_next,
13726         GOMP_loop_ull_nonmonotonic_guided_start,
13727         GOMP_parallel_loop_nonmonotonic_dynamic,
13728         GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
13729         (GOMP_target_41): Renamed to ...
13730         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
13731         arguments.
13732         (GOMP_target_data_41): Renamed to ...
13733         (GOMP_target_data_ext): ... this.
13734         (GOMP_target_update_41): Renamed to ...
13735         (GOMP_target_update_ext): ... this.
13736         * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
13737         GOMP_target_data_ext and GOMP_target_update_ext instead of
13738         GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
13739         Export GOMP_loop_nonmonotonic_dynamic_next,
13740         GOMP_loop_nonmonotonic_dynamic_start,
13741         GOMP_loop_nonmonotonic_guided_next,
13742         GOMP_loop_nonmonotonic_guided_start,
13743         GOMP_loop_ull_nonmonotonic_dynamic_next,
13744         GOMP_loop_ull_nonmonotonic_dynamic_start,
13745         GOMP_loop_ull_nonmonotonic_guided_next,
13746         GOMP_loop_ull_nonmonotonic_guided_start,
13747         GOMP_parallel_loop_nonmonotonic_dynamic and
13748         GOMP_parallel_loop_nonmonotonic_guided.
13749         * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
13750         GOMP_parallel_loop_nonmonotonic_guided,
13751         GOMP_loop_nonmonotonic_dynamic_start,
13752         GOMP_loop_nonmonotonic_guided_start,
13753         GOMP_loop_nonmonotonic_dynamic_next,
13754         GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
13755         * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
13756         GOMP_loop_ull_nonmonotonic_guided_start,
13757         GOMP_loop_ull_nonmonotonic_dynamic_next,
13758         GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
13759         * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
13760         functions.
13761         (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER.  For
13762         GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
13763         Use gomp_map_val function.
13764         (gomp_target_fallback_firstprivate): New static function.
13765         (GOMP_target_41): Renamed to ...
13766         (GOMP_target_ext): ... this.  Add num_teams and thread_limit
13767         arguments.  Move firstprivate fallback handling into a new
13768         function.
13769         (GOMP_target_data_41): Renamed to ...
13770         (GOMP_target_data_ext): ... this.
13771         (GOMP_target_update_41): Renamed to ...
13772         (GOMP_target_update_ext): ... this.
13773         (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
13774         gomp_map_0len_lookup instead of gomp_map_lookup.
13775         (omp_target_is_present): Use gomp_map_0len_lookup instead of
13776         gomp_map_lookup.
13777         * testsuite/libgomp.c/target-28.c: Likewise.
13778         * testsuite/libgomp.c/monotonic-1.c: New test.
13779         * testsuite/libgomp.c/monotonic-2.c: New test.
13780         * testsuite/libgomp.c/nonmonotonic-1.c: New test.
13781         * testsuite/libgomp.c/nonmonotonic-2.c: New test.
13782         * testsuite/libgomp.c/pr66199-5.c: New test.
13783         * testsuite/libgomp.c/pr66199-6.c: New test.
13784         * testsuite/libgomp.c/pr66199-7.c: New test.
13785         * testsuite/libgomp.c/pr66199-8.c: New test.
13786         * testsuite/libgomp.c/pr66199-9.c: New test.
13787         * testsuite/libgomp.c/reduction-11.c: New test.
13788         * testsuite/libgomp.c/reduction-12.c: New test.
13789         * testsuite/libgomp.c/reduction-13.c: New test.
13790         * testsuite/libgomp.c/reduction-14.c: New test.
13791         * testsuite/libgomp.c/reduction-15.c: New test.
13792         * testsuite/libgomp.c/target-12.c (main): Adjust for
13793         omp_target_is_present change for one-past-last element.
13794         * testsuite/libgomp.c/target-17.c (foo): Drop tests where
13795         the same var is both mapped and privatized.
13796         * testsuite/libgomp.c/target-19.c (foo): Adjust for different
13797         handling of zero-length array sections.
13798         * testsuite/libgomp.c/target-28.c: New test.
13799         * testsuite/libgomp.c/target-29.c: New test.
13800         * testsuite/libgomp.c/target-30.c: New test.
13801         * testsuite/libgomp.c/target-teams-1.c: New test.
13802         * testsuite/libgomp.c++/member-6.C: New test.
13803         * testsuite/libgomp.c++/member-7.C: New test.
13804         * testsuite/libgomp.c++/monotonic-1.C: New test.
13805         * testsuite/libgomp.c++/monotonic-2.C: New test.
13806         * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
13807         * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
13808         * testsuite/libgomp.c++/pr66199-3.C: New test.
13809         * testsuite/libgomp.c++/pr66199-4.C: New test.
13810         * testsuite/libgomp.c++/pr66199-5.C: New test.
13811         * testsuite/libgomp.c++/pr66199-6.C: New test.
13812         * testsuite/libgomp.c++/pr66199-7.C: New test.
13813         * testsuite/libgomp.c++/pr66199-8.C: New test.
13814         * testsuite/libgomp.c++/pr66199-9.C: New test.
13815         * testsuite/libgomp.c++/reduction-11.C: New test.
13816         * testsuite/libgomp.c++/reduction-12.C: New test.
13817         * testsuite/libgomp.c++/target-13.C: New test.
13818         * testsuite/libgomp.c++/target-14.C: New test.
13819         * testsuite/libgomp.c++/target-15.C: New test.
13820         * testsuite/libgomp.c++/target-16.C: New test.
13821         * testsuite/libgomp.c++/target-17.C: New test.
13822         * testsuite/libgomp.c++/target-18.C: New test.
13823         * testsuite/libgomp.c++/target-19.C: New test.
13825 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
13827         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
13828         and reduction copy.
13829         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13830         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13831         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13832         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13833         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
13834         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13835         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13836         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13837         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13838         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
13839         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
13840         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13841         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13842         * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
13844 2015-11-04  Nathan Sidwell  <nathan@codesourcery.com>
13846         * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
13847         * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
13848         * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
13849         * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
13850         * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
13851         * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
13852         * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
13853         * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
13855 2015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
13857         * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
13858         * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
13859         (GOMP_OFFLOAD_openacc_parallel): Likewise.
13860         * oacc-host.c (host_openacc_exec): Likewise.
13861         * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
13863 2015-11-03  Julian Brown  <julian@codesourcery.com>
13864             Thomas Schwinge  <thomas@codesourcery.com>
13866         * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
13867         * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13868         * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
13869         Likewise.
13870         * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
13871         * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
13873 2015-11-03  James Norris  <jnorris@codesourcery.com>
13875         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
13876         file.
13877         * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
13878         Likewise.
13879         * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
13880         * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
13881         * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
13882         * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
13883         * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
13885 2015-10-29  Nathan Sidwell  <nathan@codesourcery.com>
13887         * openacc.h (enum acc_device_t): Reformat. Ensure layout
13888         compatibility.
13889         (enum acc_async_t): Reformat.
13890         (acc_on_device): Declare compatible with builtin and provide C++
13891         wrapper.
13892         * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
13894 2015-10-29  Thomas Schwinge  <thomas@codesourcery.com>
13895             Cesar Philippidis  <cesar@codesourcery.com>
13897         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
13898         * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
13899         ... this.  Add a description of the test at the top of the file.
13900         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
13901         * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
13902         ... this.  Add a description of the test at the top of the file.
13904 2015-10-28  Nathan Sidwell  <nathan@codesourcery.com>
13906         * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
13907         * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
13908         * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
13909         * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
13910         * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
13911         * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
13913 2015-10-27  Nathan Sidwell  <nathan@codesourcery.com>
13915         * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
13916         dimensions.
13918 2015-10-27  Thomas Schwinge  <thomas@codesourcery.com>
13920         PR testsuite/68063
13921         * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
13923 2015-10-27  James Norris  <jnorris@codesourcery.com>
13925         * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
13926         * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
13928 2015-10-26  Thomas Schwinge  <thomas@codesourcery.com>
13930         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
13931         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
13933         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
13934         acc_device_nvidia usage.
13935         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
13936         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
13937         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
13939         * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
13940         * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
13942         PR libgomp/66518
13943         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
13945         PR libgomp/65437
13946         PR libgomp/66518
13947         * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
13948         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
13950 2015-10-23  Tom de Vries  <tom@codesourcery.com>
13952         PR testsuite/68063
13953         * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
13955 2015-10-20  Nathan Sidwell  <nathan@codesourcery.com>
13957         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
13958         vector_length.
13959         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13961 2015-10-14  Ilya Verbin  <ilya.verbin@intel.com>
13962             Aleksander Ivanushenko  <aleksander.ivanushenko@intel.com>
13964         * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
13965         to 0 when mapnum is 0.
13967 2015-10-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
13969         * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
13970         Cast to int from int32_t.
13972 2015-10-13  Jakub Jelinek  <jakub@redhat.com>
13973             Aldy Hernandez  <aldyh@redhat.com>
13974             Ilya Verbin  <ilya.verbin@intel.com>
13976         * config/linux/affinity.c (omp_get_place_num_procs,
13977         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
13978         * config/linux/doacross.h: New file.
13979         * config/posix/affinity.c (omp_get_place_num_procs,
13980         omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
13981         * config/posix/doacross.h: New file.
13982         * env.c: Include gomp-constants.h.
13983         (struct gomp_task_icv): Rename run_sched_modifier to
13984         run_sched_chunk_size.
13985         (gomp_max_task_priority_var): New variable.
13986         (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
13987         (handle_omp_display_env): Change _OPENMP value from 201307 to
13988         201511.  Print OMP_MAX_TASK_PRIORITY.
13989         (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
13990         (omp_set_schedule, omp_get_schedule): Rename modifier argument to
13991         chunk_size and run_sched_modifier to run_sched_chunk_size.
13992         (omp_get_max_task_priority, omp_get_initial_device,
13993         omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
13994         omp_get_partition_place_nums): New functions.
13995         * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
13996         omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
13997         to chunk_size.
13998         (omp_get_num_places_, omp_get_place_num_procs_,
13999         omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
14000         omp_get_place_proc_ids_8_, omp_get_place_num_,
14001         omp_get_partition_num_places_, omp_get_partition_place_nums_,
14002         omp_get_partition_place_nums_8_, omp_get_initial_device_,
14003         omp_get_max_task_priority_): New functions.
14004         * libgomp_g.h (GOMP_loop_doacross_static_start,
14005         GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
14006         GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
14007         GOMP_loop_ull_doacross_dynamic_start,
14008         GOMP_loop_ull_doacross_guided_start,
14009         GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
14010         GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
14011         GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
14012         GOMP_target_data_41, GOMP_target_update_41,
14013         GOMP_target_enter_exit_data): New prototypes.
14014         (GOMP_task): Add prototype argument.
14015         * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
14016         (struct gomp_doacross_work_share): New type.
14017         (struct gomp_work_share): Add doacross field.
14018         (struct gomp_task_icv): Rename run_sched_modifier to
14019         run_sched_chunk_size.
14020         (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
14021         GOMP_TASK_UNDEFERRED.  Add comments.
14022         (struct gomp_task_depend_entry): Add comments.
14023         (struct gomp_task): Likewise.
14024         (struct gomp_taskgroup): Likewise.
14025         (struct gomp_target_task): New type.
14026         (struct gomp_team): Add comment.
14027         (gomp_get_place_proc_ids_8, gomp_doacross_init,
14028         gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
14029         gomp_create_target_task, gomp_target_task_fn): New prototypes.
14030         (struct target_var_desc): New type.
14031         (struct target_mem_desc): Adjust comment.  Use struct
14032         target_var_desc instead of splay_tree_key for list.
14033         (REFCOUNT_INFINITY): Define.
14034         (struct splay_tree_key_s): Remove copy_from field.
14035         (struct gomp_device_descr): Add dev2dev_func field.
14036         (enum gomp_map_vars_kind): New enum.
14037         (gomp_map_vars): Add one argument.
14038         * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
14039         omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
14040         omp_get_place_num_procs, omp_get_place_num_procs_,
14041         omp_get_place_num_procs_8_, omp_get_place_proc_ids,
14042         omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
14043         omp_get_place_num_, omp_get_partition_num_places,
14044         omp_get_partition_num_places_, omp_get_partition_place_nums,
14045         omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
14046         omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
14047         omp_target_free, omp_target_is_present, omp_target_memcpy,
14048         omp_target_memcpy_rect, omp_target_associate_ptr and
14049         omp_target_disassociate_ptr.
14050         (GOMP_4.0.2): Renamed to ...
14051         (GOMP_4.5): ... this.  Export GOMP_target_41, GOMP_target_data_41,
14052         GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
14053         GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
14054         GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14055         GOMP_loop_doacross_static_start, GOMP_doacross_post,
14056         GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
14057         GOMP_loop_ull_doacross_guided_start,
14058         GOMP_loop_ull_doacross_runtime_start,
14059         GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
14060         GOMP_doacross_ull_wait.
14061         * libgomp.texi: Document omp_get_max_task_priority.
14062         Rename modifier argument to chunk_size for omp_set_schedule and
14063         omp_get_schedule.  Document OMP_MAX_TASK_PRIORITY env var.
14064         * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
14065         to run_sched_chunk_size renaming.
14066         (GOMP_loop_ordered_runtime_start): Likewise.
14067         (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
14068         gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14069         GOMP_parallel_loop_runtime_start): New functions.
14070         (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
14071         to run_sched_chunk_size renaming.
14072         (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
14073         GOMP_loop_doacross_guided_start): New functions or aliases.
14074         * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
14075         run_sched_modifier to run_sched_chunk_size renaming.
14076         (GOMP_loop_ull_ordered_runtime_start): Likewise.
14077         (gomp_loop_ull_doacross_static_start,
14078         gomp_loop_ull_doacross_dynamic_start,
14079         gomp_loop_ull_doacross_guided_start,
14080         GOMP_loop_ull_doacross_runtime_start): New functions.
14081         (GOMP_loop_ull_doacross_static_start,
14082         GOMP_loop_ull_doacross_dynamic_start,
14083         GOMP_loop_ull_doacross_guided_start): New functions or aliases.
14084         * oacc-mem.c (acc_map_data, present_create_copy,
14085         gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
14086         to gomp_map_vars.
14087         (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
14088         * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
14089         instead of false to gomp_map_vars.
14090         (GOACC_parallel_keyed): Likewise.  Use copy_from from target_var_desc.
14091         * omp.h.in (omp_lock_hint_t): New type.
14092         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14093         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14094         omp_get_place_num, omp_get_partition_num_places,
14095         omp_get_partition_place_nums, omp_get_initial_device,
14096         omp_get_max_task_priority, omp_target_alloc, omp_target_free,
14097         omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
14098         omp_target_associate_ptr, omp_target_disassociate_ptr): New
14099         prototypes.
14100         * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
14101         (omp_lock_hint_none, omp_lock_hint_uncontended,
14102         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14103         omp_lock_hint_speculative): New parameters.
14104         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14105         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14106         omp_get_place_num, omp_get_partition_num_places,
14107         omp_get_partition_place_nums, omp_get_initial_device,
14108         omp_get_max_task_priority): New interfaces.
14109         (omp_set_schedule, omp_get_schedule): Rename modifier argument
14110         to chunk_size.
14111         * omp_lib.h.in (omp_lock_hint_kind): New parameter.
14112         (omp_lock_hint_none, omp_lock_hint_uncontended,
14113         omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14114         omp_lock_hint_speculative): New parameters.
14115         (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14116         omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14117         omp_get_place_num, omp_get_partition_num_places,
14118         omp_get_partition_place_nums, omp_get_initial_device,
14119         omp_get_max_task_priority): New functions and subroutines.
14120         * ordered.c: Include stdarg.h and string.h.
14121         (MAX_COLLAPSED_BITS): Define.
14122         (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
14123         gomp_doacross_ull_init, GOMP_doacross_ull_post,
14124         GOMP_doacross_ull_wait): New functions.
14125         * target.c: Include errno.h.
14126         (resolve_device): If device is not initialized, call
14127         gomp_init_device on it.
14128         (gomp_map_lookup): New function.
14129         (gomp_map_vars_existing): Add tgt_var argument, fill it in.
14130         Don't bump refcount if REFCOUNT_INFINITY.  Handle
14131         GOMP_MAP_ALWAYS_TO_P.
14132         (get_kind): Rename is_openacc argument to short_mapkind.
14133         (gomp_map_pointer): Use gomp_map_lookup.
14134         (gomp_map_fields_existing): New function.
14135         (gomp_map_vars): Rename is_openacc argument to short_mapkind
14136         and is_target to pragma_kind.  Handle GOMP_MAP_VARS_ENTER_DATA,
14137         handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
14138         GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
14139         Adjust for tgt->list changed type and copy_from living in there.
14140         (gomp_copy_from_async): Adjust for tgt->list changed type and
14141         copy_from living in there.
14142         (gomp_unmap_vars): Likewise.
14143         (gomp_update): Likewise.  Rename is_openacc argument to
14144         short_mapkind.  Don't fail if object is not mapped.
14145         (gomp_load_image_to_device): Initialize refcount to
14146         REFCOUNT_INFINITY.
14147         (gomp_target_fallback): New function.
14148         (gomp_get_target_fn_addr): Likewise.
14149         (GOMP_target): Adjust gomp_map_vars caller, use
14150         gomp_get_target_fn_addr and gomp_target_fallback.
14151         (GOMP_target_41): New function.
14152         (gomp_target_data_fallback): New function.
14153         (GOMP_target_data): Use it, adjust gomp_map_vars caller.
14154         (GOMP_target_data_41): New function.
14155         (GOMP_target_update): Adjust gomp_update caller.
14156         (GOMP_target_update_41): New function.
14157         (gomp_exit_data, GOMP_target_enter_exit_data,
14158         gomp_target_task_fn, omp_target_alloc, omp_target_free,
14159         omp_target_is_present, omp_target_memcpy,
14160         omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
14161         omp_target_associate_ptr, omp_target_disassociate_ptr,
14162         gomp_load_plugin_for_device): New functions.
14163         * task.c: Include gomp-constants.h.  Include taskloop.c
14164         twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
14165         (gomp_task_handle_depend): New function.
14166         (GOMP_task): Use it.  Add priority argument.  Use
14167         gomp-constant.h constants instead of hardcoded numbers.
14168         Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
14169         (gomp_create_target_task): New function.
14170         (verify_children_queue, verify_taskgroup_queue,
14171         verify_task_queue): New functions.
14172         (gomp_task_run_pre): Call verify_*_queue functions.
14173         If an upcoming tied task is about to leave the sibling or
14174         taskgroup queues in an invalid state, adjust appropriately.
14175         Remove taskgroup argument.  Add comments.
14176         (gomp_task_run_post_handle_dependers): Add comments.
14177         (gomp_task_run_post_remove_parent): Likewise.
14178         (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
14179         (GOMP_taskwait): Likewise.  Add comments.
14180         (gomp_task_maybe_wait_for_dependencies): Fix scheduling
14181         problem such that the first non parent_depends_on task does not
14182         end up at the end of the children queue.
14183         (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
14184         GOMP_TASK_UNDEFERRED.
14185         (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
14186         * taskloop.c: New file.
14187         * testsuite/lib/libgomp.exp
14188         (check_effective_target_offload_device_nonshared_as): New proc.
14189         * testsuite/libgomp.c/affinity-2.c: New test.
14190         * testsuite/libgomp.c/doacross-1.c: New test.
14191         * testsuite/libgomp.c/doacross-2.c: New test.
14192         * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
14193         Add map clause to target.
14194         * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
14195         * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
14196         * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
14197         * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
14198         * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
14199         Likewise.
14200         * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
14201         * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
14202         * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
14203         * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
14204         not defined.  Use those where needed.
14205         * testsuite/libgomp.c/for-4.c: New test.
14206         * testsuite/libgomp.c/for-5.c: New test.
14207         * testsuite/libgomp.c/for-6.c: New test.
14208         * testsuite/libgomp.c/linear-1.c: New test.
14209         * testsuite/libgomp.c/ordered-4.c: New test.
14210         * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
14211         only allowed on the loop iterator.
14212         * testsuite/libgomp.c/pr66199-3.c: New test.
14213         * testsuite/libgomp.c/pr66199-4.c: New test.
14214         * testsuite/libgomp.c/reduction-7.c: New test.
14215         * testsuite/libgomp.c/reduction-8.c: New test.
14216         * testsuite/libgomp.c/reduction-9.c: New test.
14217         * testsuite/libgomp.c/reduction-10.c: New test.
14218         * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
14219         map(tofrom:s).
14220         * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
14221         * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
14222         * testsuite/libgomp.c/target-11.c: New test.
14223         * testsuite/libgomp.c/target-12.c: New test.
14224         * testsuite/libgomp.c/target-13.c: New test.
14225         * testsuite/libgomp.c/target-14.c: New test.
14226         * testsuite/libgomp.c/target-15.c: New test.
14227         * testsuite/libgomp.c/target-16.c: New test.
14228         * testsuite/libgomp.c/target-17.c: New test.
14229         * testsuite/libgomp.c/target-18.c: New test.
14230         * testsuite/libgomp.c/target-19.c: New test.
14231         * testsuite/libgomp.c/target-20.c: New test.
14232         * testsuite/libgomp.c/target-21.c: New test.
14233         * testsuite/libgomp.c/target-22.c: New test.
14234         * testsuite/libgomp.c/target-23.c: New test.
14235         * testsuite/libgomp.c/target-24.c: New test.
14236         * testsuite/libgomp.c/target-25.c: New test.
14237         * testsuite/libgomp.c/target-26.c: New test.
14238         * testsuite/libgomp.c/target-27.c: New test.
14239         * testsuite/libgomp.c/taskloop-1.c: New test.
14240         * testsuite/libgomp.c/taskloop-2.c: New test.
14241         * testsuite/libgomp.c/taskloop-3.c: New test.
14242         * testsuite/libgomp.c/taskloop-4.c: New test.
14243         * testsuite/libgomp.c++/ctor-13.C: New test.
14244         * testsuite/libgomp.c++/doacross-1.C: New test.
14245         * testsuite/libgomp.c++/examples-4/declare_target-2.C:
14246         Replace offload_device with offload_device_nonshared_as.
14247         * testsuite/libgomp.c++/for-12.C: New test.
14248         * testsuite/libgomp.c++/for-13.C: New test.
14249         * testsuite/libgomp.c++/for-14.C: New test.
14250         * testsuite/libgomp.c++/linear-1.C: New test.
14251         * testsuite/libgomp.c++/member-1.C: New test.
14252         * testsuite/libgomp.c++/member-2.C: New test.
14253         * testsuite/libgomp.c++/member-3.C: New test.
14254         * testsuite/libgomp.c++/member-4.C: New test.
14255         * testsuite/libgomp.c++/member-5.C: New test.
14256         * testsuite/libgomp.c++/ordered-1.C: New test.
14257         * testsuite/libgomp.c++/reduction-5.C: New test.
14258         * testsuite/libgomp.c++/reduction-6.C: New test.
14259         * testsuite/libgomp.c++/reduction-7.C: New test.
14260         * testsuite/libgomp.c++/reduction-8.C: New test.
14261         * testsuite/libgomp.c++/reduction-9.C: New test.
14262         * testsuite/libgomp.c++/reduction-10.C: New test.
14263         * testsuite/libgomp.c++/reference-1.C: New test.
14264         * testsuite/libgomp.c++/simd14.C: New test.
14265         * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
14266         * testsuite/libgomp.c++/target-5.C: New test.
14267         * testsuite/libgomp.c++/target-6.C: New test.
14268         * testsuite/libgomp.c++/target-7.C: New test.
14269         * testsuite/libgomp.c++/target-8.C: New test.
14270         * testsuite/libgomp.c++/target-9.C: New test.
14271         * testsuite/libgomp.c++/target-10.C: New test.
14272         * testsuite/libgomp.c++/target-11.C: New test.
14273         * testsuite/libgomp.c++/target-12.C: New test.
14274         * testsuite/libgomp.c++/taskloop-1.C: New test.
14275         * testsuite/libgomp.c++/taskloop-2.C: New test.
14276         * testsuite/libgomp.c++/taskloop-3.C: New test.
14277         * testsuite/libgomp.c++/taskloop-4.C: New test.
14278         * testsuite/libgomp.c++/taskloop-5.C: New test.
14279         * testsuite/libgomp.c++/taskloop-6.C: New test.
14280         * testsuite/libgomp.c++/taskloop-7.C: New test.
14281         * testsuite/libgomp.c++/taskloop-8.C: New test.
14282         * testsuite/libgomp.c++/taskloop-9.C: New test.
14283         * testsuite/libgomp.fortran/affinity1.f90: New test.
14284         * testsuite/libgomp.fortran/affinity2.f90: New test.
14286 2015-10-13  Tom de Vries  <tom@codesourcery.com>
14288         PR tree-optimization/67476
14289         * testsuite/libgomp.c/autopar-3.c: New test.
14290         * testsuite/libgomp.c/autopar-4.c: New test.
14291         * testsuite/libgomp.c/autopar-5.c: New test.
14292         * testsuite/libgomp.c/autopar-6.c: New test.
14293         * testsuite/libgomp.c/autopar-7.c: New test.
14294         * testsuite/libgomp.c/autopar-8.c: New test.
14296 2015-10-12  James Norris  <jnorris@codesourcery.com>
14298         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
14299         initializer.
14301 2015-10-09  David Malcolm  <dmalcolm@redhat.com>
14303         * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
14304         using load_gcc_lib.
14306 2015-10-02  Thomas Schwinge  <thomas@codesourcery.com>
14308         * oacc-ptx.h: Remove file, moving its content into...
14309         * config/nvptx/fortran.c: ... here...
14310         * config/nvptx/oacc-init.c: ..., here...
14311         * config/nvptx/oacc-parallel.c: ..., and here.
14312         * config/nvptx/openacc.f90: New file.
14313         * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
14314         (link_ptx): Don't link in predefined bits of PTX code.
14316 2015-09-30  Nathan Sidwell  <nathan@codesourcery.com>
14317             Bernd Schmidt <bernds@codesourcery.com>
14319         * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
14320         (struct targ_ptx_obj): New.
14321         (nvptx_tdata): Move earlier, change data format.
14322         (link_ptx): Take targ_ptx_obj ptr and count.  Allow multiple
14323         objects.
14324         (GOMP_OFFLOAD_load_image): Adjust.
14326 2015-09-30  Thomas Schwinge  <thomas@codesourcery.com>
14328         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
14329         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14330         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
14331         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
14332         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14333         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
14334         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
14335         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
14336         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
14337         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
14338         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14339         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14340         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14341         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14342         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14343         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14344         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14345         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14346         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14347         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14348         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14349         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14350         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14351         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14352         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14353         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14354         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14355         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14356         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14357         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14358         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14359         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14360         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14361         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14362         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14363         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14364         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14365         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14366         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14367         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14368         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14369         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14370         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14371         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14372         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14373         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14374         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14375         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14376         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14377         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14378         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14379         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14380         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14381         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14382         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
14383         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14384         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14385         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
14386         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
14387         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
14388         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
14389         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
14390         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14392 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
14394         * oacc-init.c (acc_on_device): Force optimization level.
14396 2015-09-29  Nathan Sidwell  <nathan@codesourcery.com>
14398         * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
14399         (cuda_errlist): Delete.
14400         (cuda_error): Reimplement.
14402 2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>
14404         * libgomp.h (acc_dispatch_t): Replace separate geometry args with
14405         array.
14406         * libgomp.map (GOACC_parallel_keyed): New.
14407         * oacc-parallel.c (goacc_wait): Take pointer to va_list.  Adjust
14408         all callers.
14409         (GOACC_parallel_keyed): New interface.  Lose geometry arguments
14410         and take keyed varargs list.  Adjust call to exec_func.
14411         (GOACC_parallel): Force host fallback.
14412         * libgomp_g.h (GOACC_parallel): Remove.
14413         (GOACC_parallel_keyed): Declare.
14414         * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
14415         (struct targ_gn_descriptor): Replace name field with launch field.
14416         (nvptx_exec): Lose separate geometry args, take array.  Process
14417         dynamic dimensions and adjust.
14418         (struct nvptx_tdata): Replace fn_names field with fn_descs.
14419         (GOMP_OFFLOAD_load_image): Adjust for change in function table
14420         data.
14421         (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
14422         passing.
14423         * oacc-host.c (host_openacc_exec): Adjust for change in dimension
14424         passing.
14426 2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>
14428         PR libgomp/67141
14429         * oacc-int.h (goacc_host_init): Add declaration.
14430         * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
14431         * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
14433 2015-09-08  Aditya Kumar  <hiraditya@msn.com>
14434             Sebastian Pop  <s.pop@samsung.com>
14436         * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
14437         match o/p.
14438         * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
14439         * testsuite/libgomp.graphite/force-parallel-4.c: Same.
14440         * testsuite/libgomp.graphite/force-parallel-5.c: Same.
14441         * testsuite/libgomp.graphite/force-parallel-7.c: Same.
14442         * testsuite/libgomp.graphite/force-parallel-8.c: Same.
14444 2015-09-03  Jakub Jelinek  <jakub@redhat.com>
14446         * configure.tgt: Add missing ;; in between nvptx and rtems
14447         snippets.
14449 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14451         * config/posix/pool.h (gomp_adjust_thread_attr): New.
14452         * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
14453         (gomp_thread_pool_reservoir): Add priority member.
14454         * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
14455         priority.
14456         (parse_thread_pools): Likewise.
14457         * team.c (gomp_team_start): Call configuration provided
14458         gomp_adjust_thread_attr(). Destroy thread attributes if
14459         necessary.
14460         * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
14462 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14464         * config/posix/pool.h: New.
14465         * config/rtems/pool.h: Likewise.
14466         * config/rtems/proc.c: Likewise.
14467         * libgomp.h (gomp_thread_destructor): Declare.
14468         * team.c: Include configuration provided "pool.h".
14469         (gomp_get_thread_pool): Define in configuration.
14470         (gomp_team_end): Call configuration defined
14471         gomp_release_thread_pool().
14473 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14475         * config/rtems/bar.c: New.
14476         * config/rtems/bar.h: Likewise.
14477         * config/rtems/mutex.c: Likewise.
14478         * config/rtems/mutex.h: Likewise.
14479         * config/rtems/sem.c: Likewise.
14480         * config/rtems/sem.h: Likewise.
14481         * configure.ac (*-*-rtems*): Check that Newlib provides a proper
14482         <sys/lock.h> header file.
14483         * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
14484         supported by Newlib.
14485         * configure: Regenerate.
14487 2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14489         * team.c (gomp_new_thread_pool): Delete and move content to ...
14490         (gomp_get_thread_pool): ... new function.  Allocate and
14491         initialize thread pool on demand.
14492         (get_last_team): Use gomp_get_thread_pool().
14493         (gomp_team_start): Delete thread pool initialization.
14495 2015-09-03  Tom de Vries  <tom@codesourcery.com>
14497         PR tree-optimization/65637
14498         * testsuite/libgomp.c/autopar-2.c: New test.
14500 2015-08-29  Tom de Vries  <tom@codesourcery.com>
14502         PR tree-optimization/46193
14503         * testsuite/libgomp.c/pr46193.c: New test.
14505 2015-08-24  Nathan Sidwell  <nathan@codesourcery.com>
14507         libgomp/
14508         * libgomp.map: Add 4.0.2 version.
14509         * target.c (offload_image_descr): Add version field.
14510         (gomp_load_image_to_device): Add version argument.  Adjust plugin
14511         call.  Improve load mismatch diagnostic.
14512         (gomp_unload_image_from_device): Add version argument.  Adjust plugin
14513         call.
14514         (GOMP_offload_regster): Make stub function, move bulk to ...
14515         (GOMP_offload_register_ver): ... here.  Process version argument.
14516         (GOMP_offload_unregister): Make stub function, move bulk to ...
14517         (GOMP_offload_unregister_ver): ... here.  Process version argument.
14518         (gomp_init_device): Process version field.
14519         (gomp_unload_device): Process version field.
14520         (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
14521         macros.  Check plugin version.
14522         * libgomp.h (gomp_device_descr): Add version function field.  Adjust
14523         loader and unloader types.
14524         * oacc-host.c: Include gomp-constants.h.
14525         (host_version): New.
14526         (host_load_image, host_unload_image): Adjust.
14527         (host_dispatch): Add host_version.
14528         * plugin/plugin-nvptx.c: Include gomp-constants.h.
14529         (GOMP_OFFLOAD_version): New.
14530         (GOMP_OFFLOAD_load_image): Add version arg and check it.
14531         (GOMP_OFFLOAD_unload_image): Likewise.
14532         * plugin/plugin-host.c: Include gomp-constants.h.
14533         (GOMP_OFFLOAD_version): New.
14534         (GOMP_OFFLOAD_load_image): Add version arg.
14535         (GOMP_OFFLOAD_unload_image): Likewise.
14537 2015-08-24  Tom de Vries  <tom@codesourcery.com>
14539         PR tree-optimization/65468
14540         * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
14542 2015-08-24  Tom de Vries  <tom@codesourcery.com>
14544         PR tree-optimization/65468
14545         * testsuite/libgomp.c/static-chunk-size-one.c: New test.
14547 2015-08-24  Joost VandeVondele  <vondele@gnu.gcc.org>
14549         PR libgomp/66761
14550         PR libgomp/67303
14551         * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
14552         (gomp_iter_guided_next): Idem.
14553         * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
14554         (gomp_iter_ull_guided_next): Idem.
14555         * config/linux/wait.h (do_spin): Idem.
14557 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
14559         * libgomp-plugin.h (enum offload_target_type): Remove
14560         OFFLOAD_TARGET_TYPE_HOST_NONSHM.
14561         * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
14562         * openacc.h (enum acc_device_t): Likewise.
14563         * openacc_lib.h: Likewise.
14564         * oacc-init.c (name_of_acc_device_t): Don't handle it.
14565         (acc_on_device): Just use __builtin_acc_on_device.
14566         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
14567         of acc_on_device builtin.
14568         * plugin/plugin-host.h: Remove file.
14569         * plugin/plugin-host.c: Likewise, but salvage some content into...
14570         * oacc-host.c: ... this file.
14571         * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
14572         * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
14573         * Makefile.in: Regenerate.
14574         * configure: Likewise.
14575         * testsuite/lib/libgomp.exp
14576         (check_effective_target_openacc_host_nonshm_selected): Remove.
14577         * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
14578         ACC_DEVICE_TYPE=host_nonshm.
14579         * testsuite/libgomp.oacc-c/c.exp: Likewise.
14580         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
14581         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
14582         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
14583         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
14584         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
14586 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
14587             Jakub Jelinek  <jakub@redhat.com>
14589         * config/nvptx/affinity.c: New file.
14590         * config/nvptx/alloc.c: Likewise.
14591         * config/nvptx/bar.c: Likewise.
14592         * config/nvptx/barrier.c: Likewise.
14593         * config/nvptx/critical.c: Likewise.
14594         * config/nvptx/env.c: Likewise.
14595         * config/nvptx/error.c: Likewise.
14596         * config/nvptx/fortran.c: Likewise.
14597         * config/nvptx/iter.c: Likewise.
14598         * config/nvptx/iter_ull.c: Likewise.
14599         * config/nvptx/libgomp-plugin.c: Likewise.
14600         * config/nvptx/lock.c: Likewise.
14601         * config/nvptx/loop.c: Likewise.
14602         * config/nvptx/loop_ull.c: Likewise.
14603         * config/nvptx/mutex.c: Likewise.
14604         * config/nvptx/oacc-async.c: Likewise.
14605         * config/nvptx/oacc-cuda.c: Likewise.
14606         * config/nvptx/oacc-host.c: Likewise.
14607         * config/nvptx/oacc-init.c: Likewise.
14608         * config/nvptx/oacc-mem.c: Likewise.
14609         * config/nvptx/oacc-parallel.c: Likewise.
14610         * config/nvptx/oacc-plugin.c: Likewise.
14611         * config/nvptx/omp-lock.h: Likewise.
14612         * config/nvptx/ordered.c: Likewise.
14613         * config/nvptx/parallel.c: Likewise.
14614         * config/nvptx/proc.c: Likewise.
14615         * config/nvptx/ptrlock.c: Likewise.
14616         * config/nvptx/sections.c: Likewise.
14617         * config/nvptx/sem.c: Likewise.
14618         * config/nvptx/single.c: Likewise.
14619         * config/nvptx/splay-tree.c: Likewise.
14620         * config/nvptx/target.c: Likewise.
14621         * config/nvptx/task.c: Likewise.
14622         * config/nvptx/team.c: Likewise.
14623         * config/nvptx/time.c: Likewise.
14624         * config/nvptx/work.c: Likewise.
14625         * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
14626         * configure: Regenerate.
14627         * configure.tgt (config_path): Set to "nvptx" for target
14628         nvptx*-*-*.
14630 2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>
14632         * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
14634 2015-08-03  Nathan Sidwell  <nathan@codesourcery.com>
14636         * plugin/plugin-nvptx.c: Don't include dlfcn.h.
14637         (cuda_errlist): Constify.
14638         (errmsg):  Move into ...
14639         (cuda_error): ... here.  Make smaller.
14640         (_XSTR, _STR): Delete.
14641         (cuda_synames): Delete.
14642         (verify_device_library): Delete.
14643         (nvptx_init): Don't call it.
14645 2015-07-28  Tom de Vries  <tom@codesourcery.com>
14647         * testsuite/libgomp.c/uns-outer-4.c: New test.
14649 2015-07-24  Cesar Philippidis  <cesar@codesourcery.com>
14651         * testsuite/libgomp.c/pr66714.c: New test.
14653 2015-07-22  Maxim Blumenthal  <maxim.blumenthal@intel.com>
14655         PR libgomp/66950
14656         * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
14657         (fib_ref): New function.
14658         (fib): Correct corner cases in the recursion.
14659         (main): Replace the non-simd loop with fib_ref call.
14660         * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
14661         subroutine.
14662         (fibonacci): Lower the parameter N to 30.  Correct accordingly check
14663         for the last array element value.  Replace the non-simd loop with
14664         fib_ref call.  Remove redundant b_ref array.  Remove the comparison
14665         of the last array element with according Fibonacci sequence element.
14666         (fib): Correct corner cases in the recursion.
14668 2015-07-21  Nathan Sidwell  <nathan@codesourcery.com>
14670         * target.c (gomp_offload_image_to_device): Rename to ...
14671         (gomp_load_image_to_device): ... here.
14672         (GOMP_offload_register): Adjust call.
14673         (gomp_init_device): Likewise.
14674         (gomp_unload_image_from_device): New.  Broken out of ...
14675         (GOMP_offload_unregister): ... here.  Call it.
14676         (gomp_unload_device): New.
14677         * libgomp.h (gomp_unload_device): Declare.
14678         * oacc-init.c (acc_shutdown_1): Unload from device before deleting
14679         mem maps.
14681 2015-07-20  Nathan Sidwell  <nathan@codesourcery.com>
14683         * oacc-parallel.c (GOACC_parallel): Move variadic handling into
14684         wait=-specific if.
14685         (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
14686         !=0 condition.
14687         (goacc_waits): Move !num_waits handling to ...
14688         (GOACC_wait): ... here, the only caller that might have zero waits.
14690         * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
14691         (struct ptx_image_data): Move earlier, add fns field.
14692         (struct ptx_device): Add images and image_lock fields.
14693         (ptx_images, ptx_image_lock): Delete.
14694         (nvptx_open_device): Initialize images and image_lock fields.
14695         (nvptx_close_device): Destroy image_lock.
14696         (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
14697         (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
14698         fields.
14700 2015-07-17  Nathan Sidwell  <nathan@codesourcery.com>
14702         * target.c (GOMP_offload_register): Use int for device type arg.
14703         (GOMP_offload_unregister): Likewise.
14705         * target.c (struct_offload_image_descr): Constify host_table.
14706         (gomp_offload_image_to_device): Likewise.
14707         (GOMP_offload_register, GOMP_offload_unregister): Likewise.
14709         * libgomp.h (gomp_device_descr): Constify target data arguments.
14710         * target.c (struct offload_image_descr): Constify target_data.
14711         (gomp_offload_image_to_device): Likewise.
14712         (GOMP_offload_register): Likewise.
14713         (GOMP_offload_unregister): Likewise.
14714         * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
14715         GOMP_OFFLOAD_unload_image): Constify target data.
14716         * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
14717         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
14719 2015-07-16  Nathan Sidwell  <nathan@codesourcery.com>
14721         * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
14722         Workaround driver library const error.
14723         (struct nvptx_tdata, nvptx_tdata_t): New.
14724         (GOMP_OFFLOAD_load_image): Use struct for target_data's real
14725         type.
14727 2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
14729         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
14730         of EPS parameter from integer to real.
14731         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
14732         type of EPS parameter from integer to real.
14734 2015-07-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14736         * team.c (get_last_team): New.
14737         (gomp_new_team): Recycle last non-nested team if possible.
14738         (gomp_team_end): Move team work share list free lock destruction
14739         to ...
14740         (free_team): ... here.
14742 2015-07-14  Maxim Blumenthal  <maxim.blumenthal@intel.com>
14744         * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
14745         and ref from int to double.  Replaced their comparison with
14746         an inequality of their difference and EPS.
14747         * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
14748         comparison of pri and a reference number with an inequality of their
14749         difference and EPS.
14750         * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
14751         the comparison of sum and sum_ref with an inequality of their
14752         difference and EPS.
14753         * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
14754         the comparison of pri and a reference number with an inequality of
14755         their difference and EPS.
14757 2015-07-13  Maxim Blumenthal  <maxim.blumenthal@intel.com>
14759         * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
14760         * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
14761         * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
14762         * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
14763         * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
14764         * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
14765         * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
14766         * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
14767         * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
14768         * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
14769         * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
14770         * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
14771         (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
14772         variables.
14773         (vec_mult): Likewise.  Add #pragma omp taskwait.
14774         (main): Adjust caller.
14775         * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
14776         * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
14777         * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
14778         * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
14779         * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
14780         * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
14781         * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
14782         * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
14783         * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
14784         * testsuite/libgomp.c/examples-4/device-1.c: ...this.
14785         * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
14786         * testsuite/libgomp.c/examples-4/device-2.c: ...this.
14787         * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
14788         * testsuite/libgomp.c/examples-4/device-3.c: ...this.
14789         * testsuite/libgomp.c/examples-4/simd-1.c: New file.
14790         * testsuite/libgomp.c/examples-4/simd-2.c: New file.
14791         * testsuite/libgomp.c/examples-4/simd-3.c: New file.
14792         * testsuite/libgomp.c/examples-4/simd-4.c: New file.
14793         * testsuite/libgomp.c/examples-4/simd-5.c: New file.
14794         * testsuite/libgomp.c/examples-4/simd-6.c: New file.
14795         * testsuite/libgomp.c/examples-4/simd-7.c: New file.
14796         * testsuite/libgomp.c/examples-4/simd-8.c: New file.
14797         * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
14798         * testsuite/libgomp.c/examples-4/target-1.c: ...this.
14799         * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
14800         * testsuite/libgomp.c/examples-4/target-2.c: ...this.
14801         * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
14802         * testsuite/libgomp.c/examples-4/target-3.c: ...this.
14803         * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
14804         * testsuite/libgomp.c/examples-4/target-4.c: ...this.
14805         * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
14806         * testsuite/libgomp.c/examples-4/target-5.c: ...this.
14807         * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
14808         * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
14809         * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
14810         * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
14811         * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
14812         * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
14813         * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
14814         * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
14815         * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
14816         * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
14817         * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
14818         * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
14819         * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
14820         * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
14821         * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
14822         * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
14823         * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
14824         * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
14825         * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
14826         * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
14827         * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
14828         * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
14829         * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
14830         * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
14831         * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
14832         * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
14833         * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
14834         * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
14835         * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
14836         * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
14837         * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
14838         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
14839         * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
14840         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
14841         * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
14842         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
14843         * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
14844         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
14845         * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
14846         (vec_mult): Add !$omp taskwait.
14847         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
14848         * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
14849         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
14850         * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
14851         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
14852         * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
14853         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
14854         * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
14855         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
14856         * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
14857         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
14858         * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
14859         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
14860         * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
14861         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
14862         * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
14863         * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
14864         * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
14865         * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
14866         * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
14867         * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
14868         * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
14869         * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
14870         * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
14871         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
14872         * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
14873         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
14874         * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
14875         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
14876         * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
14877         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
14878         * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
14879         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
14880         * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
14881         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
14882         * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
14883         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
14884         * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
14885         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
14886         * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
14887         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
14888         * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
14889         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
14890         * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
14891         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
14892         * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
14893         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
14894         * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
14895         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
14896         * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
14897         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
14898         * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
14899         * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
14900         * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
14901         * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
14902         * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
14903         * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
14904         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
14905         * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
14906         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
14907         * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
14908         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
14909         * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
14910         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
14911         * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
14912         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
14913         * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
14915 2015-07-10  Tom de Vries  <tom@codesourcery.com>
14917         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
14918         * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
14920 2015-07-08  Thomas Schwinge  <thomas@codesourcery.com>
14922         PR libgomp/65099
14923         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
14924         in a 64-bit configuration.
14925         * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
14926         offloading testing if no such device is available.
14927         * testsuite/libgomp.oacc-c/c.exp: Likewise.
14928         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
14930 2015-07-08  Tom de Vries  <tom@codesourcery.com>
14932         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
14933         second call to f.
14934         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14936 2015-07-07  Tom de Vries  <tom@codesourcery.com>
14938         PR tree-optimization/66642
14939         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
14940         iteration count case.
14941         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
14942         function, factor out of ...
14943         (main): ... here.  Test low iteration count case.
14945 2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>
14947         * libgomp.h (gomp_thread_pool): Comment last_team field.
14949 2015-07-02  Uros Bizjak  <ubizjak@gmail.com>
14951         * testsuite/libgomp.c++/pr66702-1.C: Require
14952         vect_simd_clones effective target.
14953         * testsuite/libgomp.c++/pr66702-2.C: Ditto.
14955 2015-06-30  Tom de Vries  <tom@codesourcery.com>
14957         * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
14958         already set.  Use DEFAULT_CFLAGS in dg-runtest.
14959         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
14960         "-O2".
14962 2015-06-30  Tom de Vries  <tom@codesourcery.com>
14964         * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
14965         already set.  Use DEFAULT_CFLAGS in dg-runtest.
14966         * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
14967         * testsuite/libgomp.c++/pr64824.C: Same.
14968         * testsuite/libgomp.c++/pr64868.C: Same.
14969         * testsuite/libgomp.c++/pr66199-1.C: Same.
14970         * testsuite/libgomp.c++/pr66199-2.C: Same.
14971         * testsuite/libgomp.c++/target-2.C: Same.
14972         * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
14973         -std=<standard> option.
14974         * testsuite/libgomp.c++/udr-11.C: Same.
14975         * testsuite/libgomp.c++/udr-12.C: Same.
14976         * testsuite/libgomp.c++/udr-13.C: Same.
14977         * testsuite/libgomp.c++/udr-14.C: Same.
14978         * testsuite/libgomp.c++/udr-15.C: Same.
14979         * testsuite/libgomp.c++/udr-16.C: Same.
14980         * testsuite/libgomp.c++/udr-17.C: Same.
14981         * testsuite/libgomp.c++/udr-18.C: Same.
14982         * testsuite/libgomp.c++/udr-19.C: Same.
14983         * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
14984         * testsuite/libgomp.c++/simd-1.C: Same.
14985         * testsuite/libgomp.c++/simd-2.C: Same.
14986         * testsuite/libgomp.c++/simd-3.C: Same.
14987         * testsuite/libgomp.c++/simd-4.C: Same.
14988         * testsuite/libgomp.c++/simd-5.C: Same.
14989         * testsuite/libgomp.c++/simd-6.C: Same.
14990         * testsuite/libgomp.c++/simd-7.C: Same.
14991         * testsuite/libgomp.c++/simd-8.C: Same.
14992         * testsuite/libgomp.c++/simd-9.C: Same.
14993         * testsuite/libgomp.c++/simd10.C: Same.
14994         * testsuite/libgomp.c++/simd11.C: Same.
14995         * testsuite/libgomp.c++/simd12.C: Same.
14996         * testsuite/libgomp.c++/simd13.C: Same.
14998 2015-06-30  Jakub Jelinek  <jakub@redhat.com>
15000         PR middle-end/66702
15001         * testsuite/libgomp.c++/pr66702-1.C: New test.
15002         * testsuite/libgomp.c++/pr66702-2.C: New test.
15004 2015-06-30  Tom de Vries  <tom@codesourcery.com>
15006         * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
15007         * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
15008         * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
15009         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
15011 2015-06-30  Tom de Vries  <tom@codesourcery.com>
15013         PR tree-optimization/66652
15014         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
15015         using restrict pointers.
15016         (main): Add arguments to calls to f.
15017         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15019 2015-06-23  Andreas Tobler  <andreast@gcc.gnu.org>
15021         * configure.ac: Fix check for header <sys/sysctl.h>.
15022         * configure: Regenerate.
15023         * config.h.in: Likewise.
15025 2015-06-23  Tom de Vries  <tom@codesourcery.com>
15027         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
15028         abort.
15029         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
15031 2015-06-19  Thomas Schwinge  <thomas@codesourcery.com>
15033         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
15034         acc_device_nvidia.
15036         PR libgomp/66518
15037         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
15038         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15040 2015-06-15  Tom de Vries  <tom@codesourcery.com>
15042         * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2".  Use
15043         dg-additional-options for any remaining options.
15044         * testsuite/libgomp.c/atomic-2.c: Same.
15045         * testsuite/libgomp.c/atomic-4.c: Same.
15046         * testsuite/libgomp.c/atomic-5.c: Same.
15047         * testsuite/libgomp.c/atomic-6.c: Same.
15048         * testsuite/libgomp.c/autopar-1.c: Same.
15049         * testsuite/libgomp.c/copyin-1.c: Same.
15050         * testsuite/libgomp.c/copyin-2.c: Same.
15051         * testsuite/libgomp.c/copyin-3.c: Same.
15052         * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
15053         * testsuite/libgomp.c/nestedfn-5.c: Same.
15054         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
15055         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
15056         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
15057         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15058         * testsuite/libgomp.c/pr32362-1.c: Same.
15059         * testsuite/libgomp.c/pr32362-2.c: Same.
15060         * testsuite/libgomp.c/pr32362-3.c: Same.
15061         * testsuite/libgomp.c/pr39591-1.c: Same.
15062         * testsuite/libgomp.c/pr39591-2.c: Same.
15063         * testsuite/libgomp.c/pr39591-3.c: Same.
15064         * testsuite/libgomp.c/pr58392.c: Same.
15065         * testsuite/libgomp.c/pr58756.c: Same.
15066         * testsuite/libgomp.c/simd-1.c: Same.
15067         * testsuite/libgomp.c/simd-10.c: Same.
15068         * testsuite/libgomp.c/simd-11.c: Same.
15069         * testsuite/libgomp.c/simd-12.c: Same.
15070         * testsuite/libgomp.c/simd-13.c: Same.
15071         * testsuite/libgomp.c/simd-14.c: Same.
15072         * testsuite/libgomp.c/simd-15.c: Same.
15073         * testsuite/libgomp.c/simd-2.c: Same.
15074         * testsuite/libgomp.c/simd-3.c: Same.
15075         * testsuite/libgomp.c/simd-4.c: Same.
15076         * testsuite/libgomp.c/simd-5.c: Same.
15077         * testsuite/libgomp.c/simd-6.c: Same.
15078         * testsuite/libgomp.c/simd-7.c: Same.
15079         * testsuite/libgomp.c/simd-8.c: Same.
15080         * testsuite/libgomp.c/simd-9.c: Same.
15082 2015-06-15  Tom de Vries  <tom@codesourcery.com>
15084         * testsuite/libgomp.c/pr35625.c: Fix typo.
15086 2015-06-15  Tom de Vries  <tom@codesourcery.com>
15088         * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
15089         in dg-options.
15090         * testsuite/libgomp.c/atomic-3.c: Same.
15091         * testsuite/libgomp.c/debug-1.c: Same.
15092         * testsuite/libgomp.c/nqueens-1.c: Same.
15093         * testsuite/libgomp.c/pr26171.c: Same.
15094         * testsuite/libgomp.c/pr48591.c: Same.
15095         * testsuite/libgomp.c/pr64824.c: Same.
15096         * testsuite/libgomp.c/pr64868.c: Same.
15097         * testsuite/libgomp.c/pr66133.c: Same.
15098         * testsuite/libgomp.c/pr66199-1.c: Same.
15099         * testsuite/libgomp.c/pr66199-2.c: Same.
15100         * testsuite/libgomp.c/target-8.c: Same.
15102 2015-06-15  Tom de Vries  <tom@codesourcery.com>
15104         * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
15105         -std={gnu99,c99}.
15106         * testsuite/libgomp.c/for-1.c: Same.
15107         * testsuite/libgomp.c/for-2.c: Same.
15108         * testsuite/libgomp.c/for-3.c: Same.
15109         * testsuite/libgomp.c/pr35625.c: Same.
15110         * testsuite/libgomp.c/pr39154.c: Same.
15111         * testsuite/libgomp.c/simd-16.c: Same.
15112         * testsuite/libgomp.c/simd-17.c: Same.
15114 2015-06-13  Tom de Vries  <tom@codesourcery.com>
15116         * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
15118 2015-06-13  Tom de Vries  <tom@codesourcery.com>
15120         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
15121         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15122         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
15123         (N): Define.
15124         (main): Use N instead of hardcoded constants.
15126 2015-06-05  Tom de Vries  <tom@codesourcery.com>
15128         merge from gomp4 branch:
15129         2015-05-28  Tom de Vries  <tom@codesourcery.com>
15131         PR tree-optimization/65443
15132         * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
15133         * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
15134         * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
15136 2015-05-29  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
15138         * testsuite/libgomp.graphite/bounds.c: Adjust for
15139         cleanup-tree-dump removal.
15140         * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
15141         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15142         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15143         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15144         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15145         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15146         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15147         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15148         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15149         * testsuite/libgomp.graphite/pr41118.c: Likewise.
15151 2015-05-28  Uros Bizjak  <ubizjak@gmail.com>
15153         * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
15154         (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
15155         (futex_wake) [!__x86_64__]: Ditto.
15157 2015-05-28  Julian Brown  <julian@codesourcery.com>
15159         * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
15160         function comment. Only call gomp_fatal if new argument is true.
15161         (acc_dev_num_out_of_range): New function.
15162         (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
15163         acc_dev_num_out_of_range as appropriate.
15164         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15165         (acc_get_device_num, acc_set_device_num): Update calls to
15166         resolve_device.
15167         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
15168         output.
15170 2015-05-28  Julian Brown  <julian@codesourcery.com>
15172         PR libgomp/65742
15173         * oacc-init.c (plugin/plugin-host.h): Include.
15174         (acc_on_device): Check whether we're in an offloaded region for
15175         host_nonshm
15176         plugin. Don't use __builtin_acc_on_device.
15177         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
15178         nonshm_exec flag in thread-local data.
15179         (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
15180         data for host_nonshm plugin.
15181         (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
15182         for host_nonshm plugin.
15183         * plugin/plugin-host.h: New.
15185 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
15187         * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
15189 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
15191         * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
15192         Declare as int.
15193         (FUTEX_PRIVATE_FLAG): Remove L suffix.
15194         * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
15195         Declare as int.
15197 2015-05-27  Uros Bizjak  <ubizjak@gmail.com>
15199         * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
15201 2015-05-27  Chung-Lin Tang  <cltang@codesourcery.com>
15203         * target.c (gomp_map_pointer): New function abstracting out
15204         GOMP_MAP_POINTER handling.
15205         (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
15206         gomp_map_pointer().
15208 2015-05-19  Jakub Jelinek  <jakub@redhat.com>
15210         PR middle-end/66199
15211         * testsuite/libgomp.c/pr66199-1.c: New test.
15212         * testsuite/libgomp.c/pr66199-2.c: New test.
15213         * testsuite/libgomp.c++/pr66199-1.C: New test.
15214         * testsuite/libgomp.c++/pr66199-2.C: New test.
15215         * testsuite/libgomp.fortran/pr66199-1.f90: New test.
15216         * testsuite/libgomp.fortran/pr66199-2.f90: New test.
15218 2015-05-19  Julian Brown  <julian@codesourcery.com>
15220         * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
15221         on cuInit failure.
15223 2015-05-13  Jakub Jelinek  <jakub@redhat.com>
15225         PR middle-end/66133
15226         * testsuite/libgomp.c/pr66133.c: New test.
15228 2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
15230         * Makefile.in: Regenerated with automake-1.11.6.
15231         * aclocal.m4: Likewise.
15232         * config.h.in: Likewise.
15233         * configure: Likewise.
15234         * testsuite/Makefile.in: Likewise.
15236 2015-05-08  Jason Merrill  <jason@redhat.com>
15238         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
15239         _Complex.
15241         * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
15243 2015-05-06  Julian Brown  <julian@codesourcery.com>
15245         * oacc-init.c (acc_device_lock): Add explanatory comment.
15246         (resolve_device): Add comment about locking requirement.
15247         (acc_init_1, acc_shutdown_1): Likewise. Add locking around
15248         gomp_init_device and gomp_fini_device calls.
15249         (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15250         (acc_get_device_num, acc_set_device_num): Add locking around
15251         resolve_device and gomp_init_device calls.
15253 2015-05-06  Julian Brown  <julian@codesourcery.com>
15255         * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
15256         goacc_thread_lock on error paths.
15257         * oacc-mem.c (lookup_host): Remove locking from function. Note
15258         locking requirement for caller in function comment.
15259         (lookup_dev): Likewise.
15260         (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
15261         (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
15262         (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
15263         Add locking.
15265 2015-05-05  Thomas Schwinge  <thomas@codesourcery.com>
15267         PR testsuite/65205
15268         PR libgomp/65993
15269         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
15270         don't expect "0x" prefix for "%p" format specifier, don't expect
15271         "(nil)" for NULL pointer.
15272         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15273         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15274         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15275         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15276         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15277         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15278         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15279         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15280         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15281         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15282         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15283         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15284         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15285         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15286         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15287         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15288         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15289         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15290         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15291         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15292         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15293         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15294         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15295         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15296         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15297         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15298         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15299         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15300         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
15301         accurately specify what we're looking for.
15302         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15303         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15304         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15305         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15306         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15308 2015-04-30  James Norris  <jnorris@codesourcery.com>
15310         PR testsuite/65205
15311         * testsuite/lib/libgomp.exp
15312         (check_effective_target_openacc_host_selected)
15313         (check_effective_target_openacc_host_nonshm_selected): New
15314         procedures.
15315         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
15316         dg-shouldfail.
15317         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15318         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15319         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15320         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15321         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15322         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15323         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15324         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15325         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15326         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15327         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15328         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15329         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15330         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15331         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15332         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15333         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15334         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15335         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15336         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15337         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15338         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15339         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15340         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15341         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15342         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15343         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15344         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15345         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15346         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15347         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15348         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15349         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15350         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15351         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15352         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15353         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15354         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15355         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15356         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15357         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15358         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15359         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15361 2015-04-08  Julian Brown  <julian@codesourcery.com>
15363         * libgomp.h (target_mem_desc: Remove mem_map field.
15364         (acc_dispatch_t): Remove open_device_func, close_device_func,
15365         get_device_num_func, set_device_num_func, target_data members.
15366         Change create_thread_data_func argument to device number instead of
15367         generic pointer.
15368         * oacc-async.c (assert.h): Include.
15369         (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
15370         (acc_wait_all, acc_wait_all_async): Use current host thread's
15371         active device, not base_dev.
15372         * oacc-cuda.c (acc_get_current_cuda_device)
15373         (acc_get_current_cuda_context, acc_get_cuda_stream)
15374         (acc_set_cuda_stream): Likewise.
15375         * oacc-host.c (host_dispatch): Don't set open_device_func,
15376         close_device_func, get_device_num_func or set_device_num_func.
15377         * oacc-init.c (base_dev, init_key): Remove.
15378         (cached_base_dev): New.
15379         (name_of_acc_device_t): New.
15380         (acc_init_1): Initialise default-numbered device, not zeroth.
15381         (acc_shutdown_1): Close all devices of a given type.
15382         (goacc_destroy_thread): Don't use base_dev.
15383         (lazy_open, lazy_init, lazy_init_and_open): Remove.
15384         (goacc_attach_host_thread_to_device): New.
15385         (acc_init): Reimplement with goacc_attach_host_thread_to_device.
15386         (acc_get_num_devices): Don't use base_dev.
15387         (acc_set_device_type): Reimplement.
15388         (acc_get_device_type): Don't use base_dev.
15389         (acc_get_device_num): Tweak logic.
15390         (acc_set_device_num): Likewise.
15391         (acc_on_device): Use acc_get_device_type.
15392         (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
15393         (goacc_lazy_initialize): Reimplement with acc_init and
15394         goacc_attach_host_thread_to_device.
15395         * oacc-int.h (goacc_thread): Add base_dev field.
15396         (base_dev): Remove extern declaration.
15397         (goacc_attach_host_thread_to_device): Add prototype.
15398         * oacc-mem.c (acc_malloc): Use current thread's device instead of
15399         base_dev.
15400         (acc_free): Likewise.
15401         (acc_memcpy_to_device): Likewise.
15402         (acc_memcpy_from_device): Likewise.
15403         * oacc-parallel.c (select_acc_device): Remove. Replace calls with
15404         goacc_lazy_initialize (throughout).
15405         (GOACC_parallel): Use tgt_offset to locate target functions.
15406         * target.c (gomp_map_vars): Don't set tgt->mem_map.
15407         (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
15408         (gomp_load_plugin_for_device): Remove open_device, close_device,
15409         get_device_num, set_device_num openacc hook initialisation. Don't set
15410         openacc.target_data.
15411         * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
15412         (GOMP_OFFLOAD_openacc_close_device)
15413         (GOMP_OFFLOAD_openacc_get_device_num)
15414         (GOMP_OFFLOAD_openacc_set_device_num): Remove.
15415         (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
15416         to int.
15417         * plugin/plugin-nvptx.c (ptx_inited): Remove.
15418         (instantiated_devices, ptx_dev_lock): New.
15419         (struct ptx_image_data): New.
15420         (ptx_devices, ptx_images, ptx_image_lock): New.
15421         (fini_streams_for_device): Reorder cuStreamDestroy call.
15422         (nvptx_get_num_devices): Remove forward declaration.
15423         (nvptx_init): Change return type to bool.
15424         (nvptx_fini): Remove.
15425         (nvptx_attach_host_thread_to_device): New.
15426         (nvptx_open_device): Return struct ptx_device* instead of void*.
15427         (nvptx_close_device): Change argument type to struct ptx_device*,
15428         return type to void.
15429         (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
15430         (kernel_target_data, kernel_host_table): Remove static globals.
15431         (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
15432         (GOMP_OFFLOAD_init_device): Reimplement.
15433         (GOMP_OFFLOAD_fini_device): Likewise.
15434         (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
15435         (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
15436         (GOMP_OFFLOAD_host2dev): Use ORD argument.
15437         (GOMP_OFFLOAD_openacc_open_device)
15438         (GOMP_OFFLOAD_openacc_close_device)
15439         (GOMP_OFFLOAD_openacc_set_device_num)
15440         (GOMP_OFFLOAD_openacc_get_device_num): Remove.
15441         (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
15442         (device number).
15444         testsuite/
15445         * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
15447 2015-04-06  Ilya Verbin  <ilya.verbin@intel.com>
15449         * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
15450         * libgomp.h (struct gomp_memory_mapping): Remove.
15451         (struct target_mem_desc): Change type of mem_map from
15452         gomp_memory_mapping * to splay_tree_s *.
15453         (struct gomp_device_descr): Remove register_image_func, get_table_func.
15454         Add load_image_func, unload_image_func.
15455         Change type of mem_map from gomp_memory_mapping to splay_tree_s.
15456         Remove offload_regions_registered.
15457         (gomp_init_tables): Remove.
15458         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15459         to splay_tree_s *.
15460         * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
15461         * oacc-host.c (host_dispatch): Do not initialize register_image_func,
15462         get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
15463         offload_regions_registered.
15464         Initialize load_image_func, unload_image_func, mem_map.root.
15465         (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
15466         * oacc-init.c (lazy_open): Don't call gomp_init_tables.
15467         (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
15468         * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
15469         gomp_memory_mapping *.  Use dev's lock and splay_tree.
15470         (lookup_dev): Use dev's lock.
15471         (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
15472         (acc_is_present): Likewise.
15473         (acc_map_data): Likewise.
15474         (acc_unmap_data): Likewise.  Use dev's lock.
15475         (present_create_copy): Likewise.
15476         (delete_copyout): Pass dev to lookup_host instead of mem_map.
15477         (update_dev_host): Likewise.
15478         (gomp_acc_remove_pointer): Likewise.  Use dev's lock.
15479         * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
15480         * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
15481         (GOMP_OFFLOAD_get_table): Remove
15482         (GOMP_OFFLOAD_load_image): New function.
15483         (GOMP_OFFLOAD_unload_image): New function.
15484         * target.c (register_lock): New mutex for offload image registration.
15485         (num_devices): Do not guard with PLUGIN_SUPPORT.
15486         (gomp_realloc_unlock): New static function.
15487         (gomp_map_vars_existing): Add device descriptor argument.  Unlock mutex
15488         before gomp_fatal.
15489         (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
15490         Pass devicep to gomp_map_vars_existing.  Unlock mutex before gomp_fatal.
15491         (gomp_copy_from_async): Use dev's lock and splay_tree instead of
15492         mem_map's.
15493         (gomp_unmap_vars): Likewise.
15494         (gomp_update): Remove gomp_memory_mapping argument.  Use dev's lock and
15495         splay_tree instead of mm's.  Unlock mutex before gomp_fatal.
15496         (gomp_offload_image_to_device): New static function.
15497         (GOMP_offload_register): Add mutex lock.
15498         Call gomp_offload_image_to_device for all initialized devices.
15499         Replace gomp_realloc with gomp_realloc_unlock.
15500         (GOMP_offload_unregister): New function.
15501         (gomp_init_tables): Replace with gomp_init_device.  Replace a call to
15502         get_table_func from the plugin with calls to init_device_func and
15503         gomp_offload_image_to_device.
15504         (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15505         to splay_tree_s *.
15506         (GOMP_target): Do not call gomp_init_tables.  Use dev's lock and
15507         splay_tree instead of mem_map's.  Unlock mutex before gomp_fatal.
15508         (GOMP_target_data): Do not call gomp_init_tables.
15509         (GOMP_target_update): Likewise.  Remove argument from gomp_update.
15510         (gomp_load_plugin_for_device): Replace register_image and get_table
15511         with load_image and unload_image in DLSYM ().
15512         (gomp_register_images_for_device): Remove function.
15513         (gomp_target_init): Do not initialize current_device.mem_map.*,
15514         current_device.offload_regions_registered.
15515         Remove call to gomp_register_images_for_device.
15516         Do not free offload_images and num_offload_images.
15518 2015-03-30  Jakub Jelinek  <jakub@redhat.com>
15520         PR fortran/65597
15521         * testsuite/libgomp.fortran/pr65597.f90: New test.
15523 2015-03-27  Tom de Vries  <tom@codesourcery.com>
15525         PR testsuite/65594
15526         * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
15527         (init, check): New function.
15528         (foo): Change return type to void.
15529         (main): Call init and check.
15531 2015-03-27  Tom de Vries  <tom@codesourcery.com>
15533         PR testsuite/65594
15534         * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
15535         (foo): Use M for non-inner loops to scale down test-case.
15537 2015-03-25  Kai Tietz  <ktietz@redhat.com>
15539         PR libgomp/64972
15540         * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
15541         (GOACC_data_start): Likewise.
15542         * target.c (gomp_map_vars): Likewise.
15544 2015-03-21  John David Anglin  <danglin@gcc.gnu.org>
15546         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
15547         hppa*-*-hpux*.
15549 2015-03-19  Jakub Jelinek  <jakub@redhat.com>
15551         * testsuite/libgomp.c/target-10.c: New test.
15552         * testsuite/libgomp.c++/target-4.C: New test.
15554 2015-03-13  Ilya Verbin  <ilya.verbin@intel.com>
15556         * testsuite/libgomp.fortran/declare-target-1.f90: New test.
15557         * testsuite/libgomp.fortran/declare-target-2.f90: New file.
15559 2015-03-13  Sebastian Huber  <sebastian.huber@embedded-brains.de>
15561         * configure.tgt (*-*-rtems*): Use local-exec TLS model.
15562         * configure.ac (*-*-rtems*): Assume Pthread is supported.
15563         (pthread.h): Check for this header file.
15564         * configure: Regenerate.
15566 2015-02-25  Tom de Vries  <tom@codesourcery.com>
15568         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
15569         (check_reduction_op, check_reduction_macro, max, min):
15570         Declare.
15571         (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
15572         function.
15573         (main): Use new functions.
15575 2015-02-18  Ilya Tocar  <ilya.tocar@intel.com>
15577         * target.c (gomp_load_plugin_for_device): Use const char * instead of
15578         char * for variables holding dlerror return values.
15579         (DLSYM_OPT): Ditto.
15581 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
15583         * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
15585 2015-02-17  Thomas Schwinge  <thomas@codesourcery.com>
15586             Cesar Philippidis  <cesar@codesourcery.com>
15588         * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
15589         GOACC_ctaid, and GOACC_nctaid routines.
15591 2015-02-11  Jakub Jelinek  <jakub@redhat.com>
15593         PR c/64824
15594         * testsuite/libgomp.c/atomic-18.c: New test.
15595         * testsuite/libgomp.c++/atomic-16.C: New test.
15597 2015-02-04  Jakub Jelinek  <jakub@redhat.com>
15599         PR c/64824
15600         PR c/64868
15601         * testsuite/libgomp.c/pr64824.c: New test.
15602         * testsuite/libgomp.c/pr64868.c: New test.
15603         * testsuite/libgomp.c++/pr64824.C: New test.
15604         * testsuite/libgomp.c++/pr64868.C: New test.
15606 2015-02-01  David Edelsohn  <dje.gcc@gmail.com>
15608         PR libgomp/64635
15609         * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
15610         Link with -lpthread.
15611         * config/aix/plugin-suffix.h: Delete.
15613 2015-01-28  Jack Howarth  <howarth.at.gcc@gmail.com>
15615         PR libgomp/64635
15616         * configure.tgt (*-*-aix*): Use config_path "aix posix".
15617         (*-*-darwin*): Use config_path "bsd darwin posix".
15618         (*-*-hpux*): Use config_path "hpux posix".
15619         * target.c: Add include of plugin-suffix.h and use
15620         SONAME_SUFFIX macro.
15621         * config/aix/plugin-suffix.h: New file.
15622         * config/darwin/plugin-suffix.h: New file.
15623         * config/hpux/plugin-suffix.h: New file.
15624         * config/posix/plugin-suffix.h: New file.
15626 2015-01-23  Jakub Jelinek  <jakub@redhat.com>
15628         PR middle-end/64734
15629         * libgomp.c/pr64734.c: New test.
15631 2015-01-23  Tom de Vries  <tom@codesourcery.com>
15633         PR libgomp/64672
15634         * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
15636 2015-01-23  Tom de Vries  <tom@codesourcery.com>
15638         PR libgomp/64707
15639         * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
15640         dg-options.
15642 2015-01-19  Thomas Schwinge  <thomas@codesourcery.com>
15644         PR libgomp/64625
15645         * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
15646         (GOACC_parallel, GOACC_update): Remove const_void *offload_table
15647         formal parameter.  Update all users.
15648         * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
15649         Document unused formal parameter.
15651 2015-01-16  Thomas Schwinge  <thomas@codesourcery.com>
15653         * oacc-parallel.c: Don't include <alloca.h>.
15654         (GOACC_parallel): Use gomp_alloca instead of alloca.
15656 2015-01-16  Gerald Pfeifer  <gerald@pfeifer.com>
15658         * target.c (num_devices): Guard with PLUGIN_SUPPORT.
15660 2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
15661             James Norris  <jnorris@codesourcery.com>
15662             Tom de Vries  <tom@codesourcery.com>
15663             Julian Brown  <julian@codesourcery.com>
15664             Cesar Philippidis  <cesar@codesourcery.com>
15665             Nathan Sidwell  <nathan@codesourcery.com>
15666             Tobias Burnus  <burnus@net-b.de>
15668         * Makefile.am (search_path): Add $(top_srcdir)/../include.
15669         (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
15670         oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
15671         oacc-async.c, oacc-plugin.c, oacc-cuda.c.
15672         [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
15673         Include $(top_srcdir)/plugin/Makefrag.am.
15674         (nodist_libsubinclude_HEADERS): Add openacc.h.
15675         [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
15676         openacc.f90, openacc.mod, openacc_kinds.mod.
15677         (omp_lib.mod): Generalize into...
15678         (%.mod): ... this new rule.
15679         (openacc_kinds.mod, openacc.mod): New rules.
15680         * plugin/configfrag.ac: New file.
15681         * configure.ac: Move plugin/offloading support into it.  Include
15682         it.  Instantiate testsuite/libgomp-test-support.pt.exp.
15683         * plugin/Makefrag.am: New file.
15684         * testsuite/Makefile.am (OFFLOAD_TARGETS)
15685         (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
15686         export.
15687         (libgomp-test-support.exp): New rule.
15688         (all-local): Depend on it.
15689         * Makefile.in: Regenerate.
15690         * testsuite/Makefile.in: Regenerate.
15691         * config.h.in: Likewise.
15692         * configure: Likewise.
15693         * configure.tgt: Harden shell syntax.
15694         * env.c: Include "oacc-int.h".
15695         (parse_acc_device_type): New function.
15696         (gomp_debug_var, goacc_device_type, goacc_device_num): New
15697         variables.
15698         (initialize_env): Initialize those.  Call
15699         goacc_runtime_initialize.
15700         * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
15701         (gomp_fatal): Call gomp_vfatal.
15702         * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
15703         (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
15704         (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
15705         (splay_tree_node, splay_tree, splay_tree_key)
15706         (struct target_mem_desc, struct splay_tree_key_s)
15707         (struct gomp_memory_mapping, struct acc_dispatch_t)
15708         (struct gomp_device_descr, gomp_acc_insert_pointer)
15709         (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
15710         (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
15711         (gomp_free_memmap, gomp_fini_device): New declarations.
15712         (gomp_vdebug, gomp_debug): New macros.
15713         Include "splay-tree.h".
15714         * libgomp.map (OACC_2.0): New symbol version.  Use for
15715         acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
15716         acc_set_device_type_h_, acc_get_device_type,
15717         acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
15718         acc_get_device_num, acc_get_device_num_h_, acc_async_test,
15719         acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
15720         acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
15721         acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
15722         acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
15723         acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
15724         acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
15725         acc_copyin_array_h_, acc_present_or_copyin,
15726         acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
15727         acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
15728         acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
15729         acc_present_or_create_32_h_, acc_present_or_create_64_h_,
15730         acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
15731         acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
15732         acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
15733         acc_update_device, acc_update_device_32_h_,
15734         acc_update_device_64_h_, acc_update_device_array_h_,
15735         acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
15736         acc_update_self_array_h_, acc_map_data, acc_unmap_data,
15737         acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
15738         acc_is_present_64_h_, acc_is_present_array_h_,
15739         acc_memcpy_to_device, acc_memcpy_from_device,
15740         acc_get_current_cuda_device, acc_get_current_cuda_context,
15741         acc_get_cuda_stream, acc_set_cuda_stream.
15742         (GOACC_2.0): New symbol version.  Use for GOACC_data_end,
15743         GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
15744         GOACC_update, GOACC_wait, GOACC_get_thread_num,
15745         GOACC_get_num_threads.
15746         (GOMP_PLUGIN_1.0): New symbol version.  Use for
15747         GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
15748         GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
15749         GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
15750         GOMP_PLUGIN_acc_thread.
15751         * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
15752         environment variable.
15753         * libgomp_g.h (GOACC_data_start, GOACC_data_end)
15754         (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
15755         (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
15756         * splay-tree.h (splay_tree_lookup, splay_tree_insert)
15757         (splay_tree_remove): New declarations.
15758         (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
15759         (splay_tree_remove, splay_tree_lookup): Move into...
15760         * splay-tree.c: ... this new file.
15761         * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
15762         (splay_tree_node, splay_tree, splay_tree_key)
15763         (struct target_mem_desc, struct splay_tree_key_s)
15764         (struct gomp_device_descr): Don't declare.
15765         (num_devices_openmp): New variable.
15766         (gomp_get_num_devices ): Use it.
15767         (gomp_init_targets_once): New function.
15768         (gomp_get_num_devices ): Use it.
15769         (get_kind, gomp_copy_from_async, gomp_free_memmap)
15770         (gomp_fini_device, gomp_register_image_for_device): New functions.
15771         (gomp_map_vars): Add devaddrs parameter.
15772         (gomp_update): Add mm parameter.
15773         (gomp_init_device): Move most of it into...
15774         (gomp_init_tables): ... this new function.
15775         (gomp_register_images_for_device): Remove function.
15776         (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
15777         Make them hidden instead of static.
15778         (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
15779         (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
15780         (GOMP_target_end_data, GOMP_target_update)
15781         (gomp_load_plugin_for_device, gomp_target_init): Update for
15782         OpenACC changes.
15783         * oacc-async.c: New file.
15784         * oacc-cuda.c: Likewise.
15785         * oacc-host.c: Likewise.
15786         * oacc-init.c: Likewise.
15787         * oacc-int.h: Likewise.
15788         * oacc-mem.c: Likewise.
15789         * oacc-parallel.c: Likewise.
15790         * oacc-plugin.c: Likewise.
15791         * oacc-plugin.h: Likewise.
15792         * oacc-ptx.h: Likewise.
15793         * openacc.f90: Likewise.
15794         * openacc.h: Likewise.
15795         * openacc_lib.h: Likewise.
15796         * plugin/plugin-host.c: Likewise.
15797         * plugin/plugin-nvptx.c: Likewise.
15798         * libgomp-plugin.c: Likewise.
15799         * libgomp-plugin.h: Likewise.
15800         * libgomp_target.h: Remove file after merging content into the
15801         former file.  Update all users.
15802         * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
15803         (offload_targets_s, offload_targets_s_openacc): New variables.
15804         (check_effective_target_openacc_nvidia_accel_present)
15805         (check_effective_target_openacc_nvidia_accel_selected): New
15806         procedures.
15807         (libgomp_init): Update for OpenACC changes.
15808         * testsuite/libgomp-test-support.exp.in: New file.
15809         * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
15810         * testsuite/libgomp.oacc-c/c.exp: Likewise.
15811         * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15812         * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
15813         * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
15814         * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
15815         * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
15816         * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15817         * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
15818         * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
15819         * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
15820         * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
15821         * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
15822         * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
15823         * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
15824         * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
15825         * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
15826         * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
15827         * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
15828         * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
15829         * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
15830         * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
15831         * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
15832         * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
15833         * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15834         * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
15835         * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
15836         * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
15837         * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
15838         * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
15839         * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15840         * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
15841         * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
15842         * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
15843         * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
15844         * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15845         * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
15846         * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15847         * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
15848         * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
15849         * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
15850         * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
15851         * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15852         * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15853         * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15854         * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
15855         * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15856         * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15857         * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15858         * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15859         * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15860         * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
15861         * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15862         * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15863         * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15864         * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15865         * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15866         * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15867         * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15868         * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
15869         * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
15870         * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
15871         * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15872         * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15873         * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15874         * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
15875         * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
15876         * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15877         * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15878         * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15879         * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
15880         * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15881         * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15882         * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15883         * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
15884         * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
15885         * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15886         * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15887         * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
15888         * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
15889         * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
15890         * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
15891         * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15892         * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15893         * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15894         * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
15895         * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
15896         * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15897         * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15898         * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
15899         * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
15900         * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
15901         * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
15902         * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15903         * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15904         * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15905         * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15906         * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
15907         * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15908         * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15909         * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
15910         * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
15911         * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
15912         * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15913         * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
15914         * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
15915         * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
15916         * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
15917         * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
15918         * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15919         * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
15920         * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
15921         * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15922         * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
15923         * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
15924         * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
15925         * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
15926         * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
15927         * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
15928         * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
15929         * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
15930         * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
15931         * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
15932         * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
15933         * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
15934         * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
15935         * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
15936         * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
15937         * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
15938         * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
15939         * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
15940         * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
15941         * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15942         * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
15943         * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
15944         * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
15945         * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
15946         * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
15947         * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
15948         * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
15949         Likewise.
15950         * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
15951         * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
15952         * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
15953         * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
15954         * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
15955         * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
15956         * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
15957         * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15958         * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15959         * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15960         * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
15961         * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
15962         * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
15963         * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
15964         * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
15965         * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
15966         * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
15967         * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
15968         * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
15969         * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
15970         * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
15971         * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
15972         * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
15973         * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
15974         * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
15975         * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
15976         * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15977         * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15978         * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
15979         * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
15980         * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
15981         * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
15982         * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
15983         * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15984         * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
15985         * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
15986         * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
15987         * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
15988         * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
15989         * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
15990         * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
15991         * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
15992         * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
15993         * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
15994         * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
15995         * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
15996         * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
15997         * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
15998         * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
15999         * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
16000         * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
16001         * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
16002         * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
16003         * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
16004         * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
16005         * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
16006         * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
16007         * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
16008         * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
16009         * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
16011 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
16012             Julian Brown  <julian@codesourcery.com>
16013             David Malcolm  <dmalcolm@redhat.com>
16015         * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
16016         to "GNU Offloading and Multi Processing Runtime Library".  Change
16017         all users.
16018         * configure: Regenerate.
16019         * libgomp.texi: Update.
16021 2015-01-08  Thomas Schwinge  <thomas@codesourcery.com>
16023         * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
16024         "$tgt_dir/lib32".
16025         * configure: Regenerate.
16027         * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
16028         "intelmic" in $offload_targets.
16030 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
16032         Update copyright years.
16034         * libgomp.texi: Bump @copying's copyright year.
16036 2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
16038         * testsuite/lib/libgomp.exp: Load target-utils.exp.
16039         Move load of target-supports.exp earlier.
16041 2014-12-10  Ilya Verbin  <ilya.verbin@intel.com>
16043         * testsuite/libgomp.c/target-9.c: New test.
16045 2014-12-09  Varvara Rainchik  <varvara.rainchik@intel.com>
16047         * config.h.in: Regenerate.
16048         * configure: Regenerate.
16049         * configure.ac: Add GCC_CHECK_EMUTLS.
16050         * libgomp.h: Add check for USE_EMUTLS: this case
16051         is equal to HAVE_TLS.
16052         * team.c: Likewise.
16054 2014-12-03  Uros Bizjak  <ubizjak@gmail.com>
16056         * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
16058 2014-11-28  Andrey Turetskiy  <andrey.turetskiy@intel.com>
16059             Ilya Verbin  <ilya.verbin@intel.com>
16061         * testsuite/libgomp.c/target-critical-1.c: New test.
16063 2014-11-26  Jakub Jelinek  <jakub@redhat.com>
16065         * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
16066         to dg-options unless expensive testing is on.
16067         (TESTITERS): Define to N if not defined.
16068         (main): Use TESTITERS instead of N.
16069         * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
16070         dg-additional-options depending on whether expensive testing is on.
16071         * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
16072         Decrease N to 100000 and CHUNKSZ to 10000.
16074 2014-11-24  Jakub Jelinek  <jakub@redhat.com>
16076         PR fortran/63938
16077         * testsuite/libgomp.fortran/pr63938-1.f90: New test.
16078         * testsuite/libgomp.fortran/pr63938-2.f90: New test.
16080 2014-11-21  Steve Ellcey  <sellcey@imgtec.com>
16082         * config/linux/mips/futex.h (SYS_futex): Define if not already done.
16084 2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
16086         PR bootstrap/63784
16087         * configure: Regenerated.
16089 2014-11-19  Uros Bizjak  <ubizjak@gmail.com>
16091         * testsuite/libgomp.c/examples-4/e.53.5.c: Require
16092         vect_simd_clones effective target.
16093         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16095 2014-11-14  Jakub Jelinek  <jakub@redhat.com>
16097         * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
16098         of 32 as block_size.
16099         * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
16100         instead of 32 as block_size.
16102 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
16103             Ilya Verbin  <ilya.verbin@intel.com>
16105         * Makefile.in: Regenerate.
16106         * configure: Regenerate.
16107         * configure.ac: Set up offload_additional_options,
16108         offload_additional_lib_paths and offload_targets.
16109         * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
16110         OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
16111         * testsuite/Makefile.in: Regenerate.
16112         * testsuite/lib/libgomp.exp (libgomp_init): Append
16113         offload_additional_lib_paths to LD_LIBRARY_PATH.  Append
16114         offload_additional_options to ALWAYS_CFLAGS.  Append liboffloadmic
16115         build directory to LD_LIBRARY_PATH for intelmic offload targets.
16117 2014-11-13  Andrey Turetskiy  <andrey.turetskiy@intel.com>
16118             Ilya Verbin  <ilya.verbin@intel.com>
16119             Kirill Yukhin  <kirill.yukhin@intel.com>
16120             Ilya Tocar  <ilya.tocar@intel.com>
16122         * testsuite/lib/libgomp.exp
16123         (check_effective_target_offload_device): New.
16124         * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
16125         * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
16126         * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
16127         * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
16128         * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
16129         * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
16130         * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
16131         * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
16132         * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
16133         * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
16134         * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
16135         * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
16136         * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
16137         * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
16138         * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
16139         * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
16140         * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
16141         * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
16142         * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
16143         * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
16144         * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
16145         * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
16146         * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
16147         * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
16148         * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
16149         * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
16150         * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
16151         * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
16152         * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
16153         * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
16154         * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
16155         * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
16156         * testsuite/libgomp.c/target-7.c: Fix test.
16157         * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
16158         * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
16159         * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
16160         * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
16161         * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
16162         * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
16163         * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
16164         * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
16165         * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
16166         * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
16167         * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
16168         * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
16169         * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
16170         * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
16171         * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
16172         * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
16173         * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
16174         * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
16175         * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16176         * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
16177         * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
16178         * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
16179         * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
16180         * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
16181         * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
16182         * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
16183         * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
16184         * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
16185         * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
16186         * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
16187         * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
16189 2014-11-13  Jakub Jelinek  <jakub@redhat.com>
16190             Ilya Verbin  <ilya.verbin@intel.com>
16191             Thomas Schwinge  <thomas@codesourcery.com>
16192             Andrey Turetskiy  <andrey.turetskiy@intel.com>
16194         * libgomp.map (GOMP_4.0.1): New symbol version.
16195         Add GOMP_offload_register.
16196         * libgomp_target.h: New file.
16197         * splay-tree.h: New file.
16198         * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
16199         (gomp_target_init): New forward declaration.
16200         (gomp_is_initialized): New static variable.
16201         (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
16202         (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
16203         New structures.
16204         (offload_images, num_offload_images, devices, num_devices): New static
16205         variables.
16206         (splay_compare): New static function.
16207         (struct gomp_device_descr): New structure.
16208         (gomp_get_num_devices): Call gomp_target_init.
16209         (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
16210         (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
16211         (GOMP_offload_register): New function.
16212         (GOMP_target): Arrange for host callback to be performed in a separate
16213         initial thread and contention group, inheriting ICVs from
16214         gomp_global_icv etc.  Call gomp_map_vars and gomp_unmap_vars.
16215         Add device initialization and lookup for target function in splay tree.
16216         (GOMP_target_data): Add device initialization and call gomp_map_vars.
16217         (GOMP_target_end_data): Call gomp_unmap_vars.
16218         (GOMP_target_update): Add device initialization and call gomp_update.
16219         (gomp_load_plugin_for_device, gomp_register_images_for_device)
16220         (gomp_target_init): New static functions.
16222 2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
16223             Thomas Schwinge  <thomas@codesourcery.com>
16224             Ilya Verbin  <ilya.verbin@intel.com>
16225             Andrey Turetskiy  <andrey.turetskiy@intel.com>
16227         * config.h.in: Regenerate.
16228         * configure: Regenerate.
16229         * configure.ac: Check for libdl, required for plugin support.
16230         (PLUGIN_SUPPORT): Define if plugins are supported.
16231         (enable_offload_targets): Support Intel MIC targets.
16232         (OFFLOAD_TARGETS): List of target names suitable for offloading.
16234 2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
16236         PR target/63610
16237         * configure: Regenerate.
16239 2014-11-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
16241         * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
16243 2014-10-06  Marek Polacek  <polacek@redhat.com>
16245         * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
16246         * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
16247         * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
16248         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16250 2014-10-06  Marek Polacek  <polacek@redhat.com>
16252         * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
16253         * testsuite/libgomp.c/nqueens-1.c: Likewise.
16254         * testsuite/libgomp.c/pr26943-3.c: Likewise.
16255         * testsuite/libgomp.c/pr26943-4.c: Likewise.
16256         * testsuite/libgomp.c/pr36802-2.c: Likewise.
16257         * testsuite/libgomp.c/pr36802-3.c: Likewise.
16258         * testsuite/libgomp.c/thread-limit-1.c: Likewise.
16259         * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16260         * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
16261         * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
16262         * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
16263         * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
16264         * testsuite/libgomp.c/omp-single-1.c: Likewise.
16265         * testsuite/libgomp.c/omp-single-2.c: Likewise.
16266         * testsuite/libgomp.c/omp_matvec.c: Likewise.
16267         * testsuite/libgomp.c/omp_workshare3.c: Likewise.
16268         * testsuite/libgomp.c/omp_workshare4.c: Likewise.
16269         * testsuite/libgomp.c/shared-1.c: Fix defaulting to int.  Fix implicit
16270         declarations.
16272 2014-10-03  Jakub Jelinek  <jakub@redhat.com>
16274         PR libgomp/61200
16275         * testsuite/libgomp.c/pr61200.c: New test.
16277 2014-09-18  Jakub Jelinek  <jakub@redhat.com>
16279         PR c++/63248
16280         * testsuite/libgomp.c++/pr63248.C: New test.
16282 2014-08-04  Jakub Jelinek  <jakub@redhat.com>
16284         * task.c (GOMP_taskgroup_end): If taskgroup->num_children
16285         is not zero, but taskgroup->children is NULL and there are
16286         any task->children, schedule those instead of waiting.
16287         * testsuite/libgomp.c/depend-6.c: New test.
16288         * testsuite/libgomp.c/depend-7.c: New test.
16289         * testsuite/libgomp.c/depend-8.c: New test.
16290         * testsuite/libgomp.c/depend-9.c: New test.
16291         * testsuite/libgomp.c/depend-10.c: New test.
16293 2014-08-01  Jakub Jelinek  <jakub@redhat.com>
16295         * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
16296         (struct gomp_taskwait): New type.
16297         (struct gomp_task): Add taskwait and parent_depends_on, remove
16298         in_taskwait and taskwait_sem fields.
16299         (gomp_finish_task): Don't destroy taskwait_sem.
16300         * task.c (gomp_init_task): Don't init in_taskwait, instead init
16301         taskwait and parent_depends_on.
16302         (GOMP_task): For if (0) tasks with depend clause that depend on
16303         earlier tasks don't defer them, instead call
16304         gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
16305         Initialize redundant_out field, for redundant out entries just
16306         move them at the end of linked list instead of removing them
16307         completely, and set redundant_out flag instead of redundant.
16308         (gomp_task_run_pre): Update last_parent_depends_on if scheduling
16309         that task.
16310         (gomp_task_run_post_handle_dependers): If parent is in
16311         gomp_task_maybe_wait_for_dependencies and newly runnable task
16312         is not parent_depends_on, queue it in parent->children linked
16313         list after all runnable tasks with parent_depends_on set.
16314         Adjust for addition of taskwait indirection.
16315         (gomp_task_run_post_remove_parent): If parent is in
16316         gomp_task_maybe_wait_for_dependencies and task to be removed
16317         is parent_depends_on, decrement n_depend and if needed awake
16318         parent.  Adjust for addition of taskwait indirection.
16319         (GOMP_taskwait): Adjust for addition of taskwait indirection.
16320         (gomp_task_maybe_wait_for_dependencies): New function.
16321         * testsuite/libgomp.c/depend-5.c: New test.
16323 2014-07-13  Tobias Burnus  <burnus@net-b.de>
16325         * testsuite/libgomp.fortran/pr34020.f90: Make compile
16326         with TS 18508/Fortran 2015.
16328 2014-07-06  Marek Polacek  <polacek@redhat.com>
16330         PR c/6940
16331         * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
16333 2014-07-03  Jakub Jelinek  <jakub@redhat.com>
16335         * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
16336         matches regex $lang_source_re, add $lang_include_flags to options.
16337         * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
16338         * testsuite/libgomp.c++/c++.exp: Likewise.
16339         * testsuite/libgomp.fortran/fortran.exp: Likewise.  Set lang_source_re
16340         and lang_include_flags instead of adding -fintrinsic-modules-path= to
16341         ALWAYS_CFLAGS.
16342         * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
16344 2014-07-03  Thomas Schwinge  <thomas@codesourcery.com>
16346         * testsuite/libgomp.fortran/fortran.exp: Explain
16347         gfortran-dg-runtest usage.
16349 2014-06-25  Jakub Jelinek  <jakub@redhat.com>
16351         * testsuite/libgomp.fortran/simd5.f90: New test.
16352         * testsuite/libgomp.fortran/simd6.f90: New test.
16353         * testsuite/libgomp.fortran/simd7.f90: New test.
16355 2014-06-24  Jakub Jelinek  <jakub@redhat.com>
16357         * testsuite/libgomp.c/for-2.c: Define SC to static for
16358         #pragma omp for simd testing.
16359         * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
16360         (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
16361         SC macro.
16362         * testsuite/libgomp.c/simd-14.c: New test.
16363         * testsuite/libgomp.c/simd-15.c: New test.
16364         * testsuite/libgomp.c/simd-16.c: New test.
16365         * testsuite/libgomp.c/simd-17.c: New test.
16366         * testsuite/libgomp.c++/for-10.C: Define SC to static for
16367         #pragma omp for simd testing.
16368         * testsuite/libgomp.c++/simd10.C: New test.
16369         * testsuite/libgomp.c++/simd11.C: New test.
16370         * testsuite/libgomp.c++/simd12.C: New test.
16371         * testsuite/libgomp.c++/simd13.C: New test.
16373         * testsuite/libgomp.fortran/aligned1.f03: New test.
16374         * testsuite/libgomp.fortran/nestedfn5.f90: New test.
16375         * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
16376         tasks with !$omp parallel !$omp single.
16377         * testsuite/libgomp.fortran/target8.f90: New test.
16378         * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
16379         not to use trim in the combiner, instead call elemental function.
16380         (fn): New elemental function.
16381         * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
16382         Make elemental.
16383         * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
16384         omp_in): Likewise.
16385         * testsuite/libgomp.fortran/udr12.f90: New test.
16386         * testsuite/libgomp.fortran/udr13.f90: New test.
16387         * testsuite/libgomp.fortran/udr14.f90: New test.
16388         * testsuite/libgomp.fortran/udr15.f90: New test.
16390 2014-06-18  Jakub Jelinek  <jakub@redhat.com>
16392         * omp_lib.f90.in (openmp_version): Set to 201307.
16393         * omp_lib.h.in (openmp_version): Likewise.
16394         * testsuite/libgomp.c/target-8.c: New test.
16395         * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
16396         and inbranch clauses.
16397         * testsuite/libgomp.fortran/depend-3.f90: New test.
16398         * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
16399         openmp_version.
16400         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16401         * testsuite/libgomp.fortran/target1.f90: New test.
16402         * testsuite/libgomp.fortran/target2.f90: New test.
16403         * testsuite/libgomp.fortran/target3.f90: New test.
16404         * testsuite/libgomp.fortran/target4.f90: New test.
16405         * testsuite/libgomp.fortran/target5.f90: New test.
16406         * testsuite/libgomp.fortran/target6.f90: New test.
16407         * testsuite/libgomp.fortran/target7.f90: New test.
16409 2014-06-10  Jakub Jelinek  <jakub@redhat.com>
16411         PR fortran/60928
16412         * testsuite/libgomp.fortran/allocatable9.f90: New test.
16413         * testsuite/libgomp.fortran/allocatable10.f90: New test.
16414         * testsuite/libgomp.fortran/allocatable11.f90: New test.
16415         * testsuite/libgomp.fortran/allocatable12.f90: New test.
16416         * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
16417         * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
16418         * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
16419         * testsuite/libgomp.fortran/associate1.f90: New test.
16420         * testsuite/libgomp.fortran/associate2.f90: New test.
16421         * testsuite/libgomp.fortran/procptr1.f90: New test.
16423 2014-06-06  Jakub Jelinek  <jakub@redhat.com>
16425         * testsuite/libgomp.fortran/simd1.f90: New test.
16426         * testsuite/libgomp.fortran/udr1.f90: New test.
16427         * testsuite/libgomp.fortran/udr2.f90: New test.
16428         * testsuite/libgomp.fortran/udr3.f90: New test.
16429         * testsuite/libgomp.fortran/udr4.f90: New test.
16430         * testsuite/libgomp.fortran/udr5.f90: New test.
16431         * testsuite/libgomp.fortran/udr6.f90: New test.
16432         * testsuite/libgomp.fortran/udr7.f90: New test.
16433         * testsuite/libgomp.fortran/udr8.f90: New test.
16434         * testsuite/libgomp.fortran/udr9.f90: New test.
16435         * testsuite/libgomp.fortran/udr10.f90: New test.
16436         * testsuite/libgomp.fortran/udr11.f90: New test.
16438 2014-05-27  Uros Bizjak  <ubizjak@gmail.com>
16440         * testsuite/libgomp.fortran/declare-simd-1.f90: Require
16441         vect_simd_clones effective target.
16442         * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
16444 2014-05-21  Jakub Jelinek  <jakub@redhat.com>
16446         PR middle-end/61252
16447         * testsuite/libgomp.c++/simd-9.C: New test.
16449 2014-05-18  Uros Bizjak  <ubizjak@gmail.com>
16451         * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
16452         (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
16453         texts according to their @menu entry positions.
16455 2014-05-11  Jakub Jelinek  <jakub@redhat.com>
16457         * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
16458         * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
16459         * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
16460         * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
16461         * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
16462         * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
16463         * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
16464         * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
16465         * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
16466         * testsuite/libgomp.fortran/depend-1.f90: New test.
16467         * testsuite/libgomp.fortran/depend-2.f90: New test.
16468         * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
16469         * testsuite/libgomp.fortran/simd1.f90: New test.
16470         * testsuite/libgomp.fortran/simd2.f90: New test.
16471         * testsuite/libgomp.fortran/simd3.f90: New test.
16472         * testsuite/libgomp.fortran/simd4.f90: New test.
16473         * testsuite/libgomp.fortran/taskgroup1.f90: New test.
16475 2014-05-02  Jakub Jelinek  <jakub@redhat.com>
16477         * testsuite/libgomp.c/simd-10.c: New test.
16478         * testsuite/libgomp.c/simd-11.c: New test.
16479         * testsuite/libgomp.c/simd-12.c: New test.
16480         * testsuite/libgomp.c/simd-13.c: New test.
16482 2014-04-24  Jakub Jelinek  <jakub@redhat.com>
16484         * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
16485         atomic type clauses in any order and optional comma in between.
16486         * testsuite/libgomp.c++/atomic-15.C: Likewise.
16487         * testsuite/libgomp.c/atomic-17.c: Likewise.
16489         * testsuite/libgomp.c/simd-7.c: New test.
16490         * testsuite/libgomp.c/simd-8.c: New test.
16491         * testsuite/libgomp.c/simd-9.c: New test.
16492         * testsuite/libgomp.c/loop-16.c: New test.
16494 2014-04-02  Richard Henderson  <rth@redhat.com>
16496         * config/linux/futex.h (futex_wait): Get error value from errno.
16497         (futex_wake): Likewise.
16499 2014-03-25  Jakub Jelinek  <jakub@redhat.com>
16501         PR c++/60331
16502         * testsuite/libgomp.c++/udr-11.C: New test.
16503         * testsuite/libgomp.c++/udr-12.C: New test.
16504         * testsuite/libgomp.c++/udr-13.C: New test.
16505         * testsuite/libgomp.c++/udr-14.C: New test.
16506         * testsuite/libgomp.c++/udr-15.C: New test.
16507         * testsuite/libgomp.c++/udr-16.C: New test.
16508         * testsuite/libgomp.c++/udr-17.C: New test.
16509         * testsuite/libgomp.c++/udr-18.C: New test.
16510         * testsuite/libgomp.c++/udr-19.C: New test.
16512 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
16514         Update copyright years
16516 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
16518         * hashtab.h: Use the standard form for the copyright notice.
16520 2014-01-02  Tobias Burnus  <burnus@net-b.de>
16522         * libgomp.texi: Bump @copying's copyright year.
16524 2013-12-17  Andreas Tobler  <andreast@gcc.gnu.org>
16526         * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
16527         alloca () with __builtin_alloca ().
16528         * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
16529         * testsuite/libgomp.c/lock-3.c: Likewise.
16530         * testsuite/libgomp.c/pr48591.c: Likewise.
16532 2013-12-17  Jakub Jelinek  <jakub@redhat.com>
16534         PR testsuite/59534
16535         * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
16536         comparisons.
16538 2013-12-16  Jakub Jelinek  <jakub@redhat.com>
16540         PR libgomp/58756
16541         * testsuite/libgomp.c/pr58756.c: New test.
16543 2013-12-12  Jakub Jelinek  <jakub@redhat.com>
16545         PR libgomp/59467
16546         * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
16547         !$omp parallel.
16549 2013-11-07  Thomas Schwinge  <thomas@codesourcery.com>
16551         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
16552         ALWAYS_CFLAGS.
16553         * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
16554         * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
16555         * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
16556         * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
16557         Likewise.
16559         * libgomp_g.h: Include <stddef.h> for size_t.
16561         * libgomp.spec.in: Update comment about libgomp's dependencies.
16562         * configure.ac: Likewise.
16563         * configure: Regenerate.
16565 2013-10-16  Tobias Burnus  <burnus@net-b.de>
16567         * libgomp.texi: (Runtime Library Routines): Update references for
16568         OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
16569         omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
16570         omp_get_team_num, omp_is_initial_device, omp_set_default_device.
16571         (Environment Variables): Update references for OpenMP 4.0. Add
16572         OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
16573         Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
16574         order.
16576 2013-10-14  Jakub Jelinek  <jakub@redhat.com>
16578         * env.c (parse_bind_var): Initialize value to avoid
16579         (false positive) warning.
16581 2013-10-12  Jakub Jelinek  <jakub@redhat.com>
16583         PR libgomp/58691
16584         * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
16585         to check variable.
16586         (gomp_init_num_threads): Move i variable declaration into
16587         #ifdef CPU_ALLOC_SIZE block.
16588         * config/linux/affinity.c (gomp_affinity_init_level): Test
16589         gomp_places_list_len == 0 rather than gomp_places_list == 0
16590         when checking for topology reading error.
16591         * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
16592         * env.c (parse_affinity): Add ignore argument, if true, don't populate
16593         gomp_places_list, only parse env var and always return false.
16594         (parse_places_var): Likewise.  Don't check gomp_global_icv.bind_var.
16595         (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
16596         vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
16597         and either of these variables were parsed correctly into a places
16598         list.
16600 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
16601             Jakub Jelinek  <jakub@redhat.com>
16603         * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
16604         of 5 loopfn matches.
16605         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
16606         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
16607         * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
16608         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
16609         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
16610         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16611         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16612         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
16614 2013-10-11  Thomas Schwinge  <thomas@codesourcery.com>
16616         * Makefile.am (omp_lib.mod): Streamline rule.
16617         * Makefile.in: Regenerate.
16619         * libgomp.texi (Runtime Library Routines): C linkage, don't throw
16620         exceptions.
16622         * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
16623         * testsuite/libgomp.fortran/lib1.f90: Likewise.
16624         * testsuite/libgomp.fortran/lib2.f: Likewise.
16625         * testsuite/libgomp.fortran/lib3.f: Likewise.
16627         * configure.ac: Typo fix.
16628         * configure: Regenerate.
16630         * testsuite/libgomp.fortran/openmp_version-1.f: New file.
16631         * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16633         * omp.h.in: Don't touch the user's namespace.
16635 2013-10-11  Jakub Jelinek  <jakub@redhat.com>
16636             Tobias Burnus  <burnus@net-b.de>
16637             Richard Henderson  <rth@redhat.com>
16639         * target.c: New file.
16640         * Makefile.am (libgomp_la_SOURCES): Add target.c.
16641         * Makefile.in: Regenerated.
16642         * libgomp_g.h (GOMP_task): Add depend argument.
16643         (GOMP_barrier_cancel, GOMP_loop_end_cancel,
16644         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
16645         GOMP_target_end_data, GOMP_target_update, GOMP_teams,
16646         GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
16647         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
16648         GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
16649         GOMP_taskgroup_start, GOMP_taskgroup_end,
16650         GOMP_parallel_sections): New prototypes.
16651         * fortran.c (omp_is_initial_device): Add ialias_redirect.
16652         (omp_is_initial_device_): New function.
16653         (ULP, STR1, STR2, ialias_redirect): Removed.
16654         (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
16655         omp_set_default_device_8_, omp_get_default_device_,
16656         omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
16657         functions.
16658         * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
16659         GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
16660         GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
16661         @@GOMP_4.0.
16662         (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
16663         omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
16664         omp_set_default_device, omp_set_default_device_,
16665         omp_set_default_device_8_, omp_get_default_device,
16666         omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
16667         omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
16668         omp_get_team_num_): Export @@OMP_4.0.
16669         * team.c (struct gomp_thread_start_data): Add place field.
16670         (gomp_thread_start): Clear thr->thread_pool and
16671         thr->task before returning.  Use gomp_team_barrier_wait_final
16672         instead of gomp_team_barrier_wait.  Initialize thr->place.
16673         (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
16674         team_cancelled and task_queued_count fields.
16675         (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
16676         before calling pthread_exit.
16677         (gomp_free_thread): No longer static.  Use
16678         gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
16679         (gomp_team_start): Add flags argument.  Set
16680         thr->thread_pool->threads_busy to nthreads immediately after creating
16681         new pool.  Use gomp_managed_threads_lock instead of
16682         gomp_remaining_threads_lock.  Handle OpenMP 4.0 affinity.
16683         (gomp_team_end): Use gomp_managed_threads_lock instead of
16684         gomp_remaining_threads_lock.  Use gomp_team_barrier_wait_final instead
16685         of gomp_team_barrier_wait.  If team->team_cancelled, call
16686         gomp_fini_workshare on ws chain starting at team->work_shares_to_free
16687         rather than thr->ts.work_share.
16688         (initialize_team): Don't call gomp_sem_init here.
16689         * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
16690         caller.
16691         (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
16692         * env.c (gomp_global_icv): Add default_device_var, target_data and
16693         bind_var initializers.
16694         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
16695         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
16696         gomp_places_list_len): New variables.
16697         (parse_bind_var, parse_one_place, parse_places_var): New functions.
16698         (parse_affinity): Rewritten to construct OMP_PLACES list with unit
16699         sized places.
16700         (gomp_cancel_var): New global variable.
16701         (parse_int): New function.
16702         (handle_omp_display_env): New function.
16703         (initialize_env): Use it.  Initialize default_device_var.
16704         Parse OMP_CANCELLATION env var.  Use parse_bind_var to parse
16705         OMP_PROC_BIND instead of parse_boolean.  Use parse_places_var for
16706         OMP_PLACES parsing.  Don't call parse_affinity if OMP_PLACES has
16707         been successfully parsed (and call gomp_init_affinity in that case).
16708         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16709         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16710         omp_get_team_num, omp_is_initial_device): New functions.
16711         * libgomp.h: Include stdlib.h.
16712         (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
16713         Define.
16714         (struct target_mem_desc): Forward declare.
16715         (struct gomp_task_icv): Add default_device_var, target_data, bind_var
16716         and thread_limit_var fields.
16717         (gomp_get_num_devices): New prototype.
16718         (gomp_cancel_var): New extern decl.
16719         (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
16720         team_cancelled and task_queued_count fields.  Add comments about
16721         task_{,queued_,running_}count.
16722         (gomp_cancel_kind): New enum.
16723         (gomp_work_share_end_cancel): New prototype.
16724         (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
16725         copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
16726         and depend fields.
16727         (struct gomp_taskgroup): New type.
16728         (struct gomp_task_depend_entry,
16729         struct gomp_dependers_vec): New types.
16730         (gomp_finish_task): Free depend_hash if non-NULL.
16731         (struct gomp_team_state): Add place_partition_off
16732         and place_partition_len fields.
16733         (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
16734         gomp_places_list_len): New extern decls.
16735         (struct gomp_thread): Add place field.
16736         (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
16737         (gomp_init_thread_affinity): Add place argument.
16738         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16739         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16740         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16741         gomp_affinity_init_level, gomp_affinity_print_place): New
16742         prototypes.
16743         (gomp_team_start): Add flags argument.
16744         (gomp_thread_limit_var, gomp_remaining_threads_count,
16745         gomp_remaining_threads_lock): Remove.
16746         (gomp_managed_threads_lock): New variable.
16747         (struct gomp_thread_pool): Add threads_busy field.
16748         (gomp_free_thread): New prototype.
16749         * task.c: Include hashtab.h.
16750         (hash_entry_type): New typedef.
16751         (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
16752         (gomp_init_task): Clear dependers, depend_hash, depend_count,
16753         copy_ctors_done and taskgroup fields.
16754         (GOMP_task): Add depend argument, handle depend clauses.  If
16755         gomp_team_barrier_cancelled or if it's taskgroup has been
16756         cancelled, don't queue or start new tasks.  Set copy_ctors_done
16757         field if needed.  Initialize taskgroup field.  If copy_ctors_done
16758         and already cancelled, don't discard the task.  If taskgroup is
16759         non-NULL, enqueue the task into taskgroup queue.  Increment
16760         num_children field in taskgroup.  Increment task_queued_count.
16761         (gomp_task_run_pre, gomp_task_run_post_remove_parent,
16762         gomp_task_run_post_remove_taskgroup): New inline functions.
16763         (gomp_task_run_post_handle_depend_hash,
16764         gomp_task_run_post_handle_dependers,
16765         gomp_task_run_post_handle_depend): New functions.
16766         (GOMP_taskwait): Use them.  If more than one new tasks
16767         have been queued, wake other threads if needed.
16768         (gomp_barrier_handle_tasks): Likewise.  If
16769         gomp_team_barrier_cancelled, don't start any new tasks, just free
16770         all tasks.
16771         (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
16772         * omp_lib.f90.in
16773         (omp_proc_bind_kind, omp_proc_bind_false,
16774         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
16775         omp_proc_bind_spread): New params.
16776         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16777         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16778         omp_get_team_num, omp_is_initial_device): New interfaces.
16779         (omp_get_dynamic, omp_get_nested, omp_in_parallel,
16780         omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
16781         omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
16782         omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
16783         omp_get_team_size, omp_get_active_level, omp_in_final): Remove
16784         useless use omp_lib_kinds.
16785         * omp.h.in (omp_proc_bind_t): New typedef.
16786         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16787         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16788         omp_get_team_num, omp_is_initial_device): New prototypes.
16789         * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
16790         through to gomp_team_start.
16791         (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
16792         GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
16793         Adjust gomp_parallel_loop_start callers.
16794         (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
16795         GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
16796         GOMP_loop_end_cancel): New functions.
16797         (GOMP_parallel_end): Add ialias_redirect.
16798         * hashtab.h: New file.
16799         * libgomp.texi (Environment Variables): Minor cleanup,
16800         update section refs to OpenMP 4.0rc2.
16801         (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
16802         environment variables.
16803         * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
16804         team->work_shares_to_free to thr->ts.work_share before calling
16805         free_work_share.
16806         (gomp_work_share_end_cancel): New function.
16807         * config/linux/proc.c: Include errno.h.
16808         (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
16809         (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
16810         sizeof (cpu_set_t) to determine number of iterations.  Fix up check
16811         extern decl.  Use CPU_COUNT_S if available, or CPU_COUNT if
16812         gomp_cpuset_size is sizeof (cpu_set_t).
16813         (gomp_init_num_threads): Initialize gomp_cpuset_size,
16814         gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
16815         of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
16816         to pthread_getaffinity_np.  Free and clear gomp_cpusetp if it didn't
16817         contain any logical CPUs.
16818         (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
16819         is NULL.  Use gomp_cpusetp instead of &cpuset and pass
16820         gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
16821         pthread_getaffinity_np.  Check gomp_places_list instead of
16822         gomp_cpu_affinity.  Adjust gomp_cpuset_popcount caller.
16823         * config/linux/bar.c (gomp_barrier_wait_end,
16824         gomp_barrier_wait_last): Use BAR_* defines.
16825         (gomp_team_barrier_wait_end): Likewise.  Clear BAR_CANCELLED
16826         from state where needed.  Set work_share_cancelled to 0 on last
16827         thread.
16828         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
16829         gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
16830         functions.
16831         * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
16832         Add cpusetsize argument.
16833         (gomp_cpuset_size, gomp_cpusetp): Declare.
16834         * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
16835         (affinity_counter): Remove.
16836         (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
16837         if CPU_ALLOC_SIZE isn't defined.
16838         (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
16839         silently create OMP_PLACES=threads, if it is non-NULL afterwards,
16840         bind current thread to the first place.
16841         (gomp_init_thread_affinity): Rewritten.  Add place argument, just
16842         pthread_setaffinity_np to gomp_places_list[place].
16843         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16844         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16845         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16846         gomp_affinity_init_level, gomp_affinity_print_place): New functions.
16847         * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
16848         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
16849         (gomp_barrier_t): Add awaited_final field.
16850         (gomp_barrier_init): Initialize awaited_final field.
16851         (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
16852         gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
16853         prototypes.
16854         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.  Use BAR_*
16855         defines.
16856         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
16857         gomp_team_barrier_cancelled): New inline functions.
16858         (gomp_barrier_last_thread,
16859         gomp_team_barrier_set_task_pending,
16860         gomp_team_barrier_clear_task_pending,
16861         gomp_team_barrier_set_waiting_for_tasks,
16862         gomp_team_barrier_waiting_for_tasks,
16863         gomp_team_barrier_done): Use BAR_* defines.
16864         * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
16865         (gomp_barrier_wait_end): Use BAR_* defines.
16866         (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
16867         Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
16868         Use BAR_* defines.
16869         (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
16870         gomp_team_barrier_cancel): New functions.
16871         * config/posix/affinity.c (gomp_init_thread_affinity): Add place
16872         argument.
16873         (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16874         gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16875         gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16876         gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
16877         * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
16878         BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
16879         (gomp_barrier_t): Add cancellable field.
16880         (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
16881         gomp_team_barrier_cancel): New prototypes.
16882         (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
16883         (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
16884         gomp_team_barrier_cancelled): New inline functions.
16885         (gomp_barrier_wait_start, gomp_barrier_last_thread,
16886         gomp_team_barrier_set_task_pending,
16887         gomp_team_barrier_clear_task_pending,
16888         gomp_team_barrier_set_waiting_for_tasks,
16889         gomp_team_barrier_waiting_for_tasks,
16890         gomp_team_barrier_done): Use BAR_* defines.
16891         * barrier.c (GOMP_barrier_cancel): New function.
16892         * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
16893         omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
16894         omp_proc_bind_spread): New params.
16895         (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16896         omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16897         omp_get_team_num, omp_is_initial_device): New externals.
16898         * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
16899         New functions.
16900         (gomp_resolve_num_threads): Adjust for thread_limit now being in
16901         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
16902         infinity.  If not nested, just return minimum of max_num_threads
16903         and icv->thread_limit_var and if thr->thread_pool, set threads_busy
16904         to the returned value.  Otherwise, don't update atomically
16905         gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
16906         (GOMP_parallel_end): Adjust for thread_limit now being in
16907         icv->thread_limit_var.  Use UINT_MAX instead of ULONG_MAX as
16908         infinity.  Adjust threads_busy in the pool rather than
16909         gomp_remaining_threads_count.  Remember team->nthreads and call
16910         gomp_team_end before adjusting threads_busy, if not nested
16911         afterwards, just set it to 1 non-atomically.  Add ialias.
16912         (GOMP_parallel_start): Adjust gomp_team_start caller.
16913         * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
16914         * testsuite/libgomp.c/affinity-1.c: New test.
16915         * testsuite/libgomp.c/atomic-15.c: New test.
16916         * testsuite/libgomp.c/atomic-16.c: New test.
16917         * testsuite/libgomp.c/atomic-17.c: New test.
16918         * testsuite/libgomp.c/cancel-for-1.c: New test.
16919         * testsuite/libgomp.c/cancel-for-2.c: New test.
16920         * testsuite/libgomp.c/cancel-parallel-1.c: New test.
16921         * testsuite/libgomp.c/cancel-parallel-2.c: New test.
16922         * testsuite/libgomp.c/cancel-parallel-3.c: New test.
16923         * testsuite/libgomp.c/cancel-sections-1.c: New test.
16924         * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
16925         * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
16926         * testsuite/libgomp.c/depend-1.c: New test.
16927         * testsuite/libgomp.c/depend-2.c: New test.
16928         * testsuite/libgomp.c/depend-3.c: New test.
16929         * testsuite/libgomp.c/depend-4.c: New test.
16930         * testsuite/libgomp.c/for-1.c: New test.
16931         * testsuite/libgomp.c/for-1.h: New file.
16932         * testsuite/libgomp.c/for-2.c: New test.
16933         * testsuite/libgomp.c/for-2.h: New file.
16934         * testsuite/libgomp.c/for-3.c: New test.
16935         * testsuite/libgomp.c/pr58392.c: New test.
16936         * testsuite/libgomp.c/simd-1.c: New test.
16937         * testsuite/libgomp.c/simd-2.c: New test.
16938         * testsuite/libgomp.c/simd-3.c: New test.
16939         * testsuite/libgomp.c/simd-4.c: New test.
16940         * testsuite/libgomp.c/simd-5.c: New test.
16941         * testsuite/libgomp.c/simd-6.c: New test.
16942         * testsuite/libgomp.c/target-1.c: New test.
16943         * testsuite/libgomp.c/target-2.c: New test.
16944         * testsuite/libgomp.c/target-3.c: New test.
16945         * testsuite/libgomp.c/target-4.c: New test.
16946         * testsuite/libgomp.c/target-5.c: New test.
16947         * testsuite/libgomp.c/target-6.c: New test.
16948         * testsuite/libgomp.c/target-7.c: New test.
16949         * testsuite/libgomp.c/taskgroup-1.c: New test.
16950         * testsuite/libgomp.c/thread-limit-1.c: New test.
16951         * testsuite/libgomp.c/thread-limit-2.c: New test.
16952         * testsuite/libgomp.c/thread-limit-3.c: New test.
16953         * testsuite/libgomp.c/udr-1.c: New test.
16954         * testsuite/libgomp.c/udr-2.c: New test.
16955         * testsuite/libgomp.c/udr-3.c: New test.
16956         * testsuite/libgomp.c++/affinity-1.C: New test.
16957         * testsuite/libgomp.c++/atomic-10.C: New test.
16958         * testsuite/libgomp.c++/atomic-11.C: New test.
16959         * testsuite/libgomp.c++/atomic-12.C: New test.
16960         * testsuite/libgomp.c++/atomic-13.C: New test.
16961         * testsuite/libgomp.c++/atomic-14.C: New test.
16962         * testsuite/libgomp.c++/atomic-15.C: New test.
16963         * testsuite/libgomp.c++/cancel-for-1.C: New test.
16964         * testsuite/libgomp.c++/cancel-for-2.C: New test.
16965         * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
16966         * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
16967         * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
16968         * testsuite/libgomp.c++/cancel-sections-1.C: New test.
16969         * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
16970         * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
16971         * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
16972         * testsuite/libgomp.c++/cancel-test.h: New file.
16973         * testsuite/libgomp.c++/for-9.C: New test.
16974         * testsuite/libgomp.c++/for-10.C: New test.
16975         * testsuite/libgomp.c++/for-11.C: New test.
16976         * testsuite/libgomp.c++/simd-1.C: New test.
16977         * testsuite/libgomp.c++/simd-2.C: New test.
16978         * testsuite/libgomp.c++/simd-3.C: New test.
16979         * testsuite/libgomp.c++/simd-4.C: New test.
16980         * testsuite/libgomp.c++/simd-5.C: New test.
16981         * testsuite/libgomp.c++/simd-6.C: New test.
16982         * testsuite/libgomp.c++/simd-7.C: New test.
16983         * testsuite/libgomp.c++/simd-8.C: New test.
16984         * testsuite/libgomp.c++/target-1.C: New test.
16985         * testsuite/libgomp.c++/target-2.C: New test.
16986         * testsuite/libgomp.c++/target-2-aux.cc: New file.
16987         * testsuite/libgomp.c++/target-3.C: New test.
16988         * testsuite/libgomp.c++/taskgroup-1.C: New test.
16989         * testsuite/libgomp.c++/udr-1.C: New test.
16990         * testsuite/libgomp.c++/udr-2.C: New test.
16991         * testsuite/libgomp.c++/udr-3.C: New test.
16992         * testsuite/libgomp.c++/udr-4.C: New test.
16993         * testsuite/libgomp.c++/udr-5.C: New test.
16994         * testsuite/libgomp.c++/udr-6.C: New test.
16995         * testsuite/libgomp.c++/udr-7.C: New test.
16996         * testsuite/libgomp.c++/udr-8.C: New test.
16997         * testsuite/libgomp.c++/udr-9.C: New test.
16999 2013-09-20  Jakub Jelinek  <jakub@redhat.com>
17001         PR testsuite/57605
17002         * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
17003         ALWAYS_CFLAGS.
17005 2013-09-20  Alan Modra  <amodra@gmail.com>
17007         * configure: Regenerate.
17009 2013-09-19  Jakub Jelinek  <jakub@redhat.com>
17011         * testsuite/libgomp.c/sections-2.c: New test.
17013 2013-06-28  Marcus Shawcroft  <marcus.shawcroft@arm.com>
17015         * testsuite/libgomp.fortran/strassen.f90:
17016         Add dg-skip-if aarch64_tiny.
17018 2013-06-20  Iain Sandoe  <iain@codesourcery.com>
17019             Cesar Philippidis  <cesar@codesourcery.com>
17021         * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
17022         Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
17023         * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
17024         * testsuite/libgomp.fortran/fortran.exp: Likewise.
17025         * testsuite/libgomp.graphite/graphite.exp: Likewise.
17026         * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
17027         Use dg-runtest rather than gfortran-dg-runtest.
17029 2013-06-10  Thomas Schwinge  <thomas@codesourcery.com>
17031         * testsuite/libgomp.c/icv-2.c: Extend current handling of
17032         Linux-based x86 systems to cover all GNU systems.
17033         * testsuite/libgomp.c/lock-3.c: Likewise.
17034         * testsuite/libgomp.c/pr48591.c: Likewise.
17036 2013-06-06  Thomas Schwinge  <thomas@codesourcery.com>
17038         * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
17039         GNU/Hurd, as done for Linux-based systems.
17041         * config/posix/ptrlock.h: Fix comment.
17043 2013-05-27  Tobias Burnus  <burnus@net-b.de>
17045         PR fortran/57423
17046         * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
17047         omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
17048         omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
17049         omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
17050         omp_destroy_nest_lock): Correct arguments to match the one in
17051         the OpenMP spec.
17052         * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
17053         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
17054         omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
17055         omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
17057 2013-05-16  Jakub Jelinek  <jakub@redhat.com>
17059         * testsuite/libgomp.c/loop-13.c: New test.
17060         * testsuite/libgomp.c/loop-14.c: New test.
17061         * testsuite/libgomp.c/loop-15.c: New test.
17062         * testsuite/libgomp.c++/loop-13.C: New test.
17063         * testsuite/libgomp.c++/loop-14.C: New test.
17064         * testsuite/libgomp.c++/loop-15.C: New test.
17066 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
17068         PR middle-end/56217
17069         * testsuite/libgomp.c++/pr56217.C: New test.
17071 2013-02-01  Alan Modra  <amodra@gmail.com>
17073         * task.c (GOMP_task, GOMP_taskwait): Comment.
17075 2013-01-31  Dmitry Vyukov  <dvyukov@gcc.gnu.org>
17076             Joost VandeVondele  <Joost.VandeVondele@mat.ethz.ch>
17078         PR libgomp/55561
17079         * config/linux/wait.h (do_spin): Use atomic load for addr.
17080         * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
17081         for intptr and ptrlock.
17082         * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
17083         for ptrlock.
17085 2013-01-22  Alan Modra  <amodra@gmail.com>
17087         PR libgomp/51376
17088         PR libgomp/56073
17089         * task.c (GOMP_task): Revert 2011-12-09 change.
17090         (GOMP_taskwait): Likewise.  Instead use atomic load with acquire
17091         barrier to read task->children..
17092         (gomp_barrier_handle_tasks): ..and matching atomic store with
17093         release barrier here when setting parent->children to NULL.
17095 2013-01-16  Jakub Jelinek  <jakub@redhat.com>
17096             Tobias Burnus  <burnus@net-b.de>
17098         PR driver/55884
17099         * testsuite/libgomp.fortran/fortran.exp: Use
17100         -fintrinsic-modules-path= instead of
17101         -fintrinsic-modules-path.
17103 2013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>
17105         Update copyright years.
17107 2012-12-19  Tobias Burnus  <burnus@net-b.de>
17109         * testsuite/libgomp.fortran/fortran.exp: Set
17110         -fintrinsic-modules-path.
17112 2012-12-19  Tobias Burnus  <burnus@net-b.de>
17114         * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
17115         from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
17117 2012-11-21  Jakub Jelinek  <jakub@redhat.com>
17119         PR libgomp/55411
17120         * team.c (gomp_free_thread): Decrease gomp_managed_threads
17121         if pool had any threads_used.
17123 2012-11-07  Jack Howarth <howarth@bromo.med.uc.edu>
17125         * testsuite/libgomp.c++/pr24455.C: Use
17126         -Wl,-undefined,dynamic_lookup on darwin.
17128 2012-11-07  David Edelsohn  <dje.gcc@gmail.com>
17130         * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
17132 2012-10-24  Dominique d'Humieres  <dominiq@lps.ens.fr>
17134         * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
17136 2012-10-23  Ian Bolton  <ian.bolton@arm.com>
17137             Jim MacArthur  <jim.macarthur@arm.com>
17138             Marcus Shawcroft  <marcus.shawcroft@arm.com>
17139             Nigel Stephens  <nigel.stephens@arm.com>
17140             Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
17141             Richard Earnshaw  <rearnsha@arm.com>
17142             Sofiane Naci  <sofiane.naci@arm.com>
17143             Stephen Thomas  <stephen.thomas@arm.com>
17144             Tejas Belagod  <tejas.belagod@arm.com>
17145             Yufeng Zhang  <yufeng.zhang@arm.com>
17147         * configure.tgt: Add AArch64.
17149 2012-10-04  Jason Merrill  <jason@redhat.com>
17151         * testsuite/libgomp.c++/tls-init1.C: New.
17153 2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
17155         * configure: Regenerated.
17157 2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
17159         * config/linux/mips/futex.h (sys_futex0): Change to static
17160         function with noinline, nomips16 attributes under MIPS16. Adjust
17161         asm statement to place 'li v0,SYS_futex' immediately before
17162         syscall insn.
17164 2012-07-04  Sandra Loosemore <sandra@codesourcery.com>
17166         * libgomp.texi (Library Index): Renamed from "Index" to prevent
17167         conflict with index.html on case-insensitive file systems.
17169 2012-07-03  Uros Bizjak  <ubizjak@gmail.com>
17171         * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
17172         * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
17174 2012-07-02  Richard Guenther  <rguenther@suse.de>
17175             Michael Matz  <matz@suse.de>
17176             Tobias Grosser <tobias@grosser.es>
17177             Sebastian Pop <sebpop@gmail.com>
17179         * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
17180         * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17181         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17182         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17184 2012-06-28  Andreas Schwab  <schwab@linux-m68k.org>
17186         * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
17188 2012-06-22  Richard Guenther  <rguenther@suse.de>
17190         Merge from graphite branch
17191         2012-01-13  Tobias Grosser  <tobias@grosser.es>
17193         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17194         * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17196 2012-06-07  Jakub Jelinek  <jakub@redhat.com>
17198         PR middle-end/53580
17199         * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
17200         use GOMP_barrier () call instead.
17201         * testsuite/libgomp.c/pr26943-3.c: Likewise.
17202         * testsuite/libgomp.c/pr26943-4.c: Likewise.
17203         * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17204         call GOMP_barrier instead.
17205         * testsuite/libgomp.fortran/vla5.f90: Likewise.
17207 2012-06-06  Jakub Jelinek  <jakub@redhat.com>
17209         PR libgomp/52993
17210         * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
17211         argument to memset call.
17213 2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
17215         * configure: Regenerated.
17217 2012-04-11  Manuel López-Ibáñez  <manu@gcc.gnu.org>
17219         * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
17221 2012-03-31  H.J. Lu  <hongjiu.lu@intel.com>
17223         PR bootstrap/52812
17224         * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
17226 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
17228         PR middle-end/52547
17229         * testsuite/libgomp.c/pr52547.c: New test.
17231 2012-03-16  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
17233         * testsuite/lib/libgomp.exp: load fortran-modules.exp
17235 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17237         * configure.tgt (mips-sgi-irix6*): Remove.
17239 2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17241         * configure.tgt (alpha*-dec-osf*): Remove.
17243         * config/osf/sem.h: Remove.
17244         * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
17246 2012-02-29  Eric Botcazou  <ebotcazou@adacore.com>
17248         * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
17250 2012-02-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17252         PR libstdc++/52188
17253         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
17254         Remove ENABLE_SYMVERS_SOL2.
17255         * configure: Regenerate.
17256         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
17257         (PREPROCESS): New variable.
17258         (libgomp.ver): New target.
17259         [LIBGOMP_BUILD_VERSIONED_SHLIB &&
17260         LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
17261         LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
17262         Use libgomp.ver.
17263         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
17264         * Makefile.in: Regenerate.
17266 2012-02-14  Walter Lee  <walt@tilera.com>
17268         * configure.tgt: Handle tilegx and tilepro.
17269         * config/linux/tile/futex.h: New file.
17271 2012-02-08  Richard Guenther  <rguenther@suse.de>
17273         PR tree-optimization/46886
17274         * testsuite/libgomp.c/pr46886.c: New testcase.
17276 2012-01-25  Matthias Klose  <doko@ubuntu.com>
17278         * config/linux/arm: Remove empty directory.
17279         * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
17281 2011-12-09  Alan Modra  <amodra@gmail.com>
17283         PR libgomp/51376
17284         * task.c (GOMP_taskwait): Don't access task->children outside of
17285         task_lock mutex region.
17286         (GOMP_task): Likewise.
17288 2011-12-06  Jakub Jelinek  <jakub@redhat.com>
17290         PR libgomp/51132
17291         * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
17292         to file scope.
17293         * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17294         * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17295         * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17296         * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17297         * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17299 2011-12-02  Alan Modra  <amodra@gmail.com>
17301         * config/linux/affinity.c: Use atomic rather than sync builtin.
17302         * config/linux/lock.c: Likewise.
17303         * config/linux/ptrlock.h: Likewise.
17304         * config/linux/ptrlock.c: Likewise.
17305         * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
17306         * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
17307         * config/linux/futex.h (atomic_write_barrier): Delete unused function.
17308         * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
17309         * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
17310         * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
17311         * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
17312         * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
17313         * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
17314         * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
17316 2011-11-30  Alan Modra  <amodra@gmail.com>
17318         PR libgomp/51298
17319         * config/linux/bar.h: Use atomic rather than sync builtins.
17320         * config/linux/bar.c: Likewise.  Add missing acquire
17321         synchronisation on generation field.
17322         * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
17323         double unlock.
17325 2011-11-30  Alan Modra  <amodra@gmail.com>
17327         * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
17328         * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
17329         * config/linux/mutex.h: Use atomic rather than sync builtins.
17330         * config/linux/mutex.c: Likewise.  Comment.  Use -1 for waiting state.
17331         * config/linux/omp-lock.h: Comment fix.
17332         * config/linux/arm/mutex.h: Delete.
17333         * config/linux/powerpc/mutex.h: Delete.
17334         * config/linux/ia64/mutex.h: Delete.
17335         * config/linux/mips/mutex.h: Delete.
17337 2011-11-30  Alan Modra  <amodra@gmail.com>
17339         PR libgomp/51249
17340         * config/linux/sem.h: Rewrite.
17341         * config/linux/sem.c: Rewrite.
17343 2011-11-28  Richard Henderson  <rth@redhat.com>
17345         * libgomp.h (enum memmodel): New.
17347 2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
17349         * configure: Regenerate.
17351 2011-10-10  Matthias Klose  <doko@ubuntu.com>
17353         * config/posix95: Remove empty directory.
17355 2011-08-26  Jakub Jelinek  <jakub@redhat.com>
17357         * testsuite/libgomp.fortran/threadprivate4.f90: New test.
17359 2011-08-19  Jakub Jelinek  <jakub@redhat.com>
17361         PR fortran/49792
17362         * testsuite/libgomp.fortran/pr49792-1.f90: New test.
17363         * testsuite/libgomp.fortran/pr49792-2.f90: New test.
17365 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17367         * config/posix95/lock.c, posix95/omp-lock.h: Remove.
17369 2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17371         PR libgomp/49965
17372         * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
17374 2011-08-03  Uros Bizjak  <ubizjak@gmail.com>
17376         * config/linux/proc.h: New.
17377         * config/linux/proc.c: Include "proc.h".  Do not include <sched.h>.
17378         (gomp_cpuset_popcount): Rename from cpuset_popcount.  No more static.
17379         (gomp_init_num_threads): Update call to cpuset_popcount.
17380         (get_num_procs): Ditto.
17381         * config/linux/affinity.c (gomp_init_affinity): Call
17382         gomp_cpuset_popcount.
17384 2011-08-02  Jakub Jelinek  <jakub@redhat.com>
17386         PR fortran/42041
17387         PR fortran/46752
17388         * omp.h.in (omp_in_final): New prototype.
17389         * omp_lib.f90.in (omp_in_final): New interface.
17390         (omp_integer_kind, omp_logical_kind): Remove
17391         and replace all its uses in the module with 4.
17392         (openmp_version): Change to 201107.
17393         * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
17394         omp_sched_guided, omp_sched_auto): Use omp_sched_kind
17395         kind for the parameters.
17396         (omp_in_final): New external.
17397         (openmp_version): Change to 201107.
17398         * task.c (omp_in_final): New function.
17399         (gomp_init_task): Initialize final_task.
17400         (GOMP_task): Remove unused attribute from flags.  Handle final
17401         tasks.
17402         (GOMP_taskyield): New function.
17403         (omp_in_final): Return true if if (false) or final (true) task
17404         or descendant of final (true).
17405         * fortran.c (omp_in_final_): New function.
17406         * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
17407         (GOMP_3.0): Export GOMP_taskyield.
17408         * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
17409         variables.
17410         (parse_unsigned_long_list): New function.
17411         (initialize_env): Use it for OMP_NUM_THREADS.  Call parse_boolean
17412         with "OMP_PROC_BIND".  If OMP_PROC_BIND=true, call gomp_init_affinity
17413         even if parse_affinity returned false.
17414         * config/linux/affinity.c (gomp_init_affinity): Handle
17415         gomp_cpu_affinity_len == 0.
17416         * libgomp_g.h (GOMP_taskyield): New prototype.
17417         * libgomp.h (struct gomp_task): Add final_task field.
17418         (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
17419         * team.c (gomp_team_start): Override new task's nthreads_var icv
17420         if list form OMP_NUM_THREADS has been used and it has value for
17421         the new nesting level.
17423         * testsuite/libgomp.c/atomic-11.c: New test.
17424         * testsuite/libgomp.c/atomic-12.c: New test.
17425         * testsuite/libgomp.c/atomic-13.c: New test.
17426         * testsuite/libgomp.c/atomic-14.c: New test.
17427         * testsuite/libgomp.c/reduction-6.c: New test.
17428         * testsuite/libgomp.c/task-5.c: New test.
17429         * testsuite/libgomp.c++/atomic-2.C: New test.
17430         * testsuite/libgomp.c++/atomic-3.C: New test.
17431         * testsuite/libgomp.c++/atomic-4.C: New test.
17432         * testsuite/libgomp.c++/atomic-5.C: New test.
17433         * testsuite/libgomp.c++/atomic-6.C: New test.
17434         * testsuite/libgomp.c++/atomic-7.C: New test.
17435         * testsuite/libgomp.c++/atomic-8.C: New test.
17436         * testsuite/libgomp.c++/atomic-9.C: New test.
17437         * testsuite/libgomp.c++/task-8.C: New test.
17438         * testsuite/libgomp.c++/reduction-4.C: New test.
17439         * testsuite/libgomp.fortran/allocatable7.f90: New test.
17440         * testsuite/libgomp.fortran/allocatable8.f90: New test.
17441         * testsuite/libgomp.fortran/crayptr3.f90: New test.
17442         * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
17443         * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
17444         * testsuite/libgomp.fortran/pointer1.f90: New test.
17445         * testsuite/libgomp.fortran/pointer2.f90: New test.
17446         * testsuite/libgomp.fortran/task4.f90: New test.
17448 2011-08-02  Tobias Burnus  <burnus@net-b.de>
17450         * libgomp.texi: Update OpenMP spec references to 3.1.
17451         (omp_in_final,OMP_PROC_BIND): New sections.
17452         (OMP_NUM_THREADS): Document that the value can be now a list.
17453         (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
17455 2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>
17457         * config/linux/x86/futex.h: Check __x86_64__ instead of
17458         __LP64__.
17460 2011-07-29  Jakub Jelinek  <jakub@redhat.com>
17462         PR middle-end/49897
17463         PR middle-end/49898
17464         * testsuite/libgomp.c/pr49897-1.c: New test.
17465         * testsuite/libgomp.c/pr49897-2.c: New test.
17466         * testsuite/libgomp.c/pr49898-1.c: New test.
17467         * testsuite/libgomp.c/pr49898-2.c: New test.
17469 2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>
17471         * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
17472         for ia32 instead of ilp32.
17474         * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
17475         * testsuite/libgomp.c/atomic-6.c: Likewise.
17477 2011-07-23  Sebastian Pop  <sebastian.pop@amd.com>
17479         * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
17480         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
17482 2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17484         PR libgomp/45351
17485         * config/osf/sem.h: New file.
17486         * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
17488 2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17490         PR target/49541
17491         * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
17492         ldflags.
17494 2011-07-15  Jakub Jelinek  <jakub@redhat.com>
17496         * config/linux/wait.h (do_spin): New inline, largely copied
17497         from do_wait, just don't do futex_wait here, instead return true if
17498         it should be done.
17499         (do_wait): Implement using do_spin.
17500         * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
17501         to prototype.
17502         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17503         __sync_bool_compare_and_swap, pass the oldval to
17504         gomp_mutex_lock_slow.
17505         * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
17506         If all mutex contenders are just spinning and not sleeping, don't
17507         change state to 2 unnecessarily.  Optimize the loop when state has
17508         already become 2 to use just one atomic operation per loop instead
17509         of two.
17510         * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
17511         to prototype.
17512         (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17513         __sync_bool_compare_and_swap, pass the oldval to
17514         gomp_mutex_lock_slow.
17516 2011-06-22  Jakub Jelinek  <jakub@redhat.com>
17518         PR libgomp/49490
17519         * iter.c (gomp_iter_static_next): For chunk size 0
17520         only use n ceil/ nthreads size for the first
17521         n % nthreads threads in the team instead of
17522         all threads except for the last few ones which
17523         get less work or none at all.
17524         * iter_ull.c (gomp_iter_ull_static_next): Likewise.
17525         * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
17526         chunk argument, set run_sched_modifier to 0 for static
17527         resp. 1 for other kinds.  If chunk argument is 0
17528         and not static, set value to 1.
17530 2011-05-19  Jakub Jelinek  <jakub@redhat.com>
17532         PR c++/49043
17533         * testsuite/libgomp.c++/pr49043.C: New test.
17535         PR c++/48869
17536         * testsuite/libgomp.c++/pr48869.C: New test.
17538 2011-05-06  Jakub Jelinek  <jakub@redhat.com>
17540         PR fortran/48894
17541         * fortran.c: Include limits.h.
17542         (TO_INT): Define.
17543         (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
17544         *set.
17545         (omp_set_num_threads_8_, omp_set_schedule_8_,
17546         omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
17547         omp_get_team_size_8_): Use TO_INT macro.
17548         * testsuite/libgomp.fortran/pr48894.f90: New test.
17550 2011-04-13  Jakub Jelinek  <jakub@redhat.com>
17552         PR middle-end/48591
17553         * testsuite/libgomp.c/pr48591.c: New test.
17555 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17557         PR bootstrap/48135
17558         * acinclude.m4 (enable_symvers): Handle --disable-symvers.
17559         * configure: Regenerate.
17561 2011-02-27  Jakub Jelinek  <jakub@redhat.com>
17563         PR fortran/47886
17564         * testsuite/libgomp.fortran/task3.f90: New test.
17566 2011-02-24  Tobias Burnus  <burnus@net-b.de>
17568         * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
17570 2011-02-23  Jakub Jelinek  <jakub@redhat.com>
17572         PR libgomp/47854
17573         * libgomp.texi (omp_get_wtime): Don't say time in the past
17574         must be Unix Epoch.
17576 2011-02-18  Jakub Jelinek  <jakub@redhat.com>
17578         PR libgomp/47804
17579         * testsuite/libgomp.fortran/fortran.exp: Check for both
17580         libquadmath.a and libquadmath.${shlib_ext}.  If neither exists,
17581         but $blddir != "", still append ${blddir}/${lang_library_path}
17582         to ld_library_path.
17584 2011-02-16  Tobias Burnus  <burnus@net-b.de>
17586         PR libgomp/47758
17587         * testsuite/libgomp.fortran/fortran.exp: Check for the existence
17588         of libquadmath.a before adding its libpath to ldflags.
17590 2011-02-14  Jakub Jelinek  <jakub@redhat.com>
17592         PR libgomp/47731
17593         * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
17594         to FUTEX_WAIT futex syscall.
17595         * config/linux/wait.h: Include <futex.h> instead of "futex.h".
17597 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17599         * configure: Regenerate.
17601 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
17603         PR libstdc++/36104
17604         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
17606 2011-01-16  Gerald Pfeifer
17608         * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
17610 2010-12-14  Jakub Jelinek  <jakub@redhat.com>
17612         PR fortran/46874
17613         * libgomp.fortran/allocatable6.f90: New test.
17615 2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17617         * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
17618         * configure: Regenerate.
17620 2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>
17622         PR target/40125
17623         PR lto/46695
17624         * configure.ac: Invoke ACX_LT_HOST_FLAGS.
17625         * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
17626         * aclocal.m4: Regenerate.
17627         * configure: Regenerate.
17628         * Makefile.in: Regenerate.
17629         * testsuite/Makefile.in: Regenerate.
17631 2010-12-02  Jakub Jelinek  <jakub@redhat.com>
17633         PR fortran/46753
17634         * libgomp.fortran/pr46753.f90: New test.
17636         PR libgomp/43706
17637         * env.c (initialize_env): Default to spin count 300000
17638         instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
17639         is specified.
17641         PR libgomp/45240
17642         * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
17643         at the end if sync builtins aren't supported.
17645 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17647         * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
17649 2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17651         * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
17653 2010-11-24  Iain Sandoe  <iains@gcc.gnu.org>
17655         * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
17657 2010-11-16  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
17658             Tobias Burnus  <burnus@net-b.de>
17660         PR fortran/32049
17661         * configure.ac:
17662         * configure: Regenerate.
17664 2010-10-06  Marcus Shawcroft  <marcus.shawcroft@arm.com>
17666         * config/linux/futex.h: New.
17667         * config/linux/arm/mutex.h: New.
17668         * configure.tgt (arm*-*-linux*): Add config path.
17670 2010-09-30  Sebastian Pop  <sebastian.pop@amd.com>
17672         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17674 2010-09-23  Tobias Burnus  <burnus@net-b.de>
17676         * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
17677         Change Fortran datatype to LOGICAL.
17678         (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
17679         omp_unset_nested_lock): Use intent(inout) instead of intent(out).
17681 2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17683         * configure: Regenerate.
17685 2010-07-26  Jakub Jelinek  <jakub@redhat.com>
17687         * libgomp.texi: Add function keyword to a couple of Fortran
17688         interfaces, use integer instead of int for Fortran.
17690 2010-07-26  Aldy Hernandez  <aldyh@redhat.com>
17692         * libgomp.texi: Fix spelling and pasto problems throughout.
17693         Adjust prototypes to match code.
17695 2010-07-24  Tobias Burnus  <burnus@net-b.de>
17697         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
17698         silence -fwhole-file warning.
17700 2010-07-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17702         * configure.tgt (*-*-solaris2.[56]*): Removed.
17704 2010-07-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17706         * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
17707         Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
17708         LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
17709         (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
17710         targetting solaris2*.
17711         * configure: Regenerate.
17712         * config.h.in: Regenerate.
17714         * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
17715         libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
17716         Add libgomp_version_dep.
17717         [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
17718         versioning.
17719         [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
17720         (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
17721         * Makefile.in: Regenerate.
17723         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
17724         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
17725         * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
17726         to common block, protected by
17727         HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
17729 2010-06-10  Gerald Pfeifer  <gerald@pfeifer.com>
17731         * libgomp.texi: Move to GFDL version 1.3.  Update copyright years.
17733 2010-06-09  Iain Sandoe  <iains@gcc.gnu.org>
17735         PR bootstrap/43170
17736         * configure: Regenerate.
17738 2010-05-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17740         PR other/43620
17741         * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
17742         * configure: Regenerate.
17743         * Makefile.in: Regenerate.
17744         * testsuite/Makefile.in: Regenerate.
17746 2010-04-26  Jakub Jelinek  <jakub@redhat.com>
17748         PR c/43893
17749         * testsuite/libgomp.c/pr43893.c: New test.
17750         * testsuite/libgomp.c++/pr43893.C: New test.
17752 2010-04-21  Jakub Jelinek  <jakub@redhat.com>
17754         PR middle-end/43570
17755         * testsuite/libgomp.fortran/vla8.f90: New test.
17757 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
17759         PR libgomp/43706
17760         * config/linux/affinity.c (gomp_init_affinity): Decrease
17761         gomp_available_cpus if affinity mask confines the process to fewer
17762         CPUs.
17763         * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
17764         non-NULL, just return gomp_available_cpus.
17766         PR libgomp/43569
17767         * sections.c (gomp_sections_init): Initialize ws->mode.
17769 2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
17771         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
17772         not unused bar variable.
17773         * configure: Regenerate.
17775 2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17777         * Makefile.in: Regenerate.
17778         * aclocal.m4: Regenerate.
17779         * testsuite/Makefile.in: Regenerate.
17781 2010-03-22  Jakub Jelinek  <jakub@redhat.com>
17783         PR libgomp/42942
17784         * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
17785         (initialize_env): Adjust callers.
17786         (omp_set_max_active_levels): Set gomp_max_active_levels_var even
17787         when the argument is 0.
17789         * testsuite/libgomp.c/pr42942.c: New test.
17791 2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
17793         PR middle-end/42644
17794         PR middle-end/42130
17795         * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17796         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
17798 2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17800         * testsuite/libgomp.c++/task-1.C: Renamed err to e.
17801         * testsuite/libgomp.c++/task-6.C: Likewise.
17803 2010-01-28  Steve Ellcey  <sje@cup.hp.com>
17805         * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
17807 2010-01-26  Paolo Bonzini  <bonzini@gnu.org>
17809         * configure.ac: Test for executability of _the first word_ of GFORTRAN.
17810         * configure: Regenerate.
17812 2010-01-26  Jakub Jelinek  <jakub@redhat.com>
17814         PR fortran/42866
17815         * testsuite/libgomp.fortran/allocatable5.f90: New test.
17817 2010-01-20  Paolo Bonzini  <bonzini@gnu.org>
17819         * configure.ac: Test for executability of GFORTRAN.
17820         * configure: Regenerate.
17822 2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
17824         * configure: Regenerate.
17826 2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
17828         PR libgomp/42602
17829         * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
17831 2010-01-03  Richard Guenther  <rguenther@suse.de>
17833         * testsuite/libgomp.fortran/recursion1.f90: New testcase.
17835 2009-12-23  Sebastian Pop  <sebpop@gmail.com>
17837         * testsuite/libgomp.graphite/pr4118.c: New.
17839 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
17841         * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
17842         for darwin, protect the test with require-effective-target tls_runtime.
17843         * testsuite/libgomp.fortran/pr32550.f90: Ditto.
17845 2009-12-22  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
17847         PR target/41605
17848         * testsuite/lib/libgomp.exp: Provide -B options to allow for
17849         link spec %s substitutions for static libraries.
17851 2009-12-18  Jack Howarth <howarth@bromo.med.uc.edu>
17853         PR testsuite/42135
17854         * libgomp.graphite/force-parallel-2.c: Reduce array size.
17856 2009-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17858         * Makefile.in: Regenerate.
17859         * configure: Regenerate.
17860         * testsuite/Makefile.in: Regenerate.
17862 2009-11-30  Dave Korn  <dave.korn.cygwin@gmail.com>
17864         * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
17865         settings for LC_ALL and LANG.
17867 2009-11-25  Jakub Jelinek  <jakub@redhat.com>
17869         PR fortran/42162
17870         * testsuite/libgomp.fortran/pr42162.f90: New test.
17872 2009-11-13  Jakub Jelinek  <jakub@redhat.com>
17874         PR middle-end/42029
17875         * testsuite/libgomp.c/pr42029.c: New test.
17877 2009-10-26  Jakub Jelinek  <jakub@redhat.com>
17879         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
17880         *s.  Accept ld version without text in ()s.
17881         * configure: Regenerated.
17883 2009-10-22  Razya Ladelsky  <razya@il.ibm.com>
17885         * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
17887 2009-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17889         PR libgomp/41418
17890         * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
17891         or a hyphen (happens with fortran language disabled).
17892         * configure: Regenerate.
17894 2009-09-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17896         * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
17897         use sed script portable to Solaris /bin/sed for extracting ld
17898         version.
17899         * configure: Regenerate.
17901 2009-09-17  Alexander Monakov  <amonakov@ispras.ru>
17903         * testsuite/libgomp.graphite/bounds.c: New test.
17905 2009-09-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17907         * Makefile.am (libgomp_la_LINK): New.
17908         * Makefile.in: Regenerate.
17910 2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17912         * configure.ac (AC_PREREQ): Bump to 2.64.
17914 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17916         * Makefile.am (install-html, install-pdf): Remove.
17917         * Makefile.in: Regenerate.
17919         * Makefile.in: Regenerate.
17920         * aclocal.m4: Regenerate.
17921         * config.h.in: Regenerate.
17922         * configure: Regenerate.
17923         * testsuite/Makefile.in: Regenerate.
17925 2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17927         * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
17928         * Makefile.in: Regenerate.
17930 2009-08-20  Dave Korn  <dave.korn.cygwin@gmail.com>
17932         * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
17933         * Makefile.in: Regenerate.
17935 2009-08-19  Tobias Burnus  <burnus@net-b.de>
17937         PR fortran/41102
17938         omp_lib.h.in: Fix -std=f95 errors.
17940 2009-08-14  David Edelsohn  <edelsohn@gnu.org>
17942         * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
17943         * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
17944         * testsuite/libgomp.graphite/graphite.exp: New.
17946 2009-08-05  Andreas Tobler  <a.tobler@schweiz.org>
17948         * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
17949         only build.
17951 2009-08-04  David Daney  <ddaney@caviumnetworks.com>
17953         * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
17954         needed memory barrier semantics.
17955         * config/linux/mips/mutex.h: New file.
17957 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17959         * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
17961 2009-07-16  Joseph Myers  <joseph@codesourcery.com>
17963         * configure: Regenerate.
17965 2009-07-11  Richard Sandiford  <rdsandiford@googlemail.com>
17967         PR testsuite/40699
17968         PR testsuite/40707
17969         PR testsuite/40709
17970         * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
17971         * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
17972         testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
17974 2009-07-02  Richard Sandiford  <r.sandiford@uk.ibm.com>
17976         * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
17977         options when choosing a multilib.
17979 2009-06-30  Richard Sandiford  <r.sandiford@uk.ibm.com>
17981         * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
17982         ld_library_path.  Use add_path.  Add just find_libgcc_s to
17983         ld_library_path, not every libgcc multilib directory.
17984         * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
17985         gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
17986         * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
17987         Use add_path.
17988         * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
17990 2009-06-09  Nathan Froyd  <froydnj@codesourcery.com>
17992         * Makefile.am (LTLDFLAGS): Define.
17993         (LINK): Define.
17994         * Makefile.in: Regenerate.
17996 2009-05-27  Janne Blomqvist  <jb@gcc.gnu.org>
17998         PR fortran/39718
17999         * testsuite/libgomp.fortran/fortran.exp: Don't link with
18000         libgfortranbegin, check existence of libgfortran.a instead of
18001         libgfortranbegin.a.
18003 2009-05-20  Jakub Jelinek  <jakub@redhat.com>
18005         PR libgomp/40174
18006         * team.c (gomp_thread_start): Destroy thr->release semaphore.
18007         (gomp_free_pool_helper): Likewise.
18009 2009-04-20  Vasilis Liaskovitis  <vliaskov@gmail.com>
18010             Jakub Jelinek  <jakub@redhat.com>
18012         PR fortran/35423
18013         * testsuite/libgomp.fortran/workshare2.f90: New test.
18015 2009-04-09  Nick Clifton  <nickc@redhat.com>
18017         * iter.c: Change copyright header to refer to version 3 of the
18018         GNU General Public License with version 3.1 of the GCC Runtime
18019         Library Exception and to point readers at the COPYING3 and
18020         COPYING3.RUNTIME files and the FSF's license web page.
18021         * alloc.c: Likewise.
18022         * barrier.c: Likewise.
18023         * config/bsd/proc.c: Likewise.
18024         * config/linux/affinity.c: Likewise.
18025         * config/linux/alpha/futex.h: Likewise.
18026         * config/linux/bar.c: Likewise.
18027         * config/linux/bar.h: Likewise.
18028         * config/linux/ia64/futex.h: Likewise.
18029         * config/linux/ia64/mutex.h: Likewise.
18030         * config/linux/lock.c: Likewise.
18031         * config/linux/mips/futex.h: Likewise.
18032         * config/linux/mutex.c: Likewise.
18033         * config/linux/mutex.h: Likewise.
18034         * config/linux/powerpc/futex.h: Likewise.
18035         * config/linux/proc.c: Likewise.
18036         * config/linux/ptrlock.c: Likewise.
18037         * config/linux/ptrlock.h: Likewise.
18038         * config/linux/s390/futex.h: Likewise.
18039         * config/linux/sem.c: Likewise.
18040         * config/linux/sem.h: Likewise.
18041         * config/linux/sparc/futex.h: Likewise.
18042         * config/linux/wait.h: Likewise.
18043         * config/linux/x86/futex.h: Likewise.
18044         * config/mingw32/proc.c: Likewise.
18045         * config/mingw32/time.c: Likewise.
18046         * config/posix/affinity.c: Likewise.
18047         * config/posix/bar.c: Likewise.
18048         * config/posix/bar.h: Likewise.
18049         * config/posix/lock.c: Likewise.
18050         * config/posix/mutex.h: Likewise.
18051         * config/posix/proc.c: Likewise.
18052         * config/posix/ptrlock.h: Likewise.
18053         * config/posix/sem.c: Likewise.
18054         * config/posix/sem.h: Likewise.
18055         * config/posix/time.c: Likewise.
18056         * config/posix95/lock.c: Likewise.
18057         * critical.c: Likewise.
18058         * env.c: Likewise.
18059         * error.c: Likewise.
18060         * fortran.c: Likewise.
18061         * iter_ull.c: Likewise.
18062         * libgomp.h: Likewise.
18063         * libgomp_f.h.in: Likewise.
18064         * libgomp_g.h: Likewise.
18065         * loop.c: Likewise.
18066         * loop_ull.c: Likewise.
18067         * omp.h.in: Likewise.
18068         * omp_lib.f90.in: Likewise.
18069         * omp_lib.h.in: Likewise.
18070         * ordered.c: Likewise.
18071         * parallel.c: Likewise.
18072         * sections.c: Likewise.
18073         * single.c: Likewise.
18074         * task.c: Likewise.
18075         * team.c: Likewise.
18076         * work.c: Likewise.
18078 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
18080         * testsuite/config/default.exp: Change copyright header to refer to
18081         version 3 of the GNU General Public License and to point readers
18082         at the COPYING3 file and the FSF's license web page.
18084 2009-04-08  Jakub Jelinek  <jakub@redhat.com>
18086         PR middle-end/39573
18087         * libgomp.c++/pr39573.C: New test.
18089 2009-04-01  Jakub Jelinek  <jakub@redhat.com>
18091         PR other/39591
18092         * testsuite/libgomp.c/pr39591-1.c: New test.
18093         * testsuite/libgomp.c/pr39591-2.c: New test.
18094         * testsuite/libgomp.c/pr39591-3.c: New test.
18096 2009-03-25  Uros Bizjak  <ubizjak@gmail.com>
18098         * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
18099         * testsuite/libgomp.c/atomic-6.c: Ditto.
18101 2009-03-23  Jakub Jelinek  <jakub@redhat.com>
18103         PR c/39495
18104         * testsuite/libgomp.c/loop-12.c: New test.
18105         * testsuite/libgomp.c/loop-11.c: New test.
18106         * testsuite/libgomp.c++/loop-11.C: New test.
18107         * testsuite/libgomp.c++/loop-12.C: New test.
18108         * testsuite/libgomp.c++/for-8.C: New test.
18110 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18112         * configure: Regenerate.
18114 2009-02-11  Jakub Jelinek  <jakub@redhat.com>
18116         PR middle-end/39154
18117         * testsuite/libgomp.c/pr39154.c: New test.
18119 2009-01-30  Ian Lance Taylor  <iant@google.com>
18121         * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
18122         libgomp_ld_is_gold.  Get gold version number.
18123         (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
18124         * configure: Rebuild.
18126 2009-01-19  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>
18128         * testsuite/lib/libgomp.exp: Add -B option for targets that
18129         use libgfortran.a%s in their specs.
18131 2009-01-07  Jakub Jelinek  <jakub@redhat.com>
18133         PR libgomp/38086
18134         * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
18135         * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
18136         HAVE_AS_SYMVER_DIRECTIVE is not defined.
18137         * configure: Regenerated.
18138         * config.h.in: Likewise.
18140 2008-12-28  Jakub Jelinek  <jakub@redhat.com>
18142         PR c++/38650
18143         * testsuite/libgomp.c/pr38650.c: New test.
18144         * testsuite/libgomp.c++/pr38650.C: New test.
18146 2008-12-27  Jakub Jelinek  <jakub@redhat.com>
18148         * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
18150 2008-12-26  Uros Bizjak  <ubizjak@gmail.com>
18152         * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
18154 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18156         * configure: Regenerate.
18158 2008-12-08  Jakub Jelinek  <jakub@redhat.com>
18160         PR middle-end/36802
18161         * testsuite/libgomp.c/pr36802-1.c: New test.
18162         * testsuite/libgomp.c/pr36802-2.c: New test.
18163         * testsuite/libgomp.c/pr36802-3.c: New test.
18165 2008-12-01  Janis Johnson  <janis187@us.ibm.com>
18167         PR libgomp/38270
18168         * config/linux/powerpc/mutex.h: New.
18170 2008-12-01  Jakub Jelinek  <jakub@redhat.com>
18172         PR c++/38257
18173         * testsuite/libgomp.c++/for-7.C: New test.
18175         PR c++/38348
18176         * testsuite/libgomp.c++/for-6.C: New test.
18178 2008-11-26  Janis Johnson  <janis187@us.ibm.com>
18180         PR testsuite/28870
18181         * testsuite/lib/libgomp.exp: Include new timeout library files.
18182         (libgomp_target_compile): Set timeout value from new proc.
18184 2008-11-13  Steve Ellcey  <sje@cup.hp.com>
18186         PR libgomp/37938
18187         * config/linux/ia64/mutex.h: New.
18189 2008-11-04  Tobias Burnus  <burnus@net-b.de>
18191         PR libgomp/37935
18192         * libgomp.texi (Runtime library routines, environment variables):
18193         Update for OpenMP version 3.0.
18195 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
18196             Steve Ellcey  <sje@cup.hp.com>
18198         * configure: Regenerate for new libtool.
18199         * Makefile.in: Ditto.
18200         * testsuite/Makefile.in: Ditto.
18202 2008-09-19  Jakub Jelinek  <jakub@redhat.com>
18203             Andreas Tobler  <a.tobler@schweiz.org>
18205         * config/bsd/proc.c: New file.
18206         * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
18207         * configure.ac: Check for header <sys/sysctl.h>
18208         * configure: Regenerate.
18209         * config.h.in: Likewise.
18211 2008-09-05  Janis Johnson  <janis187@us.ibm.com>
18213         * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
18215 2008-08-31  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
18217         * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
18218         * Makefile.in: Regenerated.
18219         * testsuite/Makefile.in: Regenerated.
18221 2008-08-21  Nathan Froyd  <froydnj@codesourcery.com>
18223         * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
18224         depend on blddir if blddir exists.
18225         (libgomp_target_compile): Likewise.
18226         * testsuite/libgomp.c++/c++.exp: Likewise.
18227         * testsuite/libgomp.fortran/fortran.exp: Likewise.
18229 2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18231         * libgomp.texi: Update to GFDL 1.2.  Update copyright years.
18232         Do not list GPL as Invariant Section.
18234 2008-07-28  Ilie Garbacea  <ilie@mips.com>
18235             Chao-ying Fu  <fu@mips.com>
18237         * configure.tgt: Enable futex for MIPS.
18238         * config/linux/mips/futex.h: New file.
18240 2008-07-16  Jakub Jelinek  <jakub@redhat.com>
18242         * team.c (gomp_team_end): Free team immediately if it has
18243         just one thread.
18245 2008-07-08  David Edelsohn  <edelsohn@gnu.org>
18247         * testsuite/libgomp.c++/c++.exp: Append multilib library path.
18248         * testsuite/libgomp.fortran/fortran.exp: Same.
18249         * testsuite/libgomp.c/c.exp: Same.
18250         * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
18251         directory to library path first.
18253 2008-06-29  Krister Walfridsson  <krister.walfridsson@gmail.com>
18255         * env.c (parse_stacksize): Add cast to avoid warning.
18256         (parse_spincount): Likewise.
18258 2008-06-27  Jakub Jelinek  <jakub@redhat.com>
18260         * testsuite/libgomp.c/loop-10.c: New test.
18261         * libgomp.c/loop-3.c (main): Add lastprivate clause.
18262         * libgomp.c++/loop-6.C (main): Likewise.
18264         PR debug/36617
18265         * testsuite/libgomp.c/debug-1.c: New test.
18267 2008-06-19  Jakub Jelinek  <jakub@redhat.com>
18269         * testsuite/libgomp.c/nqueens-1.c: New test.
18271         PR c++/36523
18272         * testsuite/libgomp.c++/task-7.C: New function.
18274 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18276         * configure: Regenerate.
18278 2008-06-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
18280         * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
18281         mutex when HAVE_SYNC_BUILTINS isn't defined.
18283 2008-06-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18285         * libgomp.texi (omp_test_lock): Fix typo.
18287 2008-06-12  Tobias Burnus  <burnus@net-b.de>
18289         * omp_lib.f90.in: Add "implicit none".
18291 2008-06-12  Jakub Jelinek  <jakub@redhat.com>
18293         PR middle-end/36506
18294         * testsuite/libgomp.c/reduction-5.c: New test.
18296 2008-06-11  Jakub Jelinek  <jakub@redhat.com>
18298         * libgomp.h (struct gomp_task): Add in_tied_task field.
18299         * task.c (gomp_init_task): Initialize it.
18300         (GOMP_task): Likewise.  Call gomp_team_barrier_set_task_pending
18301         unconditionally.  Don't call gomp_team_barrier_wake if
18302         current task is implicit or if(0) from implicit and number of
18303         running tasks is equal to nthreads - 1.
18305         PR libgomp/36471
18306         * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
18307         omp_get_team_size_8): Fix pastos.
18309         PR libgomp/36469
18310         * configure.ac: Add AC_CHECK_FUNCS (strtoull).
18311         * configure: Regenerated.
18312         * config.h.in: Regenerated.
18313         * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
18314         defined.
18316 2008-06-06  Andreas Tobler  <a.tobler@schweiz.org>
18318         PR bootstrap/36452
18319         * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
18320         (GOMP_loop_ull_dynamic_start): Likewise.
18321         (GOMP_loop_ull_guided_start): Likewise.
18322         (GOMP_loop_ull_ordered_static_start): Likewise.
18323         (GOMP_loop_ull_ordered_dynamic_start): Likewise.
18324         (GOMP_loop_ull_ordered_guided_start): Likewise.
18326 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
18327             Richard Henderson  <rth@redhat.com>
18328             Ulrich Drepper  <drepper@redhat.com>
18329             Jakob Blomer  <jakob.blomer@ira.uka.de>
18331         * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
18332         Substitute also OMP_*LOCK_25*.
18333         * configure: Regenerated.
18334         * config.h.in: Regenerated.
18335         * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
18336         ptrlock.c and task.c.
18337         * Makefile.in: Regenerated.
18338         * testsuite/Makefile.in: Regenerated.
18339         * task.c: New file.
18340         * loop_ull.c: New file.
18341         * iter_ull.c: New file.
18342         * libgomp.h: Include ptrlock.h.
18343         (enum gomp_task_kind): New type.
18344         (struct gomp_team): Add task_lock, task_queue, task_count,
18345         task_running_count, single_count fields.  Add
18346         work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
18347         Remove work_share_lock, generation_mask,
18348         oldest_live_gen, num_live_gen and init_work_shares fields, add
18349         work work_share_list_alloc, work_share_list_free and work_share_chunk
18350         fields.  Change work_shares from pointer to pointers into an array.
18351         Change ordered_release field into gomp_sem_t ** from flexible array
18352         member.  Add implicit_task and initial_work_shares fields.
18353         Move close to the end of the struct.
18354         (struct gomp_team_state): Add single_count, last_work_share,
18355         active_level and level fields, remove work_share_generation.
18356         (gomp_barrier_handle_tasks): New prototype.
18357         (gomp_finish_task): New inline function.
18358         (struct gomp_work_share): Move chunk_size, end, incr into
18359         transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
18360         next_ll fields.  Reshuffle fields.  Add next_alloc,
18361         next_ws, next_free and inline_ordered_team_ids fields, change
18362         ordered_team_ids into pointer from flexible array member.
18363         Add mode field.  Put lock and next into a different cache line
18364         from most of the write-once fields.
18365         (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
18366         gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
18367         gomp_iter_ull_guided_next): New prototypes.
18368         (gomp_new_icv): New prototype.
18369         (struct gomp_thread): Add thread_pool and task fields.
18370         (struct gomp_thread_pool): New type.
18371         (gomp_new_team): New prototype.
18372         (gomp_team_start): Change type of last argument.
18373         (gomp_new_work_share): Removed.
18374         (gomp_init_work_share, gomp_fini_work_share): New prototypes.
18375         (gomp_work_share_init_done): New static inline.
18376         (gomp_throttled_spin_count_var, gomp_available_cpus,
18377         gomp_managed_threads): New extern decls.
18378         (gomp_init_task): New prototype.
18379         (gomp_spin_count_var): New extern var decl.
18380         (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
18381         or no alias support, or if not PIC.
18382         (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
18383         gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
18384         gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
18385         gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
18386         gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
18387         gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
18388         gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
18389         gomp_test_nest_lock_25): New prototypes.
18390         (omp_lock_symver, strong_alias): Define.
18391         (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
18392         decls.
18393         (gomp_end_task): New.
18394         (struct gomp_task_icv, gomp_global_icv): New.
18395         (gomp_thread_limit_var, gomp_max_active_levels_var): New.
18396         (struct gomp_task): New.
18397         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18398         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18399         (gomp_icv): New.
18400         (gomp_schedule_type): Reorder enum to match
18401         omp_sched_t.
18402         * team.c (struct gomp_thread_start_data): Add thread_pool and task
18403         fields.
18404         (gomp_thread_start): Add gomp_team_barrier_wait call.
18405         For non-nested case remove clearing of docked thread thr fields.
18406         Use pool fields instead of global gomp_* variables.  Use
18407         gomp_barrier_wait_last when needed.  Initialize ts.active_level.
18408         Create tasks for each member thread.
18409         (free_team): Only destroy team barrier, task_lock here and free it.
18410         (gomp_free_thread): Free last_team if non-NULL.
18411         (gomp_team_end): Call gomp_team_barrier_wait instead of
18412         gomp_barrier_wait.  For nested case call one extra
18413         gomp_barrier_wait.  Move here some destruction from free_team.
18414         Call free_team on pool->last_team if any, rather than freeing
18415         current team.  Destroy work_share_list_free_lock ifndef
18416         HAVE_SYNC_BUILTINS.
18417         (gomp_new_icv): New function.
18418         (gomp_threads, gomp_threads_size, gomp_threads_used,
18419         gomp_threads_dock): Removed.
18420         (gomp_thread_destructor): New variable.
18421         (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
18422         functions.
18423         (gomp_team_start): Create new pool if current thread doesn't have
18424         one.  Use pool fields instead of global gomp_* variables.
18425         Initialize thread_pool field for new threads.  Clear single_count.
18426         Change last argument from ws to team, don't create
18427         new team, set ts.work_share to &team->work_shares[0] and clear
18428         ts.last_work_share.  Don't clear ts.work_share_generation.
18429         If number of threads changed, adjust atomically gomp_managed_threads.
18430         Use gomp_init_task instead of gomp_new_task,
18431         set thr->task to the corresponding implicit_task array entry.
18432         Create tasks for each member thread.  Initialize ts.level.
18433         (initialize_team): Call pthread_key_create on
18434         gomp_thread_destructor.
18435         (team_destructor): New function.
18436         (new_team): Removed.
18437         (gomp_new_team): New function.
18438         (free_team): Free gomp_work_share blocks chained through next_alloc,
18439         instead of freeing work_shares and destroying work_share_lock.
18440         (gomp_team_end): Call gomp_fini_work_share.  If number of threads
18441         changed, adjust atomically gomp_managed_threads.  Use gomp_end_task.
18442         * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
18443         of gomp_barrier_wait.
18444         * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
18445         instead of gomp_barrier_wait.  Call gomp_work_share_init_done
18446         if gomp_work_share_start returned true.  Don't unlock ws->lock.
18447         (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
18448         of gomp_barrier_wait.
18449         (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS.  Call
18450         gomp_work_share_init_done if gomp_work_share_start returned true.
18451         Don't unlock ws->lock.
18452         * work.c: Include stddef.h.
18453         (free_work_share): Use work_share_list_free_lock instead
18454         of atomic chaining ifndef HAVE_SYNC_BUILTINS.  Add team argument.
18455         Call gomp_fini_work_share and then either free ws if orphaned, or
18456         put it into work_share_list_free list of the current team.
18457         (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
18458         functions.
18459         (gomp_work_share_start, gomp_work_share_end,
18460         gomp_work_share_end_nowait): Rewritten.
18461         * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
18462         (openmp_version): Set to 200805.
18463         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18464         omp_sched_guided, omp_sched_auto): New parameters.
18465         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18466         omp_set_max_active_levels, omp_get_max_active_levels,
18467         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18468         omp_get_active_level): New interfaces.
18469         * omp_lib.h.in (openmp_version): Set to 200805.
18470         (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18471         omp_sched_guided, omp_sched_auto): New parameters.
18472         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18473         omp_set_max_active_levels, omp_get_max_active_levels,
18474         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18475         omp_get_active_level): New externals.
18476         * loop.c: Include limits.h.
18477         (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
18478         GFS_AUTO.
18479         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
18480         Likewise.  Use gomp_icv.
18481         (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
18482         ts.static_trip here.
18483         (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
18484         gomp_work_share_init_done after gomp_loop_init.  Don't unlock ws->lock.
18485         (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
18486         gomp_work_share_init_done after gomp_loop_init.  If HAVE_SYNC_BUILTINS,
18487         don't unlock ws->lock, otherwise lock it.
18488         (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
18489         gomp_work_share_init_done after gomp_loop_init.  Lock ws->lock.
18490         (gomp_parallel_loop_start): Call gomp_new_team instead of
18491         gomp_new_work_share.  Call gomp_loop_init on &team->work_shares[0].
18492         Adjust gomp_team_start caller.  Pass 0 as second argument to
18493         gomp_resolve_num_threads.
18494         (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
18495         If adding ws->chunk_size nthreads + 1 times after end won't
18496         overflow, set ws->mode to 1.
18497         * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
18498         GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
18499         GOMP_loop_ull_ordered_static_start,
18500         GOMP_loop_ull_ordered_dynamic_start,
18501         GOMP_loop_ull_ordered_guided_start,
18502         GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
18503         GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
18504         GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
18505         GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
18506         GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
18507         prototypes.
18508         * libgomp.map: Export lock routines also @@OMP_2.0.
18509         (GOMP_loop_ordered_dynamic_first,
18510         GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
18511         GOMP_loop_ordered_static_first): Remove.
18512         (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
18513         GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
18514         GOMP_loop_ull_ordered_dynamic_next,
18515         GOMP_loop_ull_ordered_dynamic_start,
18516         GOMP_loop_ull_ordered_guided_next,
18517         GOMP_loop_ull_ordered_guided_start,
18518         GOMP_loop_ull_ordered_runtime_next,
18519         GOMP_loop_ull_ordered_runtime_start,
18520         GOMP_loop_ull_ordered_static_next,
18521         GOMP_loop_ull_ordered_static_start,
18522         GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
18523         GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
18524         GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
18525         (omp_set_schedule, omp_get_schedule,
18526         omp_get_thread_limit, omp_set_max_active_levels,
18527         omp_get_max_active_levels, omp_get_level,
18528         omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
18529         omp_set_schedule_, omp_set_schedule_8_,
18530         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
18531         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
18532         omp_get_max_active_levels_, omp_get_level_,
18533         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
18534         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
18535         New exports @@OMP_3.0.
18536         * omp.h.in (omp_sched_t): New type.
18537         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18538         omp_set_max_active_levels, omp_get_max_active_levels,
18539         omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18540         omp_get_active_level): New prototypes.
18541         * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
18542         gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
18543         gomp_thread_limit_var, gomp_remaining_threads_count,
18544         gomp_remaining_threads_lock): New variables.
18545         (parse_spincount): New function.
18546         (initialize_env): Call gomp_init_num_threads unconditionally.
18547         Initialize gomp_available_cpus.  Call parse_spincount,
18548         initialize gomp_{,throttled_}spin_count_var
18549         depending on presence and value of OMP_WAIT_POLICY and
18550         GOMP_SPINCOUNT env vars.  Handle GOMP_BLOCKTIME env var.
18551         Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
18552         OMP_THREAD_LIMIT, OMP_STACKSIZE env vars.  Handle unit specification
18553         for GOMP_STACKSIZE.  Initialize gomp_remaining_threads_count and
18554         gomp_remaining_threads_lock if needed.  Use gomp_global_icv.
18555         (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18556         gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18557         (gomp_global_icv): New.
18558         (parse_schedule): Use it.  Parse "auto".
18559         (omp_set_num_threads): Use gomp_icv.
18560         (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
18561         Likewise.
18562         (omp_get_max_threads): Move from parallel.c.
18563         (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18564         omp_set_max_active_levels, omp_get_max_active_levels): New functions,
18565         add ialias.
18566         (parse_stacksize, parse_wait_policy): New functions.
18567         * fortran.c: Rewrite lock wrappers, if symbol versioning provide
18568         both wrappers for compatibility and new locks.
18569         (omp_set_schedule, omp_get_schedule,
18570         omp_get_thread_limit, omp_set_max_active_levels,
18571         omp_get_max_active_levels, omp_get_level,
18572         omp_get_ancestor_thread_num, omp_get_team_size,
18573         omp_get_active_level): New ialias_redirect.
18574         (omp_set_schedule_, omp_set_schedule_8_,
18575         omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
18576         omp_set_max_active_levels_, omp_set_max_active_levels_8_,
18577         omp_get_max_active_levels_, omp_get_level_,
18578         omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
18579         omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
18580         New functions.
18581         * parallel.c: Include limits.h.
18582         (gomp_resolve_num_threads): Add count argument.  Rewritten.
18583         (GOMP_parallel_start): Call gomp_new_team and pass that as last
18584         argument to gomp_team_start.  Pass 0 as second argument to
18585         gomp_resolve_num_threads.
18586         (GOMP_parallel_end): Decrease gomp_remaining_threads_count
18587         if gomp_thread_limit_var != ULONG_MAX.
18588         (omp_in_parallel): Implement using ts.active_level.
18589         (omp_get_max_threads): Move to env.c.
18590         (omp_get_level, omp_get_ancestor_thread_num,
18591         omp_get_team_size, omp_get_active_level): New functions,
18592         add ialias.
18593         * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
18594         after gomp_sections_init.  If HAVE_SYNC_BUILTINS, call
18595         gomp_iter_dynamic_next instead of the _locked variant and don't take
18596         lock around it, otherwise acquire it before calling
18597         gomp_iter_dynamic_next_locked.
18598         (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
18599         gomp_iter_dynamic_next instead of the _locked variant and don't take
18600         lock around it.
18601         (GOMP_parallel_sections_start): Call gomp_new_team instead of
18602         gomp_new_work_share.  Call gomp_sections_init on &team->work_shares[0].
18603         Adjust gomp_team_start caller.  Pass count as second argument to
18604         gomp_resolve_num_threads, don't adjust num_threads after the call.
18605         Use gomp_icv.
18606         * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
18607         ws->chunk_size by incr.
18608         (gomp_iter_dynamic_next): Likewise.  If ws->mode, use more efficient
18609         code.
18610         * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
18611         types.
18612         (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
18613         (omp_check_defines): Check even the compat defines.
18614         * config/linux/ptrlock.c: New file.
18615         * config/linux/ptrlock.h: New file.
18616         * config/linux/wait.h: New file.
18617         * config/posix/ptrlock.c: New file.
18618         * config/posix/ptrlock.h: New file.
18619         * config/linux/bar.h (gomp_team_barrier_wait,
18620         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
18621         (gomp_team_barrier_set_task_pending,
18622         gomp_team_barrier_clear_task_pending,
18623         gomp_team_barrier_set_waiting_for_tasks,
18624         gomp_team_barrier_waiting_for_tasks,
18625         gomp_team_barrier_done): New inlines.
18626         (gomp_barrier_t): Rewritten.
18627         (gomp_barrier_state_t): New typedef.
18628         (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
18629         gomp_barrier_wait_start): Rewritten.
18630         (gomp_barrier_wait_end): Change second argument to
18631         gomp_barrier_state_t.
18632         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
18633         inlines.
18634         * config/linux/bar.c: Include wait.h instead of libgomp.h and
18635         futex.h.
18636         (gomp_barrier_wait_end): Rewritten.
18637         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
18638         gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
18639         * config/posix/bar.h (gomp_barrier_t): Add generation field.
18640         (gomp_barrier_state_t): New typedef.
18641         (gomp_team_barrier_wait,
18642         gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
18643         (gomp_barrier_wait_start): Or all but low 2 bits from generation
18644         into the return value.  Return gomp_barrier_state_t.
18645         (gomp_team_barrier_set_task_pending,
18646         gomp_team_barrier_clear_task_pending,
18647         gomp_team_barrier_set_waiting_for_tasks,
18648         gomp_team_barrier_waiting_for_tasks,
18649         gomp_team_barrier_done): New inlines.
18650         (gomp_barrier_wait_end): Change second argument to
18651         gomp_barrier_state_t.
18652         (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
18653         inlines.
18654         * config/posix/bar.c (gomp_barrier_init): Clear generation field.
18655         (gomp_barrier_wait_end): Change second argument to
18656         gomp_barrier_state_t.
18657         (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
18658         gomp_team_barrier_wake): New functions.
18659         * config/linux/mutex.c: Include wait.h instead of libgomp.h and
18660         futex.h.
18661         (gomp_futex_wake, gomp_futex_wait): New variables.
18662         (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
18663         * config/linux/lock.c: Rewrite to make locks task owned,
18664         for backwards compatibility provide the old entrypoints
18665         if symbol versioning.  Include wait.h instead of libgomp.h and
18666         futex.h.
18667         (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
18668         * config/posix95/lock.c: Rewrite to make locks task owned,
18669         for backwards compatibility provide the old entrypoints
18670         if symbol versioning.
18671         * config/posix/lock.c: Rewrite to make locks task owned,
18672         for backwards compatibility provide the old entrypoints
18673         if symbol versioning.
18674         * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
18675         (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
18676         * config/posix/proc.c, config/mingw32/proc.c: Similarly.
18677         * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18678         (sys_futex0): Return error code.
18679         (futex_wake, futex_wait): If ENOSYS was returned, clear
18680         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18681         (cpu_relax, atomic_write_barrier): New static inlines.
18682         * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18683         (futex_wake, futex_wait): If ENOSYS was returned, clear
18684         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18685         (cpu_relax, atomic_write_barrier): New static inlines.
18686         * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18687         (sys_futex0): Return error code.
18688         (futex_wake, futex_wait): If ENOSYS was returned, clear
18689         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18690         (cpu_relax, atomic_write_barrier): New static inlines.
18691         * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18692         (sys_futex0): Return error code.
18693         (futex_wake, futex_wait): If ENOSYS was returned, clear
18694         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18695         (cpu_relax, atomic_write_barrier): New static inlines.
18696         * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18697         (sys_futex0): Return error code.
18698         (futex_wake, futex_wait): If ENOSYS was returned, clear
18699         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18700         (cpu_relax, atomic_write_barrier): New static inlines.
18701         * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18702         (sys_futex0): Return error code.
18703         (futex_wake, futex_wait): If ENOSYS was returned, clear
18704         FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18705         (cpu_relax, atomic_write_barrier): New static inlines.
18706         * config/linux/sem.c: Include wait.h instead of libgomp.h and
18707         futex.h.
18708         (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
18709         * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
18710         * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
18711         types.
18712         (omp_nest_lock_t): Change owner into void *, add lock field.
18713         * config/posix95/omp-lock.h: Include semaphore.h.
18714         (omp_lock_25_t, omp_nest_lock_25_t): New types.
18715         (omp_lock_t): Use sem_t instead of mutex if semaphores
18716         aren't broken.
18717         (omp_nest_lock_t): Likewise.  Change owner to void *.
18718         * config/posix/omp-lock.h: Include semaphore.h.
18719         (omp_lock_25_t, omp_nest_lock_25_t): New types.
18720         (omp_lock_t): Use sem_t instead of mutex if semaphores
18721         aren't broken.
18722         (omp_nest_lock_t): Likewise.  Add owner field.
18724 2008-06-06  Jakub Jelinek  <jakub@redhat.com>
18726         * testsuite/libgomp.c/collapse-1.c: New test.
18727         * testsuite/libgomp.c/collapse-2.c: New test.
18728         * testsuite/libgomp.c/collapse-3.c: New test.
18729         * testsuite/libgomp.c/icv-1.c: New test.
18730         * testsuite/libgomp.c/icv-2.c: New test.
18731         * testsuite/libgomp.c/lib-2.c: New test.
18732         * testsuite/libgomp.c/lock-1.c: New test.
18733         * testsuite/libgomp.c/lock-2.c: New test.
18734         * testsuite/libgomp.c/lock-3.c: New test.
18735         * testsuite/libgomp.c/loop-4.c: New test.
18736         * testsuite/libgomp.c/loop-5.c: New test.
18737         * testsuite/libgomp.c/loop-6.c: New test.
18738         * testsuite/libgomp.c/loop-7.c: New test.
18739         * testsuite/libgomp.c/loop-8.c: New test.
18740         * testsuite/libgomp.c/loop-9.c: New test.
18741         * testsuite/libgomp.c/nested-3.c: New test.
18742         * testsuite/libgomp.c/nestedfn-6.c: New test.
18743         * testsuite/libgomp.c/sort-1.c: New test.
18744         * testsuite/libgomp.c/task-1.c: New test.
18745         * testsuite/libgomp.c/task-2.c: New test.
18746         * testsuite/libgomp.c/task-3.c: New test.
18747         * testsuite/libgomp.c/task-4.c: New test.
18748         * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
18749         to C++ testsuite default compiler options.
18750         * testsuite/libgomp.c++/collapse-1.C: New test.
18751         * testsuite/libgomp.c++/collapse-2.C: New test.
18752         * testsuite/libgomp.c++/ctor-10.C: New test.
18753         * testsuite/libgomp.c++/for-1.C: New test.
18754         * testsuite/libgomp.c++/for-2.C: New test.
18755         * testsuite/libgomp.c++/for-3.C: New test.
18756         * testsuite/libgomp.c++/for-4.C: New test.
18757         * testsuite/libgomp.c++/for-5.C: New test.
18758         * testsuite/libgomp.c++/loop-8.C: New test.
18759         * testsuite/libgomp.c++/loop-9.C: New test.
18760         * testsuite/libgomp.c++/loop-10.C: New test.
18761         * testsuite/libgomp.c++/task-1.C: New test.
18762         * testsuite/libgomp.c++/task-2.C: New test.
18763         * testsuite/libgomp.c++/task-3.C: New test.
18764         * testsuite/libgomp.c++/task-4.C: New test.
18765         * testsuite/libgomp.c++/task-5.C: New test.
18766         * testsuite/libgomp.c++/task-6.C: New test.
18767         * testsuite/libgomp.fortran/allocatable1.f90: New test.
18768         * testsuite/libgomp.fortran/allocatable2.f90: New test.
18769         * testsuite/libgomp.fortran/allocatable3.f90: New test.
18770         * testsuite/libgomp.fortran/allocatable4.f90: New test.
18771         * testsuite/libgomp.fortran/collapse1.f90: New test.
18772         * testsuite/libgomp.fortran/collapse2.f90: New test.
18773         * testsuite/libgomp.fortran/collapse3.f90: New test.
18774         * testsuite/libgomp.fortran/collapse4.f90: New test.
18775         * testsuite/libgomp.fortran/lastprivate1.f90: New test.
18776         * testsuite/libgomp.fortran/lastprivate2.f90: New test.
18777         * testsuite/libgomp.fortran/lib4.f90: New test.
18778         * testsuite/libgomp.fortran/lock-1.f90: New test.
18779         * testsuite/libgomp.fortran/lock-2.f90: New test.
18780         * testsuite/libgomp.fortran/nested1.f90: New test.
18781         * testsuite/libgomp.fortran/nestedfn4.f90: New test.
18782         * testsuite/libgomp.fortran/strassen.f90: New test.
18783         * testsuite/libgomp.fortran/tabs1.f90: New test.
18784         * testsuite/libgomp.fortran/tabs2.f: New test.
18785         * testsuite/libgomp.fortran/task1.f90: New test.
18786         * testsuite/libgomp.fortran/task2.f90: New test.
18787         * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
18788         * testsuite/libgomp.fortran/vla5.f90: Likewise.
18789         * testsuite/libgomp.c/pr26943-2.c: Likewise.
18790         * testsuite/libgomp.c/pr26943-3.c: Likewise.
18791         * testsuite/libgomp.c/pr26943-4.c: Likewise.
18793 2008-05-23  Jakub Jelinek  <jakub@redhat.com>
18795         PR c++/36308
18796         * testsuite/libgomp.c++/ctor-11.C: New test.
18797         * testsuite/libgomp.c++/ctor-12.C: New test.
18799 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
18801         * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
18803 2008-05-07  Jakub Jelinek  <jakub@redhat.com>
18805         PR middle-end/36106
18806         * testsuite/libgomp.c/atomic-5.c: New test.
18807         * testsuite/libgomp.c/atomic-6.c: New test.
18808         * testsuite/libgomp.c/autopar-1.c: New test.
18810 2008-04-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18812         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
18813         (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
18814         (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
18815         (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
18816         * configure: Regenerate.
18817         * Makefile.in, testsuite/Makefile.in: Likewise.
18819 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
18821         PR bootstrap/35457
18822         * aclocal.m4: Regenerate.
18823         * configure: Regenerate.
18825 2008-03-18  Jakub Jelinek  <jakub@redhat.com>
18827         PR middle-end/35611
18828         * testsuite/libgomp.c/atomic-4.c: New test.
18830         PR libgomp/35625
18831         * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
18832         (gomp_iter_guided_next): Likewise.
18833         * testsuite/libgomp.c/pr35625.c: New test.
18835 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18837         * aclocal.m4: Regenerate.
18838         * configure: Likewise.
18839         * Makefile.in: Likewise.
18840         * testsuite/Makefile.in: Likewise.
18842 2008-03-13  Jakub Jelinek  <jakub@redhat.com>
18844         PR middle-end/35185
18845         * testsuite/libgomp.c++/pr35185.C: New test.
18847 2008-03-12  Jakub Jelinek  <jakub@redhat.com>
18849         PR middle-end/35549
18850         * testsuite/libgomp.c/pr35549.c: New test.
18852 2008-03-06  Jakub Jelinek  <jakub@redhat.com>
18854         * testsuite/libgomp.c/atomic-3.c: New test.
18856 2008-03-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
18858         PR fortran/33197
18859         * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
18860         .F08 file suffixes.
18862 2008-03-03  Peter O'Gorman  <pogma@thewrittenword.com>
18864         PR libgomp/33131
18865         * configure.ac: Add ACX_HEADER_STRING.
18866         * env.c: Include strings.h.
18867         * aclocal.m4: Regenerate.
18868         * config.h.in: Regenerate.
18869         * configure: Regenerate.
18870         * Makefile.in: Regenerate.
18871         * testsuite/Makefile.in: Regenerate.
18873 2008-02-15  Jakub Jelinek  <jakub@redhat.com>
18875         PR middle-end/35196
18876         * testsuite/libgomp.c/pr35196.c: New test.
18878         PR middle-end/35130
18879         * testsuite/libgomp.fortran/pr35130.f90: New test.
18880         * testsuite/libgomp.c/pr35130.c: New test.
18882 2008-01-25  Jakub Jelinek  <jakub@redhat.com>
18884         PR middle-end/33880
18885         * testsuite/libgomp.c/pr33880.c: New test.
18886         * testsuite/libgomp.fortran/pr33880.f90: New test.
18888 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
18890         * configure: Regenerate.
18892 2008-01-08  Jakub Jelinek  <jakub@redhat.com>
18894         * configure.ac: Move futex checking into ../config/futex.m4.
18895         * configure: Rebuilt.
18896         * aclocal.m4: Rebuilt.
18897         * Makefile.in: Rebuilt.
18899         * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
18900         2007-10-15 ../config/tls.m4 change.
18902 2007-12-19  Jakub Jelinek  <jakub@redhat.com>
18904         PR c++/34513
18905         * testsuite/libgomp.c/pr34513.c: New test.
18906         * testsuite/libgomp.c++/pr34513.C: New test.
18908 2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
18910         PR target/32765
18911         * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
18913 2007-12-04  Jakub Jelinek  <jakub@redhat.com>
18915         * omp.h.in (__GOMP_NOTHROW): Define.  Use it on omp_* prototypes.
18917 2007-12-03  Jakub Jelinek  <jakub@redhat.com>
18919         * testsuite/libgomp.c/private-1.c: New test.
18921 2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
18922             Paolo Bonzini  <bonzini@gnu.org>
18924         * Makefile.am: Use space as vpath separator.  Use 'vpath %'
18925         instead of 'VPATH ='.
18926         * Makefile.in: Regenerate.
18928 2007-11-23  Matthias Klose  <doko@ubuntu.com>
18930         * configure.ac: Adjust makeinfo version check.
18931         * configure: Regenerate.
18933 2007-11-10  Jakub Jelinek  <jakub@redhat.com>
18935         PR fortran/34020
18936         * testsuite/libgomp.fortran/pr34020.f90: New test.
18938 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
18940         PR c++/33894
18941         * testsuite/libgomp.c++/atomic-1.C: New test.
18943 2007-10-25  Jakub Jelinek  <jakub@redhat.com>
18945         PR libgomp/33275
18946         * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
18947         Make x and y integers rather than (implicit) reals.  Add private (j)
18948         clause to the last omp parallel.
18950 2007-10-15  Maciej W. Rozycki  <macro@linux-mips.org>
18952         * configure: Regenerate following changes to ../config/tls.m4.
18954 2007-09-28  Jakub Jelinek  <jakub@redhat.com>
18956         * testsuite/libgomp.fortran/stack.f90: New test.
18958 2007-09-10  Danny Smith  <dannysmith@users.sourceforge.net>
18960         * config/mingw32/proc.c: New file.
18962 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
18964         * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
18965         (main): Use __get_cpuid to get i386 target fetaures.
18966         * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
18967         (main): Use __get_cpuid to get x86_64 target fetaures.
18969 2007-08-15  Jack Howarth  <howarth@bromo.med.uc.edu>
18971         PR target/32765
18972         * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
18973         * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
18975 2007-07-12  Jakub Jelinek  <jakub@redhat.com>
18977         PR fortran/32550
18978         * testsuite/libgomp.fortran/pr32550.f90: New test.
18979         * testsuite/libgomp.fortran/crayptr2.f90: New test.
18981 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
18983         * aclocal.m4: Regenerated.
18985 2007-07-05  Tobias Burnus  <burnus@net-b.de>
18987         PR fortran/32359
18988         * testsuite/libgomp.fortran/pr32359.f90: New.
18990 2007-07-02  Jakub Jelinek  <jakub@redhat.com>
18992         PR libgomp/32468
18993         * sections.c (GOMP_parallel_sections_start): Only decrease
18994         number of threads to COUNT if dyn_var is true.
18995         * testsuite/libgomp.c/pr32468.c: New test.
18997 2007-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18999         PR libgomp/26308
19000         * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
19002 2007-06-21  Jakub Jelinek  <jakub@redhat.com>
19004         PR middle-end/32362
19005         * testsuite/libgomp.c/pr32362-1.c: New test.
19006         * testsuite/libgomp.c/pr32362-2.c: New test.
19007         * testsuite/libgomp.c/pr32362-3.c: New test.
19009 2007-06-07  Jakub Jelinek  <jakub@redhat.com>
19011         * team.c (gomp_team_start): Fix setting up thread_attr
19012         stack size.
19014 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
19016         * configure: Regenerate.
19018 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
19020         * Makefile.in: Regenerate.
19021         * configure: Regenerate.
19022         * aclocal.m4: Regenerate.
19023         * testsuite/Makefile.in: Regenerate.
19025 2007-05-04  Jakub Jelinek  <jakub@redhat.com>
19027         * config/linux/proc.c: New file.
19029         PR libgomp/28482
19030         * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
19032 2007-04-19  Daniel Franke  <franke.daniel@gmail.com>
19034         * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
19036 2007-04-16  Matthias Klose  <doko@debian.org>
19038         * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
19039         flags if not building with -m64.
19040         * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
19041         flag for i?86-*-* targets, if current target matches -m64.
19043 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
19045         * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
19046         * Makefile.in: Regenerate.
19048 2007-04-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
19050         PR testsuite/31369
19051         * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
19052         ld_library_path.
19053         * testsuite/libgomp.fortran/fortran.exp: Likewise.
19055 2007-04-04  Jakub Jelinek  <jakub@redhat.com>
19057         * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
19058         decls.
19059         (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
19060         * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
19061         (parse_affinity): New function.
19062         (initialize_env): Call it and gomp_init_affinity.
19063         * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
19064         create new pthread_attr_t and call gomp_init_thread_affinity
19065         on it for each thread before passing the attribute to pthread_create.
19066         * config/linux/affinity.c: New file.
19067         * config/posix/affinity.c: New file.
19068         * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
19069         * configure: Rebuilt.
19070         * config.h.in: Rebuilt.
19071         * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
19072         * Makefile.in: Rebuilt.
19074 2007-03-23  Andreas Tobler  <a.tobler@schweiz.org>
19076         * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
19077         *-*-darwin*.
19078         * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
19079         and use it if found.
19081 2007-03-18  Uros Bizjak  <ubizjak@gmail.com>
19083         * testsuite/config/default.exp: New file.
19084         * testsuite/lib/libgomp.exp: New file.
19085         * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
19086         libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
19087         load_lib *, load_gcc_lib *): Move to libgomp.exp.
19088         (libgomp_load): Remove.
19089         * testsuite/lib/libgomp.exp (libgomp_init): Compute
19090         always_ld_library_path, not ld_library_path.  Set additional_flags
19091         to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
19092         (target_compile): Do not call libgomp_init.  Append lang_library_path
19093         and lang_link_flags to options.
19094         * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2.  Set
19095         ld_library_path from always_ld_library_path.  Set LD_LIBRARY_PATH
19096         here.
19097         * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
19098         always_ld_library_path.  Set LD_LIBRARY_PATH here.
19099         * testsuite/libgomp.fortran/fortran.exp: Ditto.
19100         * testsuite/libgomp.c/atomic-1.c: Set dg-options to
19101         "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
19102         CX8 flag.
19103         * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
19104         lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
19105         * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
19106         * testsuite/libgomp.c/pr29947-1.c: Ditto.
19107         * testsuite/libgomp.c/atomic-10.c: Ditto.
19109 2007-03-21  Jakub Jelinek  <jakub@redhat.com>
19111         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
19112         dg-final cleanup-modules line.
19113         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
19114         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
19115         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
19116         * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
19117         * testsuite/libgomp.fortran/reduction5.f90: Likewise.
19118         * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
19119         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
19121 2007-03-18  Andreas Schwab  <schwab@suse.de>
19123         * acinclude.m4: Adjust regular expression for ld version
19124         extraction.
19125         * configure: Regenerate.
19127 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
19129         * Makefile.am: Add install-pdf target as copied from
19130         automake v1.10 rules.
19131         * Makefile.in: Regenerate
19133 2007-02-07  Jakub Jelinek  <jakub@redhat.com>
19135         PR libgomp/28486
19136         * configure: Regenerate.
19138         PR c++/30703
19139         * testsuite/libgomp.c++/pr30703.C: New test.
19141 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
19143         Revert:
19144         2006-07-05  Eric Christopher  <echristo@apple.com>
19145         * configure.ac: Depend addition of -pthread on host OS.
19146         * configure: Regenerate.
19148 2007-01-31  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19150         * libgomp.texi: Fix spacing after abbreviations.
19152 2007-01-31  Daniel Franke <franke.daniel@gmail.com>
19154         PR libgomp/30546
19155         * configure.ac: Add check for makeinfo
19156         * Makefile.am: Redefined target libgomp.info, build libgomp.info only
19157         if an appropriate version of makeinfo is found.
19158         * aclocal.m4: Regenerated.
19159         * configure: Regenerated.
19160         * Makefile.in: Regenerated.
19161         * testsuite/Makefile.in: Regenerated.
19163 2007-01-29  Daniel Franke <franke.daniel@gmail.com>
19165         PR libgomp/30540
19166         * libgomp.texi: More about implementation-dependent settings.
19168 2007-01-26  Tobias Burnus  <burnus@net-b.de>
19170         * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
19172 2007-01-24  Jakub Jelinek  <jakub@redhat.com>
19174         PR middle-end/30494
19175         * testsuite/libgomp.c/pr30494.c: New test.
19177 2007-01-15  Tom Tromey  <tromey@redhat.com>
19179         * configure: Rebuilt.
19180         * configure.ac: Fixed comment.
19182 2007-01-14  Daniel Franke  <franke.daniel@gmail.com>
19184         * libgomp.texi: Document implementation specific default values of
19185         environment variables.
19187 2006-12-21  Daniel Franke  <franke.daniel@gmail.com>
19189         PR libgomp/28209
19190         * libgomp.texi: New file.
19191         * configure.ac: Add --enable-generated-files-in-srcdir option.
19192         * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
19193         files to srcdir.
19194         * Makefile.in: Regenerated.
19195         * config.h.in: Regenerated.
19196         * testsuite/Makefile.in: Regenerated.
19197         * NOTES: Removed.
19199 2006-12-04  Daniel Franke  <franke.daniel@gmail.com>
19201         PR libgomp/29949
19202         * env.c (omp_set_num_threads): Set illegal thread count to 1.
19204 2006-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
19206         * configure: Regenerate.
19208 2006-12-04  Jakub Jelinek  <jakub@redhat.com>
19210         PR libgomp/29947
19211         * loop.c (gomp_loop_init): Make parameters signed.  Set ws->end to
19212         start if there shouldn't be any loop iterations.
19213         (gomp_loop_ordered_static_start): Remove start == end test.
19214         * testsuite/libgomp.c/pr29947-1.c: New test.
19215         * testsuite/libgomp.c/pr29947-2.c: New test.
19217 2006-12-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
19219         * configure.tgt: Force initial-exec TLS model on Linux only.
19221 2006-11-13  Daniel Jacobowitz  <dan@codesourcery.com>
19223         * configure: Regenerated.
19225 2006-11-09  Uros Bizjak  <ubizjak@gmail.com>
19227         * env.c (parse_schedule): Reject out of range values.
19228         (parse_unsigned_long): Reject out of range, negative or zero values.
19230 2006-10-29  Jakub Jelinek  <jakub@redhat.com>
19232         PR fortran/29629
19233         * testsuite/libgomp.fortran/pr29629.f90: New test.
19235 2006-10-24  Eric Botcazou  <ebotcazou@libertysurf.fr>
19237         PR libgomp/29494
19238         * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
19239         * config/posix95: New directory.
19240         * config/posix95/omp-lock.h: New file.
19241         * config/posix95/lock.c: Likewise.
19243 2006-10-14  Geoffrey Keating  <geoffk@apple.com>
19245         * aclocal.m4: Regenerate.
19246         * configure: Regenerate.
19248 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
19250         * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
19251         '<' to '<='.
19253 2006-10-05  Danny Smith  <dannysmith@users.sourceforge.net>
19255         * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
19256         test.
19257         * configure: Regenerate.
19258         * fortran.c  (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
19260 2006-09-26  Jakub Jelinek  <jakub@redhat.com>
19262         PR middle-end/25261
19263         PR middle-end/28790
19264         * testsuite/libgomp.c/nestedfn-4.c: New test.
19265         * testsuite/libgomp.c/nestedfn-5.c: New test.
19266         * testsuite/libgomp.fortran/nestedfn3.f90: New test.
19268         PR fortran/29097
19269         * testsuite/libgomp.fortran/condinc1.f: New test.
19270         * testsuite/libgomp.fortran/condinc2.f: New test.
19271         * testsuite/libgomp.fortran/condinc3.f90: New test.
19272         * testsuite/libgomp.fortran/condinc4.f90: New test.
19273         * testsuite/libgomp.fortran/condinc1.inc: New file.
19275 2006-09-18  Tom Tromey  <tromey@redhat.com>
19277         * configure: Rebuilt.
19279 2006-09-13  Joseph S. Myers  <joseph@codesourcery.com>
19281         PR c/28768
19282         PR preprocessor/14634
19283         * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
19284         to AC_DEFINE.
19285         * configure: Regenerate.
19287 2006-09-08  Steven G. Kargl  <kargl@gcc.gnu.org>
19289         * testsuite/libgomp.fortran/reduction3.f90: Change
19290         -2147483648 to -huge(i)-1 to avoid overflow.
19291         * testsuite/libgomp.fortran/reduction4.f90: Change
19292         Z'ffffffff' to not(0) to avoid overflow.
19294 2006-08-26  Joseph S. Myers  <joseph@codesourcery.com>
19296         PR libgomp/25938
19297         * Makefile.am (libsubincludedir): New.
19298         (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
19299         * Makefile.in: Regenerate.
19301 2006-08-17  Jakub Jelinek  <jakub@redhat.com>
19303         PR libgomp/28725
19304         * env.c: Include ctype.h.
19305         (parse_schedule, parse_unsigned_long, parse_boolean): Allow
19306         leading and/or trailing whitespace and compare strings case
19307         insensitively.
19309 2006-07-16  Jakub Jelinek  <jakub@redhat.com>
19311         PR fortran/28390
19312         * testsuite/libgomp.fortran/pr28390.f: New test.
19314 2006-07-05  Eric Christopher  <echristo@apple.com>
19316         * configure.ac: Depend addition of -pthread on host OS.
19317         * configure: Regenerate.
19319 2006-06-21  Jakub Jelinek  <jakub@redhat.com>
19321         * critical.c (GOMP_critical_name_start): Fix *pptr initialization
19322         when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
19323         defined.
19325 2006-06-20  Jakub Jelinek  <jakub@redhat.com>
19327         PR libgomp/26175
19328         PR libgomp/26477
19329         * configure.ac: If neither --enable-linux-futex nor
19330         --disable-linux-futex is passed, determine the default by checking
19331         for compiling and/or running against NPTL.  With --enable-linux-futex,
19332         check if SYS_gettid and SYS_futex are defined.
19333         * configure: Rebuilt.
19335 2006-06-14  Richard Henderson  <rth@redhat.com>
19337         PR libgomp/28008
19338         * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
19339         undefined.  Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
19341 2006-06-09  Richard Henderson  <rth@redhat.com>
19343         * env.c (gomp_nthreads_var): Change to unsigned long.
19344         (gomp_run_sched_chunk): Likewise.
19345         (parse_unsigned_long): Rename from parse_num_threads and generalize.
19346         (initialize_env): Initialize gomp_thread_attr.
19347         * libgomp.h (gomp_nthreads_var): Update decl.
19348         (gomp_run_sched_chunk): Likewise.
19349         (gomp_thread_attr): Declare.
19350         * team.c (gomp_thread_attr): Export.
19351         (initialize_team): Don't initialize it.
19353 2006-06-09  Jakub Jelinek  <jakub@redhat.com>
19355         PR fortran/27916
19356         * testsuite/libgomp.fortran/pr27916-1.f90: New test.
19357         * testsuite/libgomp.fortran/pr27916-2.f90: New test.
19359 2006-06-06  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
19361         * config/mingw32/time.c: New file.
19362         * configure.tgt: Use it.
19364 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
19366         * Makefile.am: Add install-html target. Add install-html to .PHONY
19367         * Makefile.in: Regenerate.
19369 2006-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
19371         PR libgomp/27612
19372         * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
19373         * testsuite/libgomp.c/critical-1.c: Likewise.
19374         * testsuite/libgomp.c/loop-1.c: Likewise.
19375         * testsuite/libgomp.c/loop-2.c: Likewise.
19376         * testsuite/libgomp.c/single-1.c: Likewise.
19377         * testsuite/libgomp.c/ordered-1.c: Likewise.
19378         * testsuite/libgomp.c/ordered-2.c: Likewise.
19380 2006-05-15  Jakub Jelinek  <jakub@redhat.com>
19382         PR middle-end/27416
19383         * libgomp.fortran/pr27416-1.f90: New test.
19385 2006-05-03  Jakub Jelinek  <jakub@redhat.com>
19387         PR fortran/27395
19388         * testsuite/libgomp.fortran/pr27395-1.f90: New test.
19389         * testsuite/libgomp.fortran/pr27395-2.f90: New test.
19391 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
19393         PR c++/26943
19394         * testsuite/libgomp.c/pr26943-1.c: New test.
19395         * testsuite/libgomp.c/pr26943-2.c: New test.
19396         * testsuite/libgomp.c/pr26943-3.c: New test.
19397         * testsuite/libgomp.c/pr26943-4.c: New test.
19398         * testsuite/libgomp.c++/pr27337.C: Remove barrier.
19399         * testsuite/libgomp.c++/pr26943.C: New test.
19401 2006-05-02  Jakub Jelinek  <jakub@redhat.com>
19403         PR middle-end/27337
19404         * testsuite/libgomp.c++/pr27337.C: New test.
19406 2006-04-26  Jakub Jelinek  <jakub@redhat.com>
19408         PR c/26171
19409         * testsuite/libgomp.c/pr26171.c: New test.
19411 2006-04-25  Richard Henderson  <rth@redhat.com>
19413         PR libgomp/25865
19414         * configure.ac: Use GCC_CHECK_TLS.
19415         * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
19416         * Makefile.in, aclocal.m4, configure: Regenerate.
19418 2006-04-10  Matthias Klose  <doko@debian.org>
19420         * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
19421         directory names containing underscores.
19423 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
19425         PR c++/26691
19426         * testsuite/libgomp.c++/pr26691.C: New test.
19428 2006-03-13  Jakub Jelinek  <jakub@redhat.com>
19430         * testsuite/libgomp.fortran/retval2.f90: New test.
19432 2006-03-09  Diego Novillo  <dnovillo@redhat.com>
19434         * testsuite/libgomp.c++: New directory.
19436 2006-02-25  Shantonu Sen  <ssen@opendarwin.org>
19438         * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
19439         * config/posix/sem.c: Implement the above.
19441 2006-02-25  Andreas Tobler  <a.tobler@schweiz.ch>
19443         * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
19444         define HAVE_BROKEN_POSIX_SEMAPHORES.
19445         * configure: Rebuilt.
19446         * config.h.in: Rebuilt.
19448 2006-02-17  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
19450         PR bootstrap/26161
19451         * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
19452         for the other pthread check.
19453         * configure: Regenerate.
19454         * config.h.in: Regenerate.
19456 2006-02-15  Jakub Jelinek  <jakub@redhat.com>
19458         PR libgomp/25938
19459         PR libgomp/25984
19460         * Makefile.am (fincludedir): New variable.
19461         (nodist_include_HEADERS): Remove Fortran files.
19462         (nodist_finclude_HEADERS): New variable.
19463         * Makefile.in: Regenerated.
19465 2006-02-13  Jakub Jelinek  <jakub@redhat.com>
19467         * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
19468         Remove tests for returning assumed character length arrays.
19470 2006-02-12  Roger Sayle  <roger@eyesopen.com>
19471             John David Anglin  <dave@hiauly1.hia.nrc.ca>
19473         PR libgomp/25936
19474         * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
19476 2006-02-08  Ulrich Weigand  <uweigand@de.ibm.com>
19478         * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
19480 2006-02-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
19482         * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
19483         part of LD_LIBRARY_PATH manually.
19485 2006-02-03  H.J. Lu  <hongjiu.lu@intel.com>
19487         PR libgomp/25852
19488         * testsuite/lib/libgomp-dg.exp (blddir): Set it in
19489         libgomp_init.
19491 2005-01-25  Paolo Bonzini  <bonzini@gnu.org>
19493         PR libgomp/25884
19494         * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
19495         * configure.ac (PERL): Don't set.
19496         (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
19497         (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
19498         OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
19499         * omp.h.in: Wrap the new configure substitutions with @ characters.
19500         * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
19501         * aclocal.m4, configure, Makefile.in: Regenerate.
19502         * mkomp_h.pl: Delete.
19504 2005-01-24  Paolo Bonzini  <bonzini@gnu.org>
19506         PR libgomp/25259
19507         * configure.ac: Use GCC_HEADER_STDINT.
19508         * libgomp.h: Include gstdint.h.
19509         * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
19510         * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
19512 2006-01-24  Richard Henderson  <rth@redhat.com>
19514         PR libgomp/25942
19515         * configure.ac: Add AM_MAINTAINER_MODE.
19516         * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
19518 2006-01-24  Diego Novillo  <dnovillo@redhat.com>
19520         * Makefile.in: Regenerate.
19521         * testsuite/Makefile.in: Regenerate.
19522         * aclocal.m4: Regenerate.
19524 2006-01-23  Andreas Tobler  <a.tobler@schweiz.ch>
19526         * config/posix/proc.c: Conditional include of sys/loadavg.h for
19527         Solaris.
19528         * configure.ac: Add check for loadavg.h.
19529         (link_gomp): Adjust comment.
19530         * configure: Regenerate.
19531         * config.h.in: Regenerate.
19533 2006-01-21  Steve Ellcey  <sje@cup.hp.com>
19535         PR libgomp/25877
19536         * configure.ac: Remove check for alloca.h.
19537         * configure: Regenerate.
19538         * config.h.in: Regenerate.
19539         * libgomp.h: define gomp_alloca to be __builtin_alloca.
19540         * team.c: Remove use of alloca.h.
19541         Call gomp_alloca instead of alloca.
19543 2006-01-20  Steve Ellcey  <sje@cup.hp.com>
19545         PR libgomp/25877
19546         * team.c: Add include of alloca.h.
19547         * configure.ac: Add check for alloca.h.
19548         * configure: Regenerate.
19549         * config.h.in: Regenerate.
19551 2006-01-17  Jakub Jelinek  <jakub@redhat.com>
19553         PR fortran/25219
19554         * testsuite/libgomp.fortran/pr25219.f90: New test.
19556 2005-12-05  Uros Bizjak  <uros@kss-loka.si>
19558         * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
19559         testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
19560         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
19561         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
19562         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
19563         testsuite/libgomp.fortran/threadprivate1.f90,
19564         testsuite/libgomp.fortran/threadprivate2.f90,
19565         testsuite/libgomp.fortran/threadprivate3.f90,
19566         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
19567         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
19568         testsuite/libgomp.fortran/omp_parse3.f90: Change required
19569         effective-target to TLS runtime.
19571         * testsuite/libgomp.fortran/pr25162.f: Require
19572         effective-target TLS runtime.
19574 2005-12-01  Jakub Jelinek  <jakub@redhat.com>
19576         * testsuite/libgomp.fortran/nestedfn2.f90: New test.
19577         * testsuite/libgomp.c/nestedfn-3.c: New test.
19579 2005-11-30  Jakub Jelinek  <jakub@redhat.com>
19581         PR fortran/25162
19582         * testsuite/libgomp.fortran/pr25162.f: New test.
19584 2005-11-28  Jakub Jelinek  <jakub@redhat.com>
19586         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
19587         CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
19589 2005-11-25  Jakub Jelinek  <jakub@redhat.com>
19591         * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
19592         libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
19593         omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
19594         single.c, team.c, work.c, config/linux/alpha/futex.h,
19595         config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
19596         config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
19597         config/linux/powerpc/futex.h, config/linux/s390/futex.h,
19598         config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
19599         config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
19600         config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
19601         config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
19602         FSF address.
19604 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
19606         * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
19607         to nodist_noinst_HEADERS.
19608         * Makefile.in: Rebuilt.
19610         * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
19611         add integer count field.
19612         * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
19613         omp_nest_lock_t type change.
19614         (omp_init_nest_lock): Likewise.  Initialize count to 0.
19615         (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
19616         Increment count.
19617         (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
19618         Decrement count.
19619         (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
19620         Increment count if successful and return the new nesting level.
19621         * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
19622         * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
19623         * testsuite/libgomp.c/lib-1.c: New test.
19624         * testsuite/libgomp.fortran/lib1.f90: New test.
19625         * testsuite/libgomp.fortran/lib2.f: New test.
19626         * testsuite/libgomp.fortran/lib3.f: New test.
19628 2005-11-17  Richard Henderson  <rth@redhat.com>
19630         PR 24845
19631         * Makefile.am (nodist_toolexeclib_HEADERS): New.
19632         * configure.ac (link_gomp): New.  Substitute it.
19633         (AC_CONFIG_FILES): Add libgomp.spec.
19634         * libgomp.spec.in: New file.
19635         * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
19636         * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
19638 2005-11-18  Jakub Jelinek  <jakub@redhat.com>
19640         * testsuite/libgomp.fortran/reduction1.f90: Adjust for
19641         reduction(-:var) behaving the same as reduction(+:var).
19642         * testsuite/libgomp.c/reduction-4.c: New test.
19644 2005-11-15  Uros Bizjak  <uros@kss-loka.si>
19646         * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
19647         testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
19648         testsuite/libgomp.c/copyin-3.c,
19649         testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
19650         testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
19651         testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
19652         testsuite/libgomp.c++/pr24455.C,
19653         testsuite/libgomp.fortran/threadprivate1.f90,
19654         testsuite/libgomp.fortran/threadprivate2.f90,
19655         testsuite/libgomp.fortran/threadprivate3.f90,
19656         testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
19657         testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
19658         testsuite/libgomp.fortran/omp_parse3.f90: Require
19659         effective-target TLS.
19661 2005-11-14  Diego Novillo  <dnovillo@redhat.com>
19663         * HEADER: Remove.
19665 2005-11-13  Jakub Jelinek  <jakub@redhat.com>
19667         PR libgomp/24797
19668         * team.c (initialize_team): Pass NULL rather than free as
19669         pthread_key_create destructor.  Initialize thread specific data
19670         pointer in initial thread to a static local variable rather than
19671         malloced memory.
19673 2005-11-11  Uros Bizjak  <uros@kss-loka.si>
19675         * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
19676         its location to ld_library_path.
19678 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
19680         * testsuite/libgomp.c/c.exp: Rename from dg.exp.
19682 2005-11-10  Diego Novillo  <dnovillo@redhat.com>
19684         * testsuite/libgomp.c: Rename from libgomp.dg.
19686 2005-11-09  Diego Novillo  <dnovillo@redhat.com>
19688         * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
19689         threadprivate variable 'i'.
19691 2005-11-09  Jakub Jelinek  <jakub@redhat.com>
19693         * config/linux/s390/futex.h: New file.
19694         * configure.tgt: Use it.
19696         * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
19697         before the parallel.
19699 2005-11-08  Jakub Jelinek  <jakub@redhat.com>
19701         PR c++/24734
19702         * testsuite/libgomp.c++/master-1.C: New test.
19704 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
19706         * testsuite/libgomp.dg/copyin-3.c: New test.
19708 2005-11-07  Jakub Jelinek  <jakub@redhat.com>
19710         * testsuite/libgomp.fortran/retval1.f90: New test.
19711         * testsuite/libgomp.fortran/vla7.f90: New test.
19713 2005-11-06  Jakub Jelinek  <jakub@redhat.com>
19715         * testsuite/libgomp.fortran/vla2.f90: New test.
19716         * testsuite/libgomp.fortran/vla3.f90: New test.
19717         * testsuite/libgomp.fortran/vla4.f90: New test.
19718         * testsuite/libgomp.fortran/vla5.f90: New test.
19719         * testsuite/libgomp.fortran/vla6.f90: New test.
19721 2005-11-01  Jakub Jelinek  <jakub@redhat.com>
19723         * config/linux/sparc/futex.h: New file.
19724         * configure.tgt: Use it.
19725         * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
19727         * critical.c: Include stdlib.h.
19728         * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
19729         ignoring return value.
19730         * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
19731         LIBGOMP_CHECK_SYNC_BUILTINS check.
19732         * configure: Rebuilt.
19734 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
19736         * testsuite/libgomp.fortran/vla1.f90: New test.
19738 2005-10-31  Richard Henderson  <rth@redhat.com>
19740         * testsuite/libgomp.fortran/character2.f90: Fix race condition
19741         setting 's' in different threads.
19743 2005-10-31  Jakub Jelinek  <jakub@redhat.com>
19745         * libgomp.h (attribute_hidden, ialias): Define.
19746         * config/posix/proc.c (omp_get_num_procs): Add ialias.
19747         * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
19748         * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
19749         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
19750         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
19751         omp_test_lock, omp_test_nest_lock): Likewise.
19752         * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
19753         omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
19754         omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
19755         omp_test_lock, omp_test_nest_lock): Likewise.
19756         * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
19757         omp_get_dynamic, omp_get_nested): Likewise.
19758         * parallel.c (omp_get_num_threads, omp_get_max_threads,
19759         omp_get_thread_num, omp_in_parallel): Likewise.
19760         * fortran.c (ialias_redirect): Define.
19761         (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
19762         omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
19763         omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
19764         omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
19765         omp_set_num_threads, omp_get_dynamic, omp_get_nested,
19766         omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
19767         omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
19768         omp_get_wtime): Add ialias_redirect.
19770 2005-10-30  Jakub Jelinek  <jakub@redhat.com>
19772         * fortran.c: Include stdlib.h.
19774 2005-10-29  Jakub Jelinek  <jakub@redhat.com>
19776         * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
19777         * Makefile.in: Regenerated.
19779 2005-10-28  Jakub Jelinek  <jakub@redhat.com>
19781         * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
19782         * libgomp_f.h.in (omp_check_defines): New function.
19783         * env.c: Include libgomp_f.h.
19784         (initialize_env): Call omp_check_defines.
19786         * testsuite/libgomp.dg/copyin-2.c: New test.
19787         * testsuite/libgomp.c++/copyin-2.C: New test.
19788         * testsuite/libgomp.fortran/threadprivate3.f90: New test.
19790         * testsuite/libgomp.fortran/threadprivate2.f90: New test.
19791         * testsuite/libgomp.fortran/sharing2.f90: New test.
19793         * testsuite/libgomp.dg/copyin-1.c: New test.
19794         * testsuite/libgomp.c++/copyin-1.C: New test.
19796 2005-10-26  Jakub Jelinek  <jakub@redhat.com>
19798         * testsuite/libgomp.fortran/crayptr1.f90: New test.
19800         * testsuite/libgomp.fortran/workshare1.f90: New test.
19802         * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
19803         only test.
19804         * libgomp.fortran/sharing1.f90: New test.
19806 2005-10-24  Jakub Jelinek  <jakub@redhat.com>
19808         PR c++/24502
19809         * testsuite/libgomp.c++/loop-7.C: New test.
19811         * testsuite/libgomp.dg/nestedfn-2.c: New test.
19813         * testsuite/libgomp.dg/nestedfn-1.c: New test.
19814         * testsuite/libgomp.fortran/reduction6.f90: New test.
19815         * testsuite/libgomp.fortran/nestedfn1.f90: New test.
19817 2005-10-23  Richard Henderson  <rth@redhat.com>
19819         * testsuite/libgomp.c++/ctor-1.C: New.
19820         * testsuite/libgomp.c++/ctor-2.C: New.
19821         * testsuite/libgomp.c++/ctor-3.C: New.
19822         * testsuite/libgomp.c++/ctor-4.C: New.
19823         * testsuite/libgomp.c++/ctor-5.C: New.
19824         * testsuite/libgomp.c++/ctor-6.C: New.
19825         * testsuite/libgomp.c++/ctor-7.C: New.
19826         * testsuite/libgomp.c++/ctor-8.C: New.
19827         * testsuite/libgomp.c++/ctor-9.C: New.
19829 2005-10-21  Diego Novillo  <dnovillo@redhat.com>
19831         PR 24455
19832         * testsuite/libgomp.c++/pr24455-1.C: New test.
19833         * testsuite/libgomp.c++/pr24455.C: New test.
19834         * testsuite/libgomp.dg/pr24455-1.c: New test.
19835         * testsuite/libgomp.dg/pr24455.c: New test.
19837 2005-10-20  Richard Henderson  <rth@redhat.com>
19839         * testsuite/libgomp.c++/loop-6.C: New.
19840         * testsuite/libgomp.dg/loop-3.c: New.
19842 2005-10-20  Jakub Jelinek  <jakub@redhat.com>
19844         * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
19845         explicitly private.
19846         * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
19847         explicitly shared.
19849 2005-10-19  Diego Novillo  <dnovillo@redhat.com>
19851         * testsuite/libgomp.fortran/jacobi.f: New test.
19853 2005-10-19  Richard Henderson  <rth@redhat.com>
19855         * configure.tgt (i?86-linux): Default to with_arch instead of
19856         CFLAGS.  Add -mtune to match target_cpu.
19857         (x86_64-linux): Tune to i686.
19859         * fortran.c (omp_test_nest_lock_): Fix typo.
19861 2005-10-19  Jakub Jelinek  <jakub@redhat.com>
19863         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
19864         gomp_ordered_sync): Do nothing if team->nthreads == 1.
19865         * testsuite/libgomp.dg/ordered-3.c: New test.
19867         * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
19868         Remove volatile keyword.
19870         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
19871         in COMMON block to avoid warnings on 64-bit targets.
19873 2005-10-18  Diego Novillo  <dnovillo@redhat.com>
19875         * testsuite/libgomp.dg/shared-3.c: New test.
19877 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
19879         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
19880         * testsuite/libgomp.fortran/reduction5.f90: New test.
19882 2005-10-18  Jakub Jelinek  <jakub@redhat.com>
19884         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
19885         dg-options.
19886         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.  Enable
19887         flush loop now that __sync_synchronize has proper memory barrier.
19888         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
19889         Add -ffixed-form to dg-options.
19891 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
19893         * testsuite/libgomp.fortran/fortran.exp: Also gather tests
19894         from subdirectories.
19895         * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
19896         * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
19897         * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
19898         * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
19899         * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
19900         * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
19901         * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
19902         * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
19903         * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
19904         * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
19905         * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
19906         * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
19907         * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
19908         * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
19909         * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
19910         * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
19911         * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
19912         * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
19913         * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
19914         * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
19915         * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
19916         * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
19917         * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
19918         * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
19919         * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
19921 2005-10-17  Jakub Jelinek  <jakub@redhat.com>
19923         * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
19924         lang_library_path exists.  Use find instead of glob to gather tests.
19925         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
19927 2005-10-17  Diego Novillo  <dnovillo@redhat.com>
19929         * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
19930         * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
19931         * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
19932         * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
19933         * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
19934         * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
19935         * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
19936         * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
19937         * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
19938         * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
19939         * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
19940         * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
19941         * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
19943 2005-10-15  Jakub Jelinek  <jakub@redhat.com>
19945         * testsuite/libgomp.dg/vla-1.c: New test.
19947         * testsuite/libgomp.fortran/reference2.f90: New test.
19949         * testsuite/libgomp.fortran/character2.f90: Remove explicit
19950         declaration of omp_get_thread_num.
19951         * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.  Add
19952         use omp_lib.
19954         * testsuite/libgomp.fortran/reduction1.f90: New test.
19955         * testsuite/libgomp.fortran/reduction2.f90: New test.
19956         * testsuite/libgomp.fortran/reduction3.f90: New test.
19957         * testsuite/libgomp.fortran/reduction4.f90: New test.
19959 2005-10-13  Richard Henderson  <rth@redhat.com>
19961         * Makefile.am (libgomp_la_SOURCES): Add bar.c.
19962         * Makefile.in: Regenerate.
19963         * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
19964         * libgomp.h: Include bar.h.
19965         (struct gomp_barrier): Remove.
19966         (struct gomp_team): Add barrier.  Replace master_barrier with
19967         master_release.  Replace threads with ordered_release.
19968         (struct gomp_thread): Replace barrier with release.
19969         * ordered.c (gomp_ordered_first): Update for ordered_release change.
19970         (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
19971         gomp_ordered_static_next, gomp_ordered_sync): Likewise.
19972         * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
19973         (GOMP_single_copy_end): Likewise.
19974         * team.c (gomp_threads_dock): New.
19975         (gomp_barrier_init, gomp_barrier_destroy): Remove.
19976         (gomp_thread_start): Use gomp_barrier_wait.
19977         (new_team, free_team): Update for gomp_team changes.
19978         (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
19979         (gomp_team_end): Use gomp_barrier_wait.
19980         (initialize_team): Update for gomp_thread changes.
19981         * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
19982         (gomp_work_share_end_nowait): Use atomic ops when available.
19983         * config/linux/bar.c, config/linux/bar.h: New files.
19984         * config/posix/bar.c, config/posix/bar.h: New files.
19986 2005-10-13  Jakub Jelinek  <jakub@redhat.com>
19988         * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
19989         * testsuite/libgomp.dg/single-2.c: New test.
19991         * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
19992         lang_link_flags): Unset, so that they aren't inherited from previously
19993         sourced *.exp.
19995         * testsuite/libgomp.fortran/threadprivate1.f90: New test.
19997 2005-10-12  Richard Henderson  <rth@redhat.com>
19999         * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
20000         (libgomp_init): Use lang_test_file, lang_library_path, and
20001         lang_link_flags, set by the subdirectory files.  Add -fopenmp here.
20003         * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
20004         (lang_test_file, lang_link_flags): New.
20005         (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
20007         * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
20008         testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
20009         testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
20010         testsuite/libgomp.c++/parallel-1.C,
20011         testsuite/libgomp.c++/reduction-1.C,
20012         testsuite/libgomp.c++/reduction-2.C,
20013         testsuite/libgomp.c++/reduction-3.C,
20014         testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
20015         testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
20016         testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
20017         New files, largely cribbed from the C testsuite.
20019 2005-10-12  Jakub Jelinek  <jakub@redhat.com>
20021         * testsuite/libgomp.fortran/character1.f90: New test.
20022         * testsuite/libgomp.fortran/character2.f90: New test.
20024         * testsuite/libgomp.dg/nested-1.c: New test.
20025         * testsuite/libgomp.dg/nested-2.c: New test.
20026         * testsuite/libgomp.fortran/do1.f90: New test.
20027         * testsuite/libgomp.fortran/do2.f90: New test.
20029         * testsuite/libgomp.fortran/reference1.f90: New test.
20031 2005-10-11  Jakub Jelinek  <jakub@redhat.com>
20033         * testsuite/libgomp.dg/reduction-1.c: New test.
20034         * testsuite/libgomp.dg/reduction-2.c: New test.
20035         * testsuite/libgomp.dg/reduction-3.c: New test.
20037 2005-10-10  Jakub Jelinek  <jakub@redhat.com>
20039         * testsuite/libgomp.dg/atomic-1.c: New test.
20040         * testsuite/libgomp.dg/atomic-2.c: New test.
20042 2005-10-09  Richard Henderson  <rth@redhat.com>
20044         * critical.c (atomic_lock): New.
20045         (initialize_critical): Initialize it.
20046         (GOMP_atomic_start, GOMP_atomic_end): New.
20047         * libgomp.map: Export them.
20048         * libgomp_g.h: Declare them.
20050         * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
20052 2005-10-02  Richard Henderson  <rth@redhat.com>
20054         * configure.ac: Move save_CFLAGS hack earlier.  Append -Wall/-Werror
20055         to XCFLAGS instead of CFLAGS.
20057 2005-09-30  Richard Henderson  <rth@redhat.com>
20059         * configure.ac: Determine whether -pthread or -lpthread is needed.
20060         * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
20061         * Makefile.in, configure: Rebuild.
20063 2005-09-28  Richard Henderson  <rth@redhat.com>
20065         * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
20066         * testsuite/libgomp.dg/omp-single-3.c: New test.
20068 2005-09-28  Diego Novillo  <dnovillo@redhat.com>
20070         * testsuite/libgomp.dg/omp-single-2.c: New test.
20071         * testsuite/libgomp.dg/shared-2.c: Fix return code.
20073 2005-09-27  Richard Henderson  <rth@redhat.com>
20075         * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
20076         * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
20078 2005-09-27  Jakub Jelinek  <jakub@redhat.com>
20080         * testsuite/libgomp.dg/omp-loop03.c: New test.
20082 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
20084         * testsuite/libgomp.dg/omp-parallel-for.c: New test.
20086 2005-09-27  Diego Novillo  <dnovillo@redhat.com>
20088         * testsuite/libgomp.dg/omp-single-1.c: New test.
20089         * testsuite/libgomp.dg/shared-1.c: Return 0.
20090         Add prototype for abort.
20091         * testsuite/libgomp.dg/shared-2.c: Likewise.
20093 2005-09-26  Jakub Jelinek  <jakub@redhat.com>
20095         * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
20096         constructs.
20098 2005-09-26  Diego Novillo  <dnovillo@redhat.com>
20100         * testsuite/libgomp.dg/shared-1.c: New test.
20101         * testsuite/libgomp.dg/shared-2.c: New test.
20103 2005-09-24  Richard Henderson  <rth@redhat.com>
20105         * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
20107 2005-09-24  Richard Henderson  <rth@redhat.com>
20109         * iter.c (gomp_iter_static_next): Round up when computing number
20110         of iterations.  Don't bother distributing a remainder equally.
20112         * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
20113         Don't call srand.  Zero b before testing.
20114         (main): New.
20116 2005-09-24  Jakub Jelinek  <jakub@redhat.com>
20118         * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
20119         * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
20121 2005-09-23  Jakub Jelinek  <jakub@redhat.com>
20123         * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
20124         without !$omp end do, followed immediately by subroutine end.
20126 2005-09-23  Diego Novillo  <dnovillo@redhat.com>
20128         * testsuite/libgomp.dg/omp-parallel-if.c: New test.
20130 2005-09-22  Richard Henderson  <rth@redhat.com>
20132         * critical.c (GOMP_critical_name_start): Change argument to void**.
20133         Reuse the pointer space if the mutex fits.
20134         (GOMP_critical_name_end): Likewise.
20135         (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
20136         * libgomp_g.h (GOMP_critical_name_start): Update decl.
20137         (GOMP_critical_name_end): Likewise.
20138         * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
20139         * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
20141 2005-09-20  Richard Henderson  <rth@redhat.com>
20143         * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
20144         (create_lock_lock): New.
20145         (initialize_critical): Initialize it.
20146         * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
20147         * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
20149 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
20151         * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
20153 2005-09-20  Diego Novillo  <dnovillo@redhat.com>
20155         * testsuite/libgomp.dg/omp-loop01.c: New test.
20156         * testsuite/libgomp.dg/omp-loop02.c: New test.
20158 2005-09-20  Jakub Jelinek  <jakub@redhat.com>
20160         * configure.ac (AC_PROG_FC): Add.
20161         (USE_FORTRAN): New automake conditional.
20162         * configure: Rebuilt.
20163         * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
20164         (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
20165         If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
20166         Add rules to build them.
20167         * Makefile.in: Rebuilt.
20168         * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
20169         OMP_NEST_LOCK_KIND.
20170         * libgomp.map: Add Fortran wrappers.
20171         * libgomp_f.h.in: New file.
20172         * omp_lib.h.in: New file.
20173         * omp_lib.f90.in: New file.
20174         * fortran.c: New file.
20175         * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
20176         Append libgfortran directory to LD_LIBRARY_PATH if it exists.
20177         Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
20178         libgfortran has been built.
20179         * testsuite/libgomp.fortran/fortran.exp: New file.
20180         * testsuite/libgomp.fortran/omp_cond1.f: New test.
20181         * testsuite/libgomp.fortran/omp_cond2.f: New test.
20182         * testsuite/libgomp.fortran/omp_cond3.F90: New test.
20183         * testsuite/libgomp.fortran/omp_cond4.F90: New test.
20184         * testsuite/libgomp.fortran/omp_hello.f: New test.
20185         * testsuite/libgomp.fortran/omp_orphan.f: New test.
20186         * testsuite/libgomp.fortran/omp_parse1.f90: New test.
20187         * testsuite/libgomp.fortran/omp_parse2.f90: New test.
20188         * testsuite/libgomp.fortran/omp_parse3.f90: New test.
20189         * testsuite/libgomp.fortran/omp_parse4.f90: New test.
20190         * testsuite/libgomp.fortran/omp_reduction.f: New test.
20191         * testsuite/libgomp.fortran/omp_workshare1.f: New test.
20192         * testsuite/libgomp.fortran/omp_workshare2.f: New test.
20194 2005-08-30  Richard Henderson  <rth@redhat.com>
20196         * loop.c (GOMP_loop_static_start): Provide fallback wrapper
20197         function for when aliases are not usable.
20198         (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
20199         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20200         GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
20201         GOMP_loop_dynamic_next, GOMP_loop_guided_next,
20202         GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
20203         GOMP_loop_ordered_guided_next): Likewise.
20204         * ordered.c (GOMP_ordered_start): Likewise.
20206 2005-08-01  Diego Novillo  <dnovillo@redhat.com>
20208         * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
20209         * testsuite/libgomp.dg/omp_hello.c: Fix return code
20210         * testsuite/libgomp.dg/omp_matvec.c: Likewise.
20211         * testsuite/libgomp.dg/omp_orphan.c: Likewise
20212         * testsuite/libgomp.dg/omp_reduction.c: Likewise
20213         * testsuite/libgomp.dg/omp_workshare1.c: Likewise
20214         * testsuite/libgomp.dg/omp_workshare2.c: Likewise
20215         * testsuite/libgomp.dg/omp_workshare3.c: Likewise
20216         * testsuite/libgomp.dg/omp_workshare4.c: Likewise
20218 2005-07-07  Eric Christopher  <echristo@redhat.com>
20219             Diego Novillo  <dnovillo@redhat.com>
20221         * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
20222         * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
20223         up code.
20224         * testsuite/libgomp.dg/omp_matvec.c: Ditto.
20225         * testsuite/libgomp.dg/omp_orphan.c: Ditto.
20226         * testsuite/libgomp.dg/omp_reduction.c: Ditto.
20227         * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
20228         * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
20229         * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
20230         * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
20232 2005-06-13  Diego Novillo  <dnovillo@redhat.com>
20234         * TOPLEVEL.patch: Remove.
20236 2005-05-16  Richard Henderson  <rth@redhat.com>
20238         * configure.ac: Test for clock_gettime.
20239         * config.h.in, configure: Rebuild.
20240         * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
20241         (omp_get_wtime): Use clock_gettime if available.
20242         (omp_get_wtick): Use clock_getres if available.
20244 2005-05-11  Richard Henderson  <rth@redhat.com>
20246         * config/linux/ia64/futex.h: New file.
20247         * configure.tgt: Use it.
20249         * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
20251 2005-05-07  Richard Henderson  <rth@redhat.com>
20253         * config/linux/powerpc/futex.h: New file.
20254         * configure.tgt: Use it.
20256         * config/linux/i486/futex.h: Merge ...
20257         * config/linux/x86_64/futex.h: ... into ...
20258         * config/linux/x86/futex.h: ... here.
20259         * configure.tgt: Update to match.
20261 2005-05-06  Richard Henderson  <rth@redhat.com>
20263         * config/linux/alpha/futex.h: Conditionally define SYS_futex.
20264         * config/linux/i486/futex.h: Likewise.
20265         * config/linux/x86_64/futex.h: Likewise.
20267         * config/linux/lock.c: New file.
20268         * config/linux/omp-lock.h: New file.
20270         * critical.c, env.h: Don't include omp.h
20271         * config/posix/lock.c: Include libgomp.h instead of omp.h.
20272         * config/posix/time.c: Likewise.
20273         * config/posix/omp-lock.h: New file.
20274         * libgomp.h: Include omp-lock.h and omp.h.
20275         * Makefile.am (nodist_include_HEADERS): New.
20276         (omp.h): New rule.
20277         * configure.ac (PERL): New.
20278         * mkomp_h.pl: New file.
20279         * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
20280         with templates.
20281         * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
20283         * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
20284         build directory.  Re-add -march=i486 hack.
20286         * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
20287         (libgomp_link_flags): Remove.
20288         (libgomp_initialized): Remove.
20289         (libgomp_init): Don't protect from reinitialization.  Copy code
20290         from libstdc++ for getting the multilib set correctly.
20292 2005-05-05  Richard Henderson  <rth@redhat.com>
20294         * config/linux/alpha/futex.h: New file.
20295         * configure.tgt (alpha*-*-linux*): Use it.
20297         * config/posix/mutex.c: New file.
20298         * config/posix/sem.c: Use libgomp.h.
20300         * configure.tgt (x86_64-linux): Also test CC for -m32.
20301         * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
20303         * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
20304         after $gccpath.
20306         * Makefile.am (SUBDIRS): New.
20307         (libgomp_la_LDFLAGS): Add -lpthread.
20308         * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
20309         * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
20311         * libgomp_g.h: New file.
20312         * libgomp.h: Split out all public declarations to libgomp_g.h.
20313         Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
20314         * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
20315         * config/linux/sem.h: Likewise.
20316         * config/posix/sem.h: Likewise.
20318         * Makefile.am (AM_LDFLAGS): New.
20319         (libgomp_version_script): Split out from ...
20320         (libgomp_la_LDFLAGS): ... here.
20321         (libgomp_version_info): New.
20322         * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
20323         (LIBGOMP_ENABLE): New.
20324         (LIBGOMP_CHECK_LINKER_FEATURES): New.
20325         (LIBGOMP_ENABLE_SYMVERS): New.
20326         * configure.ac (AC_INIT): Version 1.0.
20327         (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
20328         (enable-linux-futex): Likewise.  Rename from enable-futex.
20329         (libtool_VERSION): New.
20330         (LIBGOMP_ENABLE_SYMVERS): Use it.
20331         * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
20332         * Makefile.in, aclocal.m4, configure: Rebuild.
20334         * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
20335         (gomp_mutex_unlock_slow): Fix typo.
20336         * config/linux/sem.c: Similarly.
20337         (gomp_sem_post_slow): Fix typo.
20338         * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
20339         * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
20340         [__PIC__] (sys_futex0): Don't use tmp output in asm.
20342         * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
20343         (libgomp_la_LDFLAGS): Add top_srcdir to path.
20344         * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
20345         * configure.ac: Check for getloadavg.  Substitute XCFLAGS and
20346         XLDFLAGS.  Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
20347         * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
20348         LDFLAGS.  Pull enable_futex check to top-level.
20349         * libgomp.h: Fix sem.h and mutex.h includes.  Define ATTRIBUTE_HIDDEN.
20350         * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
20352         First attempt at real configury.
20353         * Makefile, config.h: Remove file.
20354         * Makefile.am, Makefile.in: New file.
20355         * acinclude.m4 aclocal.m4: New file.
20356         * configure.ac, configure.tgt, configure: New file.
20358         * config/posix/lock.c: Rename from sys-lock.c.
20359         * config/posix/mutex.h: Rename from sys-mutex.h.
20360         * config/posix/sem.c: Rename from sys-sem.c.
20361         * config/posix/sem.h: Rename from sys-sem.h.
20362         * config/posix/proc.c: Rename from sys-proc.c.
20363         * config/posix/time.c: Rename from sys-proc.c.
20365         * config/linux/mutex.c: New file.
20366         * config/linux/mutex.h: New file.
20367         * config/linux/sem.c: New file.
20368         * config/linux/sem.h: New file.
20369         * config/linux/i486/futex.h: New file.
20370         * config/linux/x86_64/futex.h: New file.
20372 2005-05-04  Richard Henderson  <rth@redhat.com>
20374         * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
20375         * libgomp.h: Declare them.
20376         * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
20377         gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
20379 2005-05-04  Richard Henderson  <rth@redhat.com>
20381         * libgomp-1 code drop
20383 2005-05-04  Richard Henderson  <rth@redhat.com>
20385         * iter.c (gomp_iter_static_next): Return tri-state on 0.
20386         * ordered.c (gomp_ordered_static_next): Remove not_last argument.
20387         * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
20388         (gomp_iter_static_next): Update.
20389         (gomp_ordered_static_next): Update.
20390         * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
20391         (gomp_loop_ordered_static_start): Likewise.  Exit early for a
20392         totally empty range.
20393         (gomp_loop_ordered_static_next): Refine test for calling
20394         gomp_ordered_static_next.
20395         * testsuite/ordered-1.c: Add case for more threads than iterations.
20397         * iter.c (gomp_iter_runtime_next_locked): Remove.
20398         * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
20399         gomp_loop_guided_start, gomp_loop_ordered_static_start,
20400         gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
20401         gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
20402         gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
20403         gomp_loop_ordered_guided_next): Downcase name, make static, add
20404         an external alias with the old name.
20405         (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
20406         GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
20407         switch and call one of the above static functions.
20408         * libgomp.h: Update.
20410         * work.c (gomp_work_share_start): Lock the mutex for !first too.
20411         * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
20412         GOMP_loop_guided_start, GOMP_loop_runtime_start,
20413         GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20414         GOMP_loop_ordered_guided_start): Update to match.
20415         * sections.c (GOMP_sections_start): Likewise.
20416         * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
20418         * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20419         gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
20420         Use bounds check instead of modulus.
20421         (gomp_ordered_sync): Split out of GOMP_ordered_start.
20422         (gomp_ordered_last): Don't sync with ordered_owner here.
20423         (gomp_ordered_next): Likewise.
20424         (gomp_ordered_static_loop_next): Likewise.
20425         * loop.c, libgomp.h: Update to match.
20427         * libgomp.h (GOMP_barrier): Declare.
20429         * testsuite/barrier-1.c: New file.
20430         * testsuite/critical-1.c: New file.
20431         * testsuite/ordered-2.c: New file.
20432         * testsuite/ordered-1.c: New file.
20433         * testsuite/sections-1.c: New file.
20434         * testsuite/single-1.c: New file.
20435         * testsuite/Makefile (TESTS): Add them.
20437 2005-05-04  Richard Henderson  <rth@redhat.com>
20439         * libgomp.h (struct gomp_work_share): Add ordered_owner.
20440         * loop.c (GOMP_loop_static_start): If not the startup thread,
20441         acquire the mutex to wait for initialization complete.
20442         (GOMP_loop_ordered_static_start): Likewise.
20443         (GOMP_loop_ordered_runtime_start): Likewise.
20444         (GOMP_loop_ordered_static_first): Remove.
20445         (GOMP_loop_ordered_dynamic_first): Remove.
20446         (GOMP_loop_ordered_guided_first): Remove.
20447         (GOMP_loop_ordered_runtime_first): Remove.
20448         * ordered.c (gomp_ordered_loop_first): Post to own release when
20449         we're the first thread.
20450         (gomp_ordered_loop_last): Wait on release if not owner.
20451         (gomp_ordered_loop_next): Likewise.
20452         (gomp_ordered_static_loop_init): New.
20453         (gomp_ordered_static_loop_next): Use ordered_owner.
20454         (GOMP_ordered_start): Likewise.
20455         * work.c (gomp_new_work_share): Initialize ordered_owner.
20457 2005-05-03  Richard Henderson  <rth@redhat.com>
20459         * Makefile (OPT): New.
20460         (CFLAGS): Use it.
20462         * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
20463         * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
20464         * libgomp.h, libgomp.map, NOTES: Update to match.
20466         * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
20467         Add initialized and thr members.
20468         (gomp_thread_start): Pause when initially spawned to wait for
20469         the whole team to be created.
20470         (gomp_team_start): Release team members at the end.
20472         * testsuite/loop-1.c (N): New.  Use it instead of hardcoded 100.
20473         (f_foo_1): Use GOMP_loop_end.
20474         (f_foo_2): Use GOMP_loop_end_nowait.
20476         * testsuite/loop-2.c: New file.
20477         * testsuite/Makefile (TESTS): Add it.
20479 2005-05-03  Richard Henderson  <rth@redhat.com>
20481         * iter.c (gomp_iter_static_next): Fix overflow check typo.
20482         (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
20483         * team.c (new_team): Initialize oldest_live_gen to 1 if no
20484         initial work_share.
20486         * testsuite/Makefile: New file.
20487         * testsuite/loop-1.c: New file.
20489 2005-05-03  Richard Henderson  <rth@redhat.com>
20491         Initial implementation and checkin.
20493 Copyright (C) 2005-2023 Free Software Foundation, Inc.
20495 Copying and distribution of this file, with or without modification,
20496 are permitted in any medium without royalty provided the copyright
20497 notice and this notice are preserved.